15.7 MB
/srv/reproducible-results/rbuild-debian/r-b-build.oP2ja6VX/b1/python-django_5.1.3-1_amd64.changes vs.
/srv/reproducible-results/rbuild-debian/r-b-build.oP2ja6VX/b2/python-django_5.1.3-1_amd64.changes
298 B
Files
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
  
1 ·f8abd39016d45134283e69a906280a24·2926132·doc·optional·python-django-doc_5.1.3-1_all.deb1 ·ffc0b722db42e1549d633458f659392b·2929256·doc·optional·python-django-doc_5.1.3-1_all.deb
2 ·f49bcced70c7547787bf81f635e1f5d5·2860900·python·optional·python3-django_5.1.3-1_all.deb2 ·f49bcced70c7547787bf81f635e1f5d5·2860900·python·optional·python3-django_5.1.3-1_all.deb
15.7 MB
python-django-doc_5.1.3-1_all.deb
452 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 -rw-r--r--···0········0········0········4·2024-11-05·15:14:42.000000·debian-binary1 -rw-r--r--···0········0········0········4·2024-11-05·15:14:42.000000·debian-binary
2 -rw-r--r--···0········0········0····15628·2024-11-05·15:14:42.000000·control.tar.xz2 -rw-r--r--···0········0········0····15684·2024-11-05·15:14:42.000000·control.tar.xz
3 -rw-r--r--···0········0········0··2910312·2024-11-05·15:14:42.000000·data.tar.xz3 -rw-r--r--···0········0········0··2913380·2024-11-05·15:14:42.000000·data.tar.xz
1.95 KB
control.tar.xz
1.92 KB
control.tar
411 B
file list
    
Offset 1, 3 lines modifiedOffset 1, 3 lines modified
1 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./1 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./
2 -rw-r--r--···0·root·········(0)·root·········(0)······973·2024-11-05·15:14:42.000000·./control2 -rw-r--r--···0·root·········(0)·root·········(0)······973·2024-11-05·15:14:42.000000·./control
3 -rw-r--r--···0·root·········(0)·root·········(0)····62155·2024-11-05·15:14:42.000000·./md5sums3 -rw-r--r--···0·root·········(0)·root·········(0)····62250·2024-11-05·15:14:42.000000·./md5sums
537 B
./control
    
Offset 1, 13 lines modifiedOffset 1, 13 lines modified
1 Package:·python-django-doc1 Package:·python-django-doc
2 Source:·python-django2 Source:·python-django
3 Version:·3:5.1.3-13 Version:·3:5.1.3-1
4 Architecture:·all4 Architecture:·all
5 Maintainer:·Debian·Python·Team·<team+python@tracker.debian.org>5 Maintainer:·Debian·Python·Team·<team+python@tracker.debian.org>
6 Installed-Size:·247636 Installed-Size:·24832
7 Depends:·libjs-sphinxdoc·(>=·7.4)7 Depends:·libjs-sphinxdoc·(>=·7.4)
8 Section:·doc8 Section:·doc
9 Priority:·optional9 Priority:·optional
10 Homepage:·http://www.djangoproject.com/10 Homepage:·http://www.djangoproject.com/
11 Description:·High-level·Python·web·development·framework·(documentation)11 Description:·High-level·Python·web·development·framework·(documentation)
12 ·Django·is·a·high-level·web·application·framework·that·loosely·follows·the12 ·Django·is·a·high-level·web·application·framework·that·loosely·follows·the
13 ·model-view-controller·design·pattern.13 ·model-view-controller·design·pattern.
1000 B
./md5sums
30.0 B
./md5sums
Files differ
952 B
line order
    
Offset 43, 14 lines modifiedOffset 43, 15 lines modified
43 usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff43 usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff
44 usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff244 usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff2
45 usr/share/doc/python-django-doc/html/_static/homepage.css45 usr/share/doc/python-django-doc/html/_static/homepage.css
46 usr/share/doc/python-django-doc/html/_static/minus.png46 usr/share/doc/python-django-doc/html/_static/minus.png
47 usr/share/doc/python-django-doc/html/_static/plus.png47 usr/share/doc/python-django-doc/html/_static/plus.png
48 usr/share/doc/python-django-doc/html/_static/pygments.css48 usr/share/doc/python-django-doc/html/_static/pygments.css
49 usr/share/doc/python-django-doc/html/_static/reset-fonts-grids.css49 usr/share/doc/python-django-doc/html/_static/reset-fonts-grids.css
 50 usr/share/doc/python-django-doc/html/_static/translations.js
50 usr/share/doc/python-django-doc/html/contents.html51 usr/share/doc/python-django-doc/html/contents.html
51 usr/share/doc/python-django-doc/html/faq/admin.html52 usr/share/doc/python-django-doc/html/faq/admin.html
52 usr/share/doc/python-django-doc/html/faq/contributing.html53 usr/share/doc/python-django-doc/html/faq/contributing.html
53 usr/share/doc/python-django-doc/html/faq/general.html54 usr/share/doc/python-django-doc/html/faq/general.html
54 usr/share/doc/python-django-doc/html/faq/help.html55 usr/share/doc/python-django-doc/html/faq/help.html
55 usr/share/doc/python-django-doc/html/faq/index.html56 usr/share/doc/python-django-doc/html/faq/index.html
56 usr/share/doc/python-django-doc/html/faq/install.html57 usr/share/doc/python-django-doc/html/faq/install.html
15.7 MB
data.tar.xz
15.7 MB
data.tar
182 KB
file list
    
Offset 53, 651 lines modifiedOffset 53, 652 lines modified
53 -rw-r--r--···0·root·········(0)·root·········(0)····63024·2020-12-10·21:11:17.000000·./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff53 -rw-r--r--···0·root·········(0)·root·········(0)····63024·2020-12-10·21:11:17.000000·./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff
54 -rw-r--r--···0·root·········(0)·root·········(0)····53928·2020-12-10·21:11:17.000000·./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff254 -rw-r--r--···0·root·········(0)·root·········(0)····53928·2020-12-10·21:11:17.000000·./usr/share/doc/python-django-doc/html/_static/fontawesome/webfonts/fa-brands-400.woff2
55 -rw-r--r--···0·root·········(0)·root·········(0)······892·2020-12-10·21:11:17.000000·./usr/share/doc/python-django-doc/html/_static/homepage.css55 -rw-r--r--···0·root·········(0)·root·········(0)······892·2020-12-10·21:11:17.000000·./usr/share/doc/python-django-doc/html/_static/homepage.css
56 -rw-r--r--···0·root·········(0)·root·········(0)·······90·2024-10-25·18:53:47.000000·./usr/share/doc/python-django-doc/html/_static/minus.png56 -rw-r--r--···0·root·········(0)·root·········(0)·······90·2024-10-25·18:53:47.000000·./usr/share/doc/python-django-doc/html/_static/minus.png
57 -rw-r--r--···0·root·········(0)·root·········(0)·······90·2024-10-25·18:53:47.000000·./usr/share/doc/python-django-doc/html/_static/plus.png57 -rw-r--r--···0·root·········(0)·root·········(0)·······90·2024-10-25·18:53:47.000000·./usr/share/doc/python-django-doc/html/_static/plus.png
58 -rw-r--r--···0·root·········(0)·root·········(0)·····4699·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/_static/pygments.css58 -rw-r--r--···0·root·········(0)·root·········(0)·····4699·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/_static/pygments.css
59 -rw-r--r--···0·root·········(0)·root·········(0)·····5522·2020-12-10·21:11:17.000000·./usr/share/doc/python-django-doc/html/_static/reset-fonts-grids.css59 -rw-r--r--···0·root·········(0)·root·········(0)·····5522·2020-12-10·21:11:17.000000·./usr/share/doc/python-django-doc/html/_static/reset-fonts-grids.css
 60 -rw-r--r--···0·root·········(0)·root·········(0)·····3594·2024-10-25·18:53:47.000000·./usr/share/doc/python-django-doc/html/_static/translations.js
60 -rw-r--r--···0·root·········(0)·root·········(0)···101652·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/contents.html61 -rw-r--r--···0·root·········(0)·root·········(0)···101733·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/contents.html
61 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/62 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/
62 -rw-r--r--···0·root·········(0)·root·········(0)····20579·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/admin.html63 -rw-r--r--···0·root·········(0)·root·········(0)····20653·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/admin.html
63 -rw-r--r--···0·root·········(0)·root·········(0)····13294·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/contributing.html64 -rw-r--r--···0·root·········(0)·root·········(0)····13368·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/contributing.html
64 -rw-r--r--···0·root·········(0)·root·········(0)····20573·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/general.html65 -rw-r--r--···0·root·········(0)·root·········(0)····20647·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/general.html
65 -rw-r--r--···0·root·········(0)·root·········(0)····12722·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/help.html66 -rw-r--r--···0·root·········(0)·root·········(0)····12796·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/help.html
66 -rw-r--r--···0·root·········(0)·root·········(0)····16713·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/index.html67 -rw-r--r--···0·root·········(0)·root·········(0)····16794·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/index.html
67 -rw-r--r--···0·root·········(0)·root·········(0)····11971·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/install.html68 -rw-r--r--···0·root·········(0)·root·········(0)····12045·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/install.html
68 -rw-r--r--···0·root·········(0)·root·········(0)····14716·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/models.html69 -rw-r--r--···0·root·········(0)·root·········(0)····14790·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/models.html
69 -rw-r--r--···0·root·········(0)·root·········(0)····10337·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/troubleshooting.html70 -rw-r--r--···0·root·········(0)·root·········(0)····10411·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/troubleshooting.html
70 -rw-r--r--···0·root·········(0)·root·········(0)····13235·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/usage.html71 -rw-r--r--···0·root·········(0)·root·········(0)····13309·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/faq/usage.html
71 -rw-r--r--···0·root·········(0)·root·········(0)···628007·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/genindex.html72 -rw-r--r--···0·root·········(0)·root·········(0)···629970·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/genindex.html
72 -rw-r--r--···0·root·········(0)·root·········(0)·····9751·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/glossary.html73 -rw-r--r--···0·root·········(0)·root·········(0)·····9836·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/glossary.html
73 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/74 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/
74 -rw-r--r--···0·root·········(0)·root·········(0)····19318·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/auth-remote-user.html75 -rw-r--r--···0·root·········(0)·root·········(0)····19395·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/auth-remote-user.html
75 -rw-r--r--···0·root·········(0)·root·········(0)····42181·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/csrf.html76 -rw-r--r--···0·root·········(0)·root·········(0)····42258·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/csrf.html
76 -rw-r--r--···0·root·········(0)·root·········(0)····20122·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-file-storage.html77 -rw-r--r--···0·root·········(0)·root·········(0)····20203·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-file-storage.html
77 -rw-r--r--···0·root·········(0)·root·········(0)····46203·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-lookups.html78 -rw-r--r--···0·root·········(0)·root·········(0)····46283·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-lookups.html
78 -rw-r--r--···0·root·········(0)·root·········(0)····53767·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-management-commands.html79 -rw-r--r--···0·root·········(0)·root·········(0)····53911·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-management-commands.html
79 -rw-r--r--···0·root·········(0)·root·········(0)····94170·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-model-fields.html80 -rw-r--r--···0·root·········(0)·root·········(0)····94250·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-model-fields.html
80 -rw-r--r--···0·root·········(0)·root·········(0)····24289·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-template-backend.html81 -rw-r--r--···0·root·········(0)·root·········(0)····24370·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-template-backend.html
81 -rw-r--r--···0·root·········(0)·root·········(0)···127908·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-template-tags.html82 -rw-r--r--···0·root·········(0)·root·········(0)···128002·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/custom-template-tags.html
82 -rw-r--r--···0·root·········(0)·root·········(0)·····6898·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/delete-app.html83 -rw-r--r--···0·root·········(0)·root·········(0)·····6975·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/delete-app.html
83 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/84 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/
84 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/85 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/
85 -rw-r--r--···0·root·········(0)·root·········(0)·····9322·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/daphne.html86 -rw-r--r--···0·root·········(0)·root·········(0)·····9402·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/daphne.html
86 -rw-r--r--···0·root·········(0)·root·········(0)·····7772·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/hypercorn.html87 -rw-r--r--···0·root·········(0)·root·········(0)·····7852·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/hypercorn.html
87 -rw-r--r--···0·root·········(0)·root·········(0)····11353·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/index.html88 -rw-r--r--···0·root·········(0)·root·········(0)····11433·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/index.html
88 -rw-r--r--···0·root·········(0)·root·········(0)·····9369·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/uvicorn.html89 -rw-r--r--···0·root·········(0)·root·········(0)·····9449·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/asgi/uvicorn.html
89 -rw-r--r--···0·root·········(0)·root·········(0)····33122·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/checklist.html90 -rw-r--r--···0·root·········(0)·root·········(0)····33199·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/checklist.html
90 -rw-r--r--···0·root·········(0)·root·········(0)····10667·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/index.html91 -rw-r--r--···0·root·········(0)·root·········(0)····10747·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/index.html
91 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/92 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/
92 -rw-r--r--···0·root·········(0)·root·········(0)····16639·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/apache-auth.html93 -rw-r--r--···0·root·········(0)·root·········(0)····16725·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/apache-auth.html
93 -rw-r--r--···0·root·········(0)·root·········(0)·····7985·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/gunicorn.html94 -rw-r--r--···0·root·········(0)·root·········(0)·····8065·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/gunicorn.html
94 -rw-r--r--···0·root·········(0)·root·········(0)····12824·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/index.html95 -rw-r--r--···0·root·········(0)·root·········(0)····12907·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/index.html
95 -rw-r--r--···0·root·········(0)·root·········(0)····24452·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/modwsgi.html96 -rw-r--r--···0·root·········(0)·root·········(0)····24539·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/modwsgi.html
96 -rw-r--r--···0·root·········(0)·root·········(0)····16147·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/uwsgi.html97 -rw-r--r--···0·root·········(0)·root·········(0)····16227·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/uwsgi.html
97 -rw-r--r--···0·root·········(0)·root·········(0)····49150·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/error-reporting.html98 -rw-r--r--···0·root·········(0)·root·········(0)····49292·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/error-reporting.html
98 -rw-r--r--···0·root·········(0)·root·········(0)····10533·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/index.html99 -rw-r--r--···0·root·········(0)·root·········(0)····10611·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/index.html
99 -rw-r--r--···0·root·········(0)·root·········(0)····16158·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/initial-data.html100 -rw-r--r--···0·root·········(0)·root·········(0)····16232·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/initial-data.html
100 -rw-r--r--···0·root·········(0)·root·········(0)····13833·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/legacy-databases.html101 -rw-r--r--···0·root·········(0)·root·········(0)····13907·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/legacy-databases.html
101 -rw-r--r--···0·root·········(0)·root·········(0)····36350·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/logging.html102 -rw-r--r--···0·root·········(0)·root·········(0)····36513·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/logging.html
102 -rw-r--r--···0·root·········(0)·root·········(0)····22333·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/outputting-csv.html103 -rw-r--r--···0·root·········(0)·root·········(0)····22435·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/outputting-csv.html
103 -rw-r--r--···0·root·········(0)·root·········(0)····15292·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/outputting-pdf.html104 -rw-r--r--···0·root·········(0)·root·········(0)····15369·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/outputting-pdf.html
104 -rw-r--r--···0·root·········(0)·root·········(0)····17208·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/overriding-templates.html105 -rw-r--r--···0·root·········(0)·root·········(0)····17282·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/overriding-templates.html
105 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/static-files/106 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/static-files/
106 -rw-r--r--···0·root·········(0)·root·········(0)····17094·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/static-files/deployment.html107 -rw-r--r--···0·root·········(0)·root·········(0)····17171·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/static-files/deployment.html
107 -rw-r--r--···0·root·········(0)·root·········(0)····26842·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/static-files/index.html108 -rw-r--r--···0·root·········(0)·root·········(0)····26925·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/static-files/index.html
108 -rw-r--r--···0·root·········(0)·root·········(0)····17038·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/upgrade-version.html109 -rw-r--r--···0·root·········(0)·root·········(0)····17126·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/upgrade-version.html
109 -rw-r--r--···0·root·········(0)·root·········(0)····16199·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/windows.html110 -rw-r--r--···0·root·········(0)·root·········(0)····16294·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/windows.html
110 -rw-r--r--···0·root·········(0)·root·········(0)····50531·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/writing-migrations.html111 -rw-r--r--···0·root·········(0)·root·········(0)····50612·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/howto/writing-migrations.html
111 -rw-r--r--···0·root·········(0)·root·········(0)····30389·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/index.html112 -rw-r--r--···0·root·········(0)·root·········(0)····30464·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/index.html
112 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/113 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/
113 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/114 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/
114 -rw-r--r--···0·root·········(0)·root·········(0)····17062·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/bugs-and-features.html115 -rw-r--r--···0·root·········(0)·root·········(0)····17137·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/bugs-and-features.html
115 -rw-r--r--···0·root·········(0)·root·········(0)····23217·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/committing-code.html116 -rw-r--r--···0·root·········(0)·root·········(0)····23297·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/committing-code.html
116 -rw-r--r--···0·root·········(0)·root·········(0)····17165·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/index.html117 -rw-r--r--···0·root·········(0)·root·········(0)····17242·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/index.html
117 -rw-r--r--···0·root·········(0)·root·········(0)····11670·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/localizing.html118 -rw-r--r--···0·root·········(0)·root·········(0)····11750·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/localizing.html
118 -rw-r--r--···0·root·········(0)·root·········(0)····13680·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/new-contributors.html119 -rw-r--r--···0·root·········(0)·root·········(0)····13760·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/new-contributors.html
119 -rw-r--r--···0·root·········(0)·root·········(0)····34104·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/triaging-tickets.html120 -rw-r--r--···0·root·········(0)·root·········(0)····34184·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/triaging-tickets.html
120 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/121 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/
121 -rw-r--r--···0·root·········(0)·root·········(0)····48015·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/coding-style.html122 -rw-r--r--···0·root·········(0)·root·········(0)····48165·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/coding-style.html
122 -rw-r--r--···0·root·········(0)·root·········(0)·····8231·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/index.html123 -rw-r--r--···0·root·········(0)·root·········(0)·····8311·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/index.html
123 -rw-r--r--···0·root·········(0)·root·········(0)····18400·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/javascript.html124 -rw-r--r--···0·root·········(0)·root·········(0)····18480·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/javascript.html
124 -rw-r--r--···0·root·········(0)·root·········(0)····36229·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/submitting-patches.html125 -rw-r--r--···0·root·········(0)·root·········(0)····36312·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/submitting-patches.html
125 -rw-r--r--···0·root·········(0)·root·········(0)····69985·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/unit-tests.html126 -rw-r--r--···0·root·········(0)·root·········(0)····70072·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/unit-tests.html
126 -rw-r--r--···0·root·········(0)·root·········(0)····23971·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/working-with-git.html127 -rw-r--r--···0·root·········(0)·root·········(0)····24051·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/working-with-git.html
127 -rw-r--r--···0·root·········(0)·root·········(0)····47240·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-documentation.html128 -rw-r--r--···0·root·········(0)·root·········(0)····47317·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/contributing/writing-documentation.html
128 -rw-r--r--···0·root·········(0)·root·········(0)···133864·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/deprecation.html129 -rw-r--r--···0·root·········(0)·root·········(0)···133987·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/deprecation.html
129 -rw-r--r--···0·root·········(0)·root·········(0)····19972·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/git.html130 -rw-r--r--···0·root·········(0)·root·········(0)····20049·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/git.html
130 -rw-r--r--···0·root·········(0)·root·········(0)····54651·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/howto-release-django.html131 -rw-r--r--···0·root·········(0)·root·········(0)····54716·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/howto-release-django.html
131 -rw-r--r--···0·root·········(0)·root·········(0)····13413·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/index.html132 -rw-r--r--···0·root·········(0)·root·········(0)····13494·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/index.html
132 -rw-r--r--···0·root·········(0)·root·········(0)····12924·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/mailing-lists.html133 -rw-r--r--···0·root·········(0)·root·········(0)····13008·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/mailing-lists.html
133 -rw-r--r--···0·root·········(0)·root·········(0)····24621·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/organization.html134 -rw-r--r--···0·root·········(0)·root·········(0)····24695·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/organization.html
134 -rw-r--r--···0·root·········(0)·root·········(0)····20589·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/release-process.html135 -rw-r--r--···0·root·········(0)·root·········(0)····20663·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/release-process.html
135 -rw-r--r--···0·root·········(0)·root·········(0)····21655·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/security.html136 -rw-r--r--···0·root·········(0)·root·········(0)····21729·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/internals/security.html
136 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/137 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/
137 -rw-r--r--···0·root·········(0)·root·········(0)····56678·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/contributing.html138 -rw-r--r--···0·root·········(0)·root·········(0)····56762·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/contributing.html
138 -rw-r--r--···0·root·········(0)·root·········(0)·····7803·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/index.html139 -rw-r--r--···0·root·········(0)·root·········(0)·····7884·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/index.html
139 -rw-r--r--···0·root·········(0)·root·········(0)····10452·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/install.html140 -rw-r--r--···0·root·········(0)·root·········(0)····10526·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/install.html
140 -rw-r--r--···0·root·········(0)·root·········(0)····40662·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/overview.html141 -rw-r--r--···0·root·········(0)·root·········(0)····40736·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/overview.html
141 -rw-r--r--···0·root·········(0)·root·········(0)····32851·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/reusable-apps.html142 -rw-r--r--···0·root·········(0)·root·········(0)····32939·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/reusable-apps.html
142 -rw-r--r--···0·root·········(0)·root·········(0)····31670·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial01.html143 -rw-r--r--···0·root·········(0)·root·········(0)····31764·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial01.html
143 -rw-r--r--···0·root·········(0)·root·········(0)····75858·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial02.html 
144 -rw-r--r--···0·root·········(0)·root·········(0)····58462·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial03.html 
145 -rw-r--r--···0·root·········(0)·root·········(0)····46447·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial04.html 
146 -rw-r--r--···0·root·········(0)·root·········(0)····79329·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial05.html144 -rw-r--r--···0·root·········(0)·root·········(0)····75939·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial02.html
147 -rw-r--r--···0·root·········(0)·root·········(0)····18168·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial06.html145 -rw-r--r--···0·root·········(0)·root·········(0)····58539·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial03.html
148 -rw-r--r--···0·root·········(0)·root·········(0)····46357·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial07.html146 -rw-r--r--···0·root·········(0)·root·········(0)····46535·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial04.html
 147 -rw-r--r--···0·root·········(0)·root·········(0)····79403·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial05.html
149 -rw-r--r--···0·root·········(0)·root·········(0)····13927·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial08.html148 -rw-r--r--···0·root·········(0)·root·········(0)····18242·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial06.html
 149 -rw-r--r--···0·root·········(0)·root·········(0)····46431·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial07.html
 150 -rw-r--r--···0·root·········(0)·root·········(0)····14001·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/tutorial08.html
150 -rw-r--r--···0·root·········(0)·root·········(0)····21490·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/whatsnext.html151 -rw-r--r--···0·root·········(0)·root·········(0)····21565·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/intro/whatsnext.html
151 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/152 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/
152 -rw-r--r--···0·root·········(0)·root·········(0)····10121·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/api-stability.html153 -rw-r--r--···0·root·········(0)·root·········(0)····10195·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/api-stability.html
153 -rw-r--r--···0·root·········(0)·root·········(0)····26709·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/design-philosophies.html154 -rw-r--r--···0·root·········(0)·root·········(0)····26783·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/design-philosophies.html
154 -rw-r--r--···0·root·········(0)·root·········(0)·····7346·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/distributions.html155 -rw-r--r--···0·root·········(0)·root·········(0)·····7420·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/distributions.html
155 -rw-r--r--···0·root·········(0)·root·········(0)·····6951·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/index.html156 -rw-r--r--···0·root·········(0)·root·········(0)·····7032·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/misc/index.html
156 -rw-r--r--···0·root·········(0)·root·········(0)···103105·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/objects.inv157 -rw-r--r--···0·root·········(0)·root·········(0)···103126·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/objects.inv
157 -rw-r--r--···0·root·········(0)·root·········(0)····42346·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/py-modindex.html158 -rw-r--r--···0·root·········(0)·root·········(0)····42428·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/py-modindex.html
158 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/159 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/
159 -rw-r--r--···0·root·········(0)·root·········(0)····64190·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/applications.html160 -rw-r--r--···0·root·········(0)·root·········(0)····64329·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/applications.html
160 -rw-r--r--···0·root·········(0)·root·········(0)···145098·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/checks.html161 -rw-r--r--···0·root·········(0)·root·········(0)···145196·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/checks.html
161 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/162 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/
162 -rw-r--r--···0·root·········(0)·root·········(0)····39242·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/base.html163 -rw-r--r--···0·root·········(0)·root·········(0)····39319·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/base.html
163 -rw-r--r--···0·root·········(0)·root·········(0)···193887·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/flattened-index.html164 -rw-r--r--···0·root·········(0)·root·········(0)···193964·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/flattened-index.html
164 -rw-r--r--···0·root·········(0)·root·········(0)····93053·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-date-based.html165 -rw-r--r--···0·root·········(0)·root·········(0)····93346·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-date-based.html
165 -rw-r--r--···0·root·········(0)·root·········(0)····31104·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-display.html166 -rw-r--r--···0·root·········(0)·root·········(0)····31181·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-display.html
166 -rw-r--r--···0·root·········(0)·root·········(0)····48528·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-editing.html167 -rw-r--r--···0·root·········(0)·root·········(0)····48608·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-editing.html
167 -rw-r--r--···0·root·········(0)·root·········(0)····20939·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/index.html168 -rw-r--r--···0·root·········(0)·root·········(0)····21016·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/index.html
168 -rw-r--r--···0·root·········(0)·root·········(0)····53807·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-date-based.html169 -rw-r--r--···0·root·········(0)·root·········(0)····54058·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-date-based.html
169 -rw-r--r--···0·root·········(0)·root·········(0)····35843·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-editing.html170 -rw-r--r--···0·root·········(0)·root·········(0)····35926·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-editing.html
170 -rw-r--r--···0·root·········(0)·root·········(0)····31631·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-multiple-object.html171 -rw-r--r--···0·root·········(0)·root·········(0)····31708·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-multiple-object.html
171 -rw-r--r--···0·root·········(0)·root·········(0)····17802·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-simple.html172 -rw-r--r--···0·root·········(0)·root·········(0)····17879·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-simple.html
172 -rw-r--r--···0·root·········(0)·root·········(0)····28152·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-single-object.html173 -rw-r--r--···0·root·········(0)·root·········(0)····28229·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-single-object.html
173 -rw-r--r--···0·root·········(0)·root·········(0)·····5929·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins.html174 -rw-r--r--···0·root·········(0)·root·········(0)·····6009·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins.html
174 -rw-r--r--···0·root·········(0)·root·········(0)····16662·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/clickjacking.html175 -rw-r--r--···0·root·········(0)·root·········(0)····16739·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/clickjacking.html
175 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/contrib/176 drwxr-xr-x···0·root·········(0)·root·········(0)········0·2024-11-05·15:14:42.000000·./usr/share/doc/python-django-doc/html/ref/contrib/
Max diff block lines reached; 151958/186842 bytes (81.33%) of diff not shown.
486 B
./usr/share/doc/python-django-doc/html/_static/documentation_options.js
344 B
js-beautify {}
    
Offset 1, 10 lines modifiedOffset 1, 10 lines modified
1 const·DOCUMENTATION_OPTIONS·=·{1 const·DOCUMENTATION_OPTIONS·=·{
2 ····VERSION:·'5.1.3',2 ····VERSION:·'5.1.3',
3 ····LANGUAGE:·'en',3 ····LANGUAGE:·'et',
4 ····COLLAPSE_INDEX:·false,4 ····COLLAPSE_INDEX:·false,
5 ····BUILDER:·'djangohtml',5 ····BUILDER:·'djangohtml',
6 ····FILE_SUFFIX:·'.html',6 ····FILE_SUFFIX:·'.html',
7 ····LINK_SUFFIX:·'.html',7 ····LINK_SUFFIX:·'.html',
8 ····HAS_SOURCE:·false,8 ····HAS_SOURCE:·false,
9 ····SOURCELINK_SUFFIX:·'.txt',9 ····SOURCELINK_SUFFIX:·'.txt',
10 ····NAVIGATION_WITH_KEYS:·false,10 ····NAVIGATION_WITH_KEYS:·false,
31.9 KB
./usr/share/doc/python-django-doc/html/contents.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="./">2 <html·lang="et"·data-content_root="./">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·documentation·contents·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·documentation·contents·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>
9 ····<script·src="_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="search.html"·/>
14 ····<link·rel="next"·title="Django·documentation"·href="index.html"·/>15 ····<link·rel="next"·title="Django·documentation"·href="index.html"·/>
  
  
  
15 ·16 ·
16 <script·src="templatebuiltins.js"></script>17 <script·src="templatebuiltins.js"></script>
17 <script>18 <script>
Offset 52, 23 lines modifiedOffset 53, 23 lines modified
52 })(jQuery);</script>53 })(jQuery);</script>
  
53 ··</head><body>54 ··</head><body>
  
54 ····<div·class="document">55 ····<div·class="document">
55 ··<div·id="custom-doc"·class="yui-t6">56 ··<div·id="custom-doc"·class="yui-t6">
56 ····<div·id="hd">57 ····<div·id="hd">
57 ······<h1><a·href="index.html">Django·5.1.3·documentation</a></h1>58 ······<h1><a·href="index.html">Django·5.1.3·dokumentatsioon</a></h1>
58 ······<div·id="global-nav">59 ······<div·id="global-nav">
59 ········<a·title="Home·page"·href="index.html">Home</a>··|60 ········<a·title="Home·page"·href="index.html">Home</a>··|
60 ········<a·title="Table·of·contents"·href="#">Table·of·contents</a>··|61 ········<a·title="Table·of·contents"·href="#">Table·of·contents</a>··|
61 ········<a·title="Global·index"·href="genindex.html">Index</a>··|62 ········<a·title="Global·index"·href="genindex.html">Index</a>··|
62 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>63 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>
63 ······</div>64 ······</div>
64 ······<div·class="nav">65 ······<div·class="nav">
65 ····<a·title="Django·5.1.3·documentation"·href="index.html"·accesskey="U">up</a>66 ····<a·title="Django·5.1.3·dokumentatsioon"·href="index.html"·accesskey="U">up</a>
66 ···|67 ···|
67 ····<a·href="index.html"·title="Django·documentation">next</a>·&raquo;</div>68 ····<a·href="index.html"·title="Django·documentation">next</a>·&raquo;</div>
68 ····</div>69 ····</div>
  
69 ····<div·id="bd">70 ····<div·id="bd">
70 ······<div·id="yui-main">71 ······<div·id="yui-main">
71 ········<div·class="yui-b">72 ········<div·class="yui-b">
Offset 457, 22 lines modifiedOffset 458, 22 lines modified
457 </ul>458 </ul>
458 </li>459 </li>
459 </ul>460 </ul>
460 </li>461 </li>
461 <li·class="toctree-l1"><a·class="reference·internal"·href="faq/index.html">Django·FAQ</a><ul>462 <li·class="toctree-l1"><a·class="reference·internal"·href="faq/index.html">Django·FAQ</a><ul>
462 <li·class="toctree-l2"><a·class="reference·internal"·href="faq/general.html">FAQ:·General</a><ul>463 <li·class="toctree-l2"><a·class="reference·internal"·href="faq/general.html">FAQ:·General</a><ul>
463 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#why-does-this-project-exist">Why·does·this·project·exist?</a></li>464 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#why-does-this-project-exist">Why·does·this·project·exist?</a></li>
464 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#what-does-django-mean-and-how-do-you-pronounce-it">What·does·Django·mean,·and·how·do·you·pronounce·it?</a></li>465 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#what-does-django-mean-and-how-do-you-pronounce-it">What·does·Django·mean,·and·how·do·you·pronounce·it?</a></li>
465 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#is-django-stable">Is·Django·stable?</a></li>466 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#is-django-stable">Is·Django·stable?</a></li>
466 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#does-django-scale">Does·Django·scale?</a></li>467 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#does-django-scale">Does·Django·scale?</a></li>
467 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#who-s-behind-this">Who’s·behind·this?</a></li>468 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#who-s-behind-this">Who’s·behind·this?</a></li>
468 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#how-is-django-licensed">How·is·Django·licensed?</a></li>469 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#how-is-django-licensed">How·is·Django·licensed?</a></li>
469 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#why-does-django-include-python-s-license-file">Why·does·Django·include·Python’s·license·file?</a></li>470 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#why-does-django-include-python-s-license-file">Why·does·Django·include·Python’s·license·file?</a></li>
470 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#which-sites-use-django">Which·sites·use·Django?</a></li>471 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#which-sites-use-django">Which·sites·use·Django?</a></li>
471 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names">Django·appears·to·be·a·MVC·framework,·but·you·call·the·Controller·the·view,·and·the·View·the·template.·How·come·you·don’t·use·the·standard·names?</a></li>472 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names">Django·appears·to·be·a·MVC·framework,·but·you·call·the·Controller·the·view,·and·the·View·the·template.·How·come·you·don’t·use·the·standard·names?</a></li>
472 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#framework-x-does-feature-y-why-doesn-t-django">&lt;Framework·X&gt;·does·&lt;feature·Y&gt;··why·doesn’t·Django?</a></li>473 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#framework-x-does-feature-y-why-doesn-t-django">&lt;Framework·X&gt;·does·&lt;feature·Y&gt;··why·doesn’t·Django?</a></li>
473 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries">Why·did·you·write·all·of·Django·from·scratch,·instead·of·using·other·Python·libraries?</a></li>474 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries">Why·did·you·write·all·of·Django·from·scratch,·instead·of·using·other·Python·libraries?</a></li>
474 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#is-django-a-content-management-system-cms">Is·Django·a·content-management-system·(CMS)?</a></li>475 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#is-django-a-content-management-system-cms">Is·Django·a·content-management-system·(CMS)?</a></li>
475 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#how-can-i-download-the-django-documentation-to-read-it-offline">How·can·I·download·the·Django·documentation·to·read·it·offline?</a></li>476 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#how-can-i-download-the-django-documentation-to-read-it-offline">How·can·I·download·the·Django·documentation·to·read·it·offline?</a></li>
476 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#how-do-i-cite-django">How·do·I·cite·Django?</a></li>477 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/general.html#how-do-i-cite-django">How·do·I·cite·Django?</a></li>
477 </ul>478 </ul>
478 </li>479 </li>
Offset 507, 32 lines modifiedOffset 508, 32 lines modified
507 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/models.html#do-django-models-support-multiple-column-primary-keys">Do·Django·models·support·multiple-column·primary·keys?</a></li>508 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/models.html#do-django-models-support-multiple-column-primary-keys">Do·Django·models·support·multiple-column·primary·keys?</a></li>
508 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/models.html#does-django-support-nosql-databases">Does·Django·support·NoSQL·databases?</a></li>509 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/models.html#does-django-support-nosql-databases">Does·Django·support·NoSQL·databases?</a></li>
509 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/models.html#how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type">How·do·I·add·database-specific·options·to·my·CREATE·TABLE·statements,·such·as·specifying·MyISAM·as·the·table·type?</a></li>510 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/models.html#how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type">How·do·I·add·database-specific·options·to·my·CREATE·TABLE·statements,·such·as·specifying·MyISAM·as·the·table·type?</a></li>
510 </ul>511 </ul>
511 </li>512 </li>
512 <li·class="toctree-l2"><a·class="reference·internal"·href="faq/admin.html">FAQ:·The·admin</a><ul>513 <li·class="toctree-l2"><a·class="reference·internal"·href="faq/admin.html">FAQ:·The·admin</a><ul>
513 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·just·brings·up·the·login·page·again,·with·no·error·messages.</a></li>514 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·just·brings·up·the·login·page·again,·with·no·error·messages.</a></li>
514 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·brings·up·the·login·page·again,·with·a·Please·enter·a·correct·username·and·password·error.</a></li>515 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·brings·up·the·login·page·again,·with·a·Please·enter·a·correct·username·and·password·error.</a></li>
515 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin">How·do·I·automatically·set·a·field’s·value·to·the·user·who·last·edited·the·object·in·the·admin?</a></li>516 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin">How·do·I·automatically·set·a·field’s·value·to·the·user·who·last·edited·the·object·in·the·admin?</a></li>
516 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them">How·do·I·limit·admin·access·so·that·objects·can·only·be·edited·by·the·users·who·created·them?</a></li>517 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them">How·do·I·limit·admin·access·so·that·objects·can·only·be·edited·by·the·users·who·created·them?</a></li>
517 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi">My·admin-site·CSS·and·images·showed·up·fine·using·the·development·server,·but·they’re·not·displaying·when·using·mod_wsgi.</a></li>518 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi">My·admin-site·CSS·and·images·showed·up·fine·using·the·development·server,·but·they’re·not·displaying·when·using·mod_wsgi.</a></li>
518 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display">My·list_filter·contains·a·ManyToManyField,·but·the·filter·doesn’t·display.</a></li>519 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display">My·list_filter·contains·a·ManyToManyField,·but·the·filter·doesn’t·display.</a></li>
519 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#some-objects-aren-t-appearing-in-the-admin">Some·objects·aren’t·appearing·in·the·admin.</a></li>520 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#some-objects-aren-t-appearing-in-the-admin">Some·objects·aren’t·appearing·in·the·admin.</a></li>
520 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#how-can-i-customize-the-functionality-of-the-admin-interface">How·can·I·customize·the·functionality·of·the·admin·interface?</a></li>521 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#how-can-i-customize-the-functionality-of-the-admin-interface">How·can·I·customize·the·functionality·of·the·admin·interface?</a></li>
521 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it">The·dynamically-generated·admin·site·is·ugly!·How·can·I·change·it?</a></li>522 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it">The·dynamically-generated·admin·site·is·ugly!·How·can·I·change·it?</a></li>
522 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#what-browsers-are-supported-for-using-the-admin">What·browsers·are·supported·for·using·the·admin?</a></li>523 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#what-browsers-are-supported-for-using-the-admin">What·browsers·are·supported·for·using·the·admin?</a></li>
523 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#what-assistive-technologies-are-supported-for-using-the-admin">What·assistive·technologies·are·supported·for·using·the·admin?</a></li>524 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/admin.html#what-assistive-technologies-are-supported-for-using-the-admin">What·assistive·technologies·are·supported·for·using·the·admin?</a></li>
524 </ul>525 </ul>
525 </li>526 </li>
526 <li·class="toctree-l2"><a·class="reference·internal"·href="faq/contributing.html">FAQ:·Contributing·code</a><ul>527 <li·class="toctree-l2"><a·class="reference·internal"·href="faq/contributing.html">FAQ:·Contributing·code</a><ul>
527 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#how-can-i-get-started-contributing-code-to-django">How·can·I·get·started·contributing·code·to·Django?</a></li>528 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#how-can-i-get-started-contributing-code-to-django">How·can·I·get·started·contributing·code·to·Django?</a></li>
528 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution">I·submitted·a·bug·fix·several·weeks·ago.·Why·are·you·ignoring·my·contribution?</a></li>529 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution">I·submitted·a·bug·fix·several·weeks·ago.·Why·are·you·ignoring·my·contribution?</a></li>
529 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#when-and-how-might-i-remind-the-team-of-a-change-i-care-about">When·and·how·might·I·remind·the·team·of·a·change·I·care·about?</a></li>530 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#when-and-how-might-i-remind-the-team-of-a-change-i-care-about">When·and·how·might·I·remind·the·team·of·a·change·I·care·about?</a></li>
530 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-contribution">But·I’ve·reminded·you·several·times·and·you·keep·ignoring·my·contribution!</a></li>531 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-contribution">But·I’ve·reminded·you·several·times·and·you·keep·ignoring·my·contribution!</a></li>
531 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">I’m·sure·my·ticket·is·absolutely·100%·perfect,·can·I·mark·it·as·Ready·For·Checkin·myself?</a></li>532 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/contributing.html#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">I’m·sure·my·ticket·is·absolutely·100%·perfect,·can·I·mark·it·as·Ready·For·Checkin·myself?</a></li>
532 </ul>533 </ul>
533 </li>534 </li>
534 <li·class="toctree-l2"><a·class="reference·internal"·href="faq/troubleshooting.html">Troubleshooting</a><ul>535 <li·class="toctree-l2"><a·class="reference·internal"·href="faq/troubleshooting.html">Troubleshooting</a><ul>
535 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/troubleshooting.html#problems-running-django-admin">Problems·running·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code></a></li>536 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/troubleshooting.html#problems-running-django-admin">Problems·running·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code></a></li>
536 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/troubleshooting.html#miscellaneous">Miscellaneous</a></li>537 <li·class="toctree-l3"><a·class="reference·internal"·href="faq/troubleshooting.html#miscellaneous">Miscellaneous</a></li>
537 </ul>538 </ul>
538 </li>539 </li>
Offset 579, 15 lines modifiedOffset 580, 15 lines modified
579 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/flatpages.html">The·flatpages·app</a></li>580 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/flatpages.html">The·flatpages·app</a></li>
580 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/gis/index.html">GeoDjango</a></li>581 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/gis/index.html">GeoDjango</a></li>
581 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/humanize.html"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code></a></li>582 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/humanize.html"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code></a></li>
582 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/messages.html">The·messages·framework</a></li>583 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/messages.html">The·messages·framework</a></li>
583 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/postgres/index.html"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a></li>584 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/postgres/index.html"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a></li>
584 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/redirects.html">The·redirects·app</a></li>585 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/redirects.html">The·redirects·app</a></li>
585 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/sitemaps.html">The·sitemap·framework</a></li>586 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/sitemaps.html">The·sitemap·framework</a></li>
586 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/sites.html">The·sites·framework</a></li>587 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/sites.html">The·sites·framework</a></li>
587 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/staticfiles.html">The·<code·class="docutils·literal·notranslate"><span·class="pre">staticfiles</span></code>·app</a></li>588 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/staticfiles.html">The·<code·class="docutils·literal·notranslate"><span·class="pre">staticfiles</span></code>·app</a></li>
588 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/syndication.html">The·syndication·feed·framework</a></li>589 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/syndication.html">The·syndication·feed·framework</a></li>
589 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#admin"><code·class="docutils·literal·notranslate"><span·class="pre">admin</span></code></a></li>590 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#admin"><code·class="docutils·literal·notranslate"><span·class="pre">admin</span></code></a></li>
590 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#auth"><code·class="docutils·literal·notranslate"><span·class="pre">auth</span></code></a></li>591 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#auth"><code·class="docutils·literal·notranslate"><span·class="pre">auth</span></code></a></li>
591 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#contenttypes"><code·class="docutils·literal·notranslate"><span·class="pre">contenttypes</span></code></a></li>592 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#contenttypes"><code·class="docutils·literal·notranslate"><span·class="pre">contenttypes</span></code></a></li>
592 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#flatpages"><code·class="docutils·literal·notranslate"><span·class="pre">flatpages</span></code></a></li>593 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#flatpages"><code·class="docutils·literal·notranslate"><span·class="pre">flatpages</span></code></a></li>
593 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#gis"><code·class="docutils·literal·notranslate"><span·class="pre">gis</span></code></a></li>594 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/contrib/index.html#gis"><code·class="docutils·literal·notranslate"><span·class="pre">gis</span></code></a></li>
Offset 805, 15 lines modifiedOffset 806, 15 lines modified
805 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/views.html#error-views">Error·views</a></li>806 <li·class="toctree-l3"><a·class="reference·internal"·href="ref/views.html#error-views">Error·views</a></li>
806 </ul>807 </ul>
807 </li>808 </li>
808 </ul>809 </ul>
809 </li>810 </li>
810 <li·class="toctree-l1"><a·class="reference·internal"·href="misc/index.html">Meta-documentation·and·miscellany</a><ul>811 <li·class="toctree-l1"><a·class="reference·internal"·href="misc/index.html">Meta-documentation·and·miscellany</a><ul>
811 <li·class="toctree-l2"><a·class="reference·internal"·href="misc/api-stability.html">API·stability</a><ul>812 <li·class="toctree-l2"><a·class="reference·internal"·href="misc/api-stability.html">API·stability</a><ul>
Max diff block lines reached; 3394/18600 bytes (18.25%) of diff not shown.
13.6 KB
html2text {}
Max HTML report size reached
25.3 KB
./usr/share/doc/python-django-doc/html/faq/admin.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>FAQ:·The·admin·&#8212;·Django·5.1.3·documentation</title>6 ····<title>FAQ:·The·admin·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="FAQ:·Contributing·code"·href="contributing.html"·/>15 ····<link·rel="next"·title="FAQ:·Contributing·code"·href="contributing.html"·/>
15 ····<link·rel="prev"·title="FAQ:·Databases·and·models"·href="models.html"·/>16 ····<link·rel="prev"·title="FAQ:·Databases·and·models"·href="models.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 19 lines modifiedOffset 81, 19 lines modified
80 ··<section·id="s-faq-the-admin">81 ··<section·id="s-faq-the-admin">
81 <span·id="faq-the-admin"></span><h1>FAQ:·The·admin<a·class="headerlink"·href="#faq-the-admin"·title="Link·to·this·heading">¶</a></h1>82 <span·id="faq-the-admin"></span><h1>FAQ:·The·admin<a·class="headerlink"·href="#faq-the-admin"·title="Link·to·this·heading">¶</a></h1>
82 <section·id="s-i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages">83 <section·id="s-i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages">
83 <span·id="i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages"></span><h2>I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·just·brings·up·the·login·page·again,·with·no·error·messages.<a·class="headerlink"·href="#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages"·title="Link·to·this·heading">¶</a></h2>84 <span·id="i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages"></span><h2>I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·just·brings·up·the·login·page·again,·with·no·error·messages.<a·class="headerlink"·href="#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages"·title="Link·to·this·heading">¶</a></h2>
84 <p>The·login·cookie·isn’t·being·set·correctly,·because·the·domain·of·the·cookie85 <p>The·login·cookie·isn’t·being·set·correctly,·because·the·domain·of·the·cookie
85 sent·out·by·Django·doesn’t·match·the·domain·in·your·browser.·Try·setting·the86 sent·out·by·Django·doesn’t·match·the·domain·in·your·browser.·Try·setting·the
86 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_COOKIE_DOMAIN"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_DOMAIN</span></code></a>·setting·to·match·your·domain.·For·example,·if87 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_COOKIE_DOMAIN"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_DOMAIN</span></code></a>·setting·to·match·your·domain.·For·example,·if
87 you’re·going·to·<a·class="reference·external"·href="https://www.example.com/admin/">https://www.example.com/admin/</a>·in·your·browser,·set88 you’re·going·to·<a·class="reference·external"·href="https://www.example.com/admin/">https://www.example.com/admin/</a>·in·your·browser,·set
88 <code·class="docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_DOMAIN</span>·<span·class="pre">=</span>·<span·class="pre">'www.example.com'</span></code>.</p>89 <code·class="docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_DOMAIN</span>·<span·class="pre">=</span>·<span·class="pre">'www.example.com'</span></code>.</p>
89 </section>90 </section>
90 <section·id="s-i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error">91 <section·id="s-i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error">
91 <span·id="i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error"></span><h2>I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·brings·up·the·login·page·again,·with·a·Please·enter·a·correct·username·and·password·error.<a·class="headerlink"·href="#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error"·title="Link·to·this·heading">¶</a></h2>92 <span·id="i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error"></span><h2>I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·brings·up·the·login·page·again,·with·a·Please·enter·a·correct·username·and·password·error.<a·class="headerlink"·href="#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error"·title="Link·to·this·heading">¶</a></h2>
92 <p>If·you’re·sure·your·username·and·password·are·correct,·make·sure·your·user93 <p>If·you’re·sure·your·username·and·password·are·correct,·make·sure·your·user
93 account·has·<a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.models.User.is_active"·title="django.contrib.auth.models.User.is_active"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_active</span></code></a>·and94 account·has·<a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.models.User.is_active"·title="django.contrib.auth.models.User.is_active"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_active</span></code></a>·and
94 <a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.models.User.is_staff"·title="django.contrib.auth.models.User.is_staff"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_staff</span></code></a>·set·to·True.·The·admin·site95 <a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.models.User.is_staff"·title="django.contrib.auth.models.User.is_staff"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_staff</span></code></a>·set·to·True.·The·admin·site
95 only·allows·access·to·users·with·those·two·fields·both·set·to·True.</p>96 only·allows·access·to·users·with·those·two·fields·both·set·to·True.</p>
96 </section>97 </section>
97 <section·id="s-how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin">98 <section·id="s-how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin">
98 <span·id="how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin"></span><h2>How·do·I·automatically·set·a·field’s·value·to·the·user·who·last·edited·the·object·in·the·admin?<a·class="headerlink"·href="#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin"·title="Link·to·this·heading">¶</a></h2>99 <span·id="how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin"></span><h2>How·do·I·automatically·set·a·field’s·value·to·the·user·who·last·edited·the·object·in·the·admin?<a·class="headerlink"·href="#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin"·title="Link·to·this·heading">¶</a></h2>
Offset 111, 23 lines modifiedOffset 112, 23 lines modified
111 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_queryset"·title="django.contrib.admin.ModelAdmin.get_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code></a>·and112 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_queryset"·title="django.contrib.admin.ModelAdmin.get_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code></a>·and
112 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_change_permission"·title="django.contrib.admin.ModelAdmin.has_change_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">has_change_permission()</span></code></a>·can·be·used·to113 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_change_permission"·title="django.contrib.admin.ModelAdmin.has_change_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">has_change_permission()</span></code></a>·can·be·used·to
113 control·the·visibility·and·editability·of·objects·in·the·admin.</p>114 control·the·visibility·and·editability·of·objects·in·the·admin.</p>
114 </section>115 </section>
115 <section·id="s-my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi">116 <section·id="s-my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi">
116 <span·id="my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi"></span><h2>My·admin-site·CSS·and·images·showed·up·fine·using·the·development·server,·but·they’re·not·displaying·when·using·mod_wsgi.<a·class="headerlink"·href="#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi"·title="Link·to·this·heading">¶</a></h2>117 <span·id="my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi"></span><h2>My·admin-site·CSS·and·images·showed·up·fine·using·the·development·server,·but·they’re·not·displaying·when·using·mod_wsgi.<a·class="headerlink"·href="#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi"·title="Link·to·this·heading">¶</a></h2>
117 <p>See·<a·class="reference·internal"·href="../howto/deployment/wsgi/modwsgi.html#serving-the-admin-files"><span·class="std·std-ref">serving·the·admin·files</span></a>118 <p>See·<a·class="reference·internal"·href="../howto/deployment/wsgi/modwsgi.html#serving-the-admin-files"><span·class="std·std-ref">serving·the·admin·files</span></a>
118 in·the·How·to·use·Django·with·mod_wsgi·documentation.</p>119 in·the·How·to·use·Django·with·mod_wsgi·documentation.</p>
119 </section>120 </section>
120 <section·id="s-my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display">121 <section·id="s-my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display">
121 <span·id="my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display"></span><h2>My·list_filter·contains·a·ManyToManyField,·but·the·filter·doesn’t·display.<a·class="headerlink"·href="#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display"·title="Link·to·this·heading">¶</a></h2>122 <span·id="my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display"></span><h2>My·list_filter·contains·a·ManyToManyField,·but·the·filter·doesn’t·display.<a·class="headerlink"·href="#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display"·title="Link·to·this·heading">¶</a></h2>
122 <p>Django·won’t·bother·displaying·the·filter·for·a·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>·if·there123 <p>Django·won’t·bother·displaying·the·filter·for·a·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>·if·there
123 are·no·related·objects.</p>124 are·no·related·objects.</p>
124 <p>For·example,·if·your·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_filter"·title="django.contrib.admin.ModelAdmin.list_filter"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">list_filter</span></code></a>125 <p>For·example,·if·your·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_filter"·title="django.contrib.admin.ModelAdmin.list_filter"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">list_filter</span></code></a>
125 includes·<a·class="reference·internal"·href="../ref/contrib/sites.html"><span·class="doc">sites</span></a>,·and·there·are·no·sites·in·your126 includes·<a·class="reference·internal"·href="../ref/contrib/sites.html"><span·class="doc">sites</span></a>,·and·there·are·no·sites·in·your
126 database,·it·won’t·display·a·Site·filter.·In·that·case,·filtering·by·site127 database,·it·won’t·display·a·Site·filter.·In·that·case,·filtering·by·site
127 would·be·meaningless.</p>128 would·be·meaningless.</p>
128 </section>129 </section>
129 <section·id="s-some-objects-aren-t-appearing-in-the-admin">130 <section·id="s-some-objects-aren-t-appearing-in-the-admin">
130 <span·id="some-objects-aren-t-appearing-in-the-admin"></span><h2>Some·objects·aren’t·appearing·in·the·admin.<a·class="headerlink"·href="#some-objects-aren-t-appearing-in-the-admin"·title="Link·to·this·heading">¶</a></h2>131 <span·id="some-objects-aren-t-appearing-in-the-admin"></span><h2>Some·objects·aren’t·appearing·in·the·admin.<a·class="headerlink"·href="#some-objects-aren-t-appearing-in-the-admin"·title="Link·to·this·heading">¶</a></h2>
131 <p>Inconsistent·row·counts·may·be·caused·by·missing·foreign·key·values·or·a132 <p>Inconsistent·row·counts·may·be·caused·by·missing·foreign·key·values·or·a
132 foreign·key·field·incorrectly·set·to·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null=False</span></code></a>.·If·you·have·a·record·with·a133 foreign·key·field·incorrectly·set·to·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null=False</span></code></a>.·If·you·have·a·record·with·a
133 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·pointing·to·a·nonexistent·object·and134 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·pointing·to·a·nonexistent·object·and
Offset 185, 57 lines modifiedOffset 186, 57 lines modified
185 ······186 ······
186 ········187 ········
187 ··········<div·class="yui-b"·id="sidebar">188 ··········<div·class="yui-b"·id="sidebar">
188 ············189 ············
189 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">190 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
190 ········<div·class="sphinxsidebarwrapper">191 ········<div·class="sphinxsidebarwrapper">
191 ··<div>192 ··<div>
192 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>193 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
193 ····<ul>194 ····<ul>
194 <li><a·class="reference·internal"·href="#">FAQ:·The·admin</a><ul>195 <li><a·class="reference·internal"·href="#">FAQ:·The·admin</a><ul>
195 <li><a·class="reference·internal"·href="#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·just·brings·up·the·login·page·again,·with·no·error·messages.</a></li>196 <li><a·class="reference·internal"·href="#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·just·brings·up·the·login·page·again,·with·no·error·messages.</a></li>
196 <li><a·class="reference·internal"·href="#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·brings·up·the·login·page·again,·with·a·Please·enter·a·correct·username·and·password·error.</a></li>197 <li><a·class="reference·internal"·href="#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·brings·up·the·login·page·again,·with·a·Please·enter·a·correct·username·and·password·error.</a></li>
197 <li><a·class="reference·internal"·href="#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin">How·do·I·automatically·set·a·field’s·value·to·the·user·who·last·edited·the·object·in·the·admin?</a></li>198 <li><a·class="reference·internal"·href="#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin">How·do·I·automatically·set·a·field’s·value·to·the·user·who·last·edited·the·object·in·the·admin?</a></li>
198 <li><a·class="reference·internal"·href="#how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them">How·do·I·limit·admin·access·so·that·objects·can·only·be·edited·by·the·users·who·created·them?</a></li>199 <li><a·class="reference·internal"·href="#how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them">How·do·I·limit·admin·access·so·that·objects·can·only·be·edited·by·the·users·who·created·them?</a></li>
199 <li><a·class="reference·internal"·href="#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi">My·admin-site·CSS·and·images·showed·up·fine·using·the·development·server,·but·they’re·not·displaying·when·using·mod_wsgi.</a></li>200 <li><a·class="reference·internal"·href="#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi">My·admin-site·CSS·and·images·showed·up·fine·using·the·development·server,·but·they’re·not·displaying·when·using·mod_wsgi.</a></li>
200 <li><a·class="reference·internal"·href="#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display">My·list_filter·contains·a·ManyToManyField,·but·the·filter·doesn’t·display.</a></li>201 <li><a·class="reference·internal"·href="#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display">My·list_filter·contains·a·ManyToManyField,·but·the·filter·doesn’t·display.</a></li>
201 <li><a·class="reference·internal"·href="#some-objects-aren-t-appearing-in-the-admin">Some·objects·aren’t·appearing·in·the·admin.</a></li>202 <li><a·class="reference·internal"·href="#some-objects-aren-t-appearing-in-the-admin">Some·objects·aren’t·appearing·in·the·admin.</a></li>
202 <li><a·class="reference·internal"·href="#how-can-i-customize-the-functionality-of-the-admin-interface">How·can·I·customize·the·functionality·of·the·admin·interface?</a></li>203 <li><a·class="reference·internal"·href="#how-can-i-customize-the-functionality-of-the-admin-interface">How·can·I·customize·the·functionality·of·the·admin·interface?</a></li>
203 <li><a·class="reference·internal"·href="#the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it">The·dynamically-generated·admin·site·is·ugly!·How·can·I·change·it?</a></li>204 <li><a·class="reference·internal"·href="#the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it">The·dynamically-generated·admin·site·is·ugly!·How·can·I·change·it?</a></li>
204 <li><a·class="reference·internal"·href="#what-browsers-are-supported-for-using-the-admin">What·browsers·are·supported·for·using·the·admin?</a></li>205 <li><a·class="reference·internal"·href="#what-browsers-are-supported-for-using-the-admin">What·browsers·are·supported·for·using·the·admin?</a></li>
205 <li><a·class="reference·internal"·href="#what-assistive-technologies-are-supported-for-using-the-admin">What·assistive·technologies·are·supported·for·using·the·admin?</a></li>206 <li><a·class="reference·internal"·href="#what-assistive-technologies-are-supported-for-using-the-admin">What·assistive·technologies·are·supported·for·using·the·admin?</a></li>
206 </ul>207 </ul>
207 </li>208 </li>
208 </ul>209 </ul>
  
209 ··</div>210 ··</div>
210 ··<div>211 ··<div>
211 ····<h4>Previous·topic</h4>212 ····<h4>Eelmine·teema</h4>
212 ····<p·class="topless"><a·href="models.html"213 ····<p·class="topless"><a·href="models.html"
213 ··························title="previous·chapter">FAQ:·Databases·and·models</a></p>214 ··························title="eelmine·jaotis">FAQ:·Databases·and·models</a></p>
214 ··</div>215 ··</div>
215 ··<div>216 ··<div>
216 ····<h4>Next·topic</h4>217 ····<h4>Järgmine·teema</h4>
217 ····<p·class="topless"><a·href="contributing.html"218 ····<p·class="topless"><a·href="contributing.html"
218 ··························title="next·chapter">FAQ:·Contributing·code</a></p>219 ··························title="järgmine·jaotis">FAQ:·Contributing·code</a></p>
219 ··</div>220 ··</div>
220 <search·id="searchbox"·style="display:·none"·role="search">221 <search·id="searchbox"·style="display:·none"·role="search">
221 ··<h3·id="searchlabel">Quick·search</h3>222 ··<h3·id="searchlabel">Kiirotsing</h3>
222 ····<div·class="searchformwrapper">223 ····<div·class="searchformwrapper">
223 ····<form·class="search"·action="../search.html"·method="get">224 ····<form·class="search"·action="../search.html"·method="get">
224 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>225 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
225 ······<input·type="submit"·value="Go"·/>226 ······<input·type="submit"·value="Otsi"·/>
226 ····</form>227 ····</form>
Max diff block lines reached; 353/15228 bytes (2.32%) of diff not shown.
10.3 KB
html2text {}
Max HTML report size reached
13.8 KB
./usr/share/doc/python-django-doc/html/faq/contributing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>FAQ:·Contributing·code·&#8212;·Django·5.1.3·documentation</title>6 ····<title>FAQ:·Contributing·code·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Troubleshooting"·href="troubleshooting.html"·/>15 ····<link·rel="next"·title="Troubleshooting"·href="troubleshooting.html"·/>
15 ····<link·rel="prev"·title="FAQ:·The·admin"·href="admin.html"·/>16 ····<link·rel="prev"·title="FAQ:·The·admin"·href="admin.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 83, 16 lines modifiedOffset 84, 16 lines modified
83 <span·id="s-new-contributors-faq"></span><span·id="how-can-i-get-started-contributing-code-to-django"></span><span·id="new-contributors-faq"></span><h2>How·can·I·get·started·contributing·code·to·Django?<a·class="headerlink"·href="#how-can-i-get-started-contributing-code-to-django"·title="Link·to·this·heading">¶</a></h2>84 <span·id="s-new-contributors-faq"></span><span·id="how-can-i-get-started-contributing-code-to-django"></span><span·id="new-contributors-faq"></span><h2>How·can·I·get·started·contributing·code·to·Django?<a·class="headerlink"·href="#how-can-i-get-started-contributing-code-to-django"·title="Link·to·this·heading">¶</a></h2>
84 <p>Thanks·for·asking!·We’ve·written·an·entire·document·devoted·to·this·question.85 <p>Thanks·for·asking!·We’ve·written·an·entire·document·devoted·to·this·question.
85 It’s·titled·<a·class="reference·internal"·href="../internals/contributing/index.html"><span·class="doc">Contributing·to·Django</span></a>.</p>86 It’s·titled·<a·class="reference·internal"·href="../internals/contributing/index.html"><span·class="doc">Contributing·to·Django</span></a>.</p>
86 </section>87 </section>
87 <section·id="s-i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution">88 <section·id="s-i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution">
88 <span·id="i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution"></span><h2>I·submitted·a·bug·fix·several·weeks·ago.·Why·are·you·ignoring·my·contribution?<a·class="headerlink"·href="#i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution"·title="Link·to·this·heading">¶</a></h2>89 <span·id="i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution"></span><h2>I·submitted·a·bug·fix·several·weeks·ago.·Why·are·you·ignoring·my·contribution?<a·class="headerlink"·href="#i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution"·title="Link·to·this·heading">¶</a></h2>
89 <p>Don’t·worry:·We’re·not·ignoring·you!</p>90 <p>Don’t·worry:·We’re·not·ignoring·you!</p>
90 <p>It’s·important·to·understand·there·is·a·difference·between·a·ticket·is·being91 <p>It’s·important·to·understand·there·is·a·difference·between·a·ticket·is·being
91 ignored·and·a·ticket·has·not·been·attended·to·yet.·Django’s·ticket·system92 ignored·and·a·ticket·has·not·been·attended·to·yet.·Django’s·ticket·system
92 contains·hundreds·of·open·tickets,·of·various·degrees·of·impact·on·end-user93 contains·hundreds·of·open·tickets,·of·various·degrees·of·impact·on·end-user
93 functionality,·and·Django’s·developers·have·to·review·and·prioritize.</p>94 functionality,·and·Django’s·developers·have·to·review·and·prioritize.</p>
94 <p>On·top·of·that:·the·people·who·work·on·Django·are·all·volunteers.·As·a·result,95 <p>On·top·of·that:·the·people·who·work·on·Django·are·all·volunteers.·As·a·result,
95 the·amount·of·time·that·we·have·to·work·on·the·framework·is·limited·and·will96 the·amount·of·time·that·we·have·to·work·on·the·framework·is·limited·and·will
96 vary·from·week·to·week·depending·on·our·spare·time.·If·we’re·busy,·we·may·not97 vary·from·week·to·week·depending·on·our·spare·time.·If·we’re·busy,·we·may·not
97 be·able·to·spend·as·much·time·on·Django·as·we·might·want.</p>98 be·able·to·spend·as·much·time·on·Django·as·we·might·want.</p>
98 <p>The·best·way·to·make·sure·tickets·do·not·get·hung·up·on·the·way·to·checkin·is99 <p>The·best·way·to·make·sure·tickets·do·not·get·hung·up·on·the·way·to·checkin·is
Offset 157, 15 lines modifiedOffset 158, 15 lines modified
157 relative·priorities,·we·are·generally·trying·to·consider·the·needs·of·the158 relative·priorities,·we·are·generally·trying·to·consider·the·needs·of·the
158 entire·community,·instead·of·prioritizing·the·impact·on·one·particular·user.159 entire·community,·instead·of·prioritizing·the·impact·on·one·particular·user.
159 This·doesn’t·mean·that·we·think·your·problem·is·unimportant··just·that·in·the160 This·doesn’t·mean·that·we·think·your·problem·is·unimportant··just·that·in·the
160 limited·time·we·have·available,·we·will·always·err·on·the·side·of·making·10161 limited·time·we·have·available,·we·will·always·err·on·the·side·of·making·10
161 people·happy·rather·than·making·a·single·person·happy.</p>162 people·happy·rather·than·making·a·single·person·happy.</p>
162 </section>163 </section>
163 <section·id="s-i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">164 <section·id="s-i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">
164 <span·id="i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself"></span><h2>I’m·sure·my·ticket·is·absolutely·100%·perfect,·can·I·mark·it·as·Ready·For·Checkin·myself?<a·class="headerlink"·href="#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself"·title="Link·to·this·heading">¶</a></h2>165 <span·id="i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself"></span><h2>I’m·sure·my·ticket·is·absolutely·100%·perfect,·can·I·mark·it·as·Ready·For·Checkin·myself?<a·class="headerlink"·href="#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself"·title="Link·to·this·heading">¶</a></h2>
165 <p>Sorry,·no.·It’s·always·better·to·get·another·set·of·eyes·on·a·ticket.·If166 <p>Sorry,·no.·It’s·always·better·to·get·another·set·of·eyes·on·a·ticket.·If
166 you’re·having·trouble·getting·that·second·set·of·eyes,·see·questions·above.</p>167 you’re·having·trouble·getting·that·second·set·of·eyes,·see·questions·above.</p>
167 </section>168 </section>
168 </section>169 </section>
  
  
169 ··········</div>170 ··········</div>
Offset 174, 51 lines modifiedOffset 175, 51 lines modified
174 ······175 ······
175 ········176 ········
176 ··········<div·class="yui-b"·id="sidebar">177 ··········<div·class="yui-b"·id="sidebar">
177 ············178 ············
178 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">179 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
179 ········<div·class="sphinxsidebarwrapper">180 ········<div·class="sphinxsidebarwrapper">
180 ··<div>181 ··<div>
181 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>182 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
182 ····<ul>183 ····<ul>
183 <li><a·class="reference·internal"·href="#">FAQ:·Contributing·code</a><ul>184 <li><a·class="reference·internal"·href="#">FAQ:·Contributing·code</a><ul>
184 <li><a·class="reference·internal"·href="#how-can-i-get-started-contributing-code-to-django">How·can·I·get·started·contributing·code·to·Django?</a></li>185 <li><a·class="reference·internal"·href="#how-can-i-get-started-contributing-code-to-django">How·can·I·get·started·contributing·code·to·Django?</a></li>
185 <li><a·class="reference·internal"·href="#i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution">I·submitted·a·bug·fix·several·weeks·ago.·Why·are·you·ignoring·my·contribution?</a></li>186 <li><a·class="reference·internal"·href="#i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution">I·submitted·a·bug·fix·several·weeks·ago.·Why·are·you·ignoring·my·contribution?</a></li>
186 <li><a·class="reference·internal"·href="#when-and-how-might-i-remind-the-team-of-a-change-i-care-about">When·and·how·might·I·remind·the·team·of·a·change·I·care·about?</a></li>187 <li><a·class="reference·internal"·href="#when-and-how-might-i-remind-the-team-of-a-change-i-care-about">When·and·how·might·I·remind·the·team·of·a·change·I·care·about?</a></li>
187 <li><a·class="reference·internal"·href="#but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-contribution">But·I’ve·reminded·you·several·times·and·you·keep·ignoring·my·contribution!</a></li>188 <li><a·class="reference·internal"·href="#but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-contribution">But·I’ve·reminded·you·several·times·and·you·keep·ignoring·my·contribution!</a></li>
188 <li><a·class="reference·internal"·href="#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">I’m·sure·my·ticket·is·absolutely·100%·perfect,·can·I·mark·it·as·Ready·For·Checkin·myself?</a></li>189 <li><a·class="reference·internal"·href="#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">I’m·sure·my·ticket·is·absolutely·100%·perfect,·can·I·mark·it·as·Ready·For·Checkin·myself?</a></li>
189 </ul>190 </ul>
190 </li>191 </li>
191 </ul>192 </ul>
  
192 ··</div>193 ··</div>
193 ··<div>194 ··<div>
194 ····<h4>Previous·topic</h4>195 ····<h4>Eelmine·teema</h4>
195 ····<p·class="topless"><a·href="admin.html"196 ····<p·class="topless"><a·href="admin.html"
196 ··························title="previous·chapter">FAQ:·The·admin</a></p>197 ··························title="eelmine·jaotis">FAQ:·The·admin</a></p>
197 ··</div>198 ··</div>
198 ··<div>199 ··<div>
199 ····<h4>Next·topic</h4>200 ····<h4>Järgmine·teema</h4>
200 ····<p·class="topless"><a·href="troubleshooting.html"201 ····<p·class="topless"><a·href="troubleshooting.html"
201 ··························title="next·chapter">Troubleshooting</a></p>202 ··························title="järgmine·jaotis">Troubleshooting</a></p>
202 ··</div>203 ··</div>
203 <search·id="searchbox"·style="display:·none"·role="search">204 <search·id="searchbox"·style="display:·none"·role="search">
204 ··<h3·id="searchlabel">Quick·search</h3>205 ··<h3·id="searchlabel">Kiirotsing</h3>
205 ····<div·class="searchformwrapper">206 ····<div·class="searchformwrapper">
206 ····<form·class="search"·action="../search.html"·method="get">207 ····<form·class="search"·action="../search.html"·method="get">
207 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>208 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
208 ······<input·type="submit"·value="Go"·/>209 ······<input·type="submit"·value="Otsi"·/>
209 ····</form>210 ····</form>
210 ····</div>211 ····</div>
211 </search>212 </search>
212 <script>document.getElementById('searchbox').style.display·=·"block"</script>213 <script>document.getElementById('searchbox').style.display·=·"block"</script>
213 ········</div>214 ········</div>
214 ······</div>215 ······</div>
215 ··············<h3>Last·update:</h3>216 ··············<h3>Last·update:</h3>
216 ··············<p·class="topless">Nov·05,·2024</p>217 ··············<p·class="topless">nov·05,·2024</p>
217 ··········</div>218 ··········</div>
218 ········219 ········
219 ······220 ······
220 ····</div>221 ····</div>
  
221 ····<div·id="ft">222 ····<div·id="ft">
222 ······<div·class="nav">223 ······<div·class="nav">
5.42 KB
html2text {}
Max HTML report size reached
32.2 KB
./usr/share/doc/python-django-doc/html/faq/general.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>FAQ:·General·&#8212;·Django·5.1.3·documentation</title>6 ····<title>FAQ:·General·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="FAQ:·Installation"·href="install.html"·/>15 ····<link·rel="next"·title="FAQ:·Installation"·href="install.html"·/>
15 ····<link·rel="prev"·title="Django·FAQ"·href="index.html"·/>16 ····<link·rel="prev"·title="Django·FAQ"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 32 lines modifiedOffset 96, 32 lines modified
95 over·two·years.</p>96 over·two·years.</p>
96 <p>In·summer·2005,·World·Online·decided·to·open-source·the·resulting·software,97 <p>In·summer·2005,·World·Online·decided·to·open-source·the·resulting·software,
97 Django.·Django·would·not·be·possible·without·a·whole·host·of·open-source98 Django.·Django·would·not·be·possible·without·a·whole·host·of·open-source
98 projects··<a·class="reference·external"·href="https://httpd.apache.org/">Apache</a>,·<a·class="reference·external"·href="https://www.python.org/">Python</a>,·and·<a·class="reference·external"·href="https://www.postgresql.org/">PostgreSQL</a>·to·name·a·few··and·we’re99 projects··<a·class="reference·external"·href="https://httpd.apache.org/">Apache</a>,·<a·class="reference·external"·href="https://www.python.org/">Python</a>,·and·<a·class="reference·external"·href="https://www.postgresql.org/">PostgreSQL</a>·to·name·a·few··and·we’re
99 thrilled·to·be·able·to·give·something·back·to·the·open-source·community.</p>100 thrilled·to·be·able·to·give·something·back·to·the·open-source·community.</p>
100 </section>101 </section>
101 <section·id="s-what-does-django-mean-and-how-do-you-pronounce-it">102 <section·id="s-what-does-django-mean-and-how-do-you-pronounce-it">
102 <span·id="what-does-django-mean-and-how-do-you-pronounce-it"></span><h2>What·does·Django·mean,·and·how·do·you·pronounce·it?<a·class="headerlink"·href="#what-does-django-mean-and-how-do-you-pronounce-it"·title="Link·to·this·heading">¶</a></h2>103 <span·id="what-does-django-mean-and-how-do-you-pronounce-it"></span><h2>What·does·Django·mean,·and·how·do·you·pronounce·it?<a·class="headerlink"·href="#what-does-django-mean-and-how-do-you-pronounce-it"·title="Link·to·this·heading">¶</a></h2>
103 <p>Django·is·named·after·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Django_Reinhardt">Django·Reinhardt</a>,·a·jazz·manouche·guitarist·from·the·1930s104 <p>Django·is·named·after·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Django_Reinhardt">Django·Reinhardt</a>,·a·jazz·manouche·guitarist·from·the·1930s
104 to·early·1950s.·To·this·day,·he’s·considered·one·of·the·best·guitarists·of·all·time.</p>105 to·early·1950s.·To·this·day,·he’s·considered·one·of·the·best·guitarists·of·all·time.</p>
105 <p>Listen·to·his·music.·You’ll·like·it.</p>106 <p>Listen·to·his·music.·You’ll·like·it.</p>
106 <p>Django·is·pronounced·<strong>JANG</strong>-oh.·Rhymes·with·FANG-oh.·The·D·is·silent.</p>107 <p>Django·is·pronounced·<strong>JANG</strong>-oh.·Rhymes·with·FANG-oh.·The·D·is·silent.</p>
107 <p>We’ve·also·recorded·an·<a·class="reference·external"·href="https://www.red-bean.com/~adrian/django_pronunciation.mp3">audio·clip·of·the·pronunciation</a>.</p>108 <p>We’ve·also·recorded·an·<a·class="reference·external"·href="https://www.red-bean.com/~adrian/django_pronunciation.mp3">audio·clip·of·the·pronunciation</a>.</p>
108 </section>109 </section>
109 <section·id="s-is-django-stable">110 <section·id="s-is-django-stable">
110 <span·id="is-django-stable"></span><h2>Is·Django·stable?<a·class="headerlink"·href="#is-django-stable"·title="Link·to·this·heading">¶</a></h2>111 <span·id="is-django-stable"></span><h2>Is·Django·stable?<a·class="headerlink"·href="#is-django-stable"·title="Link·to·this·heading">¶</a></h2>
111 <p>Yes,·it’s·quite·stable.·Companies·like·Disqus,·Instagram,·Pinterest,·and112 <p>Yes,·it’s·quite·stable.·Companies·like·Disqus,·Instagram,·Pinterest,·and
112 Mozilla·have·been·using·Django·for·many·years.·Sites·built·on·Django·have113 Mozilla·have·been·using·Django·for·many·years.·Sites·built·on·Django·have
113 weathered·traffic·spikes·of·over·50·thousand·hits·per·second.</p>114 weathered·traffic·spikes·of·over·50·thousand·hits·per·second.</p>
114 </section>115 </section>
115 <section·id="s-does-django-scale">116 <section·id="s-does-django-scale">
116 <span·id="does-django-scale"></span><h2>Does·Django·scale?<a·class="headerlink"·href="#does-django-scale"·title="Link·to·this·heading">¶</a></h2>117 <span·id="does-django-scale"></span><h2>Does·Django·scale?<a·class="headerlink"·href="#does-django-scale"·title="Link·to·this·heading">¶</a></h2>
117 <p>Yes.·Compared·to·development·time,·hardware·is·cheap,·and·so·Django·is118 <p>Yes.·Compared·to·development·time,·hardware·is·cheap,·and·so·Django·is
118 designed·to·take·advantage·of·as·much·hardware·as·you·can·throw·at·it.</p>119 designed·to·take·advantage·of·as·much·hardware·as·you·can·throw·at·it.</p>
119 <p>Django·uses·a·shared-nothing·architecture,·which·means·you·can·add·hardware120 <p>Django·uses·a·shared-nothing·architecture,·which·means·you·can·add·hardware
120 at·any·level··database·servers,·caching·servers·or·web/application·servers.</p>121 at·any·level··database·servers,·caching·servers·or·web/application·servers.</p>
121 <p>The·framework·cleanly·separates·components·such·as·its·database·layer·and122 <p>The·framework·cleanly·separates·components·such·as·its·database·layer·and
122 application·layer.·And·it·ships·with·a·simple-yet-powerful123 application·layer.·And·it·ships·with·a·simple-yet-powerful
123 <a·class="reference·internal"·href="../topics/cache.html"><span·class="doc">cache·framework</span></a>.</p>124 <a·class="reference·internal"·href="../topics/cache.html"><span·class="doc">cache·framework</span></a>.</p>
124 </section>125 </section>
125 <section·id="s-who-s-behind-this">126 <section·id="s-who-s-behind-this">
126 <span·id="who-s-behind-this"></span><h2>Who’s·behind·this?<a·class="headerlink"·href="#who-s-behind-this"·title="Link·to·this·heading">¶</a></h2>127 <span·id="who-s-behind-this"></span><h2>Who’s·behind·this?<a·class="headerlink"·href="#who-s-behind-this"·title="Link·to·this·heading">¶</a></h2>
Offset 141, 42 lines modifiedOffset 142, 42 lines modified
141 </section>142 </section>
142 <section·id="s-which-sites-use-django">143 <section·id="s-which-sites-use-django">
143 <span·id="which-sites-use-django"></span><h2>Which·sites·use·Django?<a·class="headerlink"·href="#which-sites-use-django"·title="Link·to·this·heading">¶</a></h2>144 <span·id="which-sites-use-django"></span><h2>Which·sites·use·Django?<a·class="headerlink"·href="#which-sites-use-django"·title="Link·to·this·heading">¶</a></h2>
144 <p><a·class="reference·external"·href="https://builtwithdjango.com/projects/">BuiltWithDjango.com</a>·features·a·constantly·growing·list·of·Django-powered145 <p><a·class="reference·external"·href="https://builtwithdjango.com/projects/">BuiltWithDjango.com</a>·features·a·constantly·growing·list·of·Django-powered
145 sites.</p>146 sites.</p>
146 </section>147 </section>
147 <section·id="s-django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names">148 <section·id="s-django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names">
148 <span·id="s-faq-mtv"></span><span·id="django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names"></span><span·id="faq-mtv"></span><h2>Django·appears·to·be·a·MVC·framework,·but·you·call·the·Controller·the·view,·and·the·View·the·template.·How·come·you·don’t·use·the·standard·names?<a·class="headerlink"·href="#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names"·title="Link·to·this·heading">¶</a></h2>149 <span·id="s-faq-mtv"></span><span·id="django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names"></span><span·id="faq-mtv"></span><h2>Django·appears·to·be·a·MVC·framework,·but·you·call·the·Controller·the·view,·and·the·View·the·template.·How·come·you·don’t·use·the·standard·names?<a·class="headerlink"·href="#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names"·title="Link·to·this·heading">¶</a></h2>
149 <p>Well,·the·standard·names·are·debatable.</p>150 <p>Well,·the·standard·names·are·debatable.</p>
150 <p>In·our·interpretation·of·MVC,·the·view·describes·the·data·that·gets·presented151 <p>In·our·interpretation·of·MVC,·the·view·describes·the·data·that·gets·presented
151 to·the·user.·It’s·not·necessarily·<em>how</em>·the·data·<em>looks</em>,·but·<em>which</em>·data·is152 to·the·user.·It’s·not·necessarily·<em>how</em>·the·data·<em>looks</em>,·but·<em>which</em>·data·is
152 presented.·The·view·describes·<em>which·data·you·see</em>,·not·<em>how·you·see·it.</em>·It’s153 presented.·The·view·describes·<em>which·data·you·see</em>,·not·<em>how·you·see·it.</em>·It’s
153 a·subtle·distinction.</p>154 a·subtle·distinction.</p>
154 <p>So,·in·our·case,·a·view·is·the·Python·callback·function·for·a·particular·URL,155 <p>So,·in·our·case,·a·view·is·the·Python·callback·function·for·a·particular·URL,
155 because·that·callback·function·describes·which·data·is·presented.</p>156 because·that·callback·function·describes·which·data·is·presented.</p>
156 <p>Furthermore,·it’s·sensible·to·separate·content·from·presentation··which·is157 <p>Furthermore,·it’s·sensible·to·separate·content·from·presentation··which·is
157 where·templates·come·in.·In·Django,·a·view·describes·which·data·is·presented,158 where·templates·come·in.·In·Django,·a·view·describes·which·data·is·presented,
158 but·a·view·normally·delegates·to·a·template,·which·describes·<em>how</em>·the·data·is159 but·a·view·normally·delegates·to·a·template,·which·describes·<em>how</em>·the·data·is
159 presented.</p>160 presented.</p>
160 <p>Where·does·the·controller·fit·in,·then?·In·Django’s·case,·it’s·probably·the161 <p>Where·does·the·controller·fit·in,·then?·In·Django’s·case,·it’s·probably·the
161 framework·itself:·the·machinery·that·sends·a·request·to·the·appropriate·view,162 framework·itself:·the·machinery·that·sends·a·request·to·the·appropriate·view,
162 according·to·the·Django·URL·configuration.</p>163 according·to·the·Django·URL·configuration.</p>
163 <p>If·you’re·hungry·for·acronyms,·you·might·say·that·Django·is·a·MTV·framework164 <p>If·you’re·hungry·for·acronyms,·you·might·say·that·Django·is·a·MTV·framework
164 ·that·is,·model,·template,·and·view.·That·breakdown·makes·much·more165 ·that·is,·model,·template,·and·view.·That·breakdown·makes·much·more
165 sense.</p>166 sense.</p>
166 <p>At·the·end·of·the·day,·it·comes·down·to·getting·stuff·done.·And,·regardless·of167 <p>At·the·end·of·the·day,·it·comes·down·to·getting·stuff·done.·And,·regardless·of
167 how·things·are·named,·Django·gets·stuff·done·in·a·way·that’s·most·logical·to168 how·things·are·named,·Django·gets·stuff·done·in·a·way·that’s·most·logical·to
168 us.</p>169 us.</p>
169 </section>170 </section>
170 <section·id="s-framework-x-does-feature-y-why-doesn-t-django">171 <section·id="s-framework-x-does-feature-y-why-doesn-t-django">
171 <span·id="framework-x-does-feature-y-why-doesn-t-django"></span><h2>&lt;Framework·X&gt;·does·&lt;feature·Y&gt;··why·doesn’t·Django?<a·class="headerlink"·href="#framework-x-does-feature-y-why-doesn-t-django"·title="Link·to·this·heading">¶</a></h2>172 <span·id="framework-x-does-feature-y-why-doesn-t-django"></span><h2>&lt;Framework·X&gt;·does·&lt;feature·Y&gt;··why·doesn’t·Django?<a·class="headerlink"·href="#framework-x-does-feature-y-why-doesn-t-django"·title="Link·to·this·heading">¶</a></h2>
172 <p>We’re·well·aware·that·there·are·other·awesome·web·frameworks·out·there,·and173 <p>We’re·well·aware·that·there·are·other·awesome·web·frameworks·out·there,·and
173 we’re·not·averse·to·borrowing·ideas·where·appropriate.·However,·Django·was174 we’re·not·averse·to·borrowing·ideas·where·appropriate.·However,·Django·was
174 developed·precisely·because·we·were·unhappy·with·the·status·quo,·so·please·be175 developed·precisely·because·we·were·unhappy·with·the·status·quo,·so·please·be
175 aware·that·because·&lt;Framework·X&gt;·does·it·is·not·going·to·be·sufficient·reason176 aware·that·because·&lt;Framework·X&gt;·does·it·is·not·going·to·be·sufficient·reason
176 to·add·a·given·feature·to·Django.</p>177 to·add·a·given·feature·to·Django.</p>
177 </section>178 </section>
178 <section·id="s-why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries">179 <section·id="s-why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries">
179 <span·id="why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries"></span><h2>Why·did·you·write·all·of·Django·from·scratch,·instead·of·using·other·Python·libraries?<a·class="headerlink"·href="#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries"·title="Link·to·this·heading">¶</a></h2>180 <span·id="why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries"></span><h2>Why·did·you·write·all·of·Django·from·scratch,·instead·of·using·other·Python·libraries?<a·class="headerlink"·href="#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries"·title="Link·to·this·heading">¶</a></h2>
180 <p>When·Django·was·originally·written,·Adrian·and·Simon·spent·quite·a·bit·of·time181 <p>When·Django·was·originally·written,·Adrian·and·Simon·spent·quite·a·bit·of·time
181 exploring·the·various·Python·web·frameworks·available.</p>182 exploring·the·various·Python·web·frameworks·available.</p>
182 <p>In·our·opinion,·none·of·them·were·completely·up·to·snuff.</p>183 <p>In·our·opinion,·none·of·them·were·completely·up·to·snuff.</p>
Offset 191, 22 lines modifiedOffset 192, 22 lines modified
191 philosophies·100%.</p>192 philosophies·100%.</p>
192 <p>Like·we·said:·We’re·picky.</p>193 <p>Like·we·said:·We’re·picky.</p>
193 <p>We’ve·documented·our·philosophies·on·the194 <p>We’ve·documented·our·philosophies·on·the
194 <a·class="reference·internal"·href="../misc/design-philosophies.html"><span·class="doc">design·philosophies·page</span></a>.</p>195 <a·class="reference·internal"·href="../misc/design-philosophies.html"><span·class="doc">design·philosophies·page</span></a>.</p>
195 </section>196 </section>
196 <section·id="s-is-django-a-content-management-system-cms">197 <section·id="s-is-django-a-content-management-system-cms">
197 <span·id="is-django-a-content-management-system-cms"></span><h2>Is·Django·a·content-management-system·(CMS)?<a·class="headerlink"·href="#is-django-a-content-management-system-cms"·title="Link·to·this·heading">¶</a></h2>198 <span·id="is-django-a-content-management-system-cms"></span><h2>Is·Django·a·content-management-system·(CMS)?<a·class="headerlink"·href="#is-django-a-content-management-system-cms"·title="Link·to·this·heading">¶</a></h2>
198 <p>No,·Django·is·not·a·CMS,·or·any·sort·of·turnkey·product·in·and·of·itself.199 <p>No,·Django·is·not·a·CMS,·or·any·sort·of·turnkey·product·in·and·of·itself.
199 It’s·a·web·framework;·it’s·a·programming·tool·that·lets·you·build·websites.</p>200 It’s·a·web·framework;·it’s·a·programming·tool·that·lets·you·build·websites.</p>
200 <p>For·example,·it·doesn’t·make·much·sense·to·compare·Django·to·something·like201 <p>For·example,·it·doesn’t·make·much·sense·to·compare·Django·to·something·like
201 <a·class="reference·external"·href="https://www.drupal.org/">Drupal</a>,·because·Django·is·something·you·use·to·<em>create</em>·things·like·Drupal.</p>202 <a·class="reference·external"·href="https://www.drupal.org/">Drupal</a>,·because·Django·is·something·you·use·to·<em>create</em>·things·like·Drupal.</p>
Max diff block lines reached; 6911/18310 bytes (37.74%) of diff not shown.
14.2 KB
html2text {}
Max HTML report size reached
10.9 KB
./usr/share/doc/python-django-doc/html/faq/help.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>FAQ:·Getting·Help·&#8212;·Django·5.1.3·documentation</title>6 ····<title>FAQ:·Getting·Help·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="FAQ:·Databases·and·models"·href="models.html"·/>15 ····<link·rel="next"·title="FAQ:·Databases·and·models"·href="models.html"·/>
15 ····<link·rel="prev"·title="FAQ:·Using·Django"·href="usage.html"·/>16 ····<link·rel="prev"·title="FAQ:·Using·Django"·href="usage.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 15 lines modifiedOffset 85, 15 lines modified
84 <p>First,·please·check·if·your·question·is·answered·on·the·<a·class="reference·internal"·href="index.html"><span·class="doc">FAQ</span></a>.·Also,·search·for·answers·using·your·favorite·search·engine,·and85 <p>First,·please·check·if·your·question·is·answered·on·the·<a·class="reference·internal"·href="index.html"><span·class="doc">FAQ</span></a>.·Also,·search·for·answers·using·your·favorite·search·engine,·and
85 in·<a·class="reference·external"·href="https://forum.djangoproject.com/">the·forum</a>.</p>86 in·<a·class="reference·external"·href="https://forum.djangoproject.com/">the·forum</a>.</p>
86 <p>If·you·can’t·find·an·answer,·please·take·a·few·minutes·to·formulate·your87 <p>If·you·can’t·find·an·answer,·please·take·a·few·minutes·to·formulate·your
87 question·well.·Explaining·the·problems·you·are·facing·clearly·will·help·others88 question·well.·Explaining·the·problems·you·are·facing·clearly·will·help·others
88 help·you.·See·the·StackOverflow·guide·on·<a·class="reference·external"·href="https://stackoverflow.com/help/how-to-ask">asking·good·questions</a>.</p>89 help·you.·See·the·StackOverflow·guide·on·<a·class="reference·external"·href="https://stackoverflow.com/help/how-to-ask">asking·good·questions</a>.</p>
89 <p>Then,·please·post·it·in·one·of·the·following·channels:</p>90 <p>Then,·please·post·it·in·one·of·the·following·channels:</p>
90 <ul·class="simple">91 <ul·class="simple">
91 <li><p>The·Django·Forum·section·<a·class="reference·external"·href="https://forum.djangoproject.com/c/users/6">Using·Django</a>.·This·is·for·web-based92 <li><p>The·Django·Forum·section·<a·class="reference·external"·href="https://forum.djangoproject.com/c/users/6">Using·Django</a>.·This·is·for·web-based
92 discussions.</p></li>93 discussions.</p></li>
93 <li><p>The·<a·class="reference·internal"·href="../internals/mailing-lists.html#django-users-mailing-list"><span·class="std·std-ref">django-users</span></a>·mailing·list.·This·is·for·email-based·discussions.</p></li>94 <li><p>The·<a·class="reference·internal"·href="../internals/mailing-lists.html#django-users-mailing-list"><span·class="std·std-ref">django-users</span></a>·mailing·list.·This·is·for·email-based·discussions.</p></li>
94 <li><p>The·<a·class="reference·external"·href="https://discord.gg/xcRH6mN4fa">Django·Discord·server</a>·for·chat-based·discussions.</p></li>95 <li><p>The·<a·class="reference·external"·href="https://discord.gg/xcRH6mN4fa">Django·Discord·server</a>·for·chat-based·discussions.</p></li>
95 <li><p>The·<a·class="reference·external"·href="https://web.libera.chat/#django">#django·IRC·channel</a>·on·the·Libera.Chat·IRC·network.·This·is·for96 <li><p>The·<a·class="reference·external"·href="https://web.libera.chat/#django">#django·IRC·channel</a>·on·the·Libera.Chat·IRC·network.·This·is·for
96 chat-based·discussions.·If·you’re·new·to·IRC,·see·the·<a·class="reference·external"·href="https://libera.chat/guides/connect">Libera.Chat97 chat-based·discussions.·If·you’re·new·to·IRC,·see·the·<a·class="reference·external"·href="https://libera.chat/guides/connect">Libera.Chat
97 documentation</a>·for·different·ways·to·connect.</p></li>98 documentation</a>·for·different·ways·to·connect.</p></li>
98 </ul>99 </ul>
Offset 154, 51 lines modifiedOffset 155, 51 lines modified
154 ······155 ······
155 ········156 ········
156 ··········<div·class="yui-b"·id="sidebar">157 ··········<div·class="yui-b"·id="sidebar">
157 ············158 ············
158 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">159 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
159 ········<div·class="sphinxsidebarwrapper">160 ········<div·class="sphinxsidebarwrapper">
160 ··<div>161 ··<div>
161 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>162 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
162 ····<ul>163 ····<ul>
163 <li><a·class="reference·internal"·href="#">FAQ:·Getting·Help</a><ul>164 <li><a·class="reference·internal"·href="#">FAQ:·Getting·Help</a><ul>
164 <li><a·class="reference·internal"·href="#how-do-i-do-x-why-doesn-t-y-work-where-can-i-go-to-get-help">How·do·I·do·X?·Why·doesn’t·Y·work?·Where·can·I·go·to·get·help?</a></li>165 <li><a·class="reference·internal"·href="#how-do-i-do-x-why-doesn-t-y-work-where-can-i-go-to-get-help">How·do·I·do·X?·Why·doesn’t·Y·work?·Where·can·I·go·to·get·help?</a></li>
165 <li><a·class="reference·internal"·href="#why-hasn-t-my-message-appeared-on-django-users">Why·hasn’t·my·message·appeared·on·<em>django-users</em>?</a></li>166 <li><a·class="reference·internal"·href="#why-hasn-t-my-message-appeared-on-django-users">Why·hasn’t·my·message·appeared·on·<em>django-users</em>?</a></li>
166 <li><a·class="reference·internal"·href="#nobody-answered-my-question-what-should-i-do">Nobody·answered·my·question!·What·should·I·do?</a></li>167 <li><a·class="reference·internal"·href="#nobody-answered-my-question-what-should-i-do">Nobody·answered·my·question!·What·should·I·do?</a></li>
167 <li><a·class="reference·internal"·href="#i-think-i-ve-found-a-bug-what-should-i-do">I·think·I’ve·found·a·bug!·What·should·I·do?</a></li>168 <li><a·class="reference·internal"·href="#i-think-i-ve-found-a-bug-what-should-i-do">I·think·I’ve·found·a·bug!·What·should·I·do?</a></li>
168 <li><a·class="reference·internal"·href="#i-think-i-ve-found-a-security-problem-what-should-i-do">I·think·I’ve·found·a·security·problem!·What·should·I·do?</a></li>169 <li><a·class="reference·internal"·href="#i-think-i-ve-found-a-security-problem-what-should-i-do">I·think·I’ve·found·a·security·problem!·What·should·I·do?</a></li>
169 </ul>170 </ul>
170 </li>171 </li>
171 </ul>172 </ul>
  
172 ··</div>173 ··</div>
173 ··<div>174 ··<div>
174 ····<h4>Previous·topic</h4>175 ····<h4>Eelmine·teema</h4>
175 ····<p·class="topless"><a·href="usage.html"176 ····<p·class="topless"><a·href="usage.html"
176 ··························title="previous·chapter">FAQ:·Using·Django</a></p>177 ··························title="eelmine·jaotis">FAQ:·Using·Django</a></p>
177 ··</div>178 ··</div>
178 ··<div>179 ··<div>
179 ····<h4>Next·topic</h4>180 ····<h4>Järgmine·teema</h4>
180 ····<p·class="topless"><a·href="models.html"181 ····<p·class="topless"><a·href="models.html"
181 ··························title="next·chapter">FAQ:·Databases·and·models</a></p>182 ··························title="järgmine·jaotis">FAQ:·Databases·and·models</a></p>
182 ··</div>183 ··</div>
183 <search·id="searchbox"·style="display:·none"·role="search">184 <search·id="searchbox"·style="display:·none"·role="search">
184 ··<h3·id="searchlabel">Quick·search</h3>185 ··<h3·id="searchlabel">Kiirotsing</h3>
185 ····<div·class="searchformwrapper">186 ····<div·class="searchformwrapper">
186 ····<form·class="search"·action="../search.html"·method="get">187 ····<form·class="search"·action="../search.html"·method="get">
187 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>188 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
188 ······<input·type="submit"·value="Go"·/>189 ······<input·type="submit"·value="Otsi"·/>
189 ····</form>190 ····</form>
190 ····</div>191 ····</div>
191 </search>192 </search>
192 <script>document.getElementById('searchbox').style.display·=·"block"</script>193 <script>document.getElementById('searchbox').style.display·=·"block"</script>
193 ········</div>194 ········</div>
194 ······</div>195 ······</div>
195 ··············<h3>Last·update:</h3>196 ··············<h3>Last·update:</h3>
196 ··············<p·class="topless">Nov·05,·2024</p>197 ··············<p·class="topless">nov·05,·2024</p>
197 ··········</div>198 ··········</div>
198 ········199 ········
199 ······200 ······
200 ····</div>201 ····</div>
  
201 ····<div·id="ft">202 ····<div·id="ft">
202 ······<div·class="nav">203 ······<div·class="nav">
4.42 KB
html2text {}
Max HTML report size reached
23.4 KB
./usr/share/doc/python-django-doc/html/faq/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·FAQ·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·FAQ·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="FAQ:·General"·href="general.html"·/>15 ····<link·rel="next"·title="FAQ:·General"·href="general.html"·/>
15 ····<link·rel="prev"·title="How·to·write·a·custom·storage·class"·href="../howto/custom-file-storage.html"·/>16 ····<link·rel="prev"·title="How·to·write·a·custom·storage·class"·href="../howto/custom-file-storage.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="../howto/custom-file-storage.html"·title="How·to·write·a·custom·storage·class">previous</a>67 ····&laquo;·<a·href="../howto/custom-file-storage.html"·title="How·to·write·a·custom·storage·class">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="general.html"·title="FAQ:·General">next</a>·&raquo;</div>71 ····<a·href="general.html"·title="FAQ:·General">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 79, 22 lines modifiedOffset 80, 22 lines modified
79 ············80 ············
80 ··<section·id="s-django-faq">81 ··<section·id="s-django-faq">
81 <span·id="django-faq"></span><h1>Django·FAQ<a·class="headerlink"·href="#django-faq"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-faq"></span><h1>Django·FAQ<a·class="headerlink"·href="#django-faq"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="toctree-wrapper·compound">83 <div·class="toctree-wrapper·compound">
83 <ul>84 <ul>
84 <li·class="toctree-l1"><a·class="reference·internal"·href="general.html">FAQ:·General</a><ul>85 <li·class="toctree-l1"><a·class="reference·internal"·href="general.html">FAQ:·General</a><ul>
85 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#why-does-this-project-exist">Why·does·this·project·exist?</a></li>86 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#why-does-this-project-exist">Why·does·this·project·exist?</a></li>
86 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#what-does-django-mean-and-how-do-you-pronounce-it">What·does·Django·mean,·and·how·do·you·pronounce·it?</a></li>87 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#what-does-django-mean-and-how-do-you-pronounce-it">What·does·Django·mean,·and·how·do·you·pronounce·it?</a></li>
87 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#is-django-stable">Is·Django·stable?</a></li>88 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#is-django-stable">Is·Django·stable?</a></li>
88 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#does-django-scale">Does·Django·scale?</a></li>89 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#does-django-scale">Does·Django·scale?</a></li>
89 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#who-s-behind-this">Who’s·behind·this?</a></li>90 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#who-s-behind-this">Who’s·behind·this?</a></li>
90 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#how-is-django-licensed">How·is·Django·licensed?</a></li>91 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#how-is-django-licensed">How·is·Django·licensed?</a></li>
91 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#why-does-django-include-python-s-license-file">Why·does·Django·include·Python’s·license·file?</a></li>92 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#why-does-django-include-python-s-license-file">Why·does·Django·include·Python’s·license·file?</a></li>
92 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#which-sites-use-django">Which·sites·use·Django?</a></li>93 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#which-sites-use-django">Which·sites·use·Django?</a></li>
93 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names">Django·appears·to·be·a·MVC·framework,·but·you·call·the·Controller·the·view,·and·the·View·the·template.·How·come·you·don’t·use·the·standard·names?</a></li>94 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names">Django·appears·to·be·a·MVC·framework,·but·you·call·the·Controller·the·view,·and·the·View·the·template.·How·come·you·don’t·use·the·standard·names?</a></li>
94 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#framework-x-does-feature-y-why-doesn-t-django">&lt;Framework·X&gt;·does·&lt;feature·Y&gt;··why·doesn’t·Django?</a></li>95 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#framework-x-does-feature-y-why-doesn-t-django">&lt;Framework·X&gt;·does·&lt;feature·Y&gt;··why·doesn’t·Django?</a></li>
95 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries">Why·did·you·write·all·of·Django·from·scratch,·instead·of·using·other·Python·libraries?</a></li>96 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries">Why·did·you·write·all·of·Django·from·scratch,·instead·of·using·other·Python·libraries?</a></li>
96 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#is-django-a-content-management-system-cms">Is·Django·a·content-management-system·(CMS)?</a></li>97 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#is-django-a-content-management-system-cms">Is·Django·a·content-management-system·(CMS)?</a></li>
97 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#how-can-i-download-the-django-documentation-to-read-it-offline">How·can·I·download·the·Django·documentation·to·read·it·offline?</a></li>98 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#how-can-i-download-the-django-documentation-to-read-it-offline">How·can·I·download·the·Django·documentation·to·read·it·offline?</a></li>
98 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#how-do-i-cite-django">How·do·I·cite·Django?</a></li>99 <li·class="toctree-l2"><a·class="reference·internal"·href="general.html#how-do-i-cite-django">How·do·I·cite·Django?</a></li>
99 </ul>100 </ul>
100 </li>101 </li>
Offset 129, 32 lines modifiedOffset 130, 32 lines modified
129 <li·class="toctree-l2"><a·class="reference·internal"·href="models.html#do-django-models-support-multiple-column-primary-keys">Do·Django·models·support·multiple-column·primary·keys?</a></li>130 <li·class="toctree-l2"><a·class="reference·internal"·href="models.html#do-django-models-support-multiple-column-primary-keys">Do·Django·models·support·multiple-column·primary·keys?</a></li>
130 <li·class="toctree-l2"><a·class="reference·internal"·href="models.html#does-django-support-nosql-databases">Does·Django·support·NoSQL·databases?</a></li>131 <li·class="toctree-l2"><a·class="reference·internal"·href="models.html#does-django-support-nosql-databases">Does·Django·support·NoSQL·databases?</a></li>
131 <li·class="toctree-l2"><a·class="reference·internal"·href="models.html#how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type">How·do·I·add·database-specific·options·to·my·CREATE·TABLE·statements,·such·as·specifying·MyISAM·as·the·table·type?</a></li>132 <li·class="toctree-l2"><a·class="reference·internal"·href="models.html#how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type">How·do·I·add·database-specific·options·to·my·CREATE·TABLE·statements,·such·as·specifying·MyISAM·as·the·table·type?</a></li>
132 </ul>133 </ul>
133 </li>134 </li>
134 <li·class="toctree-l1"><a·class="reference·internal"·href="admin.html">FAQ:·The·admin</a><ul>135 <li·class="toctree-l1"><a·class="reference·internal"·href="admin.html">FAQ:·The·admin</a><ul>
135 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·just·brings·up·the·login·page·again,·with·no·error·messages.</a></li>136 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·just·brings·up·the·login·page·again,·with·no·error·messages.</a></li>
136 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·brings·up·the·login·page·again,·with·a·Please·enter·a·correct·username·and·password·error.</a></li>137 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error">I·can’t·log·in.·When·I·enter·a·valid·username·and·password,·it·brings·up·the·login·page·again,·with·a·Please·enter·a·correct·username·and·password·error.</a></li>
137 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin">How·do·I·automatically·set·a·field’s·value·to·the·user·who·last·edited·the·object·in·the·admin?</a></li>138 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin">How·do·I·automatically·set·a·field’s·value·to·the·user·who·last·edited·the·object·in·the·admin?</a></li>
138 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them">How·do·I·limit·admin·access·so·that·objects·can·only·be·edited·by·the·users·who·created·them?</a></li>139 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them">How·do·I·limit·admin·access·so·that·objects·can·only·be·edited·by·the·users·who·created·them?</a></li>
139 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi">My·admin-site·CSS·and·images·showed·up·fine·using·the·development·server,·but·they’re·not·displaying·when·using·mod_wsgi.</a></li>140 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi">My·admin-site·CSS·and·images·showed·up·fine·using·the·development·server,·but·they’re·not·displaying·when·using·mod_wsgi.</a></li>
140 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display">My·list_filter·contains·a·ManyToManyField,·but·the·filter·doesn’t·display.</a></li>141 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display">My·list_filter·contains·a·ManyToManyField,·but·the·filter·doesn’t·display.</a></li>
141 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#some-objects-aren-t-appearing-in-the-admin">Some·objects·aren’t·appearing·in·the·admin.</a></li>142 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#some-objects-aren-t-appearing-in-the-admin">Some·objects·aren’t·appearing·in·the·admin.</a></li>
142 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#how-can-i-customize-the-functionality-of-the-admin-interface">How·can·I·customize·the·functionality·of·the·admin·interface?</a></li>143 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#how-can-i-customize-the-functionality-of-the-admin-interface">How·can·I·customize·the·functionality·of·the·admin·interface?</a></li>
143 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it">The·dynamically-generated·admin·site·is·ugly!·How·can·I·change·it?</a></li>144 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it">The·dynamically-generated·admin·site·is·ugly!·How·can·I·change·it?</a></li>
144 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#what-browsers-are-supported-for-using-the-admin">What·browsers·are·supported·for·using·the·admin?</a></li>145 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#what-browsers-are-supported-for-using-the-admin">What·browsers·are·supported·for·using·the·admin?</a></li>
145 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#what-assistive-technologies-are-supported-for-using-the-admin">What·assistive·technologies·are·supported·for·using·the·admin?</a></li>146 <li·class="toctree-l2"><a·class="reference·internal"·href="admin.html#what-assistive-technologies-are-supported-for-using-the-admin">What·assistive·technologies·are·supported·for·using·the·admin?</a></li>
146 </ul>147 </ul>
147 </li>148 </li>
148 <li·class="toctree-l1"><a·class="reference·internal"·href="contributing.html">FAQ:·Contributing·code</a><ul>149 <li·class="toctree-l1"><a·class="reference·internal"·href="contributing.html">FAQ:·Contributing·code</a><ul>
149 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#how-can-i-get-started-contributing-code-to-django">How·can·I·get·started·contributing·code·to·Django?</a></li>150 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#how-can-i-get-started-contributing-code-to-django">How·can·I·get·started·contributing·code·to·Django?</a></li>
150 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution">I·submitted·a·bug·fix·several·weeks·ago.·Why·are·you·ignoring·my·contribution?</a></li>151 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution">I·submitted·a·bug·fix·several·weeks·ago.·Why·are·you·ignoring·my·contribution?</a></li>
151 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#when-and-how-might-i-remind-the-team-of-a-change-i-care-about">When·and·how·might·I·remind·the·team·of·a·change·I·care·about?</a></li>152 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#when-and-how-might-i-remind-the-team-of-a-change-i-care-about">When·and·how·might·I·remind·the·team·of·a·change·I·care·about?</a></li>
152 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-contribution">But·I’ve·reminded·you·several·times·and·you·keep·ignoring·my·contribution!</a></li>153 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-contribution">But·I’ve·reminded·you·several·times·and·you·keep·ignoring·my·contribution!</a></li>
153 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">I’m·sure·my·ticket·is·absolutely·100%·perfect,·can·I·mark·it·as·Ready·For·Checkin·myself?</a></li>154 <li·class="toctree-l2"><a·class="reference·internal"·href="contributing.html#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself">I’m·sure·my·ticket·is·absolutely·100%·perfect,·can·I·mark·it·as·Ready·For·Checkin·myself?</a></li>
154 </ul>155 </ul>
155 </li>156 </li>
156 <li·class="toctree-l1"><a·class="reference·internal"·href="troubleshooting.html">Troubleshooting</a><ul>157 <li·class="toctree-l1"><a·class="reference·internal"·href="troubleshooting.html">Troubleshooting</a><ul>
157 <li·class="toctree-l2"><a·class="reference·internal"·href="troubleshooting.html#problems-running-django-admin">Problems·running·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code></a></li>158 <li·class="toctree-l2"><a·class="reference·internal"·href="troubleshooting.html#problems-running-django-admin">Problems·running·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code></a></li>
158 <li·class="toctree-l2"><a·class="reference·internal"·href="troubleshooting.html#miscellaneous">Miscellaneous</a></li>159 <li·class="toctree-l2"><a·class="reference·internal"·href="troubleshooting.html#miscellaneous">Miscellaneous</a></li>
159 </ul>160 </ul>
160 </li>161 </li>
Offset 169, 47 lines modifiedOffset 170, 47 lines modified
169 ······170 ······
170 ········171 ········
171 ··········<div·class="yui-b"·id="sidebar">172 ··········<div·class="yui-b"·id="sidebar">
172 ············173 ············
173 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">174 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
174 ········<div·class="sphinxsidebarwrapper">175 ········<div·class="sphinxsidebarwrapper">
175 ··<div>176 ··<div>
176 ····<h4>Previous·topic</h4>177 ····<h4>Eelmine·teema</h4>
177 ····<p·class="topless"><a·href="../howto/custom-file-storage.html"178 ····<p·class="topless"><a·href="../howto/custom-file-storage.html"
178 ··························title="previous·chapter">How·to·write·a·custom·storage·class</a></p>179 ··························title="eelmine·jaotis">How·to·write·a·custom·storage·class</a></p>
179 ··</div>180 ··</div>
180 ··<div>181 ··<div>
181 ····<h4>Next·topic</h4>182 ····<h4>Järgmine·teema</h4>
182 ····<p·class="topless"><a·href="general.html"183 ····<p·class="topless"><a·href="general.html"
183 ··························title="next·chapter">FAQ:·General</a></p>184 ··························title="järgmine·jaotis">FAQ:·General</a></p>
184 ··</div>185 ··</div>
185 <search·id="searchbox"·style="display:·none"·role="search">186 <search·id="searchbox"·style="display:·none"·role="search">
186 ··<h3·id="searchlabel">Quick·search</h3>187 ··<h3·id="searchlabel">Kiirotsing</h3>
187 ····<div·class="searchformwrapper">188 ····<div·class="searchformwrapper">
188 ····<form·class="search"·action="../search.html"·method="get">189 ····<form·class="search"·action="../search.html"·method="get">
189 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>190 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
Max diff block lines reached; 808/14241 bytes (5.67%) of diff not shown.
9.36 KB
html2text {}
Max HTML report size reached
7.65 KB
./usr/share/doc/python-django-doc/html/faq/install.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>FAQ:·Installation·&#8212;·Django·5.1.3·documentation</title>6 ····<title>FAQ:·Installation·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="FAQ:·Using·Django"·href="usage.html"·/>15 ····<link·rel="next"·title="FAQ:·Using·Django"·href="usage.html"·/>
15 ····<link·rel="prev"·title="FAQ:·General"·href="general.html"·/>16 ····<link·rel="prev"·title="FAQ:·General"·href="general.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 170, 51 lines modifiedOffset 171, 51 lines modified
170 ······171 ······
171 ········172 ········
172 ··········<div·class="yui-b"·id="sidebar">173 ··········<div·class="yui-b"·id="sidebar">
173 ············174 ············
174 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">175 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
175 ········<div·class="sphinxsidebarwrapper">176 ········<div·class="sphinxsidebarwrapper">
176 ··<div>177 ··<div>
177 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>178 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
178 ····<ul>179 ····<ul>
179 <li><a·class="reference·internal"·href="#">FAQ:·Installation</a><ul>180 <li><a·class="reference·internal"·href="#">FAQ:·Installation</a><ul>
180 <li><a·class="reference·internal"·href="#how-do-i-get-started">How·do·I·get·started?</a></li>181 <li><a·class="reference·internal"·href="#how-do-i-get-started">How·do·I·get·started?</a></li>
181 <li><a·class="reference·internal"·href="#what-are-django-s-prerequisites">What·are·Django’s·prerequisites?</a></li>182 <li><a·class="reference·internal"·href="#what-are-django-s-prerequisites">What·are·Django’s·prerequisites?</a></li>
182 <li><a·class="reference·internal"·href="#what-python-version-can-i-use-with-django">What·Python·version·can·I·use·with·Django?</a></li>183 <li><a·class="reference·internal"·href="#what-python-version-can-i-use-with-django">What·Python·version·can·I·use·with·Django?</a></li>
183 <li><a·class="reference·internal"·href="#what-python-version-should-i-use-with-django">What·Python·version·should·I·use·with·Django?</a></li>184 <li><a·class="reference·internal"·href="#what-python-version-should-i-use-with-django">What·Python·version·should·I·use·with·Django?</a></li>
184 <li><a·class="reference·internal"·href="#should-i-use-the-stable-version-or-development-version">Should·I·use·the·stable·version·or·development·version?</a></li>185 <li><a·class="reference·internal"·href="#should-i-use-the-stable-version-or-development-version">Should·I·use·the·stable·version·or·development·version?</a></li>
185 </ul>186 </ul>
186 </li>187 </li>
187 </ul>188 </ul>
  
188 ··</div>189 ··</div>
189 ··<div>190 ··<div>
190 ····<h4>Previous·topic</h4>191 ····<h4>Eelmine·teema</h4>
191 ····<p·class="topless"><a·href="general.html"192 ····<p·class="topless"><a·href="general.html"
192 ··························title="previous·chapter">FAQ:·General</a></p>193 ··························title="eelmine·jaotis">FAQ:·General</a></p>
193 ··</div>194 ··</div>
194 ··<div>195 ··<div>
195 ····<h4>Next·topic</h4>196 ····<h4>Järgmine·teema</h4>
196 ····<p·class="topless"><a·href="usage.html"197 ····<p·class="topless"><a·href="usage.html"
197 ··························title="next·chapter">FAQ:·Using·Django</a></p>198 ··························title="järgmine·jaotis">FAQ:·Using·Django</a></p>
198 ··</div>199 ··</div>
199 <search·id="searchbox"·style="display:·none"·role="search">200 <search·id="searchbox"·style="display:·none"·role="search">
200 ··<h3·id="searchlabel">Quick·search</h3>201 ··<h3·id="searchlabel">Kiirotsing</h3>
201 ····<div·class="searchformwrapper">202 ····<div·class="searchformwrapper">
202 ····<form·class="search"·action="../search.html"·method="get">203 ····<form·class="search"·action="../search.html"·method="get">
203 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>204 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
204 ······<input·type="submit"·value="Go"·/>205 ······<input·type="submit"·value="Otsi"·/>
205 ····</form>206 ····</form>
206 ····</div>207 ····</div>
207 </search>208 </search>
208 <script>document.getElementById('searchbox').style.display·=·"block"</script>209 <script>document.getElementById('searchbox').style.display·=·"block"</script>
209 ········</div>210 ········</div>
210 ······</div>211 ······</div>
211 ··············<h3>Last·update:</h3>212 ··············<h3>Last·update:</h3>
212 ··············<p·class="topless">Nov·05,·2024</p>213 ··············<p·class="topless">nov·05,·2024</p>
213 ··········</div>214 ··········</div>
214 ········215 ········
215 ······216 ······
216 ····</div>217 ····</div>
  
217 ····<div·id="ft">218 ····<div·id="ft">
218 ······<div·class="nav">219 ······<div·class="nav">
3.06 KB
html2text {}
Max HTML report size reached
8.46 KB
./usr/share/doc/python-django-doc/html/faq/models.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>FAQ:·Databases·and·models·&#8212;·Django·5.1.3·documentation</title>6 ····<title>FAQ:·Databases·and·models·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="FAQ:·The·admin"·href="admin.html"·/>15 ····<link·rel="next"·title="FAQ:·The·admin"·href="admin.html"·/>
15 ····<link·rel="prev"·title="FAQ:·Getting·Help"·href="help.html"·/>16 ····<link·rel="prev"·title="FAQ:·Getting·Help"·href="help.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 162, 52 lines modifiedOffset 163, 52 lines modified
162 ······163 ······
163 ········164 ········
164 ··········<div·class="yui-b"·id="sidebar">165 ··········<div·class="yui-b"·id="sidebar">
165 ············166 ············
166 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">167 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
167 ········<div·class="sphinxsidebarwrapper">168 ········<div·class="sphinxsidebarwrapper">
168 ··<div>169 ··<div>
169 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>170 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
170 ····<ul>171 ····<ul>
171 <li><a·class="reference·internal"·href="#">FAQ:·Databases·and·models</a><ul>172 <li><a·class="reference·internal"·href="#">FAQ:·Databases·and·models</a><ul>
172 <li><a·class="reference·internal"·href="#how-can-i-see-the-raw-sql-queries-django-is-running">How·can·I·see·the·raw·SQL·queries·Django·is·running?</a></li>173 <li><a·class="reference·internal"·href="#how-can-i-see-the-raw-sql-queries-django-is-running">How·can·I·see·the·raw·SQL·queries·Django·is·running?</a></li>
173 <li><a·class="reference·internal"·href="#can-i-use-django-with-a-preexisting-database">Can·I·use·Django·with·a·preexisting·database?</a></li>174 <li><a·class="reference·internal"·href="#can-i-use-django-with-a-preexisting-database">Can·I·use·Django·with·a·preexisting·database?</a></li>
174 <li><a·class="reference·internal"·href="#if-i-make-changes-to-a-model-how-do-i-update-the-database">If·I·make·changes·to·a·model,·how·do·I·update·the·database?</a></li>175 <li><a·class="reference·internal"·href="#if-i-make-changes-to-a-model-how-do-i-update-the-database">If·I·make·changes·to·a·model,·how·do·I·update·the·database?</a></li>
175 <li><a·class="reference·internal"·href="#do-django-models-support-multiple-column-primary-keys">Do·Django·models·support·multiple-column·primary·keys?</a></li>176 <li><a·class="reference·internal"·href="#do-django-models-support-multiple-column-primary-keys">Do·Django·models·support·multiple-column·primary·keys?</a></li>
176 <li><a·class="reference·internal"·href="#does-django-support-nosql-databases">Does·Django·support·NoSQL·databases?</a></li>177 <li><a·class="reference·internal"·href="#does-django-support-nosql-databases">Does·Django·support·NoSQL·databases?</a></li>
177 <li><a·class="reference·internal"·href="#how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type">How·do·I·add·database-specific·options·to·my·CREATE·TABLE·statements,·such·as·specifying·MyISAM·as·the·table·type?</a></li>178 <li><a·class="reference·internal"·href="#how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type">How·do·I·add·database-specific·options·to·my·CREATE·TABLE·statements,·such·as·specifying·MyISAM·as·the·table·type?</a></li>
178 </ul>179 </ul>
179 </li>180 </li>
180 </ul>181 </ul>
  
181 ··</div>182 ··</div>
182 ··<div>183 ··<div>
183 ····<h4>Previous·topic</h4>184 ····<h4>Eelmine·teema</h4>
184 ····<p·class="topless"><a·href="help.html"185 ····<p·class="topless"><a·href="help.html"
185 ··························title="previous·chapter">FAQ:·Getting·Help</a></p>186 ··························title="eelmine·jaotis">FAQ:·Getting·Help</a></p>
186 ··</div>187 ··</div>
187 ··<div>188 ··<div>
188 ····<h4>Next·topic</h4>189 ····<h4>Järgmine·teema</h4>
189 ····<p·class="topless"><a·href="admin.html"190 ····<p·class="topless"><a·href="admin.html"
190 ··························title="next·chapter">FAQ:·The·admin</a></p>191 ··························title="järgmine·jaotis">FAQ:·The·admin</a></p>
191 ··</div>192 ··</div>
192 <search·id="searchbox"·style="display:·none"·role="search">193 <search·id="searchbox"·style="display:·none"·role="search">
193 ··<h3·id="searchlabel">Quick·search</h3>194 ··<h3·id="searchlabel">Kiirotsing</h3>
194 ····<div·class="searchformwrapper">195 ····<div·class="searchformwrapper">
195 ····<form·class="search"·action="../search.html"·method="get">196 ····<form·class="search"·action="../search.html"·method="get">
196 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>197 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
197 ······<input·type="submit"·value="Go"·/>198 ······<input·type="submit"·value="Otsi"·/>
198 ····</form>199 ····</form>
199 ····</div>200 ····</div>
200 </search>201 </search>
201 <script>document.getElementById('searchbox').style.display·=·"block"</script>202 <script>document.getElementById('searchbox').style.display·=·"block"</script>
202 ········</div>203 ········</div>
203 ······</div>204 ······</div>
204 ··············<h3>Last·update:</h3>205 ··············<h3>Last·update:</h3>
205 ··············<p·class="topless">Nov·05,·2024</p>206 ··············<p·class="topless">nov·05,·2024</p>
206 ··········</div>207 ··········</div>
207 ········208 ········
208 ······209 ······
209 ····</div>210 ····</div>
  
210 ····<div·id="ft">211 ····<div·id="ft">
211 ······<div·class="nav">212 ······<div·class="nav">
3.48 KB
html2text {}
Max HTML report size reached
11.9 KB
./usr/share/doc/python-django-doc/html/faq/troubleshooting.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Troubleshooting·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Troubleshooting·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="API·Reference"·href="../ref/index.html"·/>15 ····<link·rel="next"·title="API·Reference"·href="../ref/index.html"·/>
15 ····<link·rel="prev"·title="FAQ:·Contributing·code"·href="contributing.html"·/>16 ····<link·rel="prev"·title="FAQ:·Contributing·code"·href="contributing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 17 lines modifiedOffset 89, 17 lines modified
88 <p><a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">django-admin</span></a>·should·be·on·your·system·path·if·you89 <p><a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">django-admin</span></a>·should·be·on·your·system·path·if·you
89 installed·Django·via·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>.·If·it’s·not·in·your·path,·ensure·you·have·your90 installed·Django·via·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>.·If·it’s·not·in·your·path,·ensure·you·have·your
90 virtual·environment·activated·and·you·can·try·running·the·equivalent·command91 virtual·environment·activated·and·you·can·try·running·the·equivalent·command
91 <code·class="docutils·literal·notranslate"><span·class="pre">python</span>·<span·class="pre">-m</span>·<span·class="pre">django</span></code>.</p>92 <code·class="docutils·literal·notranslate"><span·class="pre">python</span>·<span·class="pre">-m</span>·<span·class="pre">django</span></code>.</p>
92 </section>93 </section>
93 <section·id="s-macos-permissions">94 <section·id="s-macos-permissions">
94 <span·id="macos-permissions"></span><h3>macOS·permissions<a·class="headerlink"·href="#macos-permissions"·title="Link·to·this·heading">¶</a></h3>95 <span·id="macos-permissions"></span><h3>macOS·permissions<a·class="headerlink"·href="#macos-permissions"·title="Link·to·this·heading">¶</a></h3>
95 <p>If·you’re·using·macOS,·you·may·see·the·message·permission·denied·when96 <p>If·you’re·using·macOS,·you·may·see·the·message·permission·denied·when
96 you·try·to·run·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>.·This·is·because,·on·Unix-based·systems·like97 you·try·to·run·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>.·This·is·because,·on·Unix-based·systems·like
97 macOS,·a·file·must·be·marked·as·executable·before·it·can·be·run·as·a·program.98 macOS,·a·file·must·be·marked·as·executable·before·it·can·be·run·as·a·program.
98 To·do·this,·open·Terminal.app·and·navigate·(using·the·<code·class="docutils·literal·notranslate"><span·class="pre">cd</span></code>·command)·to·the99 To·do·this,·open·Terminal.app·and·navigate·(using·the·<code·class="docutils·literal·notranslate"><span·class="pre">cd</span></code>·command)·to·the
99 directory·where·<a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">django-admin</span></a>·is·installed,·then100 directory·where·<a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">django-admin</span></a>·is·installed,·then
100 run·the·command·<code·class="docutils·literal·notranslate"><span·class="pre">sudo</span>·<span·class="pre">chmod</span>·<span·class="pre">+x</span>·<span·class="pre">django-admin</span></code>.</p>101 run·the·command·<code·class="docutils·literal·notranslate"><span·class="pre">sudo</span>·<span·class="pre">chmod</span>·<span·class="pre">+x</span>·<span·class="pre">django-admin</span></code>.</p>
101 </section>102 </section>
102 </section>103 </section>
103 <section·id="s-miscellaneous">104 <section·id="s-miscellaneous">
104 <span·id="miscellaneous"></span><h2>Miscellaneous<a·class="headerlink"·href="#miscellaneous"·title="Link·to·this·heading">¶</a></h2>105 <span·id="miscellaneous"></span><h2>Miscellaneous<a·class="headerlink"·href="#miscellaneous"·title="Link·to·this·heading">¶</a></h2>
Offset 110, 15 lines modifiedOffset 111, 15 lines modified
110 <div·class="highlight-pytb·notranslate"><div·class="highlight"><pre><span></span><span·class="x">UnicodeDecodeError:·&#39;ascii&#39;·codec·can&#39;t·decode·byte·0x??·in·position·?:</span>111 <div·class="highlight-pytb·notranslate"><div·class="highlight"><pre><span></span><span·class="x">UnicodeDecodeError:·&#39;ascii&#39;·codec·can&#39;t·decode·byte·0x??·in·position·?:</span>
111 <span·class="x">ordinal·not·in·range(128)</span>112 <span·class="x">ordinal·not·in·range(128)</span>
112 </pre></div>113 </pre></div>
113 </div>114 </div>
114 <p>The·resolution·mostly·depends·on·the·context,·however·here·are·two·common115 <p>The·resolution·mostly·depends·on·the·context,·however·here·are·two·common
115 pitfalls·producing·this·error:</p>116 pitfalls·producing·this·error:</p>
116 <ul·class="simple">117 <ul·class="simple">
117 <li><p>Your·system·locale·may·be·a·default·ASCII·locale,·like·the·C·locale·on118 <li><p>Your·system·locale·may·be·a·default·ASCII·locale,·like·the·C·locale·on
118 UNIX-like·systems·(can·be·checked·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">locale</span></code>·command).·If·it’s·the119 UNIX-like·systems·(can·be·checked·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">locale</span></code>·command).·If·it’s·the
119 case,·please·refer·to·your·system·documentation·to·learn·how·you·can·change120 case,·please·refer·to·your·system·documentation·to·learn·how·you·can·change
120 this·to·a·UTF-8·locale.</p></li>121 this·to·a·UTF-8·locale.</p></li>
121 </ul>122 </ul>
122 <p>Related·resources:</p>123 <p>Related·resources:</p>
123 <ul·class="simple">124 <ul·class="simple">
124 <li><p><a·class="reference·internal"·href="../ref/unicode.html"><span·class="doc">Unicode·in·Django</span></a></p></li>125 <li><p><a·class="reference·internal"·href="../ref/unicode.html"><span·class="doc">Unicode·in·Django</span></a></p></li>
Offset 135, 15 lines modifiedOffset 136, 15 lines modified
135 ······136 ······
136 ········137 ········
137 ··········<div·class="yui-b"·id="sidebar">138 ··········<div·class="yui-b"·id="sidebar">
138 ············139 ············
139 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">140 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
140 ········<div·class="sphinxsidebarwrapper">141 ········<div·class="sphinxsidebarwrapper">
141 ··<div>142 ··<div>
142 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>143 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
143 ····<ul>144 ····<ul>
144 <li><a·class="reference·internal"·href="#">Troubleshooting</a><ul>145 <li><a·class="reference·internal"·href="#">Troubleshooting</a><ul>
145 <li><a·class="reference·internal"·href="#problems-running-django-admin">Problems·running·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code></a><ul>146 <li><a·class="reference·internal"·href="#problems-running-django-admin">Problems·running·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code></a><ul>
146 <li><a·class="reference·internal"·href="#command-not-found-django-admin"><code·class="docutils·literal·notranslate"><span·class="pre">command</span>·<span·class="pre">not</span>·<span·class="pre">found:</span>·<span·class="pre">django-admin</span></code></a></li>147 <li><a·class="reference·internal"·href="#command-not-found-django-admin"><code·class="docutils·literal·notranslate"><span·class="pre">command</span>·<span·class="pre">not</span>·<span·class="pre">found:</span>·<span·class="pre">django-admin</span></code></a></li>
147 <li><a·class="reference·internal"·href="#macos-permissions">macOS·permissions</a></li>148 <li><a·class="reference·internal"·href="#macos-permissions">macOS·permissions</a></li>
148 </ul>149 </ul>
149 </li>150 </li>
Offset 153, 37 lines modifiedOffset 154, 37 lines modified
153 </li>154 </li>
154 </ul>155 </ul>
155 </li>156 </li>
156 </ul>157 </ul>
  
157 ··</div>158 ··</div>
158 ··<div>159 ··<div>
159 ····<h4>Previous·topic</h4>160 ····<h4>Eelmine·teema</h4>
160 ····<p·class="topless"><a·href="contributing.html"161 ····<p·class="topless"><a·href="contributing.html"
161 ··························title="previous·chapter">FAQ:·Contributing·code</a></p>162 ··························title="eelmine·jaotis">FAQ:·Contributing·code</a></p>
162 ··</div>163 ··</div>
163 ··<div>164 ··<div>
164 ····<h4>Next·topic</h4>165 ····<h4>Järgmine·teema</h4>
165 ····<p·class="topless"><a·href="../ref/index.html"166 ····<p·class="topless"><a·href="../ref/index.html"
166 ··························title="next·chapter">API·Reference</a></p>167 ··························title="järgmine·jaotis">API·Reference</a></p>
167 ··</div>168 ··</div>
168 <search·id="searchbox"·style="display:·none"·role="search">169 <search·id="searchbox"·style="display:·none"·role="search">
169 ··<h3·id="searchlabel">Quick·search</h3>170 ··<h3·id="searchlabel">Kiirotsing</h3>
170 ····<div·class="searchformwrapper">171 ····<div·class="searchformwrapper">
171 ····<form·class="search"·action="../search.html"·method="get">172 ····<form·class="search"·action="../search.html"·method="get">
172 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>173 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
173 ······<input·type="submit"·value="Go"·/>174 ······<input·type="submit"·value="Otsi"·/>
174 ····</form>175 ····</form>
175 ····</div>176 ····</div>
176 </search>177 </search>
177 <script>document.getElementById('searchbox').style.display·=·"block"</script>178 <script>document.getElementById('searchbox').style.display·=·"block"</script>
178 ········</div>179 ········</div>
179 ······</div>180 ······</div>
180 ··············<h3>Last·update:</h3>181 ··············<h3>Last·update:</h3>
181 ··············<p·class="topless">Nov·05,·2024</p>182 ··············<p·class="topless">nov·05,·2024</p>
182 ··········</div>183 ··········</div>
183 ········184 ········
184 ······185 ······
185 ····</div>186 ····</div>
  
186 ····<div·id="ft">187 ····<div·id="ft">
187 ······<div·class="nav">188 ······<div·class="nav">
Max diff block lines reached; -1/7444 bytes (-0.01%) of diff not shown.
4.5 KB
html2text {}
Max HTML report size reached
8.15 KB
./usr/share/doc/python-django-doc/html/faq/usage.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>FAQ:·Using·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>FAQ:·Using·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="FAQ:·Getting·Help"·href="help.html"·/>15 ····<link·rel="next"·title="FAQ:·Getting·Help"·href="help.html"·/>
15 ····<link·rel="prev"·title="FAQ:·Installation"·href="install.html"·/>16 ····<link·rel="prev"·title="FAQ:·Installation"·href="install.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 145, 51 lines modifiedOffset 146, 51 lines modified
145 ······146 ······
146 ········147 ········
147 ··········<div·class="yui-b"·id="sidebar">148 ··········<div·class="yui-b"·id="sidebar">
148 ············149 ············
149 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">150 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
150 ········<div·class="sphinxsidebarwrapper">151 ········<div·class="sphinxsidebarwrapper">
151 ··<div>152 ··<div>
152 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>153 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
153 ····<ul>154 ····<ul>
154 <li><a·class="reference·internal"·href="#">FAQ:·Using·Django</a><ul>155 <li><a·class="reference·internal"·href="#">FAQ:·Using·Django</a><ul>
155 <li><a·class="reference·internal"·href="#why-do-i-get-an-error-about-importing-django-settings-module">Why·do·I·get·an·error·about·importing·<code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code>?</a></li>156 <li><a·class="reference·internal"·href="#why-do-i-get-an-error-about-importing-django-settings-module">Why·do·I·get·an·error·about·importing·<code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code>?</a></li>
156 <li><a·class="reference·internal"·href="#i-can-t-stand-your-template-language-do-i-have-to-use-it">I·can’t·stand·your·template·language.·Do·I·have·to·use·it?</a></li>157 <li><a·class="reference·internal"·href="#i-can-t-stand-your-template-language-do-i-have-to-use-it">I·can’t·stand·your·template·language.·Do·I·have·to·use·it?</a></li>
157 <li><a·class="reference·internal"·href="#do-i-have-to-use-your-model-database-layer">Do·I·have·to·use·your·model/database·layer?</a></li>158 <li><a·class="reference·internal"·href="#do-i-have-to-use-your-model-database-layer">Do·I·have·to·use·your·model/database·layer?</a></li>
158 <li><a·class="reference·internal"·href="#how-do-i-use-image-and-file-fields">How·do·I·use·image·and·file·fields?</a></li>159 <li><a·class="reference·internal"·href="#how-do-i-use-image-and-file-fields">How·do·I·use·image·and·file·fields?</a></li>
159 <li><a·class="reference·internal"·href="#how-do-i-make-a-variable-available-to-all-my-templates">How·do·I·make·a·variable·available·to·all·my·templates?</a></li>160 <li><a·class="reference·internal"·href="#how-do-i-make-a-variable-available-to-all-my-templates">How·do·I·make·a·variable·available·to·all·my·templates?</a></li>
160 </ul>161 </ul>
161 </li>162 </li>
162 </ul>163 </ul>
  
163 ··</div>164 ··</div>
164 ··<div>165 ··<div>
165 ····<h4>Previous·topic</h4>166 ····<h4>Eelmine·teema</h4>
166 ····<p·class="topless"><a·href="install.html"167 ····<p·class="topless"><a·href="install.html"
167 ··························title="previous·chapter">FAQ:·Installation</a></p>168 ··························title="eelmine·jaotis">FAQ:·Installation</a></p>
168 ··</div>169 ··</div>
169 ··<div>170 ··<div>
170 ····<h4>Next·topic</h4>171 ····<h4>Järgmine·teema</h4>
171 ····<p·class="topless"><a·href="help.html"172 ····<p·class="topless"><a·href="help.html"
172 ··························title="next·chapter">FAQ:·Getting·Help</a></p>173 ··························title="järgmine·jaotis">FAQ:·Getting·Help</a></p>
173 ··</div>174 ··</div>
174 <search·id="searchbox"·style="display:·none"·role="search">175 <search·id="searchbox"·style="display:·none"·role="search">
175 ··<h3·id="searchlabel">Quick·search</h3>176 ··<h3·id="searchlabel">Kiirotsing</h3>
176 ····<div·class="searchformwrapper">177 ····<div·class="searchformwrapper">
177 ····<form·class="search"·action="../search.html"·method="get">178 ····<form·class="search"·action="../search.html"·method="get">
178 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>179 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
179 ······<input·type="submit"·value="Go"·/>180 ······<input·type="submit"·value="Otsi"·/>
180 ····</form>181 ····</form>
181 ····</div>182 ····</div>
182 </search>183 </search>
183 <script>document.getElementById('searchbox').style.display·=·"block"</script>184 <script>document.getElementById('searchbox').style.display·=·"block"</script>
184 ········</div>185 ········</div>
185 ······</div>186 ······</div>
186 ··············<h3>Last·update:</h3>187 ··············<h3>Last·update:</h3>
187 ··············<p·class="topless">Nov·05,·2024</p>188 ··············<p·class="topless">nov·05,·2024</p>
188 ··········</div>189 ··········</div>
189 ········190 ········
190 ······191 ······
191 ····</div>192 ····</div>
  
192 ····<div·id="ft">193 ····<div·id="ft">
193 ······<div·class="nav">194 ······<div·class="nav">
3.34 KB
html2text {}
Max HTML report size reached
1.86 MB
./usr/share/doc/python-django-doc/html/genindex.html
    
Offset 1, 21 lines modifiedOffset 1, 22 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="./">2 <html·lang="et"·data-content_root="./">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/>
6 ····<title>Index·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Indeks·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>
9 ····<script·src="_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="#"·/>13 ····<link·rel="index"·title="Indeks"·href="#"·/>
13 ····<link·rel="search"·title="Search"·href="search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="search.html"·/>
  
  
  
14 ·15 ·
15 <script·src="templatebuiltins.js"></script>16 <script·src="templatebuiltins.js"></script>
16 <script>17 <script>
17 (function($)·{18 (function($)·{
Offset 50, 35 lines modifiedOffset 51, 35 lines modified
50 })(jQuery);</script>51 })(jQuery);</script>
  
51 ··</head><body>52 ··</head><body>
  
52 ····<div·class="document">53 ····<div·class="document">
53 ··<div·id="custom-doc"·class="">54 ··<div·id="custom-doc"·class="">
54 ····<div·id="hd">55 ····<div·id="hd">
55 ······<h1><a·href="index.html">Django·5.1.3·documentation</a></h1>56 ······<h1><a·href="index.html">Django·5.1.3·dokumentatsioon</a></h1>
56 ······<div·id="global-nav">57 ······<div·id="global-nav">
57 ········<a·title="Home·page"·href="index.html">Home</a>··|58 ········<a·title="Home·page"·href="index.html">Home</a>··|
58 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|59 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|
59 ········<a·title="Global·index"·href="#">Index</a>··|60 ········<a·title="Global·index"·href="#">Index</a>··|
60 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>61 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>
61 ······</div>62 ······</div>
62 ······<div·class="nav">63 ······<div·class="nav">
63 ····<a·title="Django·5.1.3·documentation"·href="index.html"·accesskey="U">up</a></div>64 ····<a·title="Django·5.1.3·dokumentatsioon"·href="index.html"·accesskey="U">up</a></div>
64 ····</div>65 ····</div>
  
65 ····<div·id="bd">66 ····<div·id="bd">
66 ······<div·id="yui-main">67 ······<div·id="yui-main">
67 ········<div·class="yui-b">68 ········<div·class="yui-b">
68 ··········<div·class="yui-g"·id="genindex">69 ··········<div·class="yui-g"·id="genindex">
69 ············70 ············
  
70 <h1·id="index">Index</h1>71 <h1·id="index">Indeks</h1>
  
71 <div·class="genindex-jumpbox">72 <div·class="genindex-jumpbox">
72 ·<a·href="#Symbols"><strong>Symbols</strong></a>73 ·<a·href="#Sümbolid"><strong>Sümbolid</strong></a>
73 ·|·<a·href="#_"><strong>_</strong></a>74 ·|·<a·href="#_"><strong>_</strong></a>
74 ·|·<a·href="#A"><strong>A</strong></a>75 ·|·<a·href="#A"><strong>A</strong></a>
75 ·|·<a·href="#B"><strong>B</strong></a>76 ·|·<a·href="#B"><strong>B</strong></a>
76 ·|·<a·href="#C"><strong>C</strong></a>77 ·|·<a·href="#C"><strong>C</strong></a>
77 ·|·<a·href="#D"><strong>D</strong></a>78 ·|·<a·href="#D"><strong>D</strong></a>
78 ·|·<a·href="#E"><strong>E</strong></a>79 ·|·<a·href="#E"><strong>E</strong></a>
79 ·|·<a·href="#F"><strong>F</strong></a>80 ·|·<a·href="#F"><strong>F</strong></a>
Offset 100, 1474 lines modifiedOffset 101, 1472 lines modified
100 ·|·<a·href="#V"><strong>V</strong></a>101 ·|·<a·href="#V"><strong>V</strong></a>
101 ·|·<a·href="#W"><strong>W</strong></a>102 ·|·<a·href="#W"><strong>W</strong></a>
102 ·|·<a·href="#X"><strong>X</strong></a>103 ·|·<a·href="#X"><strong>X</strong></a>
103 ·|·<a·href="#Y"><strong>Y</strong></a>104 ·|·<a·href="#Y"><strong>Y</strong></a>
104 ·|·<a·href="#Z"><strong>Z</strong></a>105 ·|·<a·href="#Z"><strong>Z</strong></a>
105 ·106 ·
106 </div>107 </div>
107 <h2·id="Symbols">Symbols</h2>108 <h2·id="Sümbolid">Sümbolid</h2>
108 <table·style="width:·100%"·class="indextable·genindextable"><tr>109 <table·style="width:·100%"·class="indextable·genindextable"><tr>
109 ··<td·style="width:·33%;·vertical-align:·top;"><ul>110 ··<td·style="width:·33%;·vertical-align:·top;"><ul>
110 ······<li>111 ······<li>
111 ····--112 ····--
  
112 ······<ul>113 ······<ul>
113 ········<li><a·href="ref/django-admin.html#cmdoption-dbshell-0">dbshell·command·line·option</a>114 ········<li><a·href="ref/django-admin.html#cmdoption-dbshell-0">dbshell·käsureasuvand</a>
114 </li>115 </li>
115 ······</ul></li>116 ······</ul></li>
116 ······<li>117 ······<li>
117 ····--add-location118 ····--add-location
  
118 ······<ul>119 ······<ul>
119 ········<li><a·href="ref/django-admin.html#cmdoption-makemessages-add-location">makemessages·command·line·option</a>120 ········<li><a·href="ref/django-admin.html#cmdoption-makemessages-add-location">makemessages·käsureasuvand</a>
120 </li>121 </li>
121 ······</ul></li>122 ······</ul></li>
122 ······<li>123 ······<li>
123 ····--addrport124 ····--addrport
  
124 ······<ul>125 ······<ul>
125 ········<li><a·href="ref/django-admin.html#cmdoption-testserver-addrport">testserver·command·line·option</a>126 ········<li><a·href="ref/django-admin.html#cmdoption-testserver-addrport">testserver·käsureasuvand</a>
126 </li>127 </li>
127 ······</ul></li>128 ······</ul></li>
128 ······<li>129 ······<li>
129 ····--admins130 ····--admins
  
130 ······<ul>131 ······<ul>
131 ········<li><a·href="ref/django-admin.html#cmdoption-sendtestemail-admins">sendtestemail·command·line·option</a>132 ········<li><a·href="ref/django-admin.html#cmdoption-sendtestemail-admins">sendtestemail·käsureasuvand</a>
132 </li>133 </li>
133 ······</ul></li>134 ······</ul></li>
134 ······<li>135 ······<li>
135 ····--all136 ····--all
  
136 ······<ul>137 ······<ul>
137 ········<li><a·href="ref/django-admin.html#cmdoption-diffsettings-all">diffsettings·command·line·option</a>138 ········<li><a·href="ref/django-admin.html#cmdoption-diffsettings-all">diffsettings·käsureasuvand</a>
138 </li>139 </li>
139 ········<li><a·href="ref/django-admin.html#cmdoption-dumpdata-all">dumpdata·command·line·option</a>140 ········<li><a·href="ref/django-admin.html#cmdoption-dumpdata-all">dumpdata·käsureasuvand</a>
140 </li>141 </li>
141 ········<li><a·href="ref/django-admin.html#cmdoption-makemessages-all">makemessages·command·line·option</a>142 ········<li><a·href="ref/django-admin.html#cmdoption-makemessages-all">makemessages·käsureasuvand</a>
142 </li>143 </li>
143 ······</ul></li>144 ······</ul></li>
144 ······<li>145 ······<li>
145 ····--app146 ····--app
  
146 ······<ul>147 ······<ul>
147 ········<li><a·href="ref/django-admin.html#cmdoption-loaddata-app">loaddata·command·line·option</a>148 ········<li><a·href="ref/django-admin.html#cmdoption-loaddata-app">loaddata·käsureasuvand</a>
148 </li>149 </li>
149 ······</ul></li>150 ······</ul></li>
150 ······<li>151 ······<li>
151 ····--backwards152 ····--backwards
  
152 ······<ul>153 ······<ul>
153 ········<li><a·href="ref/django-admin.html#cmdoption-sqlmigrate-backwards">sqlmigrate·command·line·option</a>154 ········<li><a·href="ref/django-admin.html#cmdoption-sqlmigrate-backwards">sqlmigrate·käsureasuvand</a>
154 </li>155 </li>
155 ······</ul></li>156 ······</ul></li>
156 ······<li>157 ······<li>
157 ····--blank158 ····--blank
  
158 ······<ul>159 ······<ul>
159 ········<li><a·href="ref/contrib/gis/commands.html#cmdoption-ogrinspect-blank">ogrinspect·command·line·option</a>160 ········<li><a·href="ref/contrib/gis/commands.html#cmdoption-ogrinspect-blank">ogrinspect·käsureasuvand</a>
Max diff block lines reached; 915302/920935 bytes (99.39%) of diff not shown.
45.0 B
encoding
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 us-ascii1 utf-8
1010 KB
html2text {}
Max HTML report size reached
11.5 KB
./usr/share/doc/python-django-doc/html/glossary.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="./">2 <html·lang="et"·data-content_root="./">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Glossary·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Glossary·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>
9 ····<script·src="_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="search.html"·/>
14 ····<link·rel="next"·title="Release·notes"·href="releases/index.html"·/>15 ····<link·rel="next"·title="Release·notes"·href="releases/index.html"·/>
15 ····<link·rel="prev"·title="Third-party·distributions·of·Django"·href="misc/distributions.html"·/>16 ····<link·rel="prev"·title="Third-party·distributions·of·Django"·href="misc/distributions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="templatebuiltins.js"></script>18 <script·src="templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="index.html">Home</a>··|61 ········<a·title="Home·page"·href="index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="misc/distributions.html"·title="Third-party·distributions·of·Django">previous</a>67 ····&laquo;·<a·href="misc/distributions.html"·title="Third-party·distributions·of·Django">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="index.html"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="index.html"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="releases/index.html"·title="Release·notes">next</a>·&raquo;</div>71 ····<a·href="releases/index.html"·title="Release·notes">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 89, 30 lines modifiedOffset 90, 30 lines modified
89 <dt·id="term-generic-view">generic·view<a·class="headerlink"·href="#term-generic-view"·title="Link·to·this·term">¶</a></dt><dd><p>A·higher-order·<a·class="reference·internal"·href="#term-view"><span·class="xref·std·std-term">view</span></a>·function·that·provides·an·abstract/generic90 <dt·id="term-generic-view">generic·view<a·class="headerlink"·href="#term-generic-view"·title="Link·to·this·term">¶</a></dt><dd><p>A·higher-order·<a·class="reference·internal"·href="#term-view"><span·class="xref·std·std-term">view</span></a>·function·that·provides·an·abstract/generic
90 implementation·of·a·common·idiom·or·pattern·found·in·view·development.</p>91 implementation·of·a·common·idiom·or·pattern·found·in·view·development.</p>
91 <p>See·<a·class="reference·internal"·href="topics/class-based-views/index.html"><span·class="doc">Class-based·views</span></a>.</p>92 <p>See·<a·class="reference·internal"·href="topics/class-based-views/index.html"><span·class="doc">Class-based·views</span></a>.</p>
92 </dd>93 </dd>
93 <dt·id="term-model">model<a·class="headerlink"·href="#term-model"·title="Link·to·this·term">¶</a></dt><dd><p>Models·store·your·application’s·data.</p>94 <dt·id="term-model">model<a·class="headerlink"·href="#term-model"·title="Link·to·this·term">¶</a></dt><dd><p>Models·store·your·application’s·data.</p>
94 <p>See·<a·class="reference·internal"·href="topics/db/models.html"><span·class="doc">Models</span></a>.</p>95 <p>See·<a·class="reference·internal"·href="topics/db/models.html"><span·class="doc">Models</span></a>.</p>
95 </dd>96 </dd>
96 <dt·id="term-MTV">MTV<a·class="headerlink"·href="#term-MTV"·title="Link·to·this·term">¶</a></dt><dd><p>Model-template-view;·a·software·pattern,·similar·in·style·to·MVC,·but97 <dt·id="term-MTV">MTV<a·class="headerlink"·href="#term-MTV"·title="Link·to·this·term">¶</a></dt><dd><p>Model-template-view;·a·software·pattern,·similar·in·style·to·MVC,·but
97 a·better·description·of·the·way·Django·does·things.</p>98 a·better·description·of·the·way·Django·does·things.</p>
98 <p>See·<a·class="reference·internal"·href="faq/general.html#faq-mtv"><span·class="std·std-ref">the·FAQ·entry</span></a>.</p>99 <p>See·<a·class="reference·internal"·href="faq/general.html#faq-mtv"><span·class="std·std-ref">the·FAQ·entry</span></a>.</p>
99 </dd>100 </dd>
100 <dt·id="term-MVC">MVC<a·class="headerlink"·href="#term-MVC"·title="Link·to·this·term">¶</a></dt><dd><p><a·class="reference·external"·href="https://en.wikipedia.org/wiki/Model-view-controller">Model-view-controller</a>;·a·software·pattern.·Django·<a·class="reference·internal"·href="faq/general.html#faq-mtv"><span·class="std·std-ref">follows·MVC101 <dt·id="term-MVC">MVC<a·class="headerlink"·href="#term-MVC"·title="Link·to·this·term">¶</a></dt><dd><p><a·class="reference·external"·href="https://en.wikipedia.org/wiki/Model-view-controller">Model-view-controller</a>;·a·software·pattern.·Django·<a·class="reference·internal"·href="faq/general.html#faq-mtv"><span·class="std·std-ref">follows·MVC
101 to·some·extent</span></a>.</p>102 to·some·extent</span></a>.</p>
102 </dd>103 </dd>
103 <dt·id="term-project">project<a·class="headerlink"·href="#term-project"·title="Link·to·this·term">¶</a></dt><dd><p>A·Python·package··i.e.·a·directory·of·code··that·contains·all·the104 <dt·id="term-project">project<a·class="headerlink"·href="#term-project"·title="Link·to·this·term">¶</a></dt><dd><p>A·Python·package··i.e.·a·directory·of·code··that·contains·all·the
104 settings·for·an·instance·of·Django.·This·would·include·database105 settings·for·an·instance·of·Django.·This·would·include·database
105 configuration,·Django-specific·options·and·application-specific106 configuration,·Django-specific·options·and·application-specific
106 settings.</p>107 settings.</p>
107 </dd>108 </dd>
108 <dt·id="term-property">property<a·class="headerlink"·href="#term-property"·title="Link·to·this·term">¶</a></dt><dd><p>Also·known·as·managed·attributes,·and·a·feature·of·Python·since109 <dt·id="term-property">property<a·class="headerlink"·href="#term-property"·title="Link·to·this·term">¶</a></dt><dd><p>Also·known·as·managed·attributes,·and·a·feature·of·Python·since
109 version·2.2.·This·is·a·neat·way·to·implement·attributes·whose·usage110 version·2.2.·This·is·a·neat·way·to·implement·attributes·whose·usage
110 resembles·attribute·access,·but·whose·implementation·uses·method·calls.</p>111 resembles·attribute·access,·but·whose·implementation·uses·method·calls.</p>
111 <p>See·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#property"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">property</span></code></a>.</p>112 <p>See·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#property"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">property</span></code></a>.</p>
112 </dd>113 </dd>
113 <dt·id="term-queryset">queryset<a·class="headerlink"·href="#term-queryset"·title="Link·to·this·term">¶</a></dt><dd><p>An·object·representing·some·set·of·rows·to·be·fetched·from·the·database.</p>114 <dt·id="term-queryset">queryset<a·class="headerlink"·href="#term-queryset"·title="Link·to·this·term">¶</a></dt><dd><p>An·object·representing·some·set·of·rows·to·be·fetched·from·the·database.</p>
114 <p>See·<a·class="reference·internal"·href="topics/db/queries.html"><span·class="doc">Making·queries</span></a>.</p>115 <p>See·<a·class="reference·internal"·href="topics/db/queries.html"><span·class="doc">Making·queries</span></a>.</p>
115 </dd>116 </dd>
116 <dt·id="term-slug">slug<a·class="headerlink"·href="#term-slug"·title="Link·to·this·term">¶</a></dt><dd><p>A·short·label·for·something,·containing·only·letters,·numbers,117 <dt·id="term-slug">slug<a·class="headerlink"·href="#term-slug"·title="Link·to·this·term">¶</a></dt><dd><p>A·short·label·for·something,·containing·only·letters,·numbers,
117 underscores·or·hyphens.·They’re·generally·used·in·URLs.·For118 underscores·or·hyphens.·They’re·generally·used·in·URLs.·For
118 example,·in·a·typical·blog·entry·URL:</p>119 example,·in·a·typical·blog·entry·URL:</p>
Offset 136, 47 lines modifiedOffset 137, 47 lines modified
136 ······137 ······
137 ········138 ········
138 ··········<div·class="yui-b"·id="sidebar">139 ··········<div·class="yui-b"·id="sidebar">
139 ············140 ············
140 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">141 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
141 ········<div·class="sphinxsidebarwrapper">142 ········<div·class="sphinxsidebarwrapper">
142 ··<div>143 ··<div>
143 ····<h4>Previous·topic</h4>144 ····<h4>Eelmine·teema</h4>
144 ····<p·class="topless"><a·href="misc/distributions.html"145 ····<p·class="topless"><a·href="misc/distributions.html"
145 ··························title="previous·chapter">Third-party·distributions·of·Django</a></p>146 ··························title="eelmine·jaotis">Third-party·distributions·of·Django</a></p>
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Next·topic</h4>149 ····<h4>Järgmine·teema</h4>
149 ····<p·class="topless"><a·href="releases/index.html"150 ····<p·class="topless"><a·href="releases/index.html"
150 ··························title="next·chapter">Release·notes</a></p>151 ··························title="järgmine·jaotis">Release·notes</a></p>
151 ··</div>152 ··</div>
152 <search·id="searchbox"·style="display:·none"·role="search">153 <search·id="searchbox"·style="display:·none"·role="search">
153 ··<h3·id="searchlabel">Quick·search</h3>154 ··<h3·id="searchlabel">Kiirotsing</h3>
154 ····<div·class="searchformwrapper">155 ····<div·class="searchformwrapper">
155 ····<form·class="search"·action="search.html"·method="get">156 ····<form·class="search"·action="search.html"·method="get">
156 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>157 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
157 ······<input·type="submit"·value="Go"·/>158 ······<input·type="submit"·value="Otsi"·/>
158 ····</form>159 ····</form>
159 ····</div>160 ····</div>
160 </search>161 </search>
161 <script>document.getElementById('searchbox').style.display·=·"block"</script>162 <script>document.getElementById('searchbox').style.display·=·"block"</script>
162 ········</div>163 ········</div>
163 ······</div>164 ······</div>
164 ··············<h3>Last·update:</h3>165 ··············<h3>Last·update:</h3>
165 ··············<p·class="topless">Nov·05,·2024</p>166 ··············<p·class="topless">nov·05,·2024</p>
166 ··········</div>167 ··········</div>
167 ········168 ········
168 ······169 ······
169 ····</div>170 ····</div>
  
170 ····<div·id="ft">171 ····<div·id="ft">
171 ······<div·class="nav">172 ······<div·class="nav">
172 ····&laquo;·<a·href="misc/distributions.html"·title="Third-party·distributions·of·Django">previous</a>173 ····&laquo;·<a·href="misc/distributions.html"·title="Third-party·distributions·of·Django">previous</a>
173 ·····|174 ·····|
174 ····<a·title="Django·5.1.3·documentation"·href="index.html"·accesskey="U">up</a>175 ····<a·title="Django·5.1.3·dokumentatsioon"·href="index.html"·accesskey="U">up</a>
175 ···|176 ···|
176 ····<a·href="releases/index.html"·title="Release·notes">next</a>·&raquo;</div>177 ····<a·href="releases/index.html"·title="Release·notes">next</a>·&raquo;</div>
177 ····</div>178 ····</div>
178 ··</div>179 ··</div>
  
179 ······<div·class="clearer"></div>180 ······<div·class="clearer"></div>
Max diff block lines reached; 0/8267 bytes (0.00%) of diff not shown.
3.33 KB
html2text {}
Max HTML report size reached
13.3 KB
./usr/share/doc/python-django-doc/html/howto/auth-remote-user.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·authenticate·using·REMOTE_USER·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·authenticate·using·REMOTE_USER·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·use·Django’s·CSRF·protection"·href="csrf.html"·/>15 ····<link·rel="next"·title="How·to·use·Django’s·CSRF·protection"·href="csrf.html"·/>
15 ····<link·rel="prev"·title="How·to·deploy·static·files"·href="static-files/deployment.html"·/>16 ····<link·rel="prev"·title="How·to·deploy·static·files"·href="static-files/deployment.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 124, 15 lines modifiedOffset 125, 15 lines modified
124 <code·class="docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code>·list·will·use·<code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>·as·a·fallback125 <code·class="docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code>·list·will·use·<code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>·as·a·fallback
125 if·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code>·is·absent,·which·will·solve·these·issues.</p>126 if·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code>·is·absent,·which·will·solve·these·issues.</p>
126 <p>Django’s·user·management,·such·as·the·views·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code>·and127 <p>Django’s·user·management,·such·as·the·views·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code>·and
127 the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-createsuperuser"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">createsuperuser</span></code></a>·management·command,·doesn’t·integrate·with128 the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-createsuperuser"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">createsuperuser</span></code></a>·management·command,·doesn’t·integrate·with
128 remote·users.·These·interfaces·work·with·users·stored·in·the·database129 remote·users.·These·interfaces·work·with·users·stored·in·the·database
129 regardless·of·<code·class="docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code>.</p>130 regardless·of·<code·class="docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code>.</p>
130 <div·class="admonition·note">131 <div·class="admonition·note">
131 <p·class="admonition-title">Note</p>132 <p·class="admonition-title">rkus</p>
132 <p>Since·the·<code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserBackend</span></code>·inherits·from·<code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>,·you·will133 <p>Since·the·<code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserBackend</span></code>·inherits·from·<code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>,·you·will
133 still·have·all·of·the·same·permissions·checking·that·is·implemented·in134 still·have·all·of·the·same·permissions·checking·that·is·implemented·in
134 <code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>.</p>135 <code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>.</p>
135 <p>Users·with·<a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.models.User.is_active"·title="django.contrib.auth.models.User.is_active"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_active=False</span></code></a>·won’t·be·allowed·to136 <p>Users·with·<a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.models.User.is_active"·title="django.contrib.auth.models.User.is_active"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_active=False</span></code></a>·won’t·be·allowed·to
136 authenticate.·Use137 authenticate.·Use
137 <a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.backends.AllowAllUsersRemoteUserBackend"·title="django.contrib.auth.backends.AllowAllUsersRemoteUserBackend"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AllowAllUsersRemoteUserBackend</span></code></a>·if138 <a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.backends.AllowAllUsersRemoteUserBackend"·title="django.contrib.auth.backends.AllowAllUsersRemoteUserBackend"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AllowAllUsersRemoteUserBackend</span></code></a>·if
138 you·want·to·allow·them·to.</p>139 you·want·to·allow·them·to.</p>
Offset 144, 19 lines modifiedOffset 145, 19 lines modified
  
  
144 <span·class="k">class</span>·<span·class="nc">CustomHeaderMiddleware</span><span·class="p">(</span><span·class="n">RemoteUserMiddleware</span><span·class="p">):</span>145 <span·class="k">class</span>·<span·class="nc">CustomHeaderMiddleware</span><span·class="p">(</span><span·class="n">RemoteUserMiddleware</span><span·class="p">):</span>
145 ····<span·class="n">header</span>·<span·class="o">=</span>·<span·class="s2">&quot;HTTP_AUTHUSER&quot;</span>146 ····<span·class="n">header</span>·<span·class="o">=</span>·<span·class="s2">&quot;HTTP_AUTHUSER&quot;</span>
146 </pre></div>147 </pre></div>
147 </div>148 </div>
148 <div·class="admonition·warning">149 <div·class="admonition·warning">
149 <p·class="admonition-title">Warning</p>150 <p·class="admonition-title">Hoiatus</p>
150 <p>Be·very·careful·if·using·a·<code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·subclass·with·a·custom151 <p>Be·very·careful·if·using·a·<code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·subclass·with·a·custom
151 HTTP·header.·You·must·be·sure·that·your·front-end·web·server·always·sets·or152 HTTP·header.·You·must·be·sure·that·your·front-end·web·server·always·sets·or
152 strips·that·header·based·on·the·appropriate·authentication·checks,·never153 strips·that·header·based·on·the·appropriate·authentication·checks,·never
153 permitting·an·end-user·to·submit·a·fake·(or·spoofed)·header·value.·Since154 permitting·an·end-user·to·submit·a·fake·(or·spoofed)·header·value.·Since
154 the·HTTP·headers·<code·class="docutils·literal·notranslate"><span·class="pre">X-Auth-User</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">X-Auth_User</span></code>·(for·example)·both155 the·HTTP·headers·<code·class="docutils·literal·notranslate"><span·class="pre">X-Auth-User</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">X-Auth_User</span></code>·(for·example)·both
155 normalize·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">HTTP_X_AUTH_USER</span></code>·key·in·<code·class="docutils·literal·notranslate"><span·class="pre">request.META</span></code>,·you·must156 normalize·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">HTTP_X_AUTH_USER</span></code>·key·in·<code·class="docutils·literal·notranslate"><span·class="pre">request.META</span></code>,·you·must
156 also·check·that·your·web·server·doesn’t·allow·a·spoofed·header·using157 also·check·that·your·web·server·doesn’t·allow·a·spoofed·header·using
157 underscores·in·place·of·dashes.</p>158 underscores·in·place·of·dashes.</p>
158 <p>This·warning·doesn’t·apply·to·<code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·in·its·default159 <p>This·warning·doesn’t·apply·to·<code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·in·its·default
159 configuration·with·<code·class="docutils·literal·notranslate"><span·class="pre">header</span>·<span·class="pre">=</span>·<span·class="pre">'REMOTE_USER'</span></code>,·since·a·key·that·doesn’t160 configuration·with·<code·class="docutils·literal·notranslate"><span·class="pre">header</span>·<span·class="pre">=</span>·<span·class="pre">'REMOTE_USER'</span></code>,·since·a·key·that·doesn’t
160 start·with·<code·class="docutils·literal·notranslate"><span·class="pre">HTTP_</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">request.META</span></code>·can·only·be·set·by·your·WSGI161 start·with·<code·class="docutils·literal·notranslate"><span·class="pre">HTTP_</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">request.META</span></code>·can·only·be·set·by·your·WSGI
Offset 191, 48 lines modifiedOffset 192, 48 lines modified
191 ······192 ······
192 ········193 ········
193 ··········<div·class="yui-b"·id="sidebar">194 ··········<div·class="yui-b"·id="sidebar">
194 ············195 ············
195 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">196 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
196 ········<div·class="sphinxsidebarwrapper">197 ········<div·class="sphinxsidebarwrapper">
197 ··<div>198 ··<div>
198 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>199 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
199 ····<ul>200 ····<ul>
200 <li><a·class="reference·internal"·href="#">How·to·authenticate·using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code></a><ul>201 <li><a·class="reference·internal"·href="#">How·to·authenticate·using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code></a><ul>
201 <li><a·class="reference·internal"·href="#configuration">Configuration</a></li>202 <li><a·class="reference·internal"·href="#configuration">Configuration</a></li>
202 <li><a·class="reference·internal"·href="#using-remote-user-on-login-pages-only">Using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code>·on·login·pages·only</a></li>203 <li><a·class="reference·internal"·href="#using-remote-user-on-login-pages-only">Using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code>·on·login·pages·only</a></li>
203 </ul>204 </ul>
204 </li>205 </li>
205 </ul>206 </ul>
  
206 ··</div>207 ··</div>
207 ··<div>208 ··<div>
208 ····<h4>Previous·topic</h4>209 ····<h4>Eelmine·teema</h4>
209 ····<p·class="topless"><a·href="static-files/deployment.html"210 ····<p·class="topless"><a·href="static-files/deployment.html"
210 ··························title="previous·chapter">How·to·deploy·static·files</a></p>211 ··························title="eelmine·jaotis">How·to·deploy·static·files</a></p>
211 ··</div>212 ··</div>
212 ··<div>213 ··<div>
213 ····<h4>Next·topic</h4>214 ····<h4>Järgmine·teema</h4>
214 ····<p·class="topless"><a·href="csrf.html"215 ····<p·class="topless"><a·href="csrf.html"
215 ··························title="next·chapter">How·to·use·Django’s·CSRF·protection</a></p>216 ··························title="järgmine·jaotis">How·to·use·Django’s·CSRF·protection</a></p>
216 ··</div>217 ··</div>
217 <search·id="searchbox"·style="display:·none"·role="search">218 <search·id="searchbox"·style="display:·none"·role="search">
218 ··<h3·id="searchlabel">Quick·search</h3>219 ··<h3·id="searchlabel">Kiirotsing</h3>
219 ····<div·class="searchformwrapper">220 ····<div·class="searchformwrapper">
220 ····<form·class="search"·action="../search.html"·method="get">221 ····<form·class="search"·action="../search.html"·method="get">
221 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>222 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
222 ······<input·type="submit"·value="Go"·/>223 ······<input·type="submit"·value="Otsi"·/>
223 ····</form>224 ····</form>
224 ····</div>225 ····</div>
225 </search>226 </search>
226 <script>document.getElementById('searchbox').style.display·=·"block"</script>227 <script>document.getElementById('searchbox').style.display·=·"block"</script>
227 ········</div>228 ········</div>
228 ······</div>229 ······</div>
229 ··············<h3>Last·update:</h3>230 ··············<h3>Last·update:</h3>
230 ··············<p·class="topless">Nov·05,·2024</p>231 ··············<p·class="topless">nov·05,·2024</p>
231 ··········</div>232 ··········</div>
232 ········233 ········
233 ······234 ······
234 ····</div>235 ····</div>
  
235 ····<div·id="ft">236 ····<div·id="ft">
236 ······<div·class="nav">237 ······<div·class="nav">
4.75 KB
html2text {}
Max HTML report size reached
18.0 KB
./usr/share/doc/python-django-doc/html/howto/csrf.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·use·Django’s·CSRF·protection·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·use·Django’s·CSRF·protection·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·create·custom·django-admin·commands"·href="custom-management-commands.html"·/>15 ····<link·rel="next"·title="How·to·create·custom·django-admin·commands"·href="custom-management-commands.html"·/>
15 ····<link·rel="prev"·title="How·to·authenticate·using·REMOTE_USER"·href="auth-remote-user.html"·/>16 ····<link·rel="prev"·title="How·to·authenticate·using·REMOTE_USER"·href="auth-remote-user.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 141, 24 lines modifiedOffset 142, 24 lines modified
141 </pre></div>142 </pre></div>
142 </div>143 </div>
143 <p>The·above·code·could·be·simplified·by·using·the·<a·class="reference·external"·href="https://github.com/js-cookie/js-cookie/">JavaScript·Cookie·library</a>·to·replace·<code·class="docutils·literal·notranslate"><span·class="pre">getCookie</span></code>:</p>144 <p>The·above·code·could·be·simplified·by·using·the·<a·class="reference·external"·href="https://github.com/js-cookie/js-cookie/">JavaScript·Cookie·library</a>·to·replace·<code·class="docutils·literal·notranslate"><span·class="pre">getCookie</span></code>:</p>
144 <div·class="highlight-javascript·notranslate"><div·class="highlight"><pre><span></span><span·class="kd">const</span><span·class="w">·</span><span·class="nx">csrftoken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nx">Cookies</span><span·class="p">.</span><span·class="nx">get</span><span·class="p">(</span><span·class="s1">&#39;csrftoken&#39;</span><span·class="p">);</span>145 <div·class="highlight-javascript·notranslate"><div·class="highlight"><pre><span></span><span·class="kd">const</span><span·class="w">·</span><span·class="nx">csrftoken</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="nx">Cookies</span><span·class="p">.</span><span·class="nx">get</span><span·class="p">(</span><span·class="s1">&#39;csrftoken&#39;</span><span·class="p">);</span>
145 </pre></div>146 </pre></div>
146 </div>147 </div>
147 <div·class="admonition·note">148 <div·class="admonition·note">
148 <p·class="admonition-title">Note</p>149 <p·class="admonition-title">rkus</p>
149 <p>The·CSRF·token·is·also·present·in·the·DOM·in·a·masked·form,·but·only·if150 <p>The·CSRF·token·is·also·present·in·the·DOM·in·a·masked·form,·but·only·if
150 explicitly·included·using·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-csrf_token"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">csrf_token</span></code></a>·in·a·template.·The·cookie151 explicitly·included·using·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-csrf_token"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">csrf_token</span></code></a>·in·a·template.·The·cookie
151 contains·the·canonical,·unmasked·token.·The152 contains·the·canonical,·unmasked·token.·The
152 <a·class="reference·internal"·href="../ref/middleware.html#django.middleware.csrf.CsrfViewMiddleware"·title="django.middleware.csrf.CsrfViewMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code></a>·will·accept·either.153 <a·class="reference·internal"·href="../ref/middleware.html#django.middleware.csrf.CsrfViewMiddleware"·title="django.middleware.csrf.CsrfViewMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code></a>·will·accept·either.
153 However,·in·order·to·protect·against·<a·class="reference·external"·href="https://www.breachattack.com/">BREACH</a>·attacks,·it’s·recommended·to154 However,·in·order·to·protect·against·<a·class="reference·external"·href="https://www.breachattack.com/">BREACH</a>·attacks,·it’s·recommended·to
154 use·a·masked·token.</p>155 use·a·masked·token.</p>
155 </div>156 </div>
156 <div·class="admonition·warning">157 <div·class="admonition·warning">
157 <p·class="admonition-title">Warning</p>158 <p·class="admonition-title">Hoiatus</p>
158 <p>If·your·view·is·not·rendering·a·template·containing·the·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-csrf_token"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">csrf_token</span></code></a>159 <p>If·your·view·is·not·rendering·a·template·containing·the·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-csrf_token"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">csrf_token</span></code></a>
159 template·tag,·Django·might·not·set·the·CSRF·token·cookie.·This·is·common·in160 template·tag,·Django·might·not·set·the·CSRF·token·cookie.·This·is·common·in
160 cases·where·forms·are·dynamically·added·to·the·page.·To·address·this·case,161 cases·where·forms·are·dynamically·added·to·the·page.·To·address·this·case,
161 Django·provides·a·view·decorator·which·forces·setting·of·the·cookie:162 Django·provides·a·view·decorator·which·forces·setting·of·the·cookie:
162 <a·class="reference·internal"·href="../ref/csrf.html#django.views.decorators.csrf.ensure_csrf_cookie"·title="django.views.decorators.csrf.ensure_csrf_cookie"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">ensure_csrf_cookie()</span></code></a>.</p>163 <a·class="reference·internal"·href="../ref/csrf.html#django.views.decorators.csrf.ensure_csrf_cookie"·title="django.views.decorators.csrf.ensure_csrf_cookie"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">ensure_csrf_cookie()</span></code></a>.</p>
163 </div>164 </div>
164 </section>165 </section>
Offset 207, 20 lines modifiedOffset 208, 20 lines modified
207 <p>Rather·than·adding·<code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>·as·a·blanket·protection,·you·can·use208 <p>Rather·than·adding·<code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>·as·a·blanket·protection,·you·can·use
208 the·<a·class="reference·internal"·href="../ref/csrf.html#django.views.decorators.csrf.csrf_protect"·title="django.views.decorators.csrf.csrf_protect"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">csrf_protect()</span></code></a>·decorator,·which·has209 the·<a·class="reference·internal"·href="../ref/csrf.html#django.views.decorators.csrf.csrf_protect"·title="django.views.decorators.csrf.csrf_protect"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">csrf_protect()</span></code></a>·decorator,·which·has
209 exactly·the·same·functionality,·on·particular·views·that·need·the·protection.210 exactly·the·same·functionality,·on·particular·views·that·need·the·protection.
210 It·must·be·used·<strong>both</strong>·on·views·that·insert·the·CSRF·token·in·the·output,·and211 It·must·be·used·<strong>both</strong>·on·views·that·insert·the·CSRF·token·in·the·output,·and
211 on·those·that·accept·the·POST·form·data.·(These·are·often·the·same·view212 on·those·that·accept·the·POST·form·data.·(These·are·often·the·same·view
212 function,·but·not·always).</p>213 function,·but·not·always).</p>
213 <p>Use·of·the·decorator·by·itself·is·<strong>not·recommended</strong>,·since·if·you·forget·to214 <p>Use·of·the·decorator·by·itself·is·<strong>not·recommended</strong>,·since·if·you·forget·to
214 use·it,·you·will·have·a·security·hole.·The·belt·and·braces·strategy·of·using215 use·it,·you·will·have·a·security·hole.·The·belt·and·braces·strategy·of·using
215 both·is·fine,·and·will·incur·minimal·overhead.</p>216 both·is·fine,·and·will·incur·minimal·overhead.</p>
216 </section>217 </section>
217 <section·id="s-handling-rejected-requests">218 <section·id="s-handling-rejected-requests">
218 <span·id="s-csrf-rejected-requests"></span><span·id="handling-rejected-requests"></span><span·id="csrf-rejected-requests"></span><h2>Handling·rejected·requests<a·class="headerlink"·href="#handling-rejected-requests"·title="Link·to·this·heading">¶</a></h2>219 <span·id="s-csrf-rejected-requests"></span><span·id="handling-rejected-requests"></span><span·id="csrf-rejected-requests"></span><h2>Handling·rejected·requests<a·class="headerlink"·href="#handling-rejected-requests"·title="Link·to·this·heading">¶</a></h2>
219 <p>By·default,·a·403·Forbidden·response·is·sent·to·the·user·if·an·incoming220 <p>By·default,·a·403·Forbidden·response·is·sent·to·the·user·if·an·incoming
220 request·fails·the·checks·performed·by·<code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>.·This·should221 request·fails·the·checks·performed·by·<code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>.·This·should
221 usually·only·be·seen·when·there·is·a·genuine·Cross·Site·Request·Forgery,·or222 usually·only·be·seen·when·there·is·a·genuine·Cross·Site·Request·Forgery,·or
222 when,·due·to·a·programming·error,·the·CSRF·token·has·not·been·included·with·a223 when,·due·to·a·programming·error,·the·CSRF·token·has·not·been·included·with·a
223 POST·form.</p>224 POST·form.</p>
224 <p>The·error·page,·however,·is·not·very·friendly,·so·you·may·want·to·provide·your225 <p>The·error·page,·however,·is·not·very·friendly,·so·you·may·want·to·provide·your
225 own·view·for·handling·this·condition.·To·do·this,·set·the226 own·view·for·handling·this·condition.·To·do·this,·set·the
226 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_FAILURE_VIEW"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_FAILURE_VIEW</span></code></a>·setting.</p>227 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_FAILURE_VIEW"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_FAILURE_VIEW</span></code></a>·setting.</p>
Offset 342, 15 lines modifiedOffset 343, 15 lines modified
342 ······343 ······
343 ········344 ········
344 ··········<div·class="yui-b"·id="sidebar">345 ··········<div·class="yui-b"·id="sidebar">
345 ············346 ············
346 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">347 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
347 ········<div·class="sphinxsidebarwrapper">348 ········<div·class="sphinxsidebarwrapper">
348 ··<div>349 ··<div>
349 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>350 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
350 ····<ul>351 ····<ul>
351 <li><a·class="reference·internal"·href="#">How·to·use·Django’s·CSRF·protection</a><ul>352 <li><a·class="reference·internal"·href="#">How·to·use·Django’s·CSRF·protection</a><ul>
352 <li><a·class="reference·internal"·href="#using-csrf-protection-with-ajax">Using·CSRF·protection·with·AJAX</a><ul>353 <li><a·class="reference·internal"·href="#using-csrf-protection-with-ajax">Using·CSRF·protection·with·AJAX</a><ul>
353 <li><a·class="reference·internal"·href="#acquiring-the-token-if-csrf-use-sessions-and-csrf-cookie-httponly-are-false">Acquiring·the·token·if·<code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_USE_SESSIONS</span></code>·and·<code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_HTTPONLY</span></code>·are·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code></a></li>354 <li><a·class="reference·internal"·href="#acquiring-the-token-if-csrf-use-sessions-and-csrf-cookie-httponly-are-false">Acquiring·the·token·if·<code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_USE_SESSIONS</span></code>·and·<code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_HTTPONLY</span></code>·are·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code></a></li>
354 <li><a·class="reference·internal"·href="#acquiring-the-token-if-csrf-use-sessions-or-csrf-cookie-httponly-is-true">Acquiring·the·token·if·<code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_USE_SESSIONS</span></code>·or·<code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_HTTPONLY</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code></a></li>355 <li><a·class="reference·internal"·href="#acquiring-the-token-if-csrf-use-sessions-or-csrf-cookie-httponly-is-true">Acquiring·the·token·if·<code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_USE_SESSIONS</span></code>·or·<code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_HTTPONLY</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code></a></li>
355 <li><a·class="reference·internal"·href="#setting-the-token-on-the-ajax-request">Setting·the·token·on·the·AJAX·request</a></li>356 <li><a·class="reference·internal"·href="#setting-the-token-on-the-ajax-request">Setting·the·token·on·the·AJAX·request</a></li>
356 </ul>357 </ul>
Offset 371, 37 lines modifiedOffset 372, 37 lines modified
371 <li><a·class="reference·internal"·href="#csrf-protection-in-reusable-applications">CSRF·protection·in·reusable·applications</a></li>372 <li><a·class="reference·internal"·href="#csrf-protection-in-reusable-applications">CSRF·protection·in·reusable·applications</a></li>
372 </ul>373 </ul>
373 </li>374 </li>
374 </ul>375 </ul>
  
375 ··</div>376 ··</div>
376 ··<div>377 ··<div>
377 ····<h4>Previous·topic</h4>378 ····<h4>Eelmine·teema</h4>
378 ····<p·class="topless"><a·href="auth-remote-user.html"379 ····<p·class="topless"><a·href="auth-remote-user.html"
379 ··························title="previous·chapter">How·to·authenticate·using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code></a></p>380 ··························title="eelmine·jaotis">How·to·authenticate·using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code></a></p>
380 ··</div>381 ··</div>
381 ··<div>382 ··<div>
382 ····<h4>Next·topic</h4>383 ····<h4>Järgmine·teema</h4>
383 ····<p·class="topless"><a·href="custom-management-commands.html"384 ····<p·class="topless"><a·href="custom-management-commands.html"
384 ··························title="next·chapter">How·to·create·custom·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·commands</a></p>385 ··························title="järgmine·jaotis">How·to·create·custom·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·commands</a></p>
385 ··</div>386 ··</div>
386 <search·id="searchbox"·style="display:·none"·role="search">387 <search·id="searchbox"·style="display:·none"·role="search">
387 ··<h3·id="searchlabel">Quick·search</h3>388 ··<h3·id="searchlabel">Kiirotsing</h3>
388 ····<div·class="searchformwrapper">389 ····<div·class="searchformwrapper">
389 ····<form·class="search"·action="../search.html"·method="get">390 ····<form·class="search"·action="../search.html"·method="get">
390 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>391 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
391 ······<input·type="submit"·value="Go"·/>392 ······<input·type="submit"·value="Otsi"·/>
392 ····</form>393 ····</form>
393 ····</div>394 ····</div>
394 </search>395 </search>
Max diff block lines reached; 263/10638 bytes (2.47%) of diff not shown.
7.54 KB
html2text {}
Max HTML report size reached
9.0 KB
./usr/share/doc/python-django-doc/html/howto/custom-file-storage.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·write·a·custom·storage·class·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·write·a·custom·storage·class·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·FAQ"·href="../faq/index.html"·/>15 ····<link·rel="next"·title="Django·FAQ"·href="../faq/index.html"·/>
15 ····<link·rel="prev"·title="How·to·create·custom·django-admin·commands"·href="custom-management-commands.html"·/>16 ····<link·rel="prev"·title="How·to·create·custom·django-admin·commands"·href="custom-management-commands.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 144, 15 lines modifiedOffset 145, 15 lines modified
144 <span·class="sig-name·descname"><span·class="pre">_open</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'rb'</span></span></em>)<a·class="headerlink"·href="#django.core.files.storage._open"·title="Link·to·this·definition">¶</a></dt>145 <span·class="sig-name·descname"><span·class="pre">_open</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'rb'</span></span></em>)<a·class="headerlink"·href="#django.core.files.storage._open"·title="Link·to·this·definition">¶</a></dt>
145 <dd></dd></dl>146 <dd></dd></dl>
  
146 <p><strong>Required</strong>.</p>147 <p><strong>Required</strong>.</p>
147 <p>Called·by·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.open()</span></code>,·this·is·the·actual·mechanism·the·storage·class148 <p>Called·by·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.open()</span></code>,·this·is·the·actual·mechanism·the·storage·class
148 uses·to·open·the·file.·This·must·return·a·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object,·though·in·most·cases,149 uses·to·open·the·file.·This·must·return·a·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object,·though·in·most·cases,
149 you’ll·want·to·return·some·subclass·here·that·implements·logic·specific·to·the150 you’ll·want·to·return·some·subclass·here·that·implements·logic·specific·to·the
150 backend·storage·system.·The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#FileNotFoundError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">FileNotFoundError</span></code></a>·exception·should·be·raised151 backend·storage·system.·The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#FileNotFoundError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">FileNotFoundError</span></code></a>·exception·should·be·raised
151 when·a·file·doesn’t·exist.</p>152 when·a·file·doesn’t·exist.</p>
152 <dl·class="py·method">153 <dl·class="py·method">
153 <dt·class="sig·sig-object·py"·id="django.core.files.storage._save">154 <dt·class="sig·sig-object·py"·id="django.core.files.storage._save">
154 <span·class="sig-name·descname"><span·class="pre">_save</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">content</span></span></em>)<a·class="headerlink"·href="#django.core.files.storage._save"·title="Link·to·this·definition">¶</a></dt>155 <span·class="sig-name·descname"><span·class="pre">_save</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">content</span></span></em>)<a·class="headerlink"·href="#django.core.files.storage._save"·title="Link·to·this·definition">¶</a></dt>
155 <dd></dd></dl>156 <dd></dd></dl>
  
156 <p>Called·by·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·will·already·have·gone·through157 <p>Called·by·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·will·already·have·gone·through
Offset 219, 47 lines modifiedOffset 220, 47 lines modified
219 ······220 ······
220 ········221 ········
221 ··········<div·class="yui-b"·id="sidebar">222 ··········<div·class="yui-b"·id="sidebar">
222 ············223 ············
223 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">224 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
224 ········<div·class="sphinxsidebarwrapper">225 ········<div·class="sphinxsidebarwrapper">
225 ··<div>226 ··<div>
226 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>227 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
227 ····<ul>228 ····<ul>
228 <li><a·class="reference·internal"·href="#">How·to·write·a·custom·storage·class</a><ul>229 <li><a·class="reference·internal"·href="#">How·to·write·a·custom·storage·class</a><ul>
229 <li><a·class="reference·internal"·href="#use-your-custom-storage-engine">Use·your·custom·storage·engine</a></li>230 <li><a·class="reference·internal"·href="#use-your-custom-storage-engine">Use·your·custom·storage·engine</a></li>
230 </ul>231 </ul>
231 </li>232 </li>
232 </ul>233 </ul>
  
233 ··</div>234 ··</div>
234 ··<div>235 ··<div>
235 ····<h4>Previous·topic</h4>236 ····<h4>Eelmine·teema</h4>
236 ····<p·class="topless"><a·href="custom-management-commands.html"237 ····<p·class="topless"><a·href="custom-management-commands.html"
237 ··························title="previous·chapter">How·to·create·custom·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·commands</a></p>238 ··························title="eelmine·jaotis">How·to·create·custom·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·commands</a></p>
238 ··</div>239 ··</div>
239 ··<div>240 ··<div>
240 ····<h4>Next·topic</h4>241 ····<h4>Järgmine·teema</h4>
241 ····<p·class="topless"><a·href="../faq/index.html"242 ····<p·class="topless"><a·href="../faq/index.html"
242 ··························title="next·chapter">Django·FAQ</a></p>243 ··························title="järgmine·jaotis">Django·FAQ</a></p>
243 ··</div>244 ··</div>
244 <search·id="searchbox"·style="display:·none"·role="search">245 <search·id="searchbox"·style="display:·none"·role="search">
245 ··<h3·id="searchlabel">Quick·search</h3>246 ··<h3·id="searchlabel">Kiirotsing</h3>
246 ····<div·class="searchformwrapper">247 ····<div·class="searchformwrapper">
247 ····<form·class="search"·action="../search.html"·method="get">248 ····<form·class="search"·action="../search.html"·method="get">
248 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>249 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
249 ······<input·type="submit"·value="Go"·/>250 ······<input·type="submit"·value="Otsi"·/>
250 ····</form>251 ····</form>
251 ····</div>252 ····</div>
252 </search>253 </search>
253 <script>document.getElementById('searchbox').style.display·=·"block"</script>254 <script>document.getElementById('searchbox').style.display·=·"block"</script>
254 ········</div>255 ········</div>
255 ······</div>256 ······</div>
256 ··············<h3>Last·update:</h3>257 ··············<h3>Last·update:</h3>
257 ··············<p·class="topless">Nov·05,·2024</p>258 ··············<p·class="topless">nov·05,·2024</p>
258 ··········</div>259 ··········</div>
259 ········260 ········
260 ······261 ······
261 ····</div>262 ····</div>
  
262 ····<div·id="ft">263 ····<div·id="ft">
263 ······<div·class="nav">264 ······<div·class="nav">
2.42 KB
html2text {}
Max HTML report size reached
13.1 KB
./usr/share/doc/python-django-doc/html/howto/custom-lookups.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·write·custom·lookups·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·write·custom·lookups·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·create·CSV·output"·href="outputting-csv.html"·/>15 ····<link·rel="next"·title="How·to·create·CSV·output"·href="outputting-csv.html"·/>
15 ····<link·rel="prev"·title="How·to·create·database·migrations"·href="writing-migrations.html"·/>16 ····<link·rel="prev"·title="How·to·create·database·migrations"·href="writing-migrations.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 166, 15 lines modifiedOffset 167, 15 lines modified
166 application·where·we·want·to·make·use·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">abs()</span></code>·operator.167 application·where·we·want·to·make·use·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">abs()</span></code>·operator.
167 We·have·an·<code·class="docutils·literal·notranslate"><span·class="pre">Experiment</span></code>·model·which·records·a·start·value,·end·value,·and·the168 We·have·an·<code·class="docutils·literal·notranslate"><span·class="pre">Experiment</span></code>·model·which·records·a·start·value,·end·value,·and·the
168 change·(start·-·end).·We·would·like·to·find·all·experiments·where·the·change169 change·(start·-·end).·We·would·like·to·find·all·experiments·where·the·change
169 was·equal·to·a·certain·amount·(<code·class="docutils·literal·notranslate"><span·class="pre">Experiment.objects.filter(change__abs=27)</span></code>),170 was·equal·to·a·certain·amount·(<code·class="docutils·literal·notranslate"><span·class="pre">Experiment.objects.filter(change__abs=27)</span></code>),
170 or·where·it·did·not·exceed·a·certain·amount171 or·where·it·did·not·exceed·a·certain·amount
171 (<code·class="docutils·literal·notranslate"><span·class="pre">Experiment.objects.filter(change__abs__lt=27)</span></code>).</p>172 (<code·class="docutils·literal·notranslate"><span·class="pre">Experiment.objects.filter(change__abs__lt=27)</span></code>).</p>
172 <div·class="admonition·note">173 <div·class="admonition·note">
173 <p·class="admonition-title">Note</p>174 <p·class="admonition-title">rkus</p>
174 <p>This·example·is·somewhat·contrived,·but·it·nicely·demonstrates·the·range·of175 <p>This·example·is·somewhat·contrived,·but·it·nicely·demonstrates·the·range·of
175 functionality·which·is·possible·in·a·database·backend·independent·manner,176 functionality·which·is·possible·in·a·database·backend·independent·manner,
176 and·without·duplicating·functionality·already·in·Django.</p>177 and·without·duplicating·functionality·already·in·Django.</p>
177 </div>178 </div>
178 <p>We·will·start·by·writing·an·<code·class="docutils·literal·notranslate"><span·class="pre">AbsoluteValue</span></code>·transformer.·This·will·use·the·SQL179 <p>We·will·start·by·writing·an·<code·class="docutils·literal·notranslate"><span·class="pre">AbsoluteValue</span></code>·transformer.·This·will·use·the·SQL
179 function·<code·class="docutils·literal·notranslate"><span·class="pre">ABS()</span></code>·to·transform·the·value·before·comparison:</p>180 function·<code·class="docutils·literal·notranslate"><span·class="pre">ABS()</span></code>·to·transform·the·value·before·comparison:</p>
180 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">Transform</span>181 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">Transform</span>
Offset 275, 15 lines modifiedOffset 276, 15 lines modified
275 <p>Notice·also·that··as·both·sides·are·used·multiple·times·in·the·query·the·params276 <p>Notice·also·that··as·both·sides·are·used·multiple·times·in·the·query·the·params
276 need·to·contain·<code·class="docutils·literal·notranslate"><span·class="pre">lhs_params</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">rhs_params</span></code>·multiple·times.</p>277 need·to·contain·<code·class="docutils·literal·notranslate"><span·class="pre">lhs_params</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">rhs_params</span></code>·multiple·times.</p>
277 <p>The·final·query·does·the·inversion·(<code·class="docutils·literal·notranslate"><span·class="pre">27</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">-27</span></code>)·directly·in·the278 <p>The·final·query·does·the·inversion·(<code·class="docutils·literal·notranslate"><span·class="pre">27</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">-27</span></code>)·directly·in·the
278 database.·The·reason·for·doing·this·is·that·if·the·<code·class="docutils·literal·notranslate"><span·class="pre">self.rhs</span></code>·is·something·else279 database.·The·reason·for·doing·this·is·that·if·the·<code·class="docutils·literal·notranslate"><span·class="pre">self.rhs</span></code>·is·something·else
279 than·a·plain·integer·value·(for·example·an·<code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>·reference)·we·can’t·do·the280 than·a·plain·integer·value·(for·example·an·<code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>·reference)·we·can’t·do·the
280 transformations·in·Python.</p>281 transformations·in·Python.</p>
281 <div·class="admonition·note">282 <div·class="admonition·note">
282 <p·class="admonition-title">Note</p>283 <p·class="admonition-title">rkus</p>
283 <p>In·fact,·most·lookups·with·<code·class="docutils·literal·notranslate"><span·class="pre">__abs</span></code>·could·be·implemented·as·range·queries284 <p>In·fact,·most·lookups·with·<code·class="docutils·literal·notranslate"><span·class="pre">__abs</span></code>·could·be·implemented·as·range·queries
284 like·this,·and·on·most·database·backends·it·is·likely·to·be·more·sensible·to285 like·this,·and·on·most·database·backends·it·is·likely·to·be·more·sensible·to
285 do·so·as·you·can·make·use·of·the·indexes.·However·with·PostgreSQL·you·may286 do·so·as·you·can·make·use·of·the·indexes.·However·with·PostgreSQL·you·may
286 want·to·add·an·index·on·<code·class="docutils·literal·notranslate"><span·class="pre">abs(change)</span></code>·which·would·allow·these·queries·to287 want·to·add·an·index·on·<code·class="docutils·literal·notranslate"><span·class="pre">abs(change)</span></code>·which·would·allow·these·queries·to
287 be·very·efficient.</p>288 be·very·efficient.</p>
288 </div>289 </div>
289 </section>290 </section>
Offset 401, 52 lines modifiedOffset 402, 52 lines modified
401 ······402 ······
402 ········403 ········
403 ··········<div·class="yui-b"·id="sidebar">404 ··········<div·class="yui-b"·id="sidebar">
404 ············405 ············
405 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">406 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
406 ········<div·class="sphinxsidebarwrapper">407 ········<div·class="sphinxsidebarwrapper">
407 ··<div>408 ··<div>
408 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>409 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
409 ····<ul>410 ····<ul>
410 <li><a·class="reference·internal"·href="#">How·to·write·custom·lookups</a><ul>411 <li><a·class="reference·internal"·href="#">How·to·write·custom·lookups</a><ul>
411 <li><a·class="reference·internal"·href="#a-lookup-example">A·lookup·example</a></li>412 <li><a·class="reference·internal"·href="#a-lookup-example">A·lookup·example</a></li>
412 <li><a·class="reference·internal"·href="#a-transformer-example">A·transformer·example</a></li>413 <li><a·class="reference·internal"·href="#a-transformer-example">A·transformer·example</a></li>
413 <li><a·class="reference·internal"·href="#writing-an-efficient-abs-lt-lookup">Writing·an·efficient·<code·class="docutils·literal·notranslate"><span·class="pre">abs__lt</span></code>·lookup</a></li>414 <li><a·class="reference·internal"·href="#writing-an-efficient-abs-lt-lookup">Writing·an·efficient·<code·class="docutils·literal·notranslate"><span·class="pre">abs__lt</span></code>·lookup</a></li>
414 <li><a·class="reference·internal"·href="#a-bilateral-transformer-example">A·bilateral·transformer·example</a></li>415 <li><a·class="reference·internal"·href="#a-bilateral-transformer-example">A·bilateral·transformer·example</a></li>
415 <li><a·class="reference·internal"·href="#writing-alternative-implementations-for-existing-lookups">Writing·alternative·implementations·for·existing·lookups</a></li>416 <li><a·class="reference·internal"·href="#writing-alternative-implementations-for-existing-lookups">Writing·alternative·implementations·for·existing·lookups</a></li>
416 <li><a·class="reference·internal"·href="#how-django-determines-the-lookups-and-transforms-which-are-used">How·Django·determines·the·lookups·and·transforms·which·are·used</a></li>417 <li><a·class="reference·internal"·href="#how-django-determines-the-lookups-and-transforms-which-are-used">How·Django·determines·the·lookups·and·transforms·which·are·used</a></li>
417 </ul>418 </ul>
418 </li>419 </li>
419 </ul>420 </ul>
  
420 ··</div>421 ··</div>
421 ··<div>422 ··<div>
422 ····<h4>Previous·topic</h4>423 ····<h4>Eelmine·teema</h4>
423 ····<p·class="topless"><a·href="writing-migrations.html"424 ····<p·class="topless"><a·href="writing-migrations.html"
424 ··························title="previous·chapter">How·to·create·database·migrations</a></p>425 ··························title="eelmine·jaotis">How·to·create·database·migrations</a></p>
425 ··</div>426 ··</div>
426 ··<div>427 ··<div>
427 ····<h4>Next·topic</h4>428 ····<h4>Järgmine·teema</h4>
428 ····<p·class="topless"><a·href="outputting-csv.html"429 ····<p·class="topless"><a·href="outputting-csv.html"
429 ··························title="next·chapter">How·to·create·CSV·output</a></p>430 ··························title="järgmine·jaotis">How·to·create·CSV·output</a></p>
430 ··</div>431 ··</div>
431 <search·id="searchbox"·style="display:·none"·role="search">432 <search·id="searchbox"·style="display:·none"·role="search">
432 ··<h3·id="searchlabel">Quick·search</h3>433 ··<h3·id="searchlabel">Kiirotsing</h3>
433 ····<div·class="searchformwrapper">434 ····<div·class="searchformwrapper">
434 ····<form·class="search"·action="../search.html"·method="get">435 ····<form·class="search"·action="../search.html"·method="get">
435 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>436 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
436 ······<input·type="submit"·value="Go"·/>437 ······<input·type="submit"·value="Otsi"·/>
437 ····</form>438 ····</form>
438 ····</div>439 ····</div>
439 </search>440 </search>
440 <script>document.getElementById('searchbox').style.display·=·"block"</script>441 <script>document.getElementById('searchbox').style.display·=·"block"</script>
441 ········</div>442 ········</div>
442 ······</div>443 ······</div>
443 ··············<h3>Last·update:</h3>444 ··············<h3>Last·update:</h3>
444 ··············<p·class="topless">Nov·05,·2024</p>445 ··············<p·class="topless">nov·05,·2024</p>
445 ··········</div>446 ··········</div>
446 ········447 ········
447 ······448 ······
448 ····</div>449 ····</div>
  
449 ····<div·id="ft">450 ····<div·id="ft">
450 ······<div·class="nav">451 ······<div·class="nav">
5.21 KB
html2text {}
Max HTML report size reached
45.5 KB
./usr/share/doc/python-django-doc/html/howto/custom-management-commands.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·create·custom·django-admin·commands·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·create·custom·django-admin·commands·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·write·a·custom·storage·class"·href="custom-file-storage.html"·/>15 ····<link·rel="next"·title="How·to·write·a·custom·storage·class"·href="custom-file-storage.html"·/>
15 ····<link·rel="prev"·title="How·to·use·Django’s·CSRF·protection"·href="csrf.html"·/>16 ····<link·rel="prev"·title="How·to·use·Django’s·CSRF·protection"·href="csrf.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 136, 15 lines modifiedOffset 137, 15 lines modified
  
136 ············<span·class="bp">self</span><span·class="o">.</span><span·class="n">stdout</span><span·class="o">.</span><span·class="n">write</span><span·class="p">(</span>137 ············<span·class="bp">self</span><span·class="o">.</span><span·class="n">stdout</span><span·class="o">.</span><span·class="n">write</span><span·class="p">(</span>
137 ················<span·class="bp">self</span><span·class="o">.</span><span·class="n">style</span><span·class="o">.</span><span·class="n">SUCCESS</span><span·class="p">(</span><span·class="s1">&#39;Successfully·closed·poll·&quot;</span><span·class="si">%s</span><span·class="s1">&quot;&#39;</span>·<span·class="o">%</span>·<span·class="n">poll_id</span><span·class="p">)</span>138 ················<span·class="bp">self</span><span·class="o">.</span><span·class="n">style</span><span·class="o">.</span><span·class="n">SUCCESS</span><span·class="p">(</span><span·class="s1">&#39;Successfully·closed·poll·&quot;</span><span·class="si">%s</span><span·class="s1">&quot;&#39;</span>·<span·class="o">%</span>·<span·class="n">poll_id</span><span·class="p">)</span>
138 ············<span·class="p">)</span>139 ············<span·class="p">)</span>
139 </pre></div>140 </pre></div>
140 </div>141 </div>
141 <div·class="admonition·note"·id="management-commands-output">142 <div·class="admonition·note"·id="management-commands-output">
142 <p·class="admonition-title">Note</p>143 <p·class="admonition-title">rkus</p>
143 <p>When·you·are·using·management·commands·and·wish·to·provide·console144 <p>When·you·are·using·management·commands·and·wish·to·provide·console
144 output,·you·should·write·to·<code·class="docutils·literal·notranslate"><span·class="pre">self.stdout</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">self.stderr</span></code>,145 output,·you·should·write·to·<code·class="docutils·literal·notranslate"><span·class="pre">self.stdout</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">self.stderr</span></code>,
145 instead·of·printing·to·<code·class="docutils·literal·notranslate"><span·class="pre">stdout</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">stderr</span></code>·directly.·By146 instead·of·printing·to·<code·class="docutils·literal·notranslate"><span·class="pre">stdout</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">stderr</span></code>·directly.·By
146 using·these·proxies,·it·becomes·much·easier·to·test·your·custom147 using·these·proxies,·it·becomes·much·easier·to·test·your·custom
147 command.·Note·also·that·you·don’t·need·to·end·messages·with·a·newline148 command.·Note·also·that·you·don’t·need·to·end·messages·with·a·newline
148 character,·it·will·be·added·automatically,·unless·you·specify·the·<code·class="docutils·literal·notranslate"><span·class="pre">ending</span></code>149 character,·it·will·be·added·automatically,·unless·you·specify·the·<code·class="docutils·literal·notranslate"><span·class="pre">ending</span></code>
149 parameter:</p>150 parameter:</p>
Offset 180, 15 lines modifiedOffset 181, 15 lines modified
180 ········<span·class="c1">#·...</span>181 ········<span·class="c1">#·...</span>
181 ········<span·class="k">if</span>·<span·class="n">options</span><span·class="p">[</span><span·class="s2">&quot;delete&quot;</span><span·class="p">]:</span>182 ········<span·class="k">if</span>·<span·class="n">options</span><span·class="p">[</span><span·class="s2">&quot;delete&quot;</span><span·class="p">]:</span>
182 ············<span·class="n">poll</span><span·class="o">.</span><span·class="n">delete</span><span·class="p">()</span>183 ············<span·class="n">poll</span><span·class="o">.</span><span·class="n">delete</span><span·class="p">()</span>
183 ········<span·class="c1">#·...</span>184 ········<span·class="c1">#·...</span>
184 </pre></div>185 </pre></div>
185 </div>186 </div>
186 <p>The·option·(<code·class="docutils·literal·notranslate"><span·class="pre">delete</span></code>·in·our·example)·is·available·in·the·options·dict187 <p>The·option·(<code·class="docutils·literal·notranslate"><span·class="pre">delete</span></code>·in·our·example)·is·available·in·the·options·dict
187 parameter·of·the·handle·method.·See·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/argparse.html#module-argparse"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">argparse</span></code></a>·Python·documentation188 parameter·of·the·handle·method.·See·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/argparse.html#module-argparse"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">argparse</span></code></a>·Python·documentation
188 for·more·about·<code·class="docutils·literal·notranslate"><span·class="pre">add_argument</span></code>·usage.</p>189 for·more·about·<code·class="docutils·literal·notranslate"><span·class="pre">add_argument</span></code>·usage.</p>
189 <p>In·addition·to·being·able·to·add·custom·command·line·options,·all190 <p>In·addition·to·being·able·to·add·custom·command·line·options,·all
190 <a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">management·commands</span></a>·can·accept·some·default·options191 <a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">management·commands</span></a>·can·accept·some·default·options
191 such·as·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-verbosity"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">--verbosity</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-traceback"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">--traceback</span></code></a>.</p>192 such·as·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-verbosity"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">--verbosity</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-traceback"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">--traceback</span></code></a>.</p>
192 </section>193 </section>
193 <section·id="s-management-commands-and-locales">194 <section·id="s-management-commands-and-locales">
194 <span·id="s-id1"></span><span·id="management-commands-and-locales"></span><span·id="id1"></span><h2>Management·commands·and·locales<a·class="headerlink"·href="#management-commands-and-locales"·title="Link·to·this·heading">¶</a></h2>195 <span·id="s-id1"></span><span·id="management-commands-and-locales"></span><span·id="id1"></span><h2>Management·commands·and·locales<a·class="headerlink"·href="#management-commands-and-locales"·title="Link·to·this·heading">¶</a></h2>
Offset 230, 15 lines modifiedOffset 231, 15 lines modified
230 <a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>)·which·imports·the·<code·class="docutils·literal·notranslate"><span·class="pre">Command</span></code>·of·the·overridden231 <a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>)·which·imports·the·<code·class="docutils·literal·notranslate"><span·class="pre">Command</span></code>·of·the·overridden
231 command.</p>232 command.</p>
232 </section>233 </section>
233 <section·id="s-command-objects">234 <section·id="s-command-objects">
234 <span·id="command-objects"></span><h2>Command·objects<a·class="headerlink"·href="#command-objects"·title="Link·to·this·heading">¶</a></h2>235 <span·id="command-objects"></span><h2>Command·objects<a·class="headerlink"·href="#command-objects"·title="Link·to·this·heading">¶</a></h2>
235 <dl·class="py·class">236 <dl·class="py·class">
236 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand">237 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand">
237 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseCommand</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/management/base.py#L184"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.management.BaseCommand"·title="Link·to·this·definition">¶</a></dt>238 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseCommand</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/management/base.py#L184"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.management.BaseCommand"·title="Link·to·this·definition">¶</a></dt>
238 <dd></dd></dl>239 <dd></dd></dl>
  
239 <p>The·base·class·from·which·all·management·commands·ultimately·derive.</p>240 <p>The·base·class·from·which·all·management·commands·ultimately·derive.</p>
240 <p>Use·this·class·if·you·want·access·to·all·of·the·mechanisms·which241 <p>Use·this·class·if·you·want·access·to·all·of·the·mechanisms·which
241 parse·the·command-line·arguments·and·work·out·what·code·to·call·in242 parse·the·command-line·arguments·and·work·out·what·code·to·call·in
242 response;·if·you·don’t·need·to·change·any·of·that·behavior,243 response;·if·you·don’t·need·to·change·any·of·that·behavior,
243 consider·using·one·of·its·<a·class="reference·internal"·href="#ref-basecommand-subclasses"><span·class="std·std-ref">subclasses</span></a>.</p>244 consider·using·one·of·its·<a·class="reference·internal"·href="#ref-basecommand-subclasses"><span·class="std·std-ref">subclasses</span></a>.</p>
Offset 257, 15 lines modifiedOffset 258, 15 lines modified
257 </dd></dl>258 </dd></dl>
  
258 <dl·class="py·attribute">259 <dl·class="py·attribute">
259 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand.missing_args_message">260 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand.missing_args_message">
260 <span·class="sig-prename·descclassname"><span·class="pre">BaseCommand.</span></span><span·class="sig-name·descname"><span·class="pre">missing_args_message</span></span><a·class="headerlink"·href="#django.core.management.BaseCommand.missing_args_message"·title="Link·to·this·definition">¶</a></dt>261 <span·class="sig-prename·descclassname"><span·class="pre">BaseCommand.</span></span><span·class="sig-name·descname"><span·class="pre">missing_args_message</span></span><a·class="headerlink"·href="#django.core.management.BaseCommand.missing_args_message"·title="Link·to·this·definition">¶</a></dt>
261 <dd><p>If·your·command·defines·mandatory·positional·arguments,·you·can·customize262 <dd><p>If·your·command·defines·mandatory·positional·arguments,·you·can·customize
262 the·message·error·returned·in·the·case·of·missing·arguments.·The·default·is263 the·message·error·returned·in·the·case·of·missing·arguments.·The·default·is
263 output·by·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/argparse.html#module-argparse"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">argparse</span></code></a>·(too·few·arguments).</p>264 output·by·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/argparse.html#module-argparse"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">argparse</span></code></a>·(too·few·arguments).</p>
264 </dd></dl>265 </dd></dl>
  
265 <dl·class="py·attribute">266 <dl·class="py·attribute">
266 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand.output_transaction">267 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand.output_transaction">
267 <span·class="sig-prename·descclassname"><span·class="pre">BaseCommand.</span></span><span·class="sig-name·descname"><span·class="pre">output_transaction</span></span><a·class="headerlink"·href="#django.core.management.BaseCommand.output_transaction"·title="Link·to·this·definition">¶</a></dt>268 <span·class="sig-prename·descclassname"><span·class="pre">BaseCommand.</span></span><span·class="sig-name·descname"><span·class="pre">output_transaction</span></span><a·class="headerlink"·href="#django.core.management.BaseCommand.output_transaction"·title="Link·to·this·definition">¶</a></dt>
268 <dd><p>A·boolean·indicating·whether·the·command·outputs·SQL·statements;·if269 <dd><p>A·boolean·indicating·whether·the·command·outputs·SQL·statements;·if
269 <code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·the·output·will·automatically·be·wrapped·with·<code·class="docutils·literal·notranslate"><span·class="pre">BEGIN;</span></code>·and270 <code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·the·output·will·automatically·be·wrapped·with·<code·class="docutils·literal·notranslate"><span·class="pre">BEGIN;</span></code>·and
Offset 295, 15 lines modifiedOffset 296, 15 lines modified
295 <span·class="sig-prename·descclassname"><span·class="pre">BaseCommand.</span></span><span·class="sig-name·descname"><span·class="pre">style</span></span><a·class="headerlink"·href="#django.core.management.BaseCommand.style"·title="Link·to·this·definition">¶</a></dt>296 <span·class="sig-prename·descclassname"><span·class="pre">BaseCommand.</span></span><span·class="sig-name·descname"><span·class="pre">style</span></span><a·class="headerlink"·href="#django.core.management.BaseCommand.style"·title="Link·to·this·definition">¶</a></dt>
296 <dd><p>An·instance·attribute·that·helps·create·colored·output·when·writing·to297 <dd><p>An·instance·attribute·that·helps·create·colored·output·when·writing·to
297 <code·class="docutils·literal·notranslate"><span·class="pre">stdout</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">stderr</span></code>.·For·example:</p>298 <code·class="docutils·literal·notranslate"><span·class="pre">stdout</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">stderr</span></code>.·For·example:</p>
298 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="bp">self</span><span·class="o">.</span><span·class="n">stdout</span><span·class="o">.</span><span·class="n">write</span><span·class="p">(</span><span·class="bp">self</span><span·class="o">.</span><span·class="n">style</span><span·class="o">.</span><span·class="n">SUCCESS</span><span·class="p">(</span><span·class="s2">&quot;...&quot;</span><span·class="p">))</span>299 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="bp">self</span><span·class="o">.</span><span·class="n">stdout</span><span·class="o">.</span><span·class="n">write</span><span·class="p">(</span><span·class="bp">self</span><span·class="o">.</span><span·class="n">style</span><span·class="o">.</span><span·class="n">SUCCESS</span><span·class="p">(</span><span·class="s2">&quot;...&quot;</span><span·class="p">))</span>
299 </pre></div>300 </pre></div>
300 </div>301 </div>
301 <p>See·<a·class="reference·internal"·href="../ref/django-admin.html#syntax-coloring"><span·class="std·std-ref">Syntax·coloring</span></a>·to·learn·how·to·modify·the·color·palette·and·to302 <p>See·<a·class="reference·internal"·href="../ref/django-admin.html#syntax-coloring"><span·class="std·std-ref">Syntax·coloring</span></a>·to·learn·how·to·modify·the·color·palette·and·to
302 see·the·available·styles·(use·uppercased·versions·of·the·roles·described303 see·the·available·styles·(use·uppercased·versions·of·the·roles·described
303 in·that·section).</p>304 in·that·section).</p>
304 <p>If·you·pass·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-no-color"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">--no-color</span></code></a>·option·when·running·your·command,·all305 <p>If·you·pass·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-no-color"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">--no-color</span></code></a>·option·when·running·your·command,·all
305 <code·class="docutils·literal·notranslate"><span·class="pre">self.style()</span></code>·calls·will·return·the·original·string·uncolored.</p>306 <code·class="docutils·literal·notranslate"><span·class="pre">self.style()</span></code>·calls·will·return·the·original·string·uncolored.</p>
306 </dd></dl>307 </dd></dl>
  
307 <dl·class="py·attribute">308 <dl·class="py·attribute">
308 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand.suppressed_base_arguments">309 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand.suppressed_base_arguments">
Offset 327, 63 lines modifiedOffset 328, 63 lines modified
327 ········<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="fm">__init__</span><span·class="p">(</span><span·class="o">*</span><span·class="n">args</span><span·class="p">,</span>·<span·class="o">**</span><span·class="n">kwargs</span><span·class="p">)</span>328 ········<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="fm">__init__</span><span·class="p">(</span><span·class="o">*</span><span·class="n">args</span><span·class="p">,</span>·<span·class="o">**</span><span·class="n">kwargs</span><span·class="p">)</span>
328 ········<span·class="c1">#·...</span>329 ········<span·class="c1">#·...</span>
329 </pre></div>330 </pre></div>
330 </div>331 </div>
331 </div>332 </div>
332 <dl·class="py·method">333 <dl·class="py·method">
333 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand.create_parser">334 <dt·class="sig·sig-object·py"·id="django.core.management.BaseCommand.create_parser">
Max diff block lines reached; 20423/34372 bytes (59.42%) of diff not shown.
11.8 KB
html2text {}
Max HTML report size reached
20.3 KB
./usr/share/doc/python-django-doc/html/howto/custom-model-fields.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·create·custom·model·fields·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·create·custom·model·fields·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·create·database·migrations"·href="writing-migrations.html"·/>15 ····<link·rel="next"·title="How·to·create·database·migrations"·href="writing-migrations.html"·/>
15 ····<link·rel="prev"·title="How·to·integrate·Django·with·a·legacy·database"·href="legacy-databases.html"·/>16 ····<link·rel="prev"·title="How·to·integrate·Django·with·a·legacy·database"·href="legacy-databases.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 130, 15 lines modifiedOffset 131, 15 lines modified
130 <p>We·assign·to·and·retrieve·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">hand</span></code>·attribute·in·our·model·just·like131 <p>We·assign·to·and·retrieve·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">hand</span></code>·attribute·in·our·model·just·like
131 any·other·Python·class.·The·trick·is·to·tell·Django·how·to·handle·saving·and132 any·other·Python·class.·The·trick·is·to·tell·Django·how·to·handle·saving·and
132 loading·such·an·object.</p>133 loading·such·an·object.</p>
133 <p>In·order·to·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">Hand</span></code>·class·in·our·models,·we·<strong>do·not</strong>·have·to·change134 <p>In·order·to·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">Hand</span></code>·class·in·our·models,·we·<strong>do·not</strong>·have·to·change
134 this·class·at·all.·This·is·ideal,·because·it·means·you·can·easily·write135 this·class·at·all.·This·is·ideal,·because·it·means·you·can·easily·write
135 model·support·for·existing·classes·where·you·cannot·change·the·source·code.</p>136 model·support·for·existing·classes·where·you·cannot·change·the·source·code.</p>
136 <div·class="admonition·note">137 <div·class="admonition·note">
137 <p·class="admonition-title">Note</p>138 <p·class="admonition-title">rkus</p>
138 <p>You·might·only·be·wanting·to·take·advantage·of·custom·database·column139 <p>You·might·only·be·wanting·to·take·advantage·of·custom·database·column
139 types·and·deal·with·the·data·as·standard·Python·types·in·your·models;140 types·and·deal·with·the·data·as·standard·Python·types·in·your·models;
140 strings,·or·floats,·for·example.·This·case·is·similar·to·our·<code·class="docutils·literal·notranslate"><span·class="pre">Hand</span></code>141 strings,·or·floats,·for·example.·This·case·is·similar·to·our·<code·class="docutils·literal·notranslate"><span·class="pre">Hand</span></code>
141 example·and·we’ll·note·any·differences·as·we·go·along.</p>142 example·and·we’ll·note·any·differences·as·we·go·along.</p>
142 </div>143 </div>
143 </section>144 </section>
144 </section>145 </section>
Offset 227, 15 lines modifiedOffset 228, 15 lines modified
227 ········<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="fm">__init__</span><span·class="p">(</span><span·class="o">*</span><span·class="n">args</span><span·class="p">,</span>·<span·class="o">**</span><span·class="n">kwargs</span><span·class="p">)</span>228 ········<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="fm">__init__</span><span·class="p">(</span><span·class="o">*</span><span·class="n">args</span><span·class="p">,</span>·<span·class="o">**</span><span·class="n">kwargs</span><span·class="p">)</span>
228 </pre></div>229 </pre></div>
229 </div>230 </div>
230 <p>Our·<code·class="docutils·literal·notranslate"><span·class="pre">HandField</span></code>·accepts·most·of·the·standard·field·options·(see·the·list231 <p>Our·<code·class="docutils·literal·notranslate"><span·class="pre">HandField</span></code>·accepts·most·of·the·standard·field·options·(see·the·list
231 below),·but·we·ensure·it·has·a·fixed·length,·since·it·only·needs·to·hold·52232 below),·but·we·ensure·it·has·a·fixed·length,·since·it·only·needs·to·hold·52
232 card·values·plus·their·suits;·104·characters·in·total.</p>233 card·values·plus·their·suits;·104·characters·in·total.</p>
233 <div·class="admonition·note">234 <div·class="admonition·note">
234 <p·class="admonition-title">Note</p>235 <p·class="admonition-title">rkus</p>
235 <p>Many·of·Django’s·model·fields·accept·options·that·they·don’t·do·anything236 <p>Many·of·Django’s·model·fields·accept·options·that·they·don’t·do·anything
236 with.·For·example,·you·can·pass·both237 with.·For·example,·you·can·pass·both
237 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.editable"·title="django.db.models.Field.editable"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">editable</span></code></a>·and238 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.editable"·title="django.db.models.Field.editable"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">editable</span></code></a>·and
238 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DateField.auto_now"·title="django.db.models.DateField.auto_now"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">auto_now</span></code></a>·to·a239 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DateField.auto_now"·title="django.db.models.DateField.auto_now"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">auto_now</span></code></a>·to·a
239 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DateField"·title="django.db.models.DateField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.db.models.DateField</span></code></a>·and·it·will·ignore·the240 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DateField"·title="django.db.models.DateField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.db.models.DateField</span></code></a>·and·it·will·ignore·the
240 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.editable"·title="django.db.models.Field.editable"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">editable</span></code></a>·parameter241 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.editable"·title="django.db.models.Field.editable"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">editable</span></code></a>·parameter
241 (<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DateField.auto_now"·title="django.db.models.DateField.auto_now"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">auto_now</span></code></a>·being·set·implies242 (<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DateField.auto_now"·title="django.db.models.DateField.auto_now"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">auto_now</span></code></a>·being·set·implies
Offset 399, 15 lines modifiedOffset 400, 15 lines modified
399 <span·id="documenting-your-custom-field"></span><h3>Documenting·your·custom·field<a·class="headerlink"·href="#documenting-your-custom-field"·title="Link·to·this·heading">¶</a></h3>400 <span·id="documenting-your-custom-field"></span><h3>Documenting·your·custom·field<a·class="headerlink"·href="#documenting-your-custom-field"·title="Link·to·this·heading">¶</a></h3>
400 <p>As·always,·you·should·document·your·field·type,·so·users·will·know·what·it·is.401 <p>As·always,·you·should·document·your·field·type,·so·users·will·know·what·it·is.
401 In·addition·to·providing·a·docstring·for·it,·which·is·useful·for·developers,402 In·addition·to·providing·a·docstring·for·it,·which·is·useful·for·developers,
402 you·can·also·allow·users·of·the·admin·app·to·see·a·short·description·of·the403 you·can·also·allow·users·of·the·admin·app·to·see·a·short·description·of·the
403 field·type·via·the·<a·class="reference·internal"·href="../ref/contrib/admin/admindocs.html"><span·class="doc">django.contrib.admindocs</span></a>·application.·To·do·this·provide·descriptive404 field·type·via·the·<a·class="reference·internal"·href="../ref/contrib/admin/admindocs.html"><span·class="doc">django.contrib.admindocs</span></a>·application.·To·do·this·provide·descriptive
404 text·in·a·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.description"·title="django.db.models.Field.description"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">description</span></code></a>·class·attribute·of·your·custom·field.·In405 text·in·a·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.description"·title="django.db.models.Field.description"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">description</span></code></a>·class·attribute·of·your·custom·field.·In
405 the·above·example,·the·description·displayed·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">admindocs</span></code>·application406 the·above·example,·the·description·displayed·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">admindocs</span></code>·application
406 for·a·<code·class="docutils·literal·notranslate"><span·class="pre">HandField</span></code>·will·be·A·hand·of·cards·(bridge·style).</p>407 for·a·<code·class="docutils·literal·notranslate"><span·class="pre">HandField</span></code>·will·be·A·hand·of·cards·(bridge·style).</p>
407 <p>In·the·<a·class="reference·internal"·href="../ref/contrib/admin/admindocs.html#module-django.contrib.admindocs"·title="django.contrib.admindocs:·Django's·admin·documentation·generator."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admindocs</span></code></a>·display,·the·field·description·is408 <p>In·the·<a·class="reference·internal"·href="../ref/contrib/admin/admindocs.html#module-django.contrib.admindocs"·title="django.contrib.admindocs:·Django's·admin·documentation·generator."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admindocs</span></code></a>·display,·the·field·description·is
408 interpolated·with·<code·class="docutils·literal·notranslate"><span·class="pre">field.__dict__</span></code>·which·allows·the·description·to409 interpolated·with·<code·class="docutils·literal·notranslate"><span·class="pre">field.__dict__</span></code>·which·allows·the·description·to
409 incorporate·arguments·of·the·field.·For·example,·the·description·for410 incorporate·arguments·of·the·field.·For·example,·the·description·for
410 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.CharField"·title="django.db.models.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>·is:</p>411 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.CharField"·title="django.db.models.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>·is:</p>
411 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">description</span>·<span·class="o">=</span>·<span·class="n">_</span><span·class="p">(</span><span·class="s2">&quot;String·(up·to·</span><span·class="si">%(max_length)s</span><span·class="s2">)&quot;</span><span·class="p">)</span>412 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">description</span>·<span·class="o">=</span>·<span·class="n">_</span><span·class="p">(</span><span·class="s2">&quot;String·(up·to·</span><span·class="si">%(max_length)s</span><span·class="s2">)&quot;</span><span·class="p">)</span>
412 </pre></div>413 </pre></div>
413 </div>414 </div>
Offset 586, 15 lines modifiedOffset 587, 15 lines modified
586 ····<span·class="k">def</span>·<span·class="nf">get_prep_value</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">,</span>·<span·class="n">value</span><span·class="p">):</span>587 ····<span·class="k">def</span>·<span·class="nf">get_prep_value</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">,</span>·<span·class="n">value</span><span·class="p">):</span>
587 ········<span·class="k">return</span>·<span·class="s2">&quot;&quot;</span><span·class="o">.</span><span·class="n">join</span><span·class="p">(</span>588 ········<span·class="k">return</span>·<span·class="s2">&quot;&quot;</span><span·class="o">.</span><span·class="n">join</span><span·class="p">(</span>
588 ············<span·class="p">[</span><span·class="s2">&quot;&quot;</span><span·class="o">.</span><span·class="n">join</span><span·class="p">(</span><span·class="n">l</span><span·class="p">)</span>·<span·class="k">for</span>·<span·class="n">l</span>·<span·class="ow">in</span>·<span·class="p">(</span><span·class="n">value</span><span·class="o">.</span><span·class="n">north</span><span·class="p">,</span>·<span·class="n">value</span><span·class="o">.</span><span·class="n">east</span><span·class="p">,</span>·<span·class="n">value</span><span·class="o">.</span><span·class="n">south</span><span·class="p">,</span>·<span·class="n">value</span><span·class="o">.</span><span·class="n">west</span><span·class="p">)]</span>589 ············<span·class="p">[</span><span·class="s2">&quot;&quot;</span><span·class="o">.</span><span·class="n">join</span><span·class="p">(</span><span·class="n">l</span><span·class="p">)</span>·<span·class="k">for</span>·<span·class="n">l</span>·<span·class="ow">in</span>·<span·class="p">(</span><span·class="n">value</span><span·class="o">.</span><span·class="n">north</span><span·class="p">,</span>·<span·class="n">value</span><span·class="o">.</span><span·class="n">east</span><span·class="p">,</span>·<span·class="n">value</span><span·class="o">.</span><span·class="n">south</span><span·class="p">,</span>·<span·class="n">value</span><span·class="o">.</span><span·class="n">west</span><span·class="p">)]</span>
589 ········<span·class="p">)</span>590 ········<span·class="p">)</span>
590 </pre></div>591 </pre></div>
591 </div>592 </div>
592 <div·class="admonition·warning">593 <div·class="admonition·warning">
593 <p·class="admonition-title">Warning</p>594 <p·class="admonition-title">Hoiatus</p>
594 <p>If·your·custom·field·uses·the·<code·class="docutils·literal·notranslate"><span·class="pre">CHAR</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">VARCHAR</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">TEXT</span></code>595 <p>If·your·custom·field·uses·the·<code·class="docutils·literal·notranslate"><span·class="pre">CHAR</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">VARCHAR</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">TEXT</span></code>
595 types·for·MySQL,·you·must·make·sure·that·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.get_prep_value"·title="django.db.models.Field.get_prep_value"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_prep_value()</span></code></a>596 types·for·MySQL,·you·must·make·sure·that·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.get_prep_value"·title="django.db.models.Field.get_prep_value"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_prep_value()</span></code></a>
596 always·returns·a·string·type.·MySQL·performs·flexible·and·unexpected597 always·returns·a·string·type.·MySQL·performs·flexible·and·unexpected
597 matching·when·a·query·is·performed·on·these·types·and·the·provided598 matching·when·a·query·is·performed·on·these·types·and·the·provided
598 value·is·an·integer,·which·can·cause·queries·to·include·unexpected599 value·is·an·integer,·which·can·cause·queries·to·include·unexpected
599 objects·in·their·results.·This·problem·cannot·occur·if·you·always600 objects·in·their·results.·This·problem·cannot·occur·if·you·always
600 return·a·string·type·from·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.get_prep_value"·title="django.db.models.Field.get_prep_value"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_prep_value()</span></code></a>.</p>601 return·a·string·type·from·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.get_prep_value"·title="django.db.models.Field.get_prep_value"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_prep_value()</span></code></a>.</p>
Offset 769, 15 lines modifiedOffset 770, 15 lines modified
769 ······770 ······
770 ········771 ········
771 ··········<div·class="yui-b"·id="sidebar">772 ··········<div·class="yui-b"·id="sidebar">
772 ············773 ············
773 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">774 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
774 ········<div·class="sphinxsidebarwrapper">775 ········<div·class="sphinxsidebarwrapper">
775 ··<div>776 ··<div>
776 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>777 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
777 ····<ul>778 ····<ul>
778 <li><a·class="reference·internal"·href="#">How·to·create·custom·model·fields</a><ul>779 <li><a·class="reference·internal"·href="#">How·to·create·custom·model·fields</a><ul>
779 <li><a·class="reference·internal"·href="#introduction">Introduction</a><ul>780 <li><a·class="reference·internal"·href="#introduction">Introduction</a><ul>
780 <li><a·class="reference·internal"·href="#our-example-object">Our·example·object</a></li>781 <li><a·class="reference·internal"·href="#our-example-object">Our·example·object</a></li>
781 </ul>782 </ul>
782 </li>783 </li>
783 <li><a·class="reference·internal"·href="#background-theory">Background·theory</a><ul>784 <li><a·class="reference·internal"·href="#background-theory">Background·theory</a><ul>
Offset 810, 37 lines modifiedOffset 811, 37 lines modified
810 </li>811 </li>
811 </ul>812 </ul>
812 </li>813 </li>
813 </ul>814 </ul>
  
814 ··</div>815 ··</div>
815 ··<div>816 ··<div>
Max diff block lines reached; 1388/12623 bytes (11.00%) of diff not shown.
7.87 KB
html2text {}
Max HTML report size reached
9.66 KB
./usr/share/doc/python-django-doc/html/howto/custom-template-backend.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·implement·a·custom·template·backend·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·implement·a·custom·template·backend·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·create·custom·template·tags·and·filters"·href="custom-template-tags.html"·/>15 ····<link·rel="next"·title="How·to·create·custom·template·tags·and·filters"·href="custom-template-tags.html"·/>
15 ····<link·rel="prev"·title="How·to·override·templates"·href="overriding-templates.html"·/>16 ····<link·rel="prev"·title="How·to·override·templates"·href="overriding-templates.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 155, 15 lines modifiedOffset 156, 15 lines modified
155 <section·id="s-contextual-line-information">156 <section·id="s-contextual-line-information">
156 <span·id="contextual-line-information"></span><h3>Contextual·line·information<a·class="headerlink"·href="#contextual-line-information"·title="Link·to·this·heading">¶</a></h3>157 <span·id="contextual-line-information"></span><h3>Contextual·line·information<a·class="headerlink"·href="#contextual-line-information"·title="Link·to·this·heading">¶</a></h3>
157 <p>If·an·error·happens·during·template·parsing·or·rendering,·Django·can·display158 <p>If·an·error·happens·during·template·parsing·or·rendering,·Django·can·display
158 the·line·the·error·happened·on.·For·example:</p>159 the·line·the·error·happened·on.·For·example:</p>
159 <img·alt="../_images/template-lines.png"·src="../_images/template-lines.png"·/>160 <img·alt="../_images/template-lines.png"·src="../_images/template-lines.png"·/>
160 <p>Custom·engines·can·populate·this·information·by·setting·a·<code·class="docutils·literal·notranslate"><span·class="pre">template_debug</span></code>161 <p>Custom·engines·can·populate·this·information·by·setting·a·<code·class="docutils·literal·notranslate"><span·class="pre">template_debug</span></code>
161 attribute·on·exceptions·raised·during·parsing·and·rendering.·This·attribute·is162 attribute·on·exceptions·raised·during·parsing·and·rendering.·This·attribute·is
162 a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·with·the·following·values:</p>163 a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·with·the·following·values:</p>
163 <ul·class="simple">164 <ul·class="simple">
164 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">'name'</span></code>:·The·name·of·the·template·in·which·the·exception·occurred.</p></li>165 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">'name'</span></code>:·The·name·of·the·template·in·which·the·exception·occurred.</p></li>
165 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">'message'</span></code>:·The·exception·message.</p></li>166 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">'message'</span></code>:·The·exception·message.</p></li>
166 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">'source_lines'</span></code>:·The·lines·before,·after,·and·including·the·line·the167 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">'source_lines'</span></code>:·The·lines·before,·after,·and·including·the·line·the
167 exception·occurred·on.·This·is·for·context,·so·it·shouldn’t·contain·more·than168 exception·occurred·on.·This·is·for·context,·so·it·shouldn’t·contain·more·than
168 20·lines·or·so.</p></li>169 20·lines·or·so.</p></li>
169 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">'line'</span></code>:·The·line·number·on·which·the·exception·occurred.</p></li>170 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">'line'</span></code>:·The·line·number·on·which·the·exception·occurred.</p></li>
Offset 227, 15 lines modifiedOffset 228, 15 lines modified
227 ······228 ······
228 ········229 ········
229 ··········<div·class="yui-b"·id="sidebar">230 ··········<div·class="yui-b"·id="sidebar">
230 ············231 ············
231 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">232 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
232 ········<div·class="sphinxsidebarwrapper">233 ········<div·class="sphinxsidebarwrapper">
233 ··<div>234 ··<div>
234 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>235 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
235 ····<ul>236 ····<ul>
236 <li><a·class="reference·internal"·href="#">How·to·implement·a·custom·template·backend</a><ul>237 <li><a·class="reference·internal"·href="#">How·to·implement·a·custom·template·backend</a><ul>
237 <li><a·class="reference·internal"·href="#custom-backends">Custom·backends</a></li>238 <li><a·class="reference·internal"·href="#custom-backends">Custom·backends</a></li>
238 <li><a·class="reference·internal"·href="#debug-integration-for-custom-engines">Debug·integration·for·custom·engines</a><ul>239 <li><a·class="reference·internal"·href="#debug-integration-for-custom-engines">Debug·integration·for·custom·engines</a><ul>
239 <li><a·class="reference·internal"·href="#template-postmortem">Template·postmortem</a></li>240 <li><a·class="reference·internal"·href="#template-postmortem">Template·postmortem</a></li>
240 <li><a·class="reference·internal"·href="#contextual-line-information">Contextual·line·information</a></li>241 <li><a·class="reference·internal"·href="#contextual-line-information">Contextual·line·information</a></li>
241 <li><a·class="reference·internal"·href="#origin-api-and-3rd-party-integration">Origin·API·and·3rd-party·integration</a></li>242 <li><a·class="reference·internal"·href="#origin-api-and-3rd-party-integration">Origin·API·and·3rd-party·integration</a></li>
Offset 243, 37 lines modifiedOffset 244, 37 lines modified
243 </li>244 </li>
244 </ul>245 </ul>
245 </li>246 </li>
246 </ul>247 </ul>
  
247 ··</div>248 ··</div>
248 ··<div>249 ··<div>
249 ····<h4>Previous·topic</h4>250 ····<h4>Eelmine·teema</h4>
250 ····<p·class="topless"><a·href="overriding-templates.html"251 ····<p·class="topless"><a·href="overriding-templates.html"
251 ··························title="previous·chapter">How·to·override·templates</a></p>252 ··························title="eelmine·jaotis">How·to·override·templates</a></p>
252 ··</div>253 ··</div>
253 ··<div>254 ··<div>
254 ····<h4>Next·topic</h4>255 ····<h4>Järgmine·teema</h4>
255 ····<p·class="topless"><a·href="custom-template-tags.html"256 ····<p·class="topless"><a·href="custom-template-tags.html"
256 ··························title="next·chapter">How·to·create·custom·template·tags·and·filters</a></p>257 ··························title="järgmine·jaotis">How·to·create·custom·template·tags·and·filters</a></p>
257 ··</div>258 ··</div>
258 <search·id="searchbox"·style="display:·none"·role="search">259 <search·id="searchbox"·style="display:·none"·role="search">
259 ··<h3·id="searchlabel">Quick·search</h3>260 ··<h3·id="searchlabel">Kiirotsing</h3>
260 ····<div·class="searchformwrapper">261 ····<div·class="searchformwrapper">
261 ····<form·class="search"·action="../search.html"·method="get">262 ····<form·class="search"·action="../search.html"·method="get">
262 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>263 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
263 ······<input·type="submit"·value="Go"·/>264 ······<input·type="submit"·value="Otsi"·/>
264 ····</form>265 ····</form>
265 ····</div>266 ····</div>
266 </search>267 </search>
267 <script>document.getElementById('searchbox').style.display·=·"block"</script>268 <script>document.getElementById('searchbox').style.display·=·"block"</script>
268 ········</div>269 ········</div>
269 ······</div>270 ······</div>
270 ··············<h3>Last·update:</h3>271 ··············<h3>Last·update:</h3>
271 ··············<p·class="topless">Nov·05,·2024</p>272 ··············<p·class="topless">nov·05,·2024</p>
272 ··········</div>273 ··········</div>
273 ········274 ········
274 ······275 ······
275 ····</div>276 ····</div>
  
276 ····<div·id="ft">277 ····<div·id="ft">
277 ······<div·class="nav">278 ······<div·class="nav">
3.0 KB
html2text {}
Max HTML report size reached
51.5 KB
./usr/share/doc/python-django-doc/html/howto/custom-template-tags.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·create·custom·template·tags·and·filters·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·create·custom·template·tags·and·filters·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)"·href="static-files/index.html"·/>15 ····<link·rel="next"·title="How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)"·href="static-files/index.html"·/>
15 ····<link·rel="prev"·title="How·to·implement·a·custom·template·backend"·href="custom-template-backend.html"·/>16 ····<link·rel="prev"·title="How·to·implement·a·custom·template·backend"·href="custom-template-backend.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 279, 19 lines modifiedOffset 280, 19 lines modified
279 handling·for·you.·All·you·need·to·do·is·set·the·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·flag·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>280 handling·for·you.·All·you·need·to·do·is·set·the·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·flag·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>
280 when·you·register·your·filter·function,·like·so:</p>281 when·you·register·your·filter·function,·like·so:</p>
281 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="nd">@register</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">is_safe</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>282 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="nd">@register</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">is_safe</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>
282 <span·class="k">def</span>·<span·class="nf">myfilter</span><span·class="p">(</span><span·class="n">value</span><span·class="p">):</span>283 <span·class="k">def</span>·<span·class="nf">myfilter</span><span·class="p">(</span><span·class="n">value</span><span·class="p">):</span>
283 ····<span·class="k">return</span>·<span·class="n">value</span>284 ····<span·class="k">return</span>·<span·class="n">value</span>
284 </pre></div>285 </pre></div>
285 </div>286 </div>
286 <p>This·flag·tells·Django·that·if·a·safe·string·is·passed·into·your287 <p>This·flag·tells·Django·that·if·a·safe·string·is·passed·into·your
287 filter,·the·result·will·still·be·safe·and·if·a·non-safe·string·is288 filter,·the·result·will·still·be·safe·and·if·a·non-safe·string·is
288 passed·in,·Django·will·automatically·escape·it,·if·necessary.</p>289 passed·in,·Django·will·automatically·escape·it,·if·necessary.</p>
289 <p>You·can·think·of·this·as·meaning·this·filter·is·safe··it·doesn’t290 <p>You·can·think·of·this·as·meaning·this·filter·is·safe··it·doesn’t
290 introduce·any·possibility·of·unsafe·HTML.</p>291 introduce·any·possibility·of·unsafe·HTML.</p>
291 <p>The·reason·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·is·necessary·is·because·there·are·plenty·of292 <p>The·reason·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·is·necessary·is·because·there·are·plenty·of
292 normal·string·operations·that·will·turn·a·<code·class="docutils·literal·notranslate"><span·class="pre">SafeData</span></code>·object·back·into293 normal·string·operations·that·will·turn·a·<code·class="docutils·literal·notranslate"><span·class="pre">SafeData</span></code>·object·back·into
293 a·normal·<code·class="docutils·literal·notranslate"><span·class="pre">str</span></code>·object·and,·rather·than·try·to·catch·them·all,·which·would294 a·normal·<code·class="docutils·literal·notranslate"><span·class="pre">str</span></code>·object·and,·rather·than·try·to·catch·them·all,·which·would
294 be·very·difficult,·Django·repairs·the·damage·after·the·filter·has·completed.</p>295 be·very·difficult,·Django·repairs·the·damage·after·the·filter·has·completed.</p>
295 <p>For·example,·suppose·you·have·a·filter·that·adds·the·string·<code·class="docutils·literal·notranslate"><span·class="pre">xx</span></code>·to296 <p>For·example,·suppose·you·have·a·filter·that·adds·the·string·<code·class="docutils·literal·notranslate"><span·class="pre">xx</span></code>·to
296 the·end·of·any·input.·Since·this·introduces·no·dangerous·HTML·characters297 the·end·of·any·input.·Since·this·introduces·no·dangerous·HTML·characters
297 to·the·result·(aside·from·any·that·were·already·present),·you·should298 to·the·result·(aside·from·any·that·were·already·present),·you·should
Offset 299, 15 lines modifiedOffset 300, 15 lines modified
299 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="nd">@register</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">is_safe</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>300 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="nd">@register</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">is_safe</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>
300 <span·class="k">def</span>·<span·class="nf">add_xx</span><span·class="p">(</span><span·class="n">value</span><span·class="p">):</span>301 <span·class="k">def</span>·<span·class="nf">add_xx</span><span·class="p">(</span><span·class="n">value</span><span·class="p">):</span>
301 ····<span·class="k">return</span>·<span·class="s2">&quot;</span><span·class="si">%s</span><span·class="s2">xx&quot;</span>·<span·class="o">%</span>·<span·class="n">value</span>302 ····<span·class="k">return</span>·<span·class="s2">&quot;</span><span·class="si">%s</span><span·class="s2">xx&quot;</span>·<span·class="o">%</span>·<span·class="n">value</span>
302 </pre></div>303 </pre></div>
303 </div>304 </div>
304 <p>When·this·filter·is·used·in·a·template·where·auto-escaping·is·enabled,305 <p>When·this·filter·is·used·in·a·template·where·auto-escaping·is·enabled,
305 Django·will·escape·the·output·whenever·the·input·is·not·already·marked306 Django·will·escape·the·output·whenever·the·input·is·not·already·marked
306 as·safe.</p>307 as·safe.</p>
307 <p>By·default,·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·and·you·can·omit·it·from·any·filters308 <p>By·default,·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·and·you·can·omit·it·from·any·filters
308 where·it·isn’t·required.</p>309 where·it·isn’t·required.</p>
309 <p>Be·careful·when·deciding·if·your·filter·really·does·leave·safe·strings310 <p>Be·careful·when·deciding·if·your·filter·really·does·leave·safe·strings
310 as·safe.·If·you’re·<em>removing</em>·characters,·you·might·inadvertently·leave311 as·safe.·If·you’re·<em>removing</em>·characters,·you·might·inadvertently·leave
311 unbalanced·HTML·tags·or·entities·in·the·result.·For·example,·removing·a312 unbalanced·HTML·tags·or·entities·in·the·result.·For·example,·removing·a
312 <code·class="docutils·literal·notranslate"><span·class="pre">&gt;</span></code>·from·the·input·might·turn·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;a&gt;</span></code>·into·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;a</span></code>,·which·would·need·to313 <code·class="docutils·literal·notranslate"><span·class="pre">&gt;</span></code>·from·the·input·might·turn·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;a&gt;</span></code>·into·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;a</span></code>,·which·would·need·to
313 be·escaped·on·output·to·avoid·causing·problems.·Similarly,·removing·a314 be·escaped·on·output·to·avoid·causing·problems.·Similarly,·removing·a
Offset 315, 15 lines modifiedOffset 316, 15 lines modified
315 valid·entity·and·thus·needs·further·escaping.·Most·cases·won’t·be·nearly316 valid·entity·and·thus·needs·further·escaping.·Most·cases·won’t·be·nearly
316 this·tricky,·but·keep·an·eye·out·for·any·problems·like·that·when317 this·tricky,·but·keep·an·eye·out·for·any·problems·like·that·when
317 reviewing·your·code.</p>318 reviewing·your·code.</p>
318 <p>Marking·a·filter·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·will·coerce·the·filter’s·return·value·to319 <p>Marking·a·filter·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·will·coerce·the·filter’s·return·value·to
319 a·string.··If·your·filter·should·return·a·boolean·or·other·non-string320 a·string.··If·your·filter·should·return·a·boolean·or·other·non-string
320 value,·marking·it·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·will·probably·have·unintended321 value,·marking·it·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·will·probably·have·unintended
321 consequences·(such·as·converting·a·boolean·False·to·the·string322 consequences·(such·as·converting·a·boolean·False·to·the·string
322 False).</p>323 False).</p>
323 </li>324 </li>
324 <li><p>Alternatively,·your·filter·code·can·manually·take·care·of·any·necessary325 <li><p>Alternatively,·your·filter·code·can·manually·take·care·of·any·necessary
325 escaping.·This·is·necessary·when·you’re·introducing·new·HTML·markup·into326 escaping.·This·is·necessary·when·you’re·introducing·new·HTML·markup·into
326 the·result.·You·want·to·mark·the·output·as·safe·from·further327 the·result.·You·want·to·mark·the·output·as·safe·from·further
327 escaping·so·that·your·HTML·markup·isn’t·escaped·further,·so·you’ll·need328 escaping·so·that·your·HTML·markup·isn’t·escaped·further,·so·you’ll·need
328 to·handle·the·input·yourself.</p>329 to·handle·the·input·yourself.</p>
329 <p>To·mark·the·output·as·a·safe·string,·use330 <p>To·mark·the·output·as·a·safe·string,·use
Offset 361, 30 lines modifiedOffset 362, 30 lines modified
361 ····<span·class="k">return</span>·<span·class="n">mark_safe</span><span·class="p">(</span><span·class="n">result</span><span·class="p">)</span>362 ····<span·class="k">return</span>·<span·class="n">mark_safe</span><span·class="p">(</span><span·class="n">result</span><span·class="p">)</span>
362 </pre></div>363 </pre></div>
363 </div>364 </div>
364 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">needs_autoescape</span></code>·flag·and·the·<code·class="docutils·literal·notranslate"><span·class="pre">autoescape</span></code>·keyword·argument·mean365 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">needs_autoescape</span></code>·flag·and·the·<code·class="docutils·literal·notranslate"><span·class="pre">autoescape</span></code>·keyword·argument·mean
365 that·our·function·will·know·whether·automatic·escaping·is·in·effect·when·the366 that·our·function·will·know·whether·automatic·escaping·is·in·effect·when·the
366 filter·is·called.·We·use·<code·class="docutils·literal·notranslate"><span·class="pre">autoescape</span></code>·to·decide·whether·the·input·data367 filter·is·called.·We·use·<code·class="docutils·literal·notranslate"><span·class="pre">autoescape</span></code>·to·decide·whether·the·input·data
367 needs·to·be·passed·through·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.conditional_escape</span></code>·or·not.368 needs·to·be·passed·through·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.conditional_escape</span></code>·or·not.
368 (In·the·latter·case,·we·use·the·identity·function·as·the·escape·function.)369 (In·the·latter·case,·we·use·the·identity·function·as·the·escape·function.)
369 The·<code·class="docutils·literal·notranslate"><span·class="pre">conditional_escape()</span></code>·function·is·like·<code·class="docutils·literal·notranslate"><span·class="pre">escape()</span></code>·except·it·only370 The·<code·class="docutils·literal·notranslate"><span·class="pre">conditional_escape()</span></code>·function·is·like·<code·class="docutils·literal·notranslate"><span·class="pre">escape()</span></code>·except·it·only
370 escapes·input·that·is·<strong>not</strong>·a·<code·class="docutils·literal·notranslate"><span·class="pre">SafeData</span></code>·instance.·If·a·<code·class="docutils·literal·notranslate"><span·class="pre">SafeData</span></code>371 escapes·input·that·is·<strong>not</strong>·a·<code·class="docutils·literal·notranslate"><span·class="pre">SafeData</span></code>·instance.·If·a·<code·class="docutils·literal·notranslate"><span·class="pre">SafeData</span></code>
371 instance·is·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">conditional_escape()</span></code>,·the·data·is·returned372 instance·is·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">conditional_escape()</span></code>,·the·data·is·returned
372 unchanged.</p>373 unchanged.</p>
373 <p>Finally,·in·the·above·example,·we·remember·to·mark·the·result·as·safe374 <p>Finally,·in·the·above·example,·we·remember·to·mark·the·result·as·safe
374 so·that·our·HTML·is·inserted·directly·into·the·template·without·further375 so·that·our·HTML·is·inserted·directly·into·the·template·without·further
375 escaping.</p>376 escaping.</p>
376 <p>There’s·no·need·to·worry·about·the·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·flag·in·this·case377 <p>There’s·no·need·to·worry·about·the·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·flag·in·this·case
377 (although·including·it·wouldn’t·hurt·anything).·Whenever·you·manually378 (although·including·it·wouldn’t·hurt·anything).·Whenever·you·manually
378 handle·the·auto-escaping·issues·and·return·a·safe·string,·the379 handle·the·auto-escaping·issues·and·return·a·safe·string,·the
379 <code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·flag·won’t·change·anything·either·way.</p>380 <code·class="docutils·literal·notranslate"><span·class="pre">is_safe</span></code>·flag·won’t·change·anything·either·way.</p>
380 </li>381 </li>
381 </ol>382 </ol>
382 <div·class="admonition·warning">383 <div·class="admonition·warning">
383 <p·class="admonition-title">Warning</p>384 <p·class="admonition-title">Hoiatus</p>
384 <p>Avoiding·XSS·vulnerabilities·when·reusing·built-in·filters</p>385 <p>Avoiding·XSS·vulnerabilities·when·reusing·built-in·filters</p>
385 <p>Django’s·built-in·filters·have·<code·class="docutils·literal·notranslate"><span·class="pre">autoescape=True</span></code>·by·default·in·order·to386 <p>Django’s·built-in·filters·have·<code·class="docutils·literal·notranslate"><span·class="pre">autoescape=True</span></code>·by·default·in·order·to
386 get·the·proper·autoescaping·behavior·and·avoid·a·cross-site·script387 get·the·proper·autoescaping·behavior·and·avoid·a·cross-site·script
387 vulnerability.</p>388 vulnerability.</p>
388 <p>In·older·versions·of·Django,·be·careful·when·reusing·Django’s·built-in389 <p>In·older·versions·of·Django,·be·careful·when·reusing·Django’s·built-in
389 filters·as·<code·class="docutils·literal·notranslate"><span·class="pre">autoescape</span></code>·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.·You’ll·need·to·pass390 filters·as·<code·class="docutils·literal·notranslate"><span·class="pre">autoescape</span></code>·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.·You’ll·need·to·pass
390 <code·class="docutils·literal·notranslate"><span·class="pre">autoescape=True</span></code>·to·get·autoescaping.</p>391 <code·class="docutils·literal·notranslate"><span·class="pre">autoescape=True</span></code>·to·get·autoescaping.</p>
Offset 407, 15 lines modifiedOffset 408, 15 lines modified
407 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{{</span>·<span·class="nv">comment</span><span·class="o">|</span><span·class="nf">urlize</span><span·class="o">|</span><span·class="nf">linebreaksbr</span>·<span·class="cp">}}</span>408 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{{</span>·<span·class="nv">comment</span><span·class="o">|</span><span·class="nf">urlize</span><span·class="o">|</span><span·class="nf">linebreaksbr</span>·<span·class="cp">}}</span>
408 </pre></div>409 </pre></div>
409 </div>410 </div>
410 </div>411 </div>
Max diff block lines reached; 23759/34207 bytes (69.46%) of diff not shown.
17.9 KB
html2text {}
Max HTML report size reached
7.88 KB
./usr/share/doc/python-django-doc/html/howto/delete-app.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·delete·a·Django·application·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·delete·a·Django·application·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·upgrade·Django·to·a·newer·version"·href="upgrade-version.html"·/>15 ····<link·rel="next"·title="How·to·upgrade·Django·to·a·newer·version"·href="upgrade-version.html"·/>
15 ····<link·rel="prev"·title="How·to·manage·error·reporting"·href="error-reporting.html"·/>16 ····<link·rel="prev"·title="How·to·manage·error·reporting"·href="error-reporting.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 86, 15 lines modifiedOffset 87, 15 lines modified
86 <ol·class="arabic·simple">87 <ol·class="arabic·simple">
87 <li><p>Remove·all·references·to·the·app·(imports,·foreign·keys·etc.).</p></li>88 <li><p>Remove·all·references·to·the·app·(imports,·foreign·keys·etc.).</p></li>
88 <li><p>Remove·all·models·from·the·corresponding·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>·file.</p></li>89 <li><p>Remove·all·models·from·the·corresponding·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>·file.</p></li>
89 <li><p>Create·relevant·migrations·by·running·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-makemigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">makemigrations</span></code></a>.·This·step90 <li><p>Create·relevant·migrations·by·running·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-makemigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">makemigrations</span></code></a>.·This·step
90 generates·a·migration·that·deletes·tables·for·the·removed·models,·and·any91 generates·a·migration·that·deletes·tables·for·the·removed·models,·and·any
91 other·required·migration·for·updating·relationships·connected·to·those92 other·required·migration·for·updating·relationships·connected·to·those
92 models.</p></li>93 models.</p></li>
93 <li><p><a·class="reference·internal"·href="../topics/migrations.html#migration-squashing"><span·class="std·std-ref">Squash</span></a>·out·references·to·the·app·in·other·apps94 <li><p><a·class="reference·internal"·href="../topics/migrations.html#migration-squashing"><span·class="std·std-ref">Squash</span></a>·out·references·to·the·app·in·other·apps
94 migrations.</p></li>95 migrations.</p></li>
95 <li><p>Apply·migrations·locally,·runs·tests,·and·verify·the·correctness·of·your96 <li><p>Apply·migrations·locally,·runs·tests,·and·verify·the·correctness·of·your
96 project.</p></li>97 project.</p></li>
97 <li><p>Deploy/release·your·updated·Django·project.</p></li>98 <li><p>Deploy/release·your·updated·Django·project.</p></li>
98 <li><p>Remove·the·app·from·<a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>.</p></li>99 <li><p>Remove·the·app·from·<a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>.</p></li>
99 <li><p>Finally,·remove·the·app’s·directory.</p></li>100 <li><p>Finally,·remove·the·app’s·directory.</p></li>
100 </ol>101 </ol>
Offset 107, 37 lines modifiedOffset 108, 37 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="error-reporting.html"116 ····<p·class="topless"><a·href="error-reporting.html"
116 ··························title="previous·chapter">How·to·manage·error·reporting</a></p>117 ··························title="eelmine·jaotis">How·to·manage·error·reporting</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="upgrade-version.html"121 ····<p·class="topless"><a·href="upgrade-version.html"
121 ··························title="next·chapter">How·to·upgrade·Django·to·a·newer·version</a></p>122 ··························title="järgmine·jaotis">How·to·upgrade·Django·to·a·newer·version</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.47 KB
html2text {}
Max HTML report size reached
6.95 KB
./usr/share/doc/python-django-doc/html/howto/deployment/asgi/daphne.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·use·Django·with·Daphne·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·use·Django·with·Daphne·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="How·to·use·Django·with·Hypercorn"·href="hypercorn.html"·/>15 ····<link·rel="next"·title="How·to·use·Django·with·Hypercorn"·href="hypercorn.html"·/>
15 ····<link·rel="prev"·title="How·to·deploy·with·ASGI"·href="index.html"·/>16 ····<link·rel="prev"·title="How·to·deploy·with·ASGI"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 127, 49 lines modifiedOffset 128, 49 lines modified
127 ······128 ······
128 ········129 ········
129 ··········<div·class="yui-b"·id="sidebar">130 ··········<div·class="yui-b"·id="sidebar">
130 ············131 ············
131 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">132 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
132 ········<div·class="sphinxsidebarwrapper">133 ········<div·class="sphinxsidebarwrapper">
133 ··<div>134 ··<div>
134 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>135 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
135 ····<ul>136 ····<ul>
136 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Daphne</a><ul>137 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Daphne</a><ul>
137 <li><a·class="reference·internal"·href="#installing-daphne">Installing·Daphne</a></li>138 <li><a·class="reference·internal"·href="#installing-daphne">Installing·Daphne</a></li>
138 <li><a·class="reference·internal"·href="#running-django-in-daphne">Running·Django·in·Daphne</a></li>139 <li><a·class="reference·internal"·href="#running-django-in-daphne">Running·Django·in·Daphne</a></li>
139 <li><a·class="reference·internal"·href="#integration-with-runserver">Integration·with·<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code></a></li>140 <li><a·class="reference·internal"·href="#integration-with-runserver">Integration·with·<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code></a></li>
140 </ul>141 </ul>
141 </li>142 </li>
142 </ul>143 </ul>
  
143 ··</div>144 ··</div>
144 ··<div>145 ··<div>
145 ····<h4>Previous·topic</h4>146 ····<h4>Eelmine·teema</h4>
146 ····<p·class="topless"><a·href="index.html"147 ····<p·class="topless"><a·href="index.html"
147 ··························title="previous·chapter">How·to·deploy·with·ASGI</a></p>148 ··························title="eelmine·jaotis">How·to·deploy·with·ASGI</a></p>
148 ··</div>149 ··</div>
149 ··<div>150 ··<div>
150 ····<h4>Next·topic</h4>151 ····<h4>Järgmine·teema</h4>
151 ····<p·class="topless"><a·href="hypercorn.html"152 ····<p·class="topless"><a·href="hypercorn.html"
152 ··························title="next·chapter">How·to·use·Django·with·Hypercorn</a></p>153 ··························title="järgmine·jaotis">How·to·use·Django·with·Hypercorn</a></p>
153 ··</div>154 ··</div>
154 <search·id="searchbox"·style="display:·none"·role="search">155 <search·id="searchbox"·style="display:·none"·role="search">
155 ··<h3·id="searchlabel">Quick·search</h3>156 ··<h3·id="searchlabel">Kiirotsing</h3>
156 ····<div·class="searchformwrapper">157 ····<div·class="searchformwrapper">
157 ····<form·class="search"·action="../../../search.html"·method="get">158 ····<form·class="search"·action="../../../search.html"·method="get">
158 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>159 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
159 ······<input·type="submit"·value="Go"·/>160 ······<input·type="submit"·value="Otsi"·/>
160 ····</form>161 ····</form>
161 ····</div>162 ····</div>
162 </search>163 </search>
163 <script>document.getElementById('searchbox').style.display·=·"block"</script>164 <script>document.getElementById('searchbox').style.display·=·"block"</script>
164 ········</div>165 ········</div>
165 ······</div>166 ······</div>
166 ··············<h3>Last·update:</h3>167 ··············<h3>Last·update:</h3>
167 ··············<p·class="topless">Nov·05,·2024</p>168 ··············<p·class="topless">nov·05,·2024</p>
168 ··········</div>169 ··········</div>
169 ········170 ········
170 ······171 ······
171 ····</div>172 ····</div>
  
172 ····<div·id="ft">173 ····<div·id="ft">
173 ······<div·class="nav">174 ······<div·class="nav">
2.35 KB
html2text {}
Max HTML report size reached
7.01 KB
./usr/share/doc/python-django-doc/html/howto/deployment/asgi/hypercorn.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·use·Django·with·Hypercorn·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·use·Django·with·Hypercorn·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="How·to·use·Django·with·Uvicorn"·href="uvicorn.html"·/>15 ····<link·rel="next"·title="How·to·use·Django·with·Uvicorn"·href="uvicorn.html"·/>
15 ····<link·rel="prev"·title="How·to·use·Django·with·Daphne"·href="daphne.html"·/>16 ····<link·rel="prev"·title="How·to·use·Django·with·Daphne"·href="daphne.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 112, 48 lines modifiedOffset 113, 48 lines modified
112 ······113 ······
113 ········114 ········
114 ··········<div·class="yui-b"·id="sidebar">115 ··········<div·class="yui-b"·id="sidebar">
115 ············116 ············
116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
117 ········<div·class="sphinxsidebarwrapper">118 ········<div·class="sphinxsidebarwrapper">
118 ··<div>119 ··<div>
119 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>120 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
120 ····<ul>121 ····<ul>
121 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Hypercorn</a><ul>122 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Hypercorn</a><ul>
122 <li><a·class="reference·internal"·href="#installing-hypercorn">Installing·Hypercorn</a></li>123 <li><a·class="reference·internal"·href="#installing-hypercorn">Installing·Hypercorn</a></li>
123 <li><a·class="reference·internal"·href="#running-django-in-hypercorn">Running·Django·in·Hypercorn</a></li>124 <li><a·class="reference·internal"·href="#running-django-in-hypercorn">Running·Django·in·Hypercorn</a></li>
124 </ul>125 </ul>
125 </li>126 </li>
126 </ul>127 </ul>
  
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Previous·topic</h4>130 ····<h4>Eelmine·teema</h4>
130 ····<p·class="topless"><a·href="daphne.html"131 ····<p·class="topless"><a·href="daphne.html"
131 ··························title="previous·chapter">How·to·use·Django·with·Daphne</a></p>132 ··························title="eelmine·jaotis">How·to·use·Django·with·Daphne</a></p>
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Next·topic</h4>135 ····<h4>Järgmine·teema</h4>
135 ····<p·class="topless"><a·href="uvicorn.html"136 ····<p·class="topless"><a·href="uvicorn.html"
136 ··························title="next·chapter">How·to·use·Django·with·Uvicorn</a></p>137 ··························title="järgmine·jaotis">How·to·use·Django·with·Uvicorn</a></p>
137 ··</div>138 ··</div>
138 <search·id="searchbox"·style="display:·none"·role="search">139 <search·id="searchbox"·style="display:·none"·role="search">
139 ··<h3·id="searchlabel">Quick·search</h3>140 ··<h3·id="searchlabel">Kiirotsing</h3>
140 ····<div·class="searchformwrapper">141 ····<div·class="searchformwrapper">
141 ····<form·class="search"·action="../../../search.html"·method="get">142 ····<form·class="search"·action="../../../search.html"·method="get">
142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
143 ······<input·type="submit"·value="Go"·/>144 ······<input·type="submit"·value="Otsi"·/>
144 ····</form>145 ····</form>
145 ····</div>146 ····</div>
146 </search>147 </search>
147 <script>document.getElementById('searchbox').style.display·=·"block"</script>148 <script>document.getElementById('searchbox').style.display·=·"block"</script>
148 ········</div>149 ········</div>
149 ······</div>150 ······</div>
150 ··············<h3>Last·update:</h3>151 ··············<h3>Last·update:</h3>
151 ··············<p·class="topless">Nov·05,·2024</p>152 ··············<p·class="topless">nov·05,·2024</p>
152 ··········</div>153 ··········</div>
153 ········154 ········
154 ······155 ······
155 ····</div>156 ····</div>
  
156 ····<div·id="ft">157 ····<div·id="ft">
157 ······<div·class="nav">158 ······<div·class="nav">
2.56 KB
html2text {}
Max HTML report size reached
9.78 KB
./usr/share/doc/python-django-doc/html/howto/deployment/asgi/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·deploy·with·ASGI·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·deploy·with·ASGI·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="How·to·use·Django·with·Daphne"·href="daphne.html"·/>15 ····<link·rel="next"·title="How·to·use·Django·with·Daphne"·href="daphne.html"·/>
15 ····<link·rel="prev"·title="How·to·authenticate·against·Django’s·user·database·from·Apache"·href="../wsgi/apache-auth.html"·/>16 ····<link·rel="prev"·title="How·to·authenticate·against·Django’s·user·database·from·Apache"·href="../wsgi/apache-auth.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 101, 15 lines modifiedOffset 102, 15 lines modified
101 <p>The·<a·class="reference·internal"·href="../../../ref/django-admin.html#django-admin-startproject"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startproject</span></code></a>·command·creates·a·file102 <p>The·<a·class="reference·internal"·href="../../../ref/django-admin.html#django-admin-startproject"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startproject</span></code></a>·command·creates·a·file
102 <code·class="file·docutils·literal·notranslate"><span·class="pre">&lt;project_name&gt;/asgi.py</span></code>·that·contains·such·an·<code·class="docutils·literal·notranslate"><span·class="pre">application</span></code>·callable.</p>103 <code·class="file·docutils·literal·notranslate"><span·class="pre">&lt;project_name&gt;/asgi.py</span></code>·that·contains·such·an·<code·class="docutils·literal·notranslate"><span·class="pre">application</span></code>·callable.</p>
103 <p>It’s·not·used·by·the·development·server·(<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code>),·but·can·be·used·by104 <p>It’s·not·used·by·the·development·server·(<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code>),·but·can·be·used·by
104 any·ASGI·server·either·in·development·or·in·production.</p>105 any·ASGI·server·either·in·development·or·in·production.</p>
105 <p>ASGI·servers·usually·take·the·path·to·the·application·callable·as·a·string;106 <p>ASGI·servers·usually·take·the·path·to·the·application·callable·as·a·string;
106 for·most·Django·projects,·this·will·look·like·<code·class="docutils·literal·notranslate"><span·class="pre">myproject.asgi:application</span></code>.</p>107 for·most·Django·projects,·this·will·look·like·<code·class="docutils·literal·notranslate"><span·class="pre">myproject.asgi:application</span></code>.</p>
107 <div·class="admonition·warning">108 <div·class="admonition·warning">
108 <p·class="admonition-title">Warning</p>109 <p·class="admonition-title">Hoiatus</p>
109 <p>While·Django’s·default·ASGI·handler·will·run·all·your·code·in·a·synchronous110 <p>While·Django’s·default·ASGI·handler·will·run·all·your·code·in·a·synchronous
110 thread,·if·you·choose·to·run·your·own·async·handler·you·must·be·aware·of111 thread,·if·you·choose·to·run·your·own·async·handler·you·must·be·aware·of
111 async-safety.</p>112 async-safety.</p>
112 <p>Do·not·call·blocking·synchronous·functions·or·libraries·in·any·async·code.113 <p>Do·not·call·blocking·synchronous·functions·or·libraries·in·any·async·code.
113 Django·prevents·you·from·doing·this·with·the·parts·of·Django·that·are·not114 Django·prevents·you·from·doing·this·with·the·parts·of·Django·that·are·not
114 async-safe,·but·the·same·may·not·be·true·of·third-party·apps·or·Python115 async-safe,·but·the·same·may·not·be·true·of·third-party·apps·or·Python
115 libraries.</p>116 libraries.</p>
Offset 145, 49 lines modifiedOffset 146, 49 lines modified
145 ······146 ······
146 ········147 ········
147 ··········<div·class="yui-b"·id="sidebar">148 ··········<div·class="yui-b"·id="sidebar">
148 ············149 ············
149 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">150 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
150 ········<div·class="sphinxsidebarwrapper">151 ········<div·class="sphinxsidebarwrapper">
151 ··<div>152 ··<div>
152 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>153 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
153 ····<ul>154 ····<ul>
154 <li><a·class="reference·internal"·href="#">How·to·deploy·with·ASGI</a><ul>155 <li><a·class="reference·internal"·href="#">How·to·deploy·with·ASGI</a><ul>
155 <li><a·class="reference·internal"·href="#the-application-object">The·<code·class="docutils·literal·notranslate"><span·class="pre">application</span></code>·object</a></li>156 <li><a·class="reference·internal"·href="#the-application-object">The·<code·class="docutils·literal·notranslate"><span·class="pre">application</span></code>·object</a></li>
156 <li><a·class="reference·internal"·href="#configuring-the-settings-module">Configuring·the·settings·module</a></li>157 <li><a·class="reference·internal"·href="#configuring-the-settings-module">Configuring·the·settings·module</a></li>
157 <li><a·class="reference·internal"·href="#applying-asgi-middleware">Applying·ASGI·middleware</a></li>158 <li><a·class="reference·internal"·href="#applying-asgi-middleware">Applying·ASGI·middleware</a></li>
158 </ul>159 </ul>
159 </li>160 </li>
160 </ul>161 </ul>
  
161 ··</div>162 ··</div>
162 ··<div>163 ··<div>
163 ····<h4>Previous·topic</h4>164 ····<h4>Eelmine·teema</h4>
164 ····<p·class="topless"><a·href="../wsgi/apache-auth.html"165 ····<p·class="topless"><a·href="../wsgi/apache-auth.html"
165 ··························title="previous·chapter">How·to·authenticate·against·Django’s·user·database·from·Apache</a></p>166 ··························title="eelmine·jaotis">How·to·authenticate·against·Django’s·user·database·from·Apache</a></p>
166 ··</div>167 ··</div>
167 ··<div>168 ··<div>
168 ····<h4>Next·topic</h4>169 ····<h4>Järgmine·teema</h4>
169 ····<p·class="topless"><a·href="daphne.html"170 ····<p·class="topless"><a·href="daphne.html"
170 ··························title="next·chapter">How·to·use·Django·with·Daphne</a></p>171 ··························title="järgmine·jaotis">How·to·use·Django·with·Daphne</a></p>
171 ··</div>172 ··</div>
172 <search·id="searchbox"·style="display:·none"·role="search">173 <search·id="searchbox"·style="display:·none"·role="search">
173 ··<h3·id="searchlabel">Quick·search</h3>174 ··<h3·id="searchlabel">Kiirotsing</h3>
174 ····<div·class="searchformwrapper">175 ····<div·class="searchformwrapper">
175 ····<form·class="search"·action="../../../search.html"·method="get">176 ····<form·class="search"·action="../../../search.html"·method="get">
176 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>177 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
177 ······<input·type="submit"·value="Go"·/>178 ······<input·type="submit"·value="Otsi"·/>
178 ····</form>179 ····</form>
179 ····</div>180 ····</div>
180 </search>181 </search>
181 <script>document.getElementById('searchbox').style.display·=·"block"</script>182 <script>document.getElementById('searchbox').style.display·=·"block"</script>
182 ········</div>183 ········</div>
183 ······</div>184 ······</div>
184 ··············<h3>Last·update:</h3>185 ··············<h3>Last·update:</h3>
185 ··············<p·class="topless">Nov·05,·2024</p>186 ··············<p·class="topless">nov·05,·2024</p>
186 ··········</div>187 ··········</div>
187 ········188 ········
188 ······189 ······
189 ····</div>190 ····</div>
  
190 ····<div·id="ft">191 ····<div·id="ft">
191 ······<div·class="nav">192 ······<div·class="nav">
3.62 KB
html2text {}
Max HTML report size reached
7.18 KB
./usr/share/doc/python-django-doc/html/howto/deployment/asgi/uvicorn.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·use·Django·with·Uvicorn·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·use·Django·with·Uvicorn·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Deployment·checklist"·href="../checklist.html"·/>15 ····<link·rel="next"·title="Deployment·checklist"·href="../checklist.html"·/>
15 ····<link·rel="prev"·title="How·to·use·Django·with·Hypercorn"·href="hypercorn.html"·/>16 ····<link·rel="prev"·title="How·to·use·Django·with·Hypercorn"·href="hypercorn.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 127, 49 lines modifiedOffset 128, 49 lines modified
127 ······128 ······
128 ········129 ········
129 ··········<div·class="yui-b"·id="sidebar">130 ··········<div·class="yui-b"·id="sidebar">
130 ············131 ············
131 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">132 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
132 ········<div·class="sphinxsidebarwrapper">133 ········<div·class="sphinxsidebarwrapper">
133 ··<div>134 ··<div>
134 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>135 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
135 ····<ul>136 ····<ul>
136 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Uvicorn</a><ul>137 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Uvicorn</a><ul>
137 <li><a·class="reference·internal"·href="#installing-uvicorn">Installing·Uvicorn</a></li>138 <li><a·class="reference·internal"·href="#installing-uvicorn">Installing·Uvicorn</a></li>
138 <li><a·class="reference·internal"·href="#running-django-in-uvicorn">Running·Django·in·Uvicorn</a></li>139 <li><a·class="reference·internal"·href="#running-django-in-uvicorn">Running·Django·in·Uvicorn</a></li>
139 <li><a·class="reference·internal"·href="#deploying-django-using-uvicorn-and-gunicorn">Deploying·Django·using·Uvicorn·and·Gunicorn</a></li>140 <li><a·class="reference·internal"·href="#deploying-django-using-uvicorn-and-gunicorn">Deploying·Django·using·Uvicorn·and·Gunicorn</a></li>
140 </ul>141 </ul>
141 </li>142 </li>
142 </ul>143 </ul>
  
143 ··</div>144 ··</div>
144 ··<div>145 ··<div>
145 ····<h4>Previous·topic</h4>146 ····<h4>Eelmine·teema</h4>
146 ····<p·class="topless"><a·href="hypercorn.html"147 ····<p·class="topless"><a·href="hypercorn.html"
147 ··························title="previous·chapter">How·to·use·Django·with·Hypercorn</a></p>148 ··························title="eelmine·jaotis">How·to·use·Django·with·Hypercorn</a></p>
148 ··</div>149 ··</div>
149 ··<div>150 ··<div>
150 ····<h4>Next·topic</h4>151 ····<h4>Järgmine·teema</h4>
151 ····<p·class="topless"><a·href="../checklist.html"152 ····<p·class="topless"><a·href="../checklist.html"
152 ··························title="next·chapter">Deployment·checklist</a></p>153 ··························title="järgmine·jaotis">Deployment·checklist</a></p>
153 ··</div>154 ··</div>
154 <search·id="searchbox"·style="display:·none"·role="search">155 <search·id="searchbox"·style="display:·none"·role="search">
155 ··<h3·id="searchlabel">Quick·search</h3>156 ··<h3·id="searchlabel">Kiirotsing</h3>
156 ····<div·class="searchformwrapper">157 ····<div·class="searchformwrapper">
157 ····<form·class="search"·action="../../../search.html"·method="get">158 ····<form·class="search"·action="../../../search.html"·method="get">
158 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>159 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
159 ······<input·type="submit"·value="Go"·/>160 ······<input·type="submit"·value="Otsi"·/>
160 ····</form>161 ····</form>
161 ····</div>162 ····</div>
162 </search>163 </search>
163 <script>document.getElementById('searchbox').style.display·=·"block"</script>164 <script>document.getElementById('searchbox').style.display·=·"block"</script>
164 ········</div>165 ········</div>
165 ······</div>166 ······</div>
166 ··············<h3>Last·update:</h3>167 ··············<h3>Last·update:</h3>
167 ··············<p·class="topless">Nov·05,·2024</p>168 ··············<p·class="topless">nov·05,·2024</p>
168 ··········</div>169 ··········</div>
169 ········170 ········
170 ······171 ······
171 ····</div>172 ····</div>
  
172 ····<div·id="ft">173 ····<div·id="ft">
173 ······<div·class="nav">174 ······<div·class="nav">
2.6 KB
html2text {}
Max HTML report size reached
10.7 KB
./usr/share/doc/python-django-doc/html/howto/deployment/checklist.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Deployment·checklist·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Deployment·checklist·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="How·to·deploy·static·files"·href="../static-files/deployment.html"·/>15 ····<link·rel="next"·title="How·to·deploy·static·files"·href="../static-files/deployment.html"·/>
15 ····<link·rel="prev"·title="How·to·use·Django·with·Uvicorn"·href="asgi/uvicorn.html"·/>16 ····<link·rel="prev"·title="How·to·use·Django·with·Uvicorn"·href="asgi/uvicorn.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 168, 15 lines modifiedOffset 169, 15 lines modified
168 header,·or·otherwise·ensure·that·you·aren’t·vulnerable·to·this·category·of169 header,·or·otherwise·ensure·that·you·aren’t·vulnerable·to·this·category·of
169 attacks.</p>170 attacks.</p>
170 <p>You·should·also·configure·the·web·server·that·sits·in·front·of·Django·to171 <p>You·should·also·configure·the·web·server·that·sits·in·front·of·Django·to
171 validate·the·host.·It·should·respond·with·a·static·error·page·or·ignore172 validate·the·host.·It·should·respond·with·a·static·error·page·or·ignore
172 requests·for·incorrect·hosts·instead·of·forwarding·the·request·to·Django.·This173 requests·for·incorrect·hosts·instead·of·forwarding·the·request·to·Django.·This
173 way·you’ll·avoid·spurious·errors·in·your·Django·logs·(or·emails·if·you·have174 way·you’ll·avoid·spurious·errors·in·your·Django·logs·(or·emails·if·you·have
174 error·reporting·configured·that·way).·For·example,·on·nginx·you·might·set·up·a175 error·reporting·configured·that·way).·For·example,·on·nginx·you·might·set·up·a
175 default·server·to·return·444·No·Response·on·an·unrecognized·host:</p>176 default·server·to·return·444·No·Response·on·an·unrecognized·host:</p>
176 <div·class="highlight-nginx·notranslate"><div·class="highlight"><pre><span></span><span·class="k">server</span><span·class="w">·</span><span·class="p">{</span>177 <div·class="highlight-nginx·notranslate"><div·class="highlight"><pre><span></span><span·class="k">server</span><span·class="w">·</span><span·class="p">{</span>
177 <span·class="w">····</span><span·class="kn">listen</span><span·class="w">·</span><span·class="mi">80</span><span·class="w">·</span><span·class="s">default_server</span><span·class="p">;</span>178 <span·class="w">····</span><span·class="kn">listen</span><span·class="w">·</span><span·class="mi">80</span><span·class="w">·</span><span·class="s">default_server</span><span·class="p">;</span>
178 <span·class="w">····</span><span·class="kn">return</span><span·class="w">·</span><span·class="mi">444</span><span·class="p">;</span>179 <span·class="w">····</span><span·class="kn">return</span><span·class="w">·</span><span·class="mi">444</span><span·class="p">;</span>
179 <span·class="p">}</span>180 <span·class="p">}</span>
180 </pre></div>181 </pre></div>
181 </div>182 </div>
182 </section>183 </section>
Offset 310, 15 lines modifiedOffset 311, 15 lines modified
310 ······311 ······
311 ········312 ········
312 ··········<div·class="yui-b"·id="sidebar">313 ··········<div·class="yui-b"·id="sidebar">
313 ············314 ············
314 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">315 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
315 ········<div·class="sphinxsidebarwrapper">316 ········<div·class="sphinxsidebarwrapper">
316 ··<div>317 ··<div>
317 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>318 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
318 ····<ul>319 ····<ul>
319 <li><a·class="reference·internal"·href="#">Deployment·checklist</a><ul>320 <li><a·class="reference·internal"·href="#">Deployment·checklist</a><ul>
320 <li><a·class="reference·internal"·href="#run-manage-py-check-deploy">Run·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">check</span>·<span·class="pre">--deploy</span></code></a></li>321 <li><a·class="reference·internal"·href="#run-manage-py-check-deploy">Run·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">check</span>·<span·class="pre">--deploy</span></code></a></li>
321 <li><a·class="reference·internal"·href="#switch-away-from-manage-py-runserver">Switch·away·from·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">runserver</span></code></a></li>322 <li><a·class="reference·internal"·href="#switch-away-from-manage-py-runserver">Switch·away·from·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">runserver</span></code></a></li>
322 <li><a·class="reference·internal"·href="#critical-settings">Critical·settings</a><ul>323 <li><a·class="reference·internal"·href="#critical-settings">Critical·settings</a><ul>
323 <li><a·class="reference·internal"·href="#secret-key"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a></li>324 <li><a·class="reference·internal"·href="#secret-key"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a></li>
324 <li><a·class="reference·internal"·href="#debug"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a></li>325 <li><a·class="reference·internal"·href="#debug"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a></li>
Offset 352, 37 lines modifiedOffset 353, 37 lines modified
352 </li>353 </li>
353 </ul>354 </ul>
354 </li>355 </li>
355 </ul>356 </ul>
  
356 ··</div>357 ··</div>
357 ··<div>358 ··<div>
358 ····<h4>Previous·topic</h4>359 ····<h4>Eelmine·teema</h4>
359 ····<p·class="topless"><a·href="asgi/uvicorn.html"360 ····<p·class="topless"><a·href="asgi/uvicorn.html"
360 ··························title="previous·chapter">How·to·use·Django·with·Uvicorn</a></p>361 ··························title="eelmine·jaotis">How·to·use·Django·with·Uvicorn</a></p>
361 ··</div>362 ··</div>
362 ··<div>363 ··<div>
363 ····<h4>Next·topic</h4>364 ····<h4>Järgmine·teema</h4>
364 ····<p·class="topless"><a·href="../static-files/deployment.html"365 ····<p·class="topless"><a·href="../static-files/deployment.html"
365 ··························title="next·chapter">How·to·deploy·static·files</a></p>366 ··························title="järgmine·jaotis">How·to·deploy·static·files</a></p>
366 ··</div>367 ··</div>
367 <search·id="searchbox"·style="display:·none"·role="search">368 <search·id="searchbox"·style="display:·none"·role="search">
368 ··<h3·id="searchlabel">Quick·search</h3>369 ··<h3·id="searchlabel">Kiirotsing</h3>
369 ····<div·class="searchformwrapper">370 ····<div·class="searchformwrapper">
370 ····<form·class="search"·action="../../search.html"·method="get">371 ····<form·class="search"·action="../../search.html"·method="get">
371 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>372 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
372 ······<input·type="submit"·value="Go"·/>373 ······<input·type="submit"·value="Otsi"·/>
373 ····</form>374 ····</form>
374 ····</div>375 ····</div>
375 </search>376 </search>
376 <script>document.getElementById('searchbox').style.display·=·"block"</script>377 <script>document.getElementById('searchbox').style.display·=·"block"</script>
377 ········</div>378 ········</div>
378 ······</div>379 ······</div>
379 ··············<h3>Last·update:</h3>380 ··············<h3>Last·update:</h3>
380 ··············<p·class="topless">Nov·05,·2024</p>381 ··············<p·class="topless">nov·05,·2024</p>
381 ··········</div>382 ··········</div>
382 ········383 ········
383 ······384 ······
384 ····</div>385 ····</div>
  
385 ····<div·id="ft">386 ····<div·id="ft">
386 ······<div·class="nav">387 ······<div·class="nav">
4.43 KB
html2text {}
Max HTML report size reached
7.45 KB
./usr/share/doc/python-django-doc/html/howto/deployment/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·deploy·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·deploy·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="How·to·deploy·with·WSGI"·href="wsgi/index.html"·/>15 ····<link·rel="next"·title="How·to·deploy·with·WSGI"·href="wsgi/index.html"·/>
15 ····<link·rel="prev"·title="How·to·install·Django·on·Windows"·href="../windows.html"·/>16 ····<link·rel="prev"·title="How·to·install·Django·on·Windows"·href="../windows.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 15 lines modifiedOffset 76, 15 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="howto-deployment-index">79 ··········<div·class="yui-g"·id="howto-deployment-index">
79 ············80 ············
80 ··<section·id="s-how-to-deploy-django">81 ··<section·id="s-how-to-deploy-django">
81 <span·id="how-to-deploy-django"></span><h1>How·to·deploy·Django<a·class="headerlink"·href="#how-to-deploy-django"·title="Link·to·this·heading">¶</a></h1>82 <span·id="how-to-deploy-django"></span><h1>How·to·deploy·Django<a·class="headerlink"·href="#how-to-deploy-django"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django·is·full·of·shortcuts·to·make·web·developers·lives·easier,·but·all83 <p>Django·is·full·of·shortcuts·to·make·web·developers·lives·easier,·but·all
83 those·tools·are·of·no·use·if·you·can’t·easily·deploy·your·sites.·Since·Django’s84 those·tools·are·of·no·use·if·you·can’t·easily·deploy·your·sites.·Since·Django’s
84 inception,·ease·of·deployment·has·been·a·major·goal.</p>85 inception,·ease·of·deployment·has·been·a·major·goal.</p>
85 <p>There·are·many·options·for·deploying·your·Django·application,·based·on·your86 <p>There·are·many·options·for·deploying·your·Django·application,·based·on·your
86 architecture·or·your·particular·business·needs,·but·that·discussion·is·outside87 architecture·or·your·particular·business·needs,·but·that·discussion·is·outside
87 the·scope·of·what·Django·can·give·you·as·guidance.</p>88 the·scope·of·what·Django·can·give·you·as·guidance.</p>
88 <p>Django,·being·a·web·framework,·needs·a·web·server·in·order·to·operate.·And89 <p>Django,·being·a·web·framework,·needs·a·web·server·in·order·to·operate.·And
89 since·most·web·servers·don’t·natively·speak·Python,·we·need·an·interface·to90 since·most·web·servers·don’t·natively·speak·Python,·we·need·an·interface·to
Offset 144, 37 lines modifiedOffset 145, 37 lines modified
144 ······145 ······
145 ········146 ········
146 ··········<div·class="yui-b"·id="sidebar">147 ··········<div·class="yui-b"·id="sidebar">
147 ············148 ············
148 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">149 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
149 ········<div·class="sphinxsidebarwrapper">150 ········<div·class="sphinxsidebarwrapper">
150 ··<div>151 ··<div>
151 ····<h4>Previous·topic</h4>152 ····<h4>Eelmine·teema</h4>
152 ····<p·class="topless"><a·href="../windows.html"153 ····<p·class="topless"><a·href="../windows.html"
153 ··························title="previous·chapter">How·to·install·Django·on·Windows</a></p>154 ··························title="eelmine·jaotis">How·to·install·Django·on·Windows</a></p>
154 ··</div>155 ··</div>
155 ··<div>156 ··<div>
156 ····<h4>Next·topic</h4>157 ····<h4>Järgmine·teema</h4>
157 ····<p·class="topless"><a·href="wsgi/index.html"158 ····<p·class="topless"><a·href="wsgi/index.html"
158 ··························title="next·chapter">How·to·deploy·with·WSGI</a></p>159 ··························title="järgmine·jaotis">How·to·deploy·with·WSGI</a></p>
159 ··</div>160 ··</div>
160 <search·id="searchbox"·style="display:·none"·role="search">161 <search·id="searchbox"·style="display:·none"·role="search">
161 ··<h3·id="searchlabel">Quick·search</h3>162 ··<h3·id="searchlabel">Kiirotsing</h3>
162 ····<div·class="searchformwrapper">163 ····<div·class="searchformwrapper">
163 ····<form·class="search"·action="../../search.html"·method="get">164 ····<form·class="search"·action="../../search.html"·method="get">
164 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>165 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
165 ······<input·type="submit"·value="Go"·/>166 ······<input·type="submit"·value="Otsi"·/>
166 ····</form>167 ····</form>
167 ····</div>168 ····</div>
168 </search>169 </search>
169 <script>document.getElementById('searchbox').style.display·=·"block"</script>170 <script>document.getElementById('searchbox').style.display·=·"block"</script>
170 ········</div>171 ········</div>
171 ······</div>172 ······</div>
172 ··············<h3>Last·update:</h3>173 ··············<h3>Last·update:</h3>
173 ··············<p·class="topless">Nov·05,·2024</p>174 ··············<p·class="topless">nov·05,·2024</p>
174 ··········</div>175 ··········</div>
175 ········176 ········
176 ······177 ······
177 ····</div>178 ····</div>
  
178 ····<div·id="ft">179 ····<div·id="ft">
179 ······<div·class="nav">180 ······<div·class="nav">
2.55 KB
html2text {}
Max HTML report size reached
12.8 KB
./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/apache-auth.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·authenticate·against·Django’s·user·database·from·Apache·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·authenticate·against·Django’s·user·database·from·Apache·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="How·to·deploy·with·ASGI"·href="../asgi/index.html"·/>15 ····<link·rel="next"·title="How·to·deploy·with·ASGI"·href="../asgi/index.html"·/>
15 ····<link·rel="prev"·title="How·to·use·Django·with·Apache·and·mod_wsgi"·href="modwsgi.html"·/>16 ····<link·rel="prev"·title="How·to·use·Django·with·Apache·and·mod_wsgi"·href="modwsgi.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 86, 26 lines modifiedOffset 87, 26 lines modified
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Serve·static/media·files·directly·from·Apache·only·to·authenticated·users.</p></li>88 <li><p>Serve·static/media·files·directly·from·Apache·only·to·authenticated·users.</p></li>
88 <li><p>Authenticate·access·to·a·<a·class="reference·external"·href="https://subversion.apache.org/">Subversion</a>·repository·against·Django·users·with89 <li><p>Authenticate·access·to·a·<a·class="reference·external"·href="https://subversion.apache.org/">Subversion</a>·repository·against·Django·users·with
89 a·certain·permission.</p></li>90 a·certain·permission.</p></li>
90 <li><p>Allow·certain·users·to·connect·to·a·WebDAV·share·created·with·<a·class="reference·external"·href="https://httpd.apache.org/docs/2.2/mod/mod_dav.html">mod_dav</a>.</p></li>91 <li><p>Allow·certain·users·to·connect·to·a·WebDAV·share·created·with·<a·class="reference·external"·href="https://httpd.apache.org/docs/2.2/mod/mod_dav.html">mod_dav</a>.</p></li>
91 </ul>92 </ul>
92 <div·class="admonition·note">93 <div·class="admonition·note">
93 <p·class="admonition-title">Note</p>94 <p·class="admonition-title">rkus</p>
94 <p>If·you·have·installed·a·<a·class="reference·internal"·href="../../../topics/auth/customizing.html#auth-custom-user"><span·class="std·std-ref">custom·user·model</span></a>·and95 <p>If·you·have·installed·a·<a·class="reference·internal"·href="../../../topics/auth/customizing.html#auth-custom-user"><span·class="std·std-ref">custom·user·model</span></a>·and
95 want·to·use·this·default·auth·handler,·it·must·support·an·<code·class="docutils·literal·notranslate"><span·class="pre">is_active</span></code>96 want·to·use·this·default·auth·handler,·it·must·support·an·<code·class="docutils·literal·notranslate"><span·class="pre">is_active</span></code>
96 attribute.·If·you·want·to·use·group·based·authorization,·your·custom·user97 attribute.·If·you·want·to·use·group·based·authorization,·your·custom·user
97 must·have·a·relation·named·groups,·referring·to·a·related·object·that·has98 must·have·a·relation·named·groups,·referring·to·a·related·object·that·has
98 a·name·field.·You·can·also·specify·your·own·custom·mod_wsgi99 a·name·field.·You·can·also·specify·your·own·custom·mod_wsgi
99 auth·handler·if·your·custom·cannot·conform·to·these·requirements.</p>100 auth·handler·if·your·custom·cannot·conform·to·these·requirements.</p>
100 </div>101 </div>
101 <section·id="s-authentication-with-mod-wsgi">102 <section·id="s-authentication-with-mod-wsgi">
102 <span·id="authentication-with-mod-wsgi"></span><h2>Authentication·with·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code><a·class="headerlink"·href="#authentication-with-mod-wsgi"·title="Link·to·this·heading">¶</a></h2>103 <span·id="authentication-with-mod-wsgi"></span><h2>Authentication·with·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code><a·class="headerlink"·href="#authentication-with-mod-wsgi"·title="Link·to·this·heading">¶</a></h2>
103 <div·class="admonition·note">104 <div·class="admonition·note">
104 <p·class="admonition-title">Note</p>105 <p·class="admonition-title">rkus</p>
105 <p>The·use·of·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIApplicationGroup</span>·<span·class="pre">%{GLOBAL}</span></code>·in·the·configurations·below106 <p>The·use·of·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIApplicationGroup</span>·<span·class="pre">%{GLOBAL}</span></code>·in·the·configurations·below
106 presumes·that·your·Apache·instance·is·running·only·one·Django·application.107 presumes·that·your·Apache·instance·is·running·only·one·Django·application.
107 If·you·are·running·more·than·one·Django·application,·please·refer·to·the108 If·you·are·running·more·than·one·Django·application,·please·refer·to·the
108 <a·class="reference·external"·href="https://modwsgi.readthedocs.io/en/develop/user-guides/configuration-guidelines.html#defining-application-groups">Defining·Application·Groups</a>·section·of·the·mod_wsgi·docs·for·more109 <a·class="reference·external"·href="https://modwsgi.readthedocs.io/en/develop/user-guides/configuration-guidelines.html#defining-application-groups">Defining·Application·Groups</a>·section·of·the·mod_wsgi·docs·for·more
109 information·about·this·setting.</p>110 information·about·this·setting.</p>
110 </div>111 </div>
111 <p>Make·sure·that·mod_wsgi·is·installed·and·activated·and·that·you·have112 <p>Make·sure·that·mod_wsgi·is·installed·and·activated·and·that·you·have
Offset 183, 15 lines modifiedOffset 184, 15 lines modified
183 <p>To·support·the·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIAuthGroupScript</span></code>·directive,·the·same·WSGI·script184 <p>To·support·the·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIAuthGroupScript</span></code>·directive,·the·same·WSGI·script
184 <code·class="docutils·literal·notranslate"><span·class="pre">mysite.wsgi</span></code>·must·also·import·the·<code·class="docutils·literal·notranslate"><span·class="pre">groups_for_user</span></code>·function·which185 <code·class="docutils·literal·notranslate"><span·class="pre">mysite.wsgi</span></code>·must·also·import·the·<code·class="docutils·literal·notranslate"><span·class="pre">groups_for_user</span></code>·function·which
185 returns·a·list·groups·the·given·user·belongs·to.</p>186 returns·a·list·groups·the·given·user·belongs·to.</p>
186 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.auth.handlers.modwsgi</span>·<span·class="kn">import</span>·<span·class="n">check_password</span><span·class="p">,</span>·<span·class="n">groups_for_user</span>187 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.auth.handlers.modwsgi</span>·<span·class="kn">import</span>·<span·class="n">check_password</span><span·class="p">,</span>·<span·class="n">groups_for_user</span>
187 </pre></div>188 </pre></div>
188 </div>189 </div>
189 <p>Requests·for·<code·class="docutils·literal·notranslate"><span·class="pre">/secret/</span></code>·will·now·also·require·user·to·be·a·member·of·the190 <p>Requests·for·<code·class="docutils·literal·notranslate"><span·class="pre">/secret/</span></code>·will·now·also·require·user·to·be·a·member·of·the
190 secret-agents·group.</p>191 secret-agents·group.</p>
191 </section>192 </section>
192 </section>193 </section>
193 </section>194 </section>
  
  
194 ··········</div>195 ··········</div>
195 ········</div>196 ········</div>
Offset 199, 50 lines modifiedOffset 200, 50 lines modified
199 ······200 ······
200 ········201 ········
201 ··········<div·class="yui-b"·id="sidebar">202 ··········<div·class="yui-b"·id="sidebar">
202 ············203 ············
203 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">204 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
204 ········<div·class="sphinxsidebarwrapper">205 ········<div·class="sphinxsidebarwrapper">
205 ··<div>206 ··<div>
206 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>207 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
207 ····<ul>208 ····<ul>
208 <li><a·class="reference·internal"·href="#">How·to·authenticate·against·Django’s·user·database·from·Apache</a><ul>209 <li><a·class="reference·internal"·href="#">How·to·authenticate·against·Django’s·user·database·from·Apache</a><ul>
209 <li><a·class="reference·internal"·href="#authentication-with-mod-wsgi">Authentication·with·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a><ul>210 <li><a·class="reference·internal"·href="#authentication-with-mod-wsgi">Authentication·with·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a><ul>
210 <li><a·class="reference·internal"·href="#authorization-with-mod-wsgi-and-django-groups">Authorization·with·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>·and·Django·groups</a></li>211 <li><a·class="reference·internal"·href="#authorization-with-mod-wsgi-and-django-groups">Authorization·with·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>·and·Django·groups</a></li>
211 </ul>212 </ul>
212 </li>213 </li>
213 </ul>214 </ul>
214 </li>215 </li>
215 </ul>216 </ul>
  
216 ··</div>217 ··</div>
217 ··<div>218 ··<div>
218 ····<h4>Previous·topic</h4>219 ····<h4>Eelmine·teema</h4>
219 ····<p·class="topless"><a·href="modwsgi.html"220 ····<p·class="topless"><a·href="modwsgi.html"
220 ··························title="previous·chapter">How·to·use·Django·with·Apache·and·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a></p>221 ··························title="eelmine·jaotis">How·to·use·Django·with·Apache·and·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a></p>
221 ··</div>222 ··</div>
222 ··<div>223 ··<div>
223 ····<h4>Next·topic</h4>224 ····<h4>Järgmine·teema</h4>
224 ····<p·class="topless"><a·href="../asgi/index.html"225 ····<p·class="topless"><a·href="../asgi/index.html"
225 ··························title="next·chapter">How·to·deploy·with·ASGI</a></p>226 ··························title="järgmine·jaotis">How·to·deploy·with·ASGI</a></p>
226 ··</div>227 ··</div>
227 <search·id="searchbox"·style="display:·none"·role="search">228 <search·id="searchbox"·style="display:·none"·role="search">
228 ··<h3·id="searchlabel">Quick·search</h3>229 ··<h3·id="searchlabel">Kiirotsing</h3>
229 ····<div·class="searchformwrapper">230 ····<div·class="searchformwrapper">
230 ····<form·class="search"·action="../../../search.html"·method="get">231 ····<form·class="search"·action="../../../search.html"·method="get">
231 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>232 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
232 ······<input·type="submit"·value="Go"·/>233 ······<input·type="submit"·value="Otsi"·/>
233 ····</form>234 ····</form>
234 ····</div>235 ····</div>
235 </search>236 </search>
236 <script>document.getElementById('searchbox').style.display·=·"block"</script>237 <script>document.getElementById('searchbox').style.display·=·"block"</script>
237 ········</div>238 ········</div>
238 ······</div>239 ······</div>
239 ··············<h3>Last·update:</h3>240 ··············<h3>Last·update:</h3>
240 ··············<p·class="topless">Nov·05,·2024</p>241 ··············<p·class="topless">nov·05,·2024</p>
241 ··········</div>242 ··········</div>
Max diff block lines reached; 66/8390 bytes (0.79%) of diff not shown.
4.48 KB
html2text {}
Max HTML report size reached
9.13 KB
./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/gunicorn.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·use·Django·with·Gunicorn·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·use·Django·with·Gunicorn·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="How·to·use·Django·with·uWSGI"·href="uwsgi.html"·/>15 ····<link·rel="next"·title="How·to·use·Django·with·uWSGI"·href="uwsgi.html"·/>
15 ····<link·rel="prev"·title="How·to·deploy·with·WSGI"·href="index.html"·/>16 ····<link·rel="prev"·title="How·to·deploy·with·WSGI"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 15 lines modifiedOffset 76, 15 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="howto-deployment-wsgi-gunicorn">79 ··········<div·class="yui-g"·id="howto-deployment-wsgi-gunicorn">
79 ············80 ············
80 ··<section·id="s-how-to-use-django-with-gunicorn">81 ··<section·id="s-how-to-use-django-with-gunicorn">
81 <span·id="how-to-use-django-with-gunicorn"></span><h1>How·to·use·Django·with·Gunicorn<a·class="headerlink"·href="#how-to-use-django-with-gunicorn"·title="Link·to·this·heading">¶</a></h1>82 <span·id="how-to-use-django-with-gunicorn"></span><h1>How·to·use·Django·with·Gunicorn<a·class="headerlink"·href="#how-to-use-django-with-gunicorn"·title="Link·to·this·heading">¶</a></h1>
82 <p><a·class="reference·external"·href="https://gunicorn.org/">Gunicorn</a>·(Green·Unicorn)·is·a·pure-Python·WSGI·server·for·UNIX.·It·has·no83 <p><a·class="reference·external"·href="https://gunicorn.org/">Gunicorn</a>·(Green·Unicorn)·is·a·pure-Python·WSGI·server·for·UNIX.·It·has·no
83 dependencies·and·can·be·installed·using·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>.</p>84 dependencies·and·can·be·installed·using·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>.</p>
84 <section·id="s-installing-gunicorn">85 <section·id="s-installing-gunicorn">
85 <span·id="installing-gunicorn"></span><h2>Installing·Gunicorn<a·class="headerlink"·href="#installing-gunicorn"·title="Link·to·this·heading">¶</a></h2>86 <span·id="installing-gunicorn"></span><h2>Installing·Gunicorn<a·class="headerlink"·href="#installing-gunicorn"·title="Link·to·this·heading">¶</a></h2>
86 <p>Install·gunicorn·by·running·<code·class="docutils·literal·notranslate"><span·class="pre">python</span>·<span·class="pre">-m</span>·<span·class="pre">pip</span>·<span·class="pre">install</span>·<span·class="pre">gunicorn</span></code>.·For·more87 <p>Install·gunicorn·by·running·<code·class="docutils·literal·notranslate"><span·class="pre">python</span>·<span·class="pre">-m</span>·<span·class="pre">pip</span>·<span·class="pre">install</span>·<span·class="pre">gunicorn</span></code>.·For·more
87 details,·see·the·<a·class="reference·external"·href="https://docs.gunicorn.org/en/latest/install.html">gunicorn·documentation</a>.</p>88 details,·see·the·<a·class="reference·external"·href="https://docs.gunicorn.org/en/latest/install.html">gunicorn·documentation</a>.</p>
88 </section>89 </section>
89 <section·id="s-running-django-in-gunicorn-as-a-generic-wsgi-application">90 <section·id="s-running-django-in-gunicorn-as-a-generic-wsgi-application">
Offset 109, 48 lines modifiedOffset 110, 48 lines modified
109 ······110 ······
110 ········111 ········
111 ··········<div·class="yui-b"·id="sidebar">112 ··········<div·class="yui-b"·id="sidebar">
112 ············113 ············
113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
114 ········<div·class="sphinxsidebarwrapper">115 ········<div·class="sphinxsidebarwrapper">
115 ··<div>116 ··<div>
116 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>117 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
117 ····<ul>118 ····<ul>
118 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Gunicorn</a><ul>119 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Gunicorn</a><ul>
119 <li><a·class="reference·internal"·href="#installing-gunicorn">Installing·Gunicorn</a></li>120 <li><a·class="reference·internal"·href="#installing-gunicorn">Installing·Gunicorn</a></li>
120 <li><a·class="reference·internal"·href="#running-django-in-gunicorn-as-a-generic-wsgi-application">Running·Django·in·Gunicorn·as·a·generic·WSGI·application</a></li>121 <li><a·class="reference·internal"·href="#running-django-in-gunicorn-as-a-generic-wsgi-application">Running·Django·in·Gunicorn·as·a·generic·WSGI·application</a></li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="index.html"128 ····<p·class="topless"><a·href="index.html"
128 ··························title="previous·chapter">How·to·deploy·with·WSGI</a></p>129 ··························title="eelmine·jaotis">How·to·deploy·with·WSGI</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="uwsgi.html"133 ····<p·class="topless"><a·href="uwsgi.html"
133 ··························title="next·chapter">How·to·use·Django·with·uWSGI</a></p>134 ··························title="järgmine·jaotis">How·to·use·Django·with·uWSGI</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../../../search.html"·method="get">139 ····<form·class="search"·action="../../../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
3.2 KB
html2text {}
Max HTML report size reached
9.82 KB
./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·deploy·with·WSGI·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·deploy·with·WSGI·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="How·to·use·Django·with·Gunicorn"·href="gunicorn.html"·/>15 ····<link·rel="next"·title="How·to·use·Django·with·Gunicorn"·href="gunicorn.html"·/>
15 ····<link·rel="prev"·title="How·to·deploy·Django"·href="../index.html"·/>16 ····<link·rel="prev"·title="How·to·deploy·Django"·href="../index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 117, 15 lines modifiedOffset 118, 15 lines modified
117 locate·the·appropriate·settings·module.·It·must·contain·the·dotted·path·to·the118 locate·the·appropriate·settings·module.·It·must·contain·the·dotted·path·to·the
118 settings·module.·You·can·use·a·different·value·for·development·and·production;119 settings·module.·You·can·use·a·different·value·for·development·and·production;
119 it·all·depends·on·how·you·organize·your·settings.</p>120 it·all·depends·on·how·you·organize·your·settings.</p>
120 <p>If·this·variable·isn’t·set,·the·default·<code·class="file·docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>·sets·it·to121 <p>If·this·variable·isn’t·set,·the·default·<code·class="file·docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>·sets·it·to
121 <code·class="docutils·literal·notranslate"><span·class="pre">mysite.settings</span></code>,·where·<code·class="docutils·literal·notranslate"><span·class="pre">mysite</span></code>·is·the·name·of·your·project.·That’s·how122 <code·class="docutils·literal·notranslate"><span·class="pre">mysite.settings</span></code>,·where·<code·class="docutils·literal·notranslate"><span·class="pre">mysite</span></code>·is·the·name·of·your·project.·That’s·how
122 <a·class="reference·internal"·href="../../../ref/django-admin.html#django-admin-runserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">runserver</span></code></a>·discovers·the·default·settings·file·by·default.</p>123 <a·class="reference·internal"·href="../../../ref/django-admin.html#django-admin-runserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">runserver</span></code></a>·discovers·the·default·settings·file·by·default.</p>
123 <div·class="admonition·note">124 <div·class="admonition·note">
124 <p·class="admonition-title">Note</p>125 <p·class="admonition-title">rkus</p>
125 <p>Since·environment·variables·are·process-wide,·this·doesn’t·work·when·you126 <p>Since·environment·variables·are·process-wide,·this·doesn’t·work·when·you
126 run·multiple·Django·sites·in·the·same·process.·This·happens·with·mod_wsgi.</p>127 run·multiple·Django·sites·in·the·same·process.·This·happens·with·mod_wsgi.</p>
127 <p>To·avoid·this·problem,·use·mod_wsgi’s·daemon·mode·with·each·site·in·its128 <p>To·avoid·this·problem,·use·mod_wsgi’s·daemon·mode·with·each·site·in·its
128 own·daemon·process,·or·override·the·value·from·the·environment·by129 own·daemon·process,·or·override·the·value·from·the·environment·by
129 enforcing·<code·class="docutils·literal·notranslate"><span·class="pre">os.environ[&quot;DJANGO_SETTINGS_MODULE&quot;]</span>·<span·class="pre">=</span>·<span·class="pre">&quot;mysite.settings&quot;</span></code>·in130 enforcing·<code·class="docutils·literal·notranslate"><span·class="pre">os.environ[&quot;DJANGO_SETTINGS_MODULE&quot;]</span>·<span·class="pre">=</span>·<span·class="pre">&quot;mysite.settings&quot;</span></code>·in
130 your·<code·class="file·docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>.</p>131 your·<code·class="file·docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>.</p>
131 </div>132 </div>
Offset 153, 49 lines modifiedOffset 154, 49 lines modified
153 ······154 ······
154 ········155 ········
155 ··········<div·class="yui-b"·id="sidebar">156 ··········<div·class="yui-b"·id="sidebar">
156 ············157 ············
157 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">158 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
158 ········<div·class="sphinxsidebarwrapper">159 ········<div·class="sphinxsidebarwrapper">
159 ··<div>160 ··<div>
160 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>161 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
161 ····<ul>162 ····<ul>
162 <li><a·class="reference·internal"·href="#">How·to·deploy·with·WSGI</a><ul>163 <li><a·class="reference·internal"·href="#">How·to·deploy·with·WSGI</a><ul>
163 <li><a·class="reference·internal"·href="#the-application-object">The·<code·class="docutils·literal·notranslate"><span·class="pre">application</span></code>·object</a></li>164 <li><a·class="reference·internal"·href="#the-application-object">The·<code·class="docutils·literal·notranslate"><span·class="pre">application</span></code>·object</a></li>
164 <li><a·class="reference·internal"·href="#configuring-the-settings-module">Configuring·the·settings·module</a></li>165 <li><a·class="reference·internal"·href="#configuring-the-settings-module">Configuring·the·settings·module</a></li>
165 <li><a·class="reference·internal"·href="#applying-wsgi-middleware">Applying·WSGI·middleware</a></li>166 <li><a·class="reference·internal"·href="#applying-wsgi-middleware">Applying·WSGI·middleware</a></li>
166 </ul>167 </ul>
167 </li>168 </li>
168 </ul>169 </ul>
  
169 ··</div>170 ··</div>
170 ··<div>171 ··<div>
171 ····<h4>Previous·topic</h4>172 ····<h4>Eelmine·teema</h4>
172 ····<p·class="topless"><a·href="../index.html"173 ····<p·class="topless"><a·href="../index.html"
173 ··························title="previous·chapter">How·to·deploy·Django</a></p>174 ··························title="eelmine·jaotis">How·to·deploy·Django</a></p>
174 ··</div>175 ··</div>
175 ··<div>176 ··<div>
176 ····<h4>Next·topic</h4>177 ····<h4>Järgmine·teema</h4>
177 ····<p·class="topless"><a·href="gunicorn.html"178 ····<p·class="topless"><a·href="gunicorn.html"
178 ··························title="next·chapter">How·to·use·Django·with·Gunicorn</a></p>179 ··························title="järgmine·jaotis">How·to·use·Django·with·Gunicorn</a></p>
179 ··</div>180 ··</div>
180 <search·id="searchbox"·style="display:·none"·role="search">181 <search·id="searchbox"·style="display:·none"·role="search">
181 ··<h3·id="searchlabel">Quick·search</h3>182 ··<h3·id="searchlabel">Kiirotsing</h3>
182 ····<div·class="searchformwrapper">183 ····<div·class="searchformwrapper">
183 ····<form·class="search"·action="../../../search.html"·method="get">184 ····<form·class="search"·action="../../../search.html"·method="get">
184 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>185 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
185 ······<input·type="submit"·value="Go"·/>186 ······<input·type="submit"·value="Otsi"·/>
186 ····</form>187 ····</form>
187 ····</div>188 ····</div>
188 </search>189 </search>
189 <script>document.getElementById('searchbox').style.display·=·"block"</script>190 <script>document.getElementById('searchbox').style.display·=·"block"</script>
190 ········</div>191 ········</div>
191 ······</div>192 ······</div>
192 ··············<h3>Last·update:</h3>193 ··············<h3>Last·update:</h3>
193 ··············<p·class="topless">Nov·05,·2024</p>194 ··············<p·class="topless">nov·05,·2024</p>
194 ··········</div>195 ··········</div>
195 ········196 ········
196 ······197 ······
197 ····</div>198 ····</div>
  
198 ····<div·id="ft">199 ····<div·id="ft">
199 ······<div·class="nav">200 ······<div·class="nav">
3.68 KB
html2text {}
Max HTML report size reached
16.8 KB
./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/modwsgi.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·use·Django·with·Apache·and·mod_wsgi·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·use·Django·with·Apache·and·mod_wsgi·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="How·to·authenticate·against·Django’s·user·database·from·Apache"·href="apache-auth.html"·/>15 ····<link·rel="next"·title="How·to·authenticate·against·Django’s·user·database·from·Apache"·href="apache-auth.html"·/>
15 ····<link·rel="prev"·title="How·to·use·Django·with·uWSGI"·href="uwsgi.html"·/>16 ····<link·rel="prev"·title="How·to·use·Django·with·uWSGI"·href="uwsgi.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 100, 32 lines modifiedOffset 101, 32 lines modified
100 <span·class="nb">Require</span><span·class="w">·</span><span·class="k">all</span><span·class="w">·</span>granted101 <span·class="nb">Require</span><span·class="w">·</span><span·class="k">all</span><span·class="w">·</span>granted
101 <span·class="nt">&lt;/Files&gt;</span>102 <span·class="nt">&lt;/Files&gt;</span>
102 <span·class="nt">&lt;/Directory&gt;</span>103 <span·class="nt">&lt;/Directory&gt;</span>
103 </pre></div>104 </pre></div>
104 </div>105 </div>
105 <p>The·first·bit·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIScriptAlias</span></code>·line·is·the·base·URL·path·you·want·to106 <p>The·first·bit·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIScriptAlias</span></code>·line·is·the·base·URL·path·you·want·to
106 serve·your·application·at·(<code·class="docutils·literal·notranslate"><span·class="pre">/</span></code>·indicates·the·root·url),·and·the·second·is·the107 serve·your·application·at·(<code·class="docutils·literal·notranslate"><span·class="pre">/</span></code>·indicates·the·root·url),·and·the·second·is·the
107 location·of·a·WSGI·file··see·below··on·your·system,·usually·inside·of108 location·of·a·WSGI·file··see·below··on·your·system,·usually·inside·of
108 your·project·package·(<code·class="docutils·literal·notranslate"><span·class="pre">mysite</span></code>·in·this·example).·This·tells·Apache·to·serve109 your·project·package·(<code·class="docutils·literal·notranslate"><span·class="pre">mysite</span></code>·in·this·example).·This·tells·Apache·to·serve
109 any·request·below·the·given·URL·using·the·WSGI·application·defined·in·that110 any·request·below·the·given·URL·using·the·WSGI·application·defined·in·that
110 file.</p>111 file.</p>
111 <p>If·you·install·your·project’s·Python·dependencies·inside·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/venv.html#module-venv"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">virtual</span>112 <p>If·you·install·your·project’s·Python·dependencies·inside·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/venv.html#module-venv"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">virtual</span>
112 <span·class="pre">environment</span></code></a>,·add·the·path·using·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIPythonHome</span></code>.·See·the·<a·class="reference·external"·href="https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html">mod_wsgi113 <span·class="pre">environment</span></code></a>,·add·the·path·using·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIPythonHome</span></code>.·See·the·<a·class="reference·external"·href="https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html">mod_wsgi
113 virtual·environment·guide</a>·for·more·details.</p>114 virtual·environment·guide</a>·for·more·details.</p>
114 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIPythonPath</span></code>·line·ensures·that·your·project·package·is·available·for115 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIPythonPath</span></code>·line·ensures·that·your·project·package·is·available·for
115 import·on·the·Python·path;·in·other·words,·that·<code·class="docutils·literal·notranslate"><span·class="pre">import</span>·<span·class="pre">mysite</span></code>·works.</p>116 import·on·the·Python·path;·in·other·words,·that·<code·class="docutils·literal·notranslate"><span·class="pre">import</span>·<span·class="pre">mysite</span></code>·works.</p>
116 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;Directory&gt;</span></code>·piece·ensures·that·Apache·can·access·your·<code·class="file·docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>117 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;Directory&gt;</span></code>·piece·ensures·that·Apache·can·access·your·<code·class="file·docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>
117 file.</p>118 file.</p>
118 <p>Next·we’ll·need·to·ensure·this·<code·class="file·docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>·with·a·WSGI·application·object119 <p>Next·we’ll·need·to·ensure·this·<code·class="file·docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>·with·a·WSGI·application·object
119 exists.·As·of·Django·version·1.4,·<a·class="reference·internal"·href="../../../ref/django-admin.html#django-admin-startproject"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startproject</span></code></a>·will·have·created·one120 exists.·As·of·Django·version·1.4,·<a·class="reference·internal"·href="../../../ref/django-admin.html#django-admin-startproject"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startproject</span></code></a>·will·have·created·one
120 for·you;·otherwise,·you’ll·need·to·create·it.·See·the·<a·class="reference·internal"·href="index.html"><span·class="doc">WSGI·overview121 for·you;·otherwise,·you’ll·need·to·create·it.·See·the·<a·class="reference·internal"·href="index.html"><span·class="doc">WSGI·overview
121 documentation</span></a>·for·the·default·contents·you122 documentation</span></a>·for·the·default·contents·you
122 should·put·in·this·file,·and·what·else·you·can·add·to·it.</p>123 should·put·in·this·file,·and·what·else·you·can·add·to·it.</p>
123 <div·class="admonition·warning">124 <div·class="admonition·warning">
124 <p·class="admonition-title">Warning</p>125 <p·class="admonition-title">Hoiatus</p>
125 <p>If·multiple·Django·sites·are·run·in·a·single·mod_wsgi·process,·all·of·them126 <p>If·multiple·Django·sites·are·run·in·a·single·mod_wsgi·process,·all·of·them
126 will·use·the·settings·of·whichever·one·happens·to·run·first.·This·can·be127 will·use·the·settings·of·whichever·one·happens·to·run·first.·This·can·be
127 solved·by·changing:</p>128 solved·by·changing:</p>
128 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">os</span><span·class="o">.</span><span·class="n">environ</span><span·class="o">.</span><span·class="n">setdefault</span><span·class="p">(</span><span·class="s2">&quot;DJANGO_SETTINGS_MODULE&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;{{·project_name·}}.settings&quot;</span><span·class="p">)</span>129 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">os</span><span·class="o">.</span><span·class="n">environ</span><span·class="o">.</span><span·class="n">setdefault</span><span·class="p">(</span><span·class="s2">&quot;DJANGO_SETTINGS_MODULE&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;{{·project_name·}}.settings&quot;</span><span·class="p">)</span>
129 </pre></div>130 </pre></div>
130 </div>131 </div>
131 <p>in·<code·class="docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>,·to:</p>132 <p>in·<code·class="docutils·literal·notranslate"><span·class="pre">wsgi.py</span></code>,·to:</p>
Offset 153, 15 lines modifiedOffset 154, 15 lines modified
153 </div>154 </div>
154 <p>See·the·<a·class="reference·internal"·href="../../../ref/unicode.html#unicode-files"><span·class="std·std-ref">Files</span></a>·section·of·the·Unicode·reference·guide·for155 <p>See·the·<a·class="reference·internal"·href="../../../ref/unicode.html#unicode-files"><span·class="std·std-ref">Files</span></a>·section·of·the·Unicode·reference·guide·for
155 details.</p>156 details.</p>
156 </div>157 </div>
157 </section>158 </section>
158 <section·id="s-using-mod-wsgi-daemon-mode">159 <section·id="s-using-mod-wsgi-daemon-mode">
159 <span·id="s-daemon-mode"></span><span·id="using-mod-wsgi-daemon-mode"></span><span·id="daemon-mode"></span><h2>Using·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>·daemon·mode<a·class="headerlink"·href="#using-mod-wsgi-daemon-mode"·title="Link·to·this·heading">¶</a></h2>160 <span·id="s-daemon-mode"></span><span·id="using-mod-wsgi-daemon-mode"></span><span·id="daemon-mode"></span><h2>Using·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>·daemon·mode<a·class="headerlink"·href="#using-mod-wsgi-daemon-mode"·title="Link·to·this·heading">¶</a></h2>
160 <p>Daemon·mode·is·the·recommended·mode·for·running·mod_wsgi·(on·non-Windows161 <p>Daemon·mode·is·the·recommended·mode·for·running·mod_wsgi·(on·non-Windows
161 platforms).·To·create·the·required·daemon·process·group·and·delegate·the162 platforms).·To·create·the·required·daemon·process·group·and·delegate·the
162 Django·instance·to·run·in·it,·you·will·need·to·add·appropriate163 Django·instance·to·run·in·it,·you·will·need·to·add·appropriate
163 <code·class="docutils·literal·notranslate"><span·class="pre">WSGIDaemonProcess</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIProcessGroup</span></code>·directives.·A·further·change164 <code·class="docutils·literal·notranslate"><span·class="pre">WSGIDaemonProcess</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIProcessGroup</span></code>·directives.·A·further·change
164 required·to·the·above·configuration·if·you·use·daemon·mode·is·that·you·can’t165 required·to·the·above·configuration·if·you·use·daemon·mode·is·that·you·can’t
165 use·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIPythonPath</span></code>;·instead·you·should·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">python-path</span></code>·option·to166 use·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIPythonPath</span></code>;·instead·you·should·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">python-path</span></code>·option·to
166 <code·class="docutils·literal·notranslate"><span·class="pre">WSGIDaemonProcess</span></code>,·for·example:</p>167 <code·class="docutils·literal·notranslate"><span·class="pre">WSGIDaemonProcess</span></code>,·for·example:</p>
167 <div·class="highlight-apache·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">WSGIDaemonProcess</span><span·class="w">·</span>example.com<span·class="w">·</span>python-home=/path/to/venv<span·class="w">·</span>python-path=/path/to/mysite.com168 <div·class="highlight-apache·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">WSGIDaemonProcess</span><span·class="w">·</span>example.com<span·class="w">·</span>python-home=/path/to/venv<span·class="w">·</span>python-path=/path/to/mysite.com
Offset 258, 51 lines modifiedOffset 259, 51 lines modified
258 ······259 ······
259 ········260 ········
260 ··········<div·class="yui-b"·id="sidebar">261 ··········<div·class="yui-b"·id="sidebar">
261 ············262 ············
262 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">263 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
263 ········<div·class="sphinxsidebarwrapper">264 ········<div·class="sphinxsidebarwrapper">
264 ··<div>265 ··<div>
265 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>266 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
266 ····<ul>267 ····<ul>
267 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Apache·and·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a><ul>268 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·Apache·and·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a><ul>
268 <li><a·class="reference·internal"·href="#basic-configuration">Basic·configuration</a></li>269 <li><a·class="reference·internal"·href="#basic-configuration">Basic·configuration</a></li>
269 <li><a·class="reference·internal"·href="#using-mod-wsgi-daemon-mode">Using·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>·daemon·mode</a></li>270 <li><a·class="reference·internal"·href="#using-mod-wsgi-daemon-mode">Using·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>·daemon·mode</a></li>
270 <li><a·class="reference·internal"·href="#serving-files">Serving·files</a></li>271 <li><a·class="reference·internal"·href="#serving-files">Serving·files</a></li>
271 <li><a·class="reference·internal"·href="#serving-the-admin-files">Serving·the·admin·files</a></li>272 <li><a·class="reference·internal"·href="#serving-the-admin-files">Serving·the·admin·files</a></li>
272 <li><a·class="reference·internal"·href="#authenticating-against-django-s-user-database-from-apache">Authenticating·against·Django’s·user·database·from·Apache</a></li>273 <li><a·class="reference·internal"·href="#authenticating-against-django-s-user-database-from-apache">Authenticating·against·Django’s·user·database·from·Apache</a></li>
273 </ul>274 </ul>
274 </li>275 </li>
275 </ul>276 </ul>
  
276 ··</div>277 ··</div>
277 ··<div>278 ··<div>
278 ····<h4>Previous·topic</h4>279 ····<h4>Eelmine·teema</h4>
279 ····<p·class="topless"><a·href="uwsgi.html"280 ····<p·class="topless"><a·href="uwsgi.html"
280 ··························title="previous·chapter">How·to·use·Django·with·uWSGI</a></p>281 ··························title="eelmine·jaotis">How·to·use·Django·with·uWSGI</a></p>
281 ··</div>282 ··</div>
282 ··<div>283 ··<div>
283 ····<h4>Next·topic</h4>284 ····<h4>Järgmine·teema</h4>
284 ····<p·class="topless"><a·href="apache-auth.html"285 ····<p·class="topless"><a·href="apache-auth.html"
285 ··························title="next·chapter">How·to·authenticate·against·Django’s·user·database·from·Apache</a></p>286 ··························title="järgmine·jaotis">How·to·authenticate·against·Django’s·user·database·from·Apache</a></p>
286 ··</div>287 ··</div>
287 <search·id="searchbox"·style="display:·none"·role="search">288 <search·id="searchbox"·style="display:·none"·role="search">
288 ··<h3·id="searchlabel">Quick·search</h3>289 ··<h3·id="searchlabel">Kiirotsing</h3>
289 ····<div·class="searchformwrapper">290 ····<div·class="searchformwrapper">
290 ····<form·class="search"·action="../../../search.html"·method="get">291 ····<form·class="search"·action="../../../search.html"·method="get">
291 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>292 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
292 ······<input·type="submit"·value="Go"·/>293 ······<input·type="submit"·value="Otsi"·/>
293 ····</form>294 ····</form>
294 ····</div>295 ····</div>
Max diff block lines reached; 342/10741 bytes (3.18%) of diff not shown.
6.21 KB
html2text {}
Max HTML report size reached
11.9 KB
./usr/share/doc/python-django-doc/html/howto/deployment/wsgi/uwsgi.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·use·Django·with·uWSGI·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·use·Django·with·uWSGI·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="How·to·use·Django·with·Apache·and·mod_wsgi"·href="modwsgi.html"·/>15 ····<link·rel="next"·title="How·to·use·Django·with·Apache·and·mod_wsgi"·href="modwsgi.html"·/>
15 ····<link·rel="prev"·title="How·to·use·Django·with·Gunicorn"·href="gunicorn.html"·/>16 ····<link·rel="prev"·title="How·to·use·Django·with·Gunicorn"·href="gunicorn.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 78, 15 lines modifiedOffset 79, 15 lines modified
78 ··········<div·class="yui-g"·id="howto-deployment-wsgi-uwsgi">79 ··········<div·class="yui-g"·id="howto-deployment-wsgi-uwsgi">
79 ············80 ············
80 ··<section·id="s-how-to-use-django-with-uwsgi">81 ··<section·id="s-how-to-use-django-with-uwsgi">
81 <span·id="how-to-use-django-with-uwsgi"></span><h1>How·to·use·Django·with·uWSGI<a·class="headerlink"·href="#how-to-use-django-with-uwsgi"·title="Link·to·this·heading">¶</a></h1>82 <span·id="how-to-use-django-with-uwsgi"></span><h1>How·to·use·Django·with·uWSGI<a·class="headerlink"·href="#how-to-use-django-with-uwsgi"·title="Link·to·this·heading">¶</a></h1>
82 <p><a·class="reference·external"·href="https://uwsgi-docs.readthedocs.io/">uWSGI</a>·is·a·fast,·self-healing·and·developer/sysadmin-friendly·application83 <p><a·class="reference·external"·href="https://uwsgi-docs.readthedocs.io/">uWSGI</a>·is·a·fast,·self-healing·and·developer/sysadmin-friendly·application
83 container·server·coded·in·pure·C.</p>84 container·server·coded·in·pure·C.</p>
84 <div·class="admonition·seealso">85 <div·class="admonition·seealso">
85 <p·class="admonition-title">See·also</p>86 <p·class="admonition-title">Vaata·ka</p>
86 <p>The·uWSGI·docs·offer·a·<a·class="reference·external"·href="https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html">tutorial</a>·covering·Django,·nginx,·and·uWSGI·(one87 <p>The·uWSGI·docs·offer·a·<a·class="reference·external"·href="https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html">tutorial</a>·covering·Django,·nginx,·and·uWSGI·(one
87 possible·deployment·setup·of·many).·The·docs·below·are·focused·on·how·to88 possible·deployment·setup·of·many).·The·docs·below·are·focused·on·how·to
88 integrate·Django·with·uWSGI.</p>89 integrate·Django·with·uWSGI.</p>
89 </div>90 </div>
90 <section·id="s-prerequisite-uwsgi">91 <section·id="s-prerequisite-uwsgi">
91 <span·id="prerequisite-uwsgi"></span><h2>Prerequisite:·uWSGI<a·class="headerlink"·href="#prerequisite-uwsgi"·title="Link·to·this·heading">¶</a></h2>92 <span·id="prerequisite-uwsgi"></span><h2>Prerequisite:·uWSGI<a·class="headerlink"·href="#prerequisite-uwsgi"·title="Link·to·this·heading">¶</a></h2>
92 <p>The·uWSGI·wiki·describes·several·<a·class="reference·external"·href="https://uwsgi-docs.readthedocs.io/en/latest/Install.html">installation·procedures</a>.·Using·pip,·the93 <p>The·uWSGI·wiki·describes·several·<a·class="reference·external"·href="https://uwsgi-docs.readthedocs.io/en/latest/Install.html">installation·procedures</a>.·Using·pip,·the
Offset 98, 15 lines modifiedOffset 99, 15 lines modified
98 <span·class="gp">#·</span>Or<span·class="w">·</span>install<span·class="w">·</span>LTS<span·class="w">·</span><span·class="o">(</span>long<span·class="w">·</span>term<span·class="w">·</span>support<span·class="o">)</span>.99 <span·class="gp">#·</span>Or<span·class="w">·</span>install<span·class="w">·</span>LTS<span·class="w">·</span><span·class="o">(</span>long<span·class="w">·</span>term<span·class="w">·</span>support<span·class="o">)</span>.
99 <span·class="gp">$·</span>python<span·class="w">·</span>-m<span·class="w">·</span>pip<span·class="w">·</span>install<span·class="w">·</span>https://projects.unbit.it/downloads/uwsgi-lts.tar.gz100 <span·class="gp">$·</span>python<span·class="w">·</span>-m<span·class="w">·</span>pip<span·class="w">·</span>install<span·class="w">·</span>https://projects.unbit.it/downloads/uwsgi-lts.tar.gz
100 </pre></div>101 </pre></div>
101 </div>102 </div>
102 <section·id="s-uwsgi-model">103 <section·id="s-uwsgi-model">
103 <span·id="uwsgi-model"></span><h3>uWSGI·model<a·class="headerlink"·href="#uwsgi-model"·title="Link·to·this·heading">¶</a></h3>104 <span·id="uwsgi-model"></span><h3>uWSGI·model<a·class="headerlink"·href="#uwsgi-model"·title="Link·to·this·heading">¶</a></h3>
104 <p>uWSGI·operates·on·a·client-server·model.·Your·web·server·(e.g.,·nginx,·Apache)105 <p>uWSGI·operates·on·a·client-server·model.·Your·web·server·(e.g.,·nginx,·Apache)
105 communicates·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">django-uwsgi</span></code>·worker·process·to·serve·dynamic·content.</p>106 communicates·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">django-uwsgi</span></code>·worker·process·to·serve·dynamic·content.</p>
106 </section>107 </section>
107 <section·id="s-configuring-and-starting-the-uwsgi-server-for-django">108 <section·id="s-configuring-and-starting-the-uwsgi-server-for-django">
108 <span·id="configuring-and-starting-the-uwsgi-server-for-django"></span><h3>Configuring·and·starting·the·uWSGI·server·for·Django<a·class="headerlink"·href="#configuring-and-starting-the-uwsgi-server-for-django"·title="Link·to·this·heading">¶</a></h3>109 <span·id="configuring-and-starting-the-uwsgi-server-for-django"></span><h3>Configuring·and·starting·the·uWSGI·server·for·Django<a·class="headerlink"·href="#configuring-and-starting-the-uwsgi-server-for-django"·title="Link·to·this·heading">¶</a></h3>
109 <p>uWSGI·supports·multiple·ways·to·configure·the·process.·See·uWSGI’s110 <p>uWSGI·supports·multiple·ways·to·configure·the·process.·See·uWSGI’s
110 <a·class="reference·external"·href="https://uwsgi.readthedocs.io/en/latest/Configuration.html">configuration·documentation</a>.</p>111 <a·class="reference·external"·href="https://uwsgi.readthedocs.io/en/latest/Configuration.html">configuration·documentation</a>.</p>
111 <p>Here’s·an·example·command·to·start·a·uWSGI·server:</p>112 <p>Here’s·an·example·command·to·start·a·uWSGI·server:</p>
112 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>uwsgi<span·class="w">·</span>--chdir<span·class="o">=</span>/path/to/your/project<span·class="w">·</span><span·class="se">\</span>113 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>uwsgi<span·class="w">·</span>--chdir<span·class="o">=</span>/path/to/your/project<span·class="w">·</span><span·class="se">\</span>
Offset 178, 51 lines modifiedOffset 179, 51 lines modified
178 ······179 ······
179 ········180 ········
180 ··········<div·class="yui-b"·id="sidebar">181 ··········<div·class="yui-b"·id="sidebar">
181 ············182 ············
182 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">183 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
183 ········<div·class="sphinxsidebarwrapper">184 ········<div·class="sphinxsidebarwrapper">
184 ··<div>185 ··<div>
185 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>186 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
186 ····<ul>187 ····<ul>
187 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·uWSGI</a><ul>188 <li><a·class="reference·internal"·href="#">How·to·use·Django·with·uWSGI</a><ul>
188 <li><a·class="reference·internal"·href="#prerequisite-uwsgi">Prerequisite:·uWSGI</a><ul>189 <li><a·class="reference·internal"·href="#prerequisite-uwsgi">Prerequisite:·uWSGI</a><ul>
189 <li><a·class="reference·internal"·href="#uwsgi-model">uWSGI·model</a></li>190 <li><a·class="reference·internal"·href="#uwsgi-model">uWSGI·model</a></li>
190 <li><a·class="reference·internal"·href="#configuring-and-starting-the-uwsgi-server-for-django">Configuring·and·starting·the·uWSGI·server·for·Django</a></li>191 <li><a·class="reference·internal"·href="#configuring-and-starting-the-uwsgi-server-for-django">Configuring·and·starting·the·uWSGI·server·for·Django</a></li>
191 </ul>192 </ul>
192 </li>193 </li>
193 </ul>194 </ul>
194 </li>195 </li>
195 </ul>196 </ul>
  
196 ··</div>197 ··</div>
197 ··<div>198 ··<div>
198 ····<h4>Previous·topic</h4>199 ····<h4>Eelmine·teema</h4>
199 ····<p·class="topless"><a·href="gunicorn.html"200 ····<p·class="topless"><a·href="gunicorn.html"
200 ··························title="previous·chapter">How·to·use·Django·with·Gunicorn</a></p>201 ··························title="eelmine·jaotis">How·to·use·Django·with·Gunicorn</a></p>
201 ··</div>202 ··</div>
202 ··<div>203 ··<div>
203 ····<h4>Next·topic</h4>204 ····<h4>Järgmine·teema</h4>
204 ····<p·class="topless"><a·href="modwsgi.html"205 ····<p·class="topless"><a·href="modwsgi.html"
205 ··························title="next·chapter">How·to·use·Django·with·Apache·and·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a></p>206 ··························title="järgmine·jaotis">How·to·use·Django·with·Apache·and·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a></p>
206 ··</div>207 ··</div>
207 <search·id="searchbox"·style="display:·none"·role="search">208 <search·id="searchbox"·style="display:·none"·role="search">
208 ··<h3·id="searchlabel">Quick·search</h3>209 ··<h3·id="searchlabel">Kiirotsing</h3>
209 ····<div·class="searchformwrapper">210 ····<div·class="searchformwrapper">
210 ····<form·class="search"·action="../../../search.html"·method="get">211 ····<form·class="search"·action="../../../search.html"·method="get">
211 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>212 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
212 ······<input·type="submit"·value="Go"·/>213 ······<input·type="submit"·value="Otsi"·/>
213 ····</form>214 ····</form>
214 ····</div>215 ····</div>
215 </search>216 </search>
216 <script>document.getElementById('searchbox').style.display·=·"block"</script>217 <script>document.getElementById('searchbox').style.display·=·"block"</script>
217 ········</div>218 ········</div>
218 ······</div>219 ······</div>
219 ··············<h3>Last·update:</h3>220 ··············<h3>Last·update:</h3>
220 ··············<p·class="topless">Nov·05,·2024</p>221 ··············<p·class="topless">nov·05,·2024</p>
221 ··········</div>222 ··········</div>
222 ········223 ········
223 ······224 ······
224 ····</div>225 ····</div>
  
225 ····<div·id="ft">226 ····<div·id="ft">
226 ······<div·class="nav">227 ······<div·class="nav">
4.08 KB
html2text {}
Max HTML report size reached
56.8 KB
./usr/share/doc/python-django-doc/html/howto/error-reporting.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·manage·error·reporting·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·manage·error·reporting·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·delete·a·Django·application"·href="delete-app.html"·/>15 ····<link·rel="next"·title="How·to·delete·a·Django·application"·href="delete-app.html"·/>
15 ····<link·rel="prev"·title="How·to·configure·and·use·logging"·href="logging.html"·/>16 ····<link·rel="prev"·title="How·to·configure·and·use·logging"·href="logging.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 15 lines modifiedOffset 96, 15 lines modified
95 <a·class="reference·internal"·href="../ref/settings.html#std-setting-ADMINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ADMINS</span></code></a>·setting·whenever·your·code·raises·an·unhandled·exception·and96 <a·class="reference·internal"·href="../ref/settings.html#std-setting-ADMINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ADMINS</span></code></a>·setting·whenever·your·code·raises·an·unhandled·exception·and
96 results·in·an·internal·server·error·(strictly·speaking,·for·any·response·with97 results·in·an·internal·server·error·(strictly·speaking,·for·any·response·with
97 an·HTTP·status·code·of·500·or·greater).·This·gives·the·administrators·immediate98 an·HTTP·status·code·of·500·or·greater).·This·gives·the·administrators·immediate
98 notification·of·any·errors.·The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-ADMINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ADMINS</span></code></a>·will·get·a·description·of·the99 notification·of·any·errors.·The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-ADMINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ADMINS</span></code></a>·will·get·a·description·of·the
99 error,·a·complete·Python·traceback,·and·details·about·the·HTTP·request·that100 error,·a·complete·Python·traceback,·and·details·about·the·HTTP·request·that
100 caused·the·error.</p>101 caused·the·error.</p>
101 <div·class="admonition·note">102 <div·class="admonition·note">
102 <p·class="admonition-title">Note</p>103 <p·class="admonition-title">rkus</p>
103 <p>In·order·to·send·email,·Django·requires·a·few·settings·telling·it104 <p>In·order·to·send·email,·Django·requires·a·few·settings·telling·it
104 how·to·connect·to·your·mail·server.·At·the·very·least,·you’ll·need105 how·to·connect·to·your·mail·server.·At·the·very·least,·you’ll·need
105 to·specify·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST</span></code></a>·and·possibly106 to·specify·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST</span></code></a>·and·possibly
106 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_USER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_USER</span></code></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_PASSWORD"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_PASSWORD</span></code></a>,107 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_USER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_USER</span></code></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_PASSWORD"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_PASSWORD</span></code></a>,
107 though·other·settings·may·be·also·required·depending·on·your·mail108 though·other·settings·may·be·also·required·depending·on·your·mail
108 server’s·configuration.·Consult·<a·class="reference·internal"·href="../ref/settings.html"><span·class="doc">the·Django·settings109 server’s·configuration.·Consult·<a·class="reference·internal"·href="../ref/settings.html"><span·class="doc">the·Django·settings
109 documentation</span></a>·for·a·full·list·of·email-related110 documentation</span></a>·for·a·full·list·of·email-related
Offset 111, 36 lines modifiedOffset 112, 36 lines modified
111 </div>112 </div>
112 <p>By·default,·Django·will·send·email·from·<a·class="reference·external"·href="mailto:root&#37;&#52;&#48;localhost">root<span>&#64;</span>localhost</a>.·However,·some·mail113 <p>By·default,·Django·will·send·email·from·<a·class="reference·external"·href="mailto:root&#37;&#52;&#48;localhost">root<span>&#64;</span>localhost</a>.·However,·some·mail
113 providers·reject·all·email·from·this·address.·To·use·a·different·sender114 providers·reject·all·email·from·this·address.·To·use·a·different·sender
114 address,·modify·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SERVER_EMAIL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SERVER_EMAIL</span></code></a>·setting.</p>115 address,·modify·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SERVER_EMAIL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SERVER_EMAIL</span></code></a>·setting.</p>
115 <p>To·activate·this·behavior,·put·the·email·addresses·of·the·recipients·in·the116 <p>To·activate·this·behavior,·put·the·email·addresses·of·the·recipients·in·the
116 <a·class="reference·internal"·href="../ref/settings.html#std-setting-ADMINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ADMINS</span></code></a>·setting.</p>117 <a·class="reference·internal"·href="../ref/settings.html#std-setting-ADMINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ADMINS</span></code></a>·setting.</p>
117 <div·class="admonition·seealso">118 <div·class="admonition·seealso">
118 <p·class="admonition-title">See·also</p>119 <p·class="admonition-title">Vaata·ka</p>
119 <p>Server·error·emails·are·sent·using·the·logging·framework,·so·you·can120 <p>Server·error·emails·are·sent·using·the·logging·framework,·so·you·can
120 customize·this·behavior·by·<a·class="reference·internal"·href="../topics/logging.html"><span·class="doc">customizing·your·logging·configuration</span></a>.</p>121 customize·this·behavior·by·<a·class="reference·internal"·href="../topics/logging.html"><span·class="doc">customizing·your·logging·configuration</span></a>.</p>
121 </div>122 </div>
122 </section>123 </section>
123 <section·id="s-errors">124 <section·id="s-errors">
124 <span·id="errors"></span><h3>404·errors<a·class="headerlink"·href="#errors"·title="Link·to·this·heading">¶</a></h3>125 <span·id="errors"></span><h3>404·errors<a·class="headerlink"·href="#errors"·title="Link·to·this·heading">¶</a></h3>
125 <p>Django·can·also·be·configured·to·email·errors·about·broken·links·(404·page126 <p>Django·can·also·be·configured·to·email·errors·about·broken·links·(404·page
126 not·found·errors).·Django·sends·emails·about·404·errors·when:</p>127 not·found·errors).·Django·sends·emails·about·404·errors·when:</p>
127 <ul·class="simple">128 <ul·class="simple">
128 <li><p><a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>;</p></li>129 <li><p><a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>;</p></li>
129 <li><p>Your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>·setting·includes130 <li><p>Your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>·setting·includes
130 <a·class="reference·internal"·href="../ref/middleware.html#django.middleware.common.BrokenLinkEmailsMiddleware"·title="django.middleware.common.BrokenLinkEmailsMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.middleware.common.BrokenLinkEmailsMiddleware</span></code></a>.</p></li>131 <a·class="reference·internal"·href="../ref/middleware.html#django.middleware.common.BrokenLinkEmailsMiddleware"·title="django.middleware.common.BrokenLinkEmailsMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.middleware.common.BrokenLinkEmailsMiddleware</span></code></a>.</p></li>
131 </ul>132 </ul>
132 <p>If·those·conditions·are·met,·Django·will·email·the·users·listed·in·the133 <p>If·those·conditions·are·met,·Django·will·email·the·users·listed·in·the
133 <a·class="reference·internal"·href="../ref/settings.html#std-setting-MANAGERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MANAGERS</span></code></a>·setting·whenever·your·code·raises·a·404·and·the·request·has134 <a·class="reference·internal"·href="../ref/settings.html#std-setting-MANAGERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MANAGERS</span></code></a>·setting·whenever·your·code·raises·a·404·and·the·request·has
134 a·referer.·It·doesn’t·bother·to·email·for·404s·that·don’t·have·a·referer·135 a·referer.·It·doesn’t·bother·to·email·for·404s·that·don’t·have·a·referer·
135 those·are·usually·people·typing·in·broken·URLs·or·broken·web·bots.·It·also136 those·are·usually·people·typing·in·broken·URLs·or·broken·web·bots.·It·also
136 ignores·404s·when·the·referer·is·equal·to·the·requested·URL,·since·this137 ignores·404s·when·the·referer·is·equal·to·the·requested·URL,·since·this
137 behavior·is·from·broken·web·bots·too.</p>138 behavior·is·from·broken·web·bots·too.</p>
138 <div·class="admonition·note">139 <div·class="admonition·note">
139 <p·class="admonition-title">Note</p>140 <p·class="admonition-title">rkus</p>
140 <p><a·class="reference·internal"·href="../ref/middleware.html#django.middleware.common.BrokenLinkEmailsMiddleware"·title="django.middleware.common.BrokenLinkEmailsMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BrokenLinkEmailsMiddleware</span></code></a>·must·appear141 <p><a·class="reference·internal"·href="../ref/middleware.html#django.middleware.common.BrokenLinkEmailsMiddleware"·title="django.middleware.common.BrokenLinkEmailsMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BrokenLinkEmailsMiddleware</span></code></a>·must·appear
141 before·other·middleware·that·intercepts·404·errors,·such·as142 before·other·middleware·that·intercepts·404·errors,·such·as
142 <a·class="reference·internal"·href="../ref/middleware.html#django.middleware.locale.LocaleMiddleware"·title="django.middleware.locale.LocaleMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LocaleMiddleware</span></code></a>·or143 <a·class="reference·internal"·href="../ref/middleware.html#django.middleware.locale.LocaleMiddleware"·title="django.middleware.locale.LocaleMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LocaleMiddleware</span></code></a>·or
143 <a·class="reference·internal"·href="../ref/contrib/flatpages.html#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FlatpageFallbackMiddleware</span></code></a>.144 <a·class="reference·internal"·href="../ref/contrib/flatpages.html#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FlatpageFallbackMiddleware</span></code></a>.
144 Put·it·toward·the·top·of·your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>·setting.</p>145 Put·it·toward·the·top·of·your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>·setting.</p>
145 </div>146 </div>
146 <p>You·can·tell·Django·to·stop·reporting·particular·404s·by·tweaking·the147 <p>You·can·tell·Django·to·stop·reporting·particular·404s·by·tweaking·the
Offset 170, 25 lines modifiedOffset 171, 25 lines modified
170 <p>(Note·that·these·are·regular·expressions,·so·we·put·a·backslash·in·front·of171 <p>(Note·that·these·are·regular·expressions,·so·we·put·a·backslash·in·front·of
171 periods·to·escape·them.)</p>172 periods·to·escape·them.)</p>
172 <p>If·you’d·like·to·customize·the·behavior·of173 <p>If·you’d·like·to·customize·the·behavior·of
173 <a·class="reference·internal"·href="../ref/middleware.html#django.middleware.common.BrokenLinkEmailsMiddleware"·title="django.middleware.common.BrokenLinkEmailsMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.middleware.common.BrokenLinkEmailsMiddleware</span></code></a>·further·(for174 <a·class="reference·internal"·href="../ref/middleware.html#django.middleware.common.BrokenLinkEmailsMiddleware"·title="django.middleware.common.BrokenLinkEmailsMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.middleware.common.BrokenLinkEmailsMiddleware</span></code></a>·further·(for
174 example·to·ignore·requests·coming·from·web·crawlers),·you·should·subclass·it175 example·to·ignore·requests·coming·from·web·crawlers),·you·should·subclass·it
175 and·override·its·methods.</p>176 and·override·its·methods.</p>
176 <div·class="admonition·seealso">177 <div·class="admonition·seealso">
177 <p·class="admonition-title">See·also</p>178 <p·class="admonition-title">Vaata·ka</p>
178 <p>404·errors·are·logged·using·the·logging·framework.·By·default,·these·log179 <p>404·errors·are·logged·using·the·logging·framework.·By·default,·these·log
179 records·are·ignored,·but·you·can·use·them·for·error·reporting·by·writing·a180 records·are·ignored,·but·you·can·use·them·for·error·reporting·by·writing·a
180 handler·and·<a·class="reference·internal"·href="../topics/logging.html"><span·class="doc">configuring·logging</span></a>·appropriately.</p>181 handler·and·<a·class="reference·internal"·href="../topics/logging.html"><span·class="doc">configuring·logging</span></a>·appropriately.</p>
181 </div>182 </div>
182 </section>183 </section>
183 </section>184 </section>
184 <section·id="s-filtering-error-reports">185 <section·id="s-filtering-error-reports">
185 <span·id="s-id1"></span><span·id="filtering-error-reports"></span><span·id="id1"></span><h2>Filtering·error·reports<a·class="headerlink"·href="#filtering-error-reports"·title="Link·to·this·heading">¶</a></h2>186 <span·id="s-id1"></span><span·id="filtering-error-reports"></span><span·id="id1"></span><h2>Filtering·error·reports<a·class="headerlink"·href="#filtering-error-reports"·title="Link·to·this·heading">¶</a></h2>
186 <div·class="admonition·warning">187 <div·class="admonition·warning">
187 <p·class="admonition-title">Warning</p>188 <p·class="admonition-title">Hoiatus</p>
188 <p>Filtering·sensitive·data·is·a·hard·problem,·and·it’s·nearly·impossible·to189 <p>Filtering·sensitive·data·is·a·hard·problem,·and·it’s·nearly·impossible·to
189 guarantee·that·sensitive·data·won’t·leak·into·an·error·report.·Therefore,190 guarantee·that·sensitive·data·won’t·leak·into·an·error·report.·Therefore,
190 error·reports·should·only·be·available·to·trusted·team·members·and·you191 error·reports·should·only·be·available·to·trusted·team·members·and·you
191 should·avoid·transmitting·error·reports·unencrypted·over·the·internet192 should·avoid·transmitting·error·reports·unencrypted·over·the·internet
192 (such·as·through·email).</p>193 (such·as·through·email).</p>
193 </div>194 </div>
194 <section·id="s-filtering-sensitive-information">195 <section·id="s-filtering-sensitive-information">
Offset 204, 15 lines modifiedOffset 205, 15 lines modified
204 sensitive·as·described·in·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·documentation,·Django·offers·a205 sensitive·as·described·in·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·documentation,·Django·offers·a
205 set·of·function·decorators·to·help·you·control·which·information·should·be206 set·of·function·decorators·to·help·you·control·which·information·should·be
206 filtered·out·of·error·reports·in·a·production·environment·(that·is,·where207 filtered·out·of·error·reports·in·a·production·environment·(that·is,·where
207 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>):·<a·class="reference·internal"·href="#django.views.decorators.debug.sensitive_variables"·title="django.views.decorators.debug.sensitive_variables"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sensitive_variables()</span></code></a>·and208 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>):·<a·class="reference·internal"·href="#django.views.decorators.debug.sensitive_variables"·title="django.views.decorators.debug.sensitive_variables"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sensitive_variables()</span></code></a>·and
208 <a·class="reference·internal"·href="#django.views.decorators.debug.sensitive_post_parameters"·title="django.views.decorators.debug.sensitive_post_parameters"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sensitive_post_parameters()</span></code></a>.</p>209 <a·class="reference·internal"·href="#django.views.decorators.debug.sensitive_post_parameters"·title="django.views.decorators.debug.sensitive_post_parameters"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sensitive_post_parameters()</span></code></a>.</p>
209 <dl·class="py·function">210 <dl·class="py·function">
210 <dt·class="sig·sig-object·py"·id="django.views.decorators.debug.sensitive_variables">211 <dt·class="sig·sig-object·py"·id="django.views.decorators.debug.sensitive_variables">
211 <span·class="sig-name·descname"><span·class="pre">sensitive_variables</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">variables</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/debug.py#L11"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.decorators.debug.sensitive_variables"·title="Link·to·this·definition">¶</a></dt>212 <span·class="sig-name·descname"><span·class="pre">sensitive_variables</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">variables</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/debug.py#L11"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.decorators.debug.sensitive_variables"·title="Link·to·this·definition">¶</a></dt>
Max diff block lines reached; 27922/40774 bytes (68.48%) of diff not shown.
16.9 KB
html2text {}
Max HTML report size reached
9.93 KB
./usr/share/doc/python-django-doc/html/howto/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How-to·guides·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How-to·guides·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·provide·initial·data·for·models"·href="initial-data.html"·/>15 ····<link·rel="next"·title="How·to·provide·initial·data·for·models"·href="initial-data.html"·/>
15 ····<link·rel="prev"·title="Asynchronous·support"·href="../topics/async.html"·/>16 ····<link·rel="prev"·title="Asynchronous·support"·href="../topics/async.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="../topics/async.html"·title="Asynchronous·support">previous</a>67 ····&laquo;·<a·href="../topics/async.html"·title="Asynchronous·support">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="initial-data.html"·title="How·to·provide·initial·data·for·models">next</a>·&raquo;</div>71 ····<a·href="initial-data.html"·title="How·to·provide·initial·data·for·models">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 133, 15 lines modifiedOffset 134, 15 lines modified
133 <li·class="toctree-l1"><a·class="reference·internal"·href="auth-remote-user.html">How·to·authenticate·using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code></a></li>134 <li·class="toctree-l1"><a·class="reference·internal"·href="auth-remote-user.html">How·to·authenticate·using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code></a></li>
134 <li·class="toctree-l1"><a·class="reference·internal"·href="csrf.html">How·to·use·Django’s·CSRF·protection</a></li>135 <li·class="toctree-l1"><a·class="reference·internal"·href="csrf.html">How·to·use·Django’s·CSRF·protection</a></li>
135 <li·class="toctree-l1"><a·class="reference·internal"·href="custom-management-commands.html">How·to·create·custom·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·commands</a></li>136 <li·class="toctree-l1"><a·class="reference·internal"·href="custom-management-commands.html">How·to·create·custom·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·commands</a></li>
136 <li·class="toctree-l1"><a·class="reference·internal"·href="custom-file-storage.html">How·to·write·a·custom·storage·class</a></li>137 <li·class="toctree-l1"><a·class="reference·internal"·href="custom-file-storage.html">How·to·write·a·custom·storage·class</a></li>
137 </ul>138 </ul>
138 </div>139 </div>
139 <div·class="admonition·seealso">140 <div·class="admonition·seealso">
140 <p·class="admonition-title">See·also</p>141 <p·class="admonition-title">Vaata·ka</p>
141 <p>The·<a·class="reference·external"·href="https://www.djangoproject.com/community/">Django·community·aggregator</a>,·where·we·aggregate·content·from·the142 <p>The·<a·class="reference·external"·href="https://www.djangoproject.com/community/">Django·community·aggregator</a>,·where·we·aggregate·content·from·the
142 global·Django·community.·Many·writers·in·the·aggregator·write·this·sort·of143 global·Django·community.·Many·writers·in·the·aggregator·write·this·sort·of
143 how-to·material.</p>144 how-to·material.</p>
144 </div>145 </div>
145 </section>146 </section>
146 </section>147 </section>
  
Offset 152, 61 lines modifiedOffset 153, 61 lines modified
152 ······153 ······
153 ········154 ········
154 ··········<div·class="yui-b"·id="sidebar">155 ··········<div·class="yui-b"·id="sidebar">
155 ············156 ············
156 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">157 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
157 ········<div·class="sphinxsidebarwrapper">158 ········<div·class="sphinxsidebarwrapper">
158 ··<div>159 ··<div>
159 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>160 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
160 ····<ul>161 ····<ul>
161 <li><a·class="reference·internal"·href="#">How-to·guides</a><ul>162 <li><a·class="reference·internal"·href="#">How-to·guides</a><ul>
162 <li><a·class="reference·internal"·href="#models-data-and-databases">Models,·data·and·databases</a></li>163 <li><a·class="reference·internal"·href="#models-data-and-databases">Models,·data·and·databases</a></li>
163 <li><a·class="reference·internal"·href="#templates-and-output">Templates·and·output</a></li>164 <li><a·class="reference·internal"·href="#templates-and-output">Templates·and·output</a></li>
164 <li><a·class="reference·internal"·href="#project-configuration-and-management">Project·configuration·and·management</a></li>165 <li><a·class="reference·internal"·href="#project-configuration-and-management">Project·configuration·and·management</a></li>
165 <li><a·class="reference·internal"·href="#installing-deploying-and-upgrading">Installing,·deploying·and·upgrading</a></li>166 <li><a·class="reference·internal"·href="#installing-deploying-and-upgrading">Installing,·deploying·and·upgrading</a></li>
166 <li><a·class="reference·internal"·href="#other-guides">Other·guides</a></li>167 <li><a·class="reference·internal"·href="#other-guides">Other·guides</a></li>
167 </ul>168 </ul>
168 </li>169 </li>
169 </ul>170 </ul>
  
170 ··</div>171 ··</div>
171 ··<div>172 ··<div>
172 ····<h4>Previous·topic</h4>173 ····<h4>Eelmine·teema</h4>
173 ····<p·class="topless"><a·href="../topics/async.html"174 ····<p·class="topless"><a·href="../topics/async.html"
174 ··························title="previous·chapter">Asynchronous·support</a></p>175 ··························title="eelmine·jaotis">Asynchronous·support</a></p>
175 ··</div>176 ··</div>
176 ··<div>177 ··<div>
177 ····<h4>Next·topic</h4>178 ····<h4>Järgmine·teema</h4>
178 ····<p·class="topless"><a·href="initial-data.html"179 ····<p·class="topless"><a·href="initial-data.html"
179 ··························title="next·chapter">How·to·provide·initial·data·for·models</a></p>180 ··························title="järgmine·jaotis">How·to·provide·initial·data·for·models</a></p>
180 ··</div>181 ··</div>
181 <search·id="searchbox"·style="display:·none"·role="search">182 <search·id="searchbox"·style="display:·none"·role="search">
182 ··<h3·id="searchlabel">Quick·search</h3>183 ··<h3·id="searchlabel">Kiirotsing</h3>
183 ····<div·class="searchformwrapper">184 ····<div·class="searchformwrapper">
184 ····<form·class="search"·action="../search.html"·method="get">185 ····<form·class="search"·action="../search.html"·method="get">
185 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>186 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
186 ······<input·type="submit"·value="Go"·/>187 ······<input·type="submit"·value="Otsi"·/>
187 ····</form>188 ····</form>
188 ····</div>189 ····</div>
189 </search>190 </search>
190 <script>document.getElementById('searchbox').style.display·=·"block"</script>191 <script>document.getElementById('searchbox').style.display·=·"block"</script>
191 ········</div>192 ········</div>
192 ······</div>193 ······</div>
193 ··············<h3>Last·update:</h3>194 ··············<h3>Last·update:</h3>
194 ··············<p·class="topless">Nov·05,·2024</p>195 ··············<p·class="topless">nov·05,·2024</p>
195 ··········</div>196 ··········</div>
196 ········197 ········
197 ······198 ······
198 ····</div>199 ····</div>
  
199 ····<div·id="ft">200 ····<div·id="ft">
200 ······<div·class="nav">201 ······<div·class="nav">
201 ····&laquo;·<a·href="../topics/async.html"·title="Asynchronous·support">previous</a>202 ····&laquo;·<a·href="../topics/async.html"·title="Asynchronous·support">previous</a>
202 ·····|203 ·····|
203 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>204 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
204 ···|205 ···|
205 ····<a·href="initial-data.html"·title="How·to·provide·initial·data·for·models">next</a>·&raquo;</div>206 ····<a·href="initial-data.html"·title="How·to·provide·initial·data·for·models">next</a>·&raquo;</div>
206 ····</div>207 ····</div>
207 ··</div>208 ··</div>
  
208 ······<div·class="clearer"></div>209 ······<div·class="clearer"></div>
209 ····</div>210 ····</div>
Max diff block lines reached; -1/6593 bytes (-0.02%) of diff not shown.
3.39 KB
html2text {}
Max HTML report size reached
8.33 KB
./usr/share/doc/python-django-doc/html/howto/initial-data.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·provide·initial·data·for·models·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·provide·initial·data·for·models·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·integrate·Django·with·a·legacy·database"·href="legacy-databases.html"·/>15 ····<link·rel="next"·title="How·to·integrate·Django·with·a·legacy·database"·href="legacy-databases.html"·/>
15 ····<link·rel="prev"·title="How-to·guides"·href="index.html"·/>16 ····<link·rel="prev"·title="How-to·guides"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 159, 15 lines modifiedOffset 160, 15 lines modified
159 you·have·fixture·files·with·the·same·name·in·different·applications,·you160 you·have·fixture·files·with·the·same·name·in·different·applications,·you
160 will·be·unable·to·distinguish·between·them·in·your·<code·class="docutils·literal·notranslate"><span·class="pre">loaddata</span></code>·commands.161 will·be·unable·to·distinguish·between·them·in·your·<code·class="docutils·literal·notranslate"><span·class="pre">loaddata</span></code>·commands.
161 The·easiest·way·to·avoid·this·problem·is·by·<em>namespacing</em>·your·fixture162 The·easiest·way·to·avoid·this·problem·is·by·<em>namespacing</em>·your·fixture
162 files.·That·is,·by·putting·them·inside·a·directory·named·for·their163 files.·That·is,·by·putting·them·inside·a·directory·named·for·their
163 application,·as·in·the·relative·path·example·above.</p>164 application,·as·in·the·relative·path·example·above.</p>
164 </div>165 </div>
165 <div·class="admonition·seealso">166 <div·class="admonition·seealso">
166 <p·class="admonition-title">See·also</p>167 <p·class="admonition-title">Vaata·ka</p>
167 <p>Fixtures·are·also·used·by·the·<a·class="reference·internal"·href="../topics/testing/tools.html#topics-testing-fixtures"><span·class="std·std-ref">testing·framework</span></a>·to·help·set·up·a·consistent·test·environment.</p>168 <p>Fixtures·are·also·used·by·the·<a·class="reference·internal"·href="../topics/testing/tools.html#topics-testing-fixtures"><span·class="std·std-ref">testing·framework</span></a>·to·help·set·up·a·consistent·test·environment.</p>
168 </div>169 </div>
169 </section>170 </section>
170 </section>171 </section>
171 </section>172 </section>
  
  
Offset 177, 51 lines modifiedOffset 178, 51 lines modified
177 ······178 ······
178 ········179 ········
179 ··········<div·class="yui-b"·id="sidebar">180 ··········<div·class="yui-b"·id="sidebar">
180 ············181 ············
181 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">182 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
182 ········<div·class="sphinxsidebarwrapper">183 ········<div·class="sphinxsidebarwrapper">
183 ··<div>184 ··<div>
184 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>185 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
185 ····<ul>186 ····<ul>
186 <li><a·class="reference·internal"·href="#">How·to·provide·initial·data·for·models</a><ul>187 <li><a·class="reference·internal"·href="#">How·to·provide·initial·data·for·models</a><ul>
187 <li><a·class="reference·internal"·href="#provide-initial-data-with-migrations">Provide·initial·data·with·migrations</a></li>188 <li><a·class="reference·internal"·href="#provide-initial-data-with-migrations">Provide·initial·data·with·migrations</a></li>
188 <li><a·class="reference·internal"·href="#provide-data-with-fixtures">Provide·data·with·fixtures</a><ul>189 <li><a·class="reference·internal"·href="#provide-data-with-fixtures">Provide·data·with·fixtures</a><ul>
189 <li><a·class="reference·internal"·href="#tell-django-where-to-look-for-fixture-files">Tell·Django·where·to·look·for·fixture·files</a></li>190 <li><a·class="reference·internal"·href="#tell-django-where-to-look-for-fixture-files">Tell·Django·where·to·look·for·fixture·files</a></li>
190 </ul>191 </ul>
191 </li>192 </li>
192 </ul>193 </ul>
193 </li>194 </li>
194 </ul>195 </ul>
  
195 ··</div>196 ··</div>
196 ··<div>197 ··<div>
197 ····<h4>Previous·topic</h4>198 ····<h4>Eelmine·teema</h4>
198 ····<p·class="topless"><a·href="index.html"199 ····<p·class="topless"><a·href="index.html"
199 ··························title="previous·chapter">How-to·guides</a></p>200 ··························title="eelmine·jaotis">How-to·guides</a></p>
200 ··</div>201 ··</div>
201 ··<div>202 ··<div>
202 ····<h4>Next·topic</h4>203 ····<h4>Järgmine·teema</h4>
203 ····<p·class="topless"><a·href="legacy-databases.html"204 ····<p·class="topless"><a·href="legacy-databases.html"
204 ··························title="next·chapter">How·to·integrate·Django·with·a·legacy·database</a></p>205 ··························title="järgmine·jaotis">How·to·integrate·Django·with·a·legacy·database</a></p>
205 ··</div>206 ··</div>
206 <search·id="searchbox"·style="display:·none"·role="search">207 <search·id="searchbox"·style="display:·none"·role="search">
207 ··<h3·id="searchlabel">Quick·search</h3>208 ··<h3·id="searchlabel">Kiirotsing</h3>
208 ····<div·class="searchformwrapper">209 ····<div·class="searchformwrapper">
209 ····<form·class="search"·action="../search.html"·method="get">210 ····<form·class="search"·action="../search.html"·method="get">
210 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>211 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
211 ······<input·type="submit"·value="Go"·/>212 ······<input·type="submit"·value="Otsi"·/>
212 ····</form>213 ····</form>
213 ····</div>214 ····</div>
214 </search>215 </search>
215 <script>document.getElementById('searchbox').style.display·=·"block"</script>216 <script>document.getElementById('searchbox').style.display·=·"block"</script>
216 ········</div>217 ········</div>
217 ······</div>218 ······</div>
218 ··············<h3>Last·update:</h3>219 ··············<h3>Last·update:</h3>
219 ··············<p·class="topless">Nov·05,·2024</p>220 ··············<p·class="topless">nov·05,·2024</p>
220 ··········</div>221 ··········</div>
221 ········222 ········
222 ······223 ······
223 ····</div>224 ····</div>
  
224 ····<div·id="ft">225 ····<div·id="ft">
225 ······<div·class="nav">226 ······<div·class="nav">
2.99 KB
html2text {}
Max HTML report size reached
7.51 KB
./usr/share/doc/python-django-doc/html/howto/legacy-databases.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·integrate·Django·with·a·legacy·database·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·integrate·Django·with·a·legacy·database·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·create·custom·model·fields"·href="custom-model-fields.html"·/>15 ····<link·rel="next"·title="How·to·create·custom·model·fields"·href="custom-model-fields.html"·/>
15 ····<link·rel="prev"·title="How·to·provide·initial·data·for·models"·href="initial-data.html"·/>16 ····<link·rel="prev"·title="How·to·provide·initial·data·for·models"·href="initial-data.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 158, 50 lines modifiedOffset 159, 50 lines modified
158 ······159 ······
159 ········160 ········
160 ··········<div·class="yui-b"·id="sidebar">161 ··········<div·class="yui-b"·id="sidebar">
161 ············162 ············
162 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">163 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
163 ········<div·class="sphinxsidebarwrapper">164 ········<div·class="sphinxsidebarwrapper">
164 ··<div>165 ··<div>
165 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>166 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
166 ····<ul>167 ····<ul>
167 <li><a·class="reference·internal"·href="#">How·to·integrate·Django·with·a·legacy·database</a><ul>168 <li><a·class="reference·internal"·href="#">How·to·integrate·Django·with·a·legacy·database</a><ul>
168 <li><a·class="reference·internal"·href="#give-django-your-database-parameters">Give·Django·your·database·parameters</a></li>169 <li><a·class="reference·internal"·href="#give-django-your-database-parameters">Give·Django·your·database·parameters</a></li>
169 <li><a·class="reference·internal"·href="#auto-generate-the-models">Auto-generate·the·models</a></li>170 <li><a·class="reference·internal"·href="#auto-generate-the-models">Auto-generate·the·models</a></li>
170 <li><a·class="reference·internal"·href="#install-the-core-django-tables">Install·the·core·Django·tables</a></li>171 <li><a·class="reference·internal"·href="#install-the-core-django-tables">Install·the·core·Django·tables</a></li>
171 <li><a·class="reference·internal"·href="#test-and-tweak">Test·and·tweak</a></li>172 <li><a·class="reference·internal"·href="#test-and-tweak">Test·and·tweak</a></li>
172 </ul>173 </ul>
173 </li>174 </li>
174 </ul>175 </ul>
  
175 ··</div>176 ··</div>
176 ··<div>177 ··<div>
177 ····<h4>Previous·topic</h4>178 ····<h4>Eelmine·teema</h4>
178 ····<p·class="topless"><a·href="initial-data.html"179 ····<p·class="topless"><a·href="initial-data.html"
179 ··························title="previous·chapter">How·to·provide·initial·data·for·models</a></p>180 ··························title="eelmine·jaotis">How·to·provide·initial·data·for·models</a></p>
180 ··</div>181 ··</div>
181 ··<div>182 ··<div>
182 ····<h4>Next·topic</h4>183 ····<h4>Järgmine·teema</h4>
183 ····<p·class="topless"><a·href="custom-model-fields.html"184 ····<p·class="topless"><a·href="custom-model-fields.html"
184 ··························title="next·chapter">How·to·create·custom·model·fields</a></p>185 ··························title="järgmine·jaotis">How·to·create·custom·model·fields</a></p>
185 ··</div>186 ··</div>
186 <search·id="searchbox"·style="display:·none"·role="search">187 <search·id="searchbox"·style="display:·none"·role="search">
187 ··<h3·id="searchlabel">Quick·search</h3>188 ··<h3·id="searchlabel">Kiirotsing</h3>
188 ····<div·class="searchformwrapper">189 ····<div·class="searchformwrapper">
189 ····<form·class="search"·action="../search.html"·method="get">190 ····<form·class="search"·action="../search.html"·method="get">
190 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>191 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
191 ······<input·type="submit"·value="Go"·/>192 ······<input·type="submit"·value="Otsi"·/>
192 ····</form>193 ····</form>
193 ····</div>194 ····</div>
194 </search>195 </search>
195 <script>document.getElementById('searchbox').style.display·=·"block"</script>196 <script>document.getElementById('searchbox').style.display·=·"block"</script>
196 ········</div>197 ········</div>
197 ······</div>198 ······</div>
198 ··············<h3>Last·update:</h3>199 ··············<h3>Last·update:</h3>
199 ··············<p·class="topless">Nov·05,·2024</p>200 ··············<p·class="topless">nov·05,·2024</p>
200 ··········</div>201 ··········</div>
201 ········202 ········
202 ······203 ······
203 ····</div>204 ····</div>
  
204 ····<div·id="ft">205 ····<div·id="ft">
205 ······<div·class="nav">206 ······<div·class="nav">
2.88 KB
html2text {}
Max HTML report size reached
31.8 KB
./usr/share/doc/python-django-doc/html/howto/logging.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·configure·and·use·logging·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·configure·and·use·logging·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·manage·error·reporting"·href="error-reporting.html"·/>15 ····<link·rel="next"·title="How·to·manage·error·reporting"·href="error-reporting.html"·/>
15 ····<link·rel="prev"·title="How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)"·href="static-files/index.html"·/>16 ····<link·rel="prev"·title="How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)"·href="static-files/index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="howto-logging">79 ··········<div·class="yui-g"·id="howto-logging">
79 ············80 ············
80 ··<section·id="s-how-to-configure-and-use-logging">81 ··<section·id="s-how-to-configure-and-use-logging">
81 <span·id="s-logging-how-to"></span><span·id="how-to-configure-and-use-logging"></span><span·id="logging-how-to"></span><h1>How·to·configure·and·use·logging<a·class="headerlink"·href="#how-to-configure-and-use-logging"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-logging-how-to"></span><span·id="how-to-configure-and-use-logging"></span><span·id="logging-how-to"></span><h1>How·to·configure·and·use·logging<a·class="headerlink"·href="#how-to-configure-and-use-logging"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·seealso">83 <div·class="admonition·seealso">
83 <p·class="admonition-title">See·also</p>84 <p·class="admonition-title">Vaata·ka</p>
84 <ul·class="simple">85 <ul·class="simple">
85 <li><p><a·class="reference·internal"·href="../ref/logging.html#logging-ref"><span·class="std·std-ref">Django·logging·reference</span></a></p></li>86 <li><p><a·class="reference·internal"·href="../ref/logging.html#logging-ref"><span·class="std·std-ref">Django·logging·reference</span></a></p></li>
86 <li><p><a·class="reference·internal"·href="../topics/logging.html#logging-explanation"><span·class="std·std-ref">Django·logging·overview</span></a></p></li>87 <li><p><a·class="reference·internal"·href="../topics/logging.html#logging-explanation"><span·class="std·std-ref">Django·logging·overview</span></a></p></li>
87 </ul>88 </ul>
88 </div>89 </div>
89 <p>Django·provides·a·working·<a·class="reference·internal"·href="../ref/logging.html#default-logging-configuration"><span·class="std·std-ref">default·logging·configuration</span></a>·that·is·readily·extended.</p>90 <p>Django·provides·a·working·<a·class="reference·internal"·href="../ref/logging.html#default-logging-configuration"><span·class="std·std-ref">default·logging·configuration</span></a>·that·is·readily·extended.</p>
90 <section·id="s-make-a-basic-logging-call">91 <section·id="s-make-a-basic-logging-call">
Offset 94, 15 lines modifiedOffset 95, 15 lines modified
94 <p·class="admonition-title">Don’t·be·tempted·to·use·logging·calls·in·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>.</p>95 <p·class="admonition-title">Don’t·be·tempted·to·use·logging·calls·in·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>.</p>
95 <p>The·way·that·Django·logging·is·configured·as·part·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">setup()</span></code>96 <p>The·way·that·Django·logging·is·configured·as·part·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">setup()</span></code>
96 function·means·that·logging·calls·placed·in·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>·may·not·work·as97 function·means·that·logging·calls·placed·in·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>·may·not·work·as
97 expected,·because·<em>logging·will·not·be·set·up·at·that·point</em>.·To·explore98 expected,·because·<em>logging·will·not·be·set·up·at·that·point</em>.·To·explore
98 logging,·use·a·view·function·as·suggested·in·the·example·below.</p>99 logging,·use·a·view·function·as·suggested·in·the·example·below.</p>
99 </div>100 </div>
100 <p>First,·import·the·Python·logging·library,·and·then·obtain·a·logger·instance101 <p>First,·import·the·Python·logging·library,·and·then·obtain·a·logger·instance
101 with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logging.getLogger"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">logging.getLogger()</span></code></a>.·Provide·the·<code·class="docutils·literal·notranslate"><span·class="pre">getLogger()</span></code>·method·with·a102 with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logging.getLogger"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">logging.getLogger()</span></code></a>.·Provide·the·<code·class="docutils·literal·notranslate"><span·class="pre">getLogger()</span></code>·method·with·a
102 name·to·identify·it·and·the·records·it·emits.·A·good·option·is·to·use103 name·to·identify·it·and·the·records·it·emits.·A·good·option·is·to·use
103 <code·class="docutils·literal·notranslate"><span·class="pre">__name__</span></code>·(see·<a·class="reference·internal"·href="#naming-loggers"><span·class="std·std-ref">Use·logger·namespacing</span></a>·below·for·more·on·this)·which·will104 <code·class="docutils·literal·notranslate"><span·class="pre">__name__</span></code>·(see·<a·class="reference·internal"·href="#naming-loggers"><span·class="std·std-ref">Use·logger·namespacing</span></a>·below·for·more·on·this)·which·will
104 provide·the·name·of·the·current·Python·module·as·a·dotted·path:</p>105 provide·the·name·of·the·current·Python·module·as·a·dotted·path:</p>
105 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">logging</span>106 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">logging</span>
  
106 <span·class="n">logger</span>·<span·class="o">=</span>·<span·class="n">logging</span><span·class="o">.</span><span·class="n">getLogger</span><span·class="p">(</span><span·class="vm">__name__</span><span·class="p">)</span>107 <span·class="n">logger</span>·<span·class="o">=</span>·<span·class="n">logging</span><span·class="o">.</span><span·class="n">getLogger</span><span·class="p">(</span><span·class="vm">__name__</span><span·class="p">)</span>
107 </pre></div>108 </pre></div>
Offset 111, 25 lines modifiedOffset 112, 25 lines modified
111 <p>And·then·in·a·function,·for·example·in·a·view,·send·a·record·to·the·logger:</p>112 <p>And·then·in·a·function,·for·example·in·a·view,·send·a·record·to·the·logger:</p>
112 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">def</span>·<span·class="nf">some_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>113 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">def</span>·<span·class="nf">some_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>
113 ····<span·class="o">...</span>114 ····<span·class="o">...</span>
114 ····<span·class="k">if</span>·<span·class="n">some_risky_state</span><span·class="p">:</span>115 ····<span·class="k">if</span>·<span·class="n">some_risky_state</span><span·class="p">:</span>
115 ········<span·class="n">logger</span><span·class="o">.</span><span·class="n">warning</span><span·class="p">(</span><span·class="s2">&quot;Platform·is·running·at·risk&quot;</span><span·class="p">)</span>116 ········<span·class="n">logger</span><span·class="o">.</span><span·class="n">warning</span><span·class="p">(</span><span·class="s2">&quot;Platform·is·running·at·risk&quot;</span><span·class="p">)</span>
116 </pre></div>117 </pre></div>
117 </div>118 </div>
118 <p>When·this·code·is·executed,·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logging.LogRecord"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LogRecord</span></code></a>·containing·that119 <p>When·this·code·is·executed,·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logging.LogRecord"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LogRecord</span></code></a>·containing·that
119 message·will·be·sent·to·the·logger.·If·you’re·using·Django’s·default·logging120 message·will·be·sent·to·the·logger.·If·you’re·using·Django’s·default·logging
120 configuration,·the·message·will·appear·in·the·console.</p>121 configuration,·the·message·will·appear·in·the·console.</p>
121 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>·level·used·in·the·example·above·is·one·of·several122 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>·level·used·in·the·example·above·is·one·of·several
122 <a·class="reference·internal"·href="../topics/logging.html#topic-logging-parts-loggers"><span·class="std·std-ref">logging·severity·levels</span></a>:·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>,123 <a·class="reference·internal"·href="../topics/logging.html#topic-logging-parts-loggers"><span·class="std·std-ref">logging·severity·levels</span></a>:·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>,
123 <code·class="docutils·literal·notranslate"><span·class="pre">INFO</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">ERROR</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">CRITICAL</span></code>.·So,·another·example·might·be:</p>124 <code·class="docutils·literal·notranslate"><span·class="pre">INFO</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">ERROR</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">CRITICAL</span></code>.·So,·another·example·might·be:</p>
124 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">logger</span><span·class="o">.</span><span·class="n">critical</span><span·class="p">(</span><span·class="s2">&quot;Payment·system·is·not·responding&quot;</span><span·class="p">)</span>125 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">logger</span><span·class="o">.</span><span·class="n">critical</span><span·class="p">(</span><span·class="s2">&quot;Payment·system·is·not·responding&quot;</span><span·class="p">)</span>
125 </pre></div>126 </pre></div>
126 </div>127 </div>
127 <div·class="admonition·important">128 <div·class="admonition·important">
128 <p·class="admonition-title">Important</p>129 <p·class="admonition-title">Tähtis</p>
129 <p>Records·with·a·level·lower·than·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>·will·not·appear·in·the·console130 <p>Records·with·a·level·lower·than·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>·will·not·appear·in·the·console
130 by·default.·Changing·this·behavior·requires·additional·configuration.</p>131 by·default.·Changing·this·behavior·requires·additional·configuration.</p>
131 </div>132 </div>
132 </section>133 </section>
133 <section·id="s-customize-logging-configuration">134 <section·id="s-customize-logging-configuration">
134 <span·id="customize-logging-configuration"></span><h2>Customize·logging·configuration<a·class="headerlink"·href="#customize-logging-configuration"·title="Link·to·this·heading">¶</a></h2>135 <span·id="customize-logging-configuration"></span><h2>Customize·logging·configuration<a·class="headerlink"·href="#customize-logging-configuration"·title="Link·to·this·heading">¶</a></h2>
135 <p>Although·Django’s·logging·configuration·works·out·of·the·box,·you·can·control136 <p>Although·Django’s·logging·configuration·works·out·of·the·box,·you·can·control
Offset 137, 24 lines modifiedOffset 138, 24 lines modified
137 services,·email·and·so·on·-·with·some·additional·configuration.</p>138 services,·email·and·so·on·-·with·some·additional·configuration.</p>
138 <p>You·can·configure:</p>139 <p>You·can·configure:</p>
139 <ul·class="simple">140 <ul·class="simple">
140 <li><p>logger·mappings,·to·determine·which·records·are·sent·to·which·handlers</p></li>141 <li><p>logger·mappings,·to·determine·which·records·are·sent·to·which·handlers</p></li>
141 <li><p>handlers,·to·determine·what·they·do·with·the·records·they·receive</p></li>142 <li><p>handlers,·to·determine·what·they·do·with·the·records·they·receive</p></li>
142 <li><p>filters,·to·provide·additional·control·over·the·transfer·of·records,·and143 <li><p>filters,·to·provide·additional·control·over·the·transfer·of·records,·and
143 even·modify·records·in-place</p></li>144 even·modify·records·in-place</p></li>
144 <li><p>formatters,·to·convert·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logging.LogRecord"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LogRecord</span></code></a>·objects·to·a·string·or145 <li><p>formatters,·to·convert·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logging.LogRecord"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LogRecord</span></code></a>·objects·to·a·string·or
145 other·form·for·consumption·by·human·beings·or·another·system</p></li>146 other·form·for·consumption·by·human·beings·or·another·system</p></li>
146 </ul>147 </ul>
147 <p>There·are·various·ways·of·configuring·logging.·In·Django,·the148 <p>There·are·various·ways·of·configuring·logging.·In·Django,·the
148 <a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGGING"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGGING</span></code></a>·setting·is·most·commonly·used.·The·setting·uses·the149 <a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGGING"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGGING</span></code></a>·setting·is·most·commonly·used.·The·setting·uses·the
149 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#logging-config-dictschema"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">dictConfig·format</span></a>,·and·extends·the150 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#logging-config-dictschema"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">dictConfig·format</span></a>,·and·extends·the
150 <a·class="reference·internal"·href="../ref/logging.html#default-logging-definition"><span·class="std·std-ref">default·logging·configuration</span></a>.</p>151 <a·class="reference·internal"·href="../ref/logging.html#default-logging-definition"><span·class="std·std-ref">default·logging·configuration</span></a>.</p>
151 <p>See·<a·class="reference·internal"·href="../topics/logging.html#configuring-logging"><span·class="std·std-ref">Configuring·logging</span></a>·for·an·explanation·of·how·your·custom·settings152 <p>See·<a·class="reference·internal"·href="../topics/logging.html#configuring-logging"><span·class="std·std-ref">Configuring·logging</span></a>·for·an·explanation·of·how·your·custom·settings
152 are·merged·with·Django’s·defaults.</p>153 are·merged·with·Django’s·defaults.</p>
153 <p>See·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#module-logging.config"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">Python</span>·<span·class="pre">logging</span>·<span·class="pre">documentation</span></code></a>·for154 <p>See·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#module-logging.config"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">Python</span>·<span·class="pre">logging</span>·<span·class="pre">documentation</span></code></a>·for
154 details·of·other·ways·of·configuring·logging.·For·the·sake·of·simplicity,·this155 details·of·other·ways·of·configuring·logging.·For·the·sake·of·simplicity,·this
155 documentation·will·only·consider·configuration·via·the·<code·class="docutils·literal·notranslate"><span·class="pre">LOGGING</span></code>·setting.</p>156 documentation·will·only·consider·configuration·via·the·<code·class="docutils·literal·notranslate"><span·class="pre">LOGGING</span></code>·setting.</p>
156 <section·id="s-basic-logging-configuration">157 <section·id="s-basic-logging-configuration">
157 <span·id="s-basic-logger-configuration"></span><span·id="basic-logging-configuration"></span><span·id="basic-logger-configuration"></span><h3>Basic·logging·configuration<a·class="headerlink"·href="#basic-logging-configuration"·title="Link·to·this·heading">¶</a></h3>158 <span·id="s-basic-logger-configuration"></span><span·id="basic-logging-configuration"></span><span·id="basic-logger-configuration"></span><h3>Basic·logging·configuration<a·class="headerlink"·href="#basic-logging-configuration"·title="Link·to·this·heading">¶</a></h3>
158 <p>When·configuring·logging,·it·makes·sense·to</p>159 <p>When·configuring·logging,·it·makes·sense·to</p>
159 <section·id="s-create-a-logging-dictionary">160 <section·id="s-create-a-logging-dictionary">
160 <span·id="create-a-logging-dictionary"></span><h4>Create·a·<code·class="docutils·literal·notranslate"><span·class="pre">LOGGING</span></code>·dictionary<a·class="headerlink"·href="#create-a-logging-dictionary"·title="Link·to·this·heading">¶</a></h4>161 <span·id="create-a-logging-dictionary"></span><h4>Create·a·<code·class="docutils·literal·notranslate"><span·class="pre">LOGGING</span></code>·dictionary<a·class="headerlink"·href="#create-a-logging-dictionary"·title="Link·to·this·heading">¶</a></h4>
Offset 167, 15 lines modifiedOffset 168, 15 lines modified
167 </div>168 </div>
168 <p>It·nearly·always·makes·sense·to·retain·and·extend·the·default·logging169 <p>It·nearly·always·makes·sense·to·retain·and·extend·the·default·logging
169 configuration·by·setting·<code·class="docutils·literal·notranslate"><span·class="pre">disable_existing_loggers</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>170 configuration·by·setting·<code·class="docutils·literal·notranslate"><span·class="pre">disable_existing_loggers</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
170 </section>171 </section>
Max diff block lines reached; 14675/27606 bytes (53.16%) of diff not shown.
4.73 KB
html2text {}
Max HTML report size reached
15.2 KB
./usr/share/doc/python-django-doc/html/howto/outputting-csv.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·create·CSV·output·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·create·CSV·output·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·create·PDF·files"·href="outputting-pdf.html"·/>15 ····<link·rel="next"·title="How·to·create·PDF·files"·href="outputting-pdf.html"·/>
15 ····<link·rel="prev"·title="How·to·write·custom·lookups"·href="custom-lookups.html"·/>16 ····<link·rel="prev"·title="How·to·write·custom·lookups"·href="custom-lookups.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 16 lines modifiedOffset 81, 16 lines modified
80 ··<section·id="s-how-to-create-csv-output">81 ··<section·id="s-how-to-create-csv-output">
81 <span·id="how-to-create-csv-output"></span><h1>How·to·create·CSV·output<a·class="headerlink"·href="#how-to-create-csv-output"·title="Link·to·this·heading">¶</a></h1>82 <span·id="how-to-create-csv-output"></span><h1>How·to·create·CSV·output<a·class="headerlink"·href="#how-to-create-csv-output"·title="Link·to·this·heading">¶</a></h1>
82 <p>This·document·explains·how·to·output·CSV·(Comma·Separated·Values)·dynamically83 <p>This·document·explains·how·to·output·CSV·(Comma·Separated·Values)·dynamically
83 using·Django·views.·To·do·this,·you·can·either·use·the·Python·CSV·library·or·the84 using·Django·views.·To·do·this,·you·can·either·use·the·Python·CSV·library·or·the
84 Django·template·system.</p>85 Django·template·system.</p>
85 <section·id="s-using-the-python-csv-library">86 <section·id="s-using-the-python-csv-library">
86 <span·id="using-the-python-csv-library"></span><h2>Using·the·Python·CSV·library<a·class="headerlink"·href="#using-the-python-csv-library"·title="Link·to·this·heading">¶</a></h2>87 <span·id="using-the-python-csv-library"></span><h2>Using·the·Python·CSV·library<a·class="headerlink"·href="#using-the-python-csv-library"·title="Link·to·this·heading">¶</a></h2>
87 <p>Python·comes·with·a·CSV·library,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/csv.html#module-csv"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">csv</span></code></a>.·The·key·to·using·it·with·Django·is88 <p>Python·comes·with·a·CSV·library,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/csv.html#module-csv"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">csv</span></code></a>.·The·key·to·using·it·with·Django·is
88 that·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/csv.html#module-csv"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">csv</span></code></a>·module’s·CSV-creation·capability·acts·on·file-like·objects,89 that·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/csv.html#module-csv"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">csv</span></code></a>·module’s·CSV-creation·capability·acts·on·file-like·objects,
89 and·Django’s·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·objects·are·file-like·objects.</p>90 and·Django’s·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·objects·are·file-like·objects.</p>
90 <p>Here’s·an·example:</p>91 <p>Here’s·an·example:</p>
91 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">csv</span>92 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">csv</span>
92 <span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span>93 <span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span>
  
  
93 <span·class="k">def</span>·<span·class="nf">some_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>94 <span·class="k">def</span>·<span·class="nf">some_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>
Offset 111, 20 lines modifiedOffset 112, 20 lines modified
111 <ul·class="simple">112 <ul·class="simple">
112 <li><p>The·response·gets·a·special·MIME·type,·<em·class="mimetype">text/csv</em>.·This·tells113 <li><p>The·response·gets·a·special·MIME·type,·<em·class="mimetype">text/csv</em>.·This·tells
113 browsers·that·the·document·is·a·CSV·file,·rather·than·an·HTML·file.·If114 browsers·that·the·document·is·a·CSV·file,·rather·than·an·HTML·file.·If
114 you·leave·this·off,·browsers·will·probably·interpret·the·output·as·HTML,115 you·leave·this·off,·browsers·will·probably·interpret·the·output·as·HTML,
115 which·will·result·in·ugly,·scary·gobbledygook·in·the·browser·window.</p></li>116 which·will·result·in·ugly,·scary·gobbledygook·in·the·browser·window.</p></li>
116 <li><p>The·response·gets·an·additional·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Disposition</span></code>·header,·which117 <li><p>The·response·gets·an·additional·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Disposition</span></code>·header,·which
117 contains·the·name·of·the·CSV·file.·This·filename·is·arbitrary;·call·it118 contains·the·name·of·the·CSV·file.·This·filename·is·arbitrary;·call·it
118 whatever·you·want.·It’ll·be·used·by·browsers·in·the·Save·as…·dialog,·etc.</p></li>119 whatever·you·want.·It’ll·be·used·by·browsers·in·the·Save·as…·dialog,·etc.</p></li>
119 <li><p>You·can·hook·into·the·CSV-generation·API·by·passing·<code·class="docutils·literal·notranslate"><span·class="pre">response</span></code>·as·the·first120 <li><p>You·can·hook·into·the·CSV-generation·API·by·passing·<code·class="docutils·literal·notranslate"><span·class="pre">response</span></code>·as·the·first
120 argument·to·<code·class="docutils·literal·notranslate"><span·class="pre">csv.writer</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">csv.writer</span></code>·function·expects·a·file-like121 argument·to·<code·class="docutils·literal·notranslate"><span·class="pre">csv.writer</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">csv.writer</span></code>·function·expects·a·file-like
121 object,·and·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·objects·fit·the·bill.</p></li>122 object,·and·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·objects·fit·the·bill.</p></li>
122 <li><p>For·each·row·in·your·CSV·file,·call·<code·class="docutils·literal·notranslate"><span·class="pre">writer.writerow</span></code>,·passing·it·an123 <li><p>For·each·row·in·your·CSV·file,·call·<code·class="docutils·literal·notranslate"><span·class="pre">writer.writerow</span></code>,·passing·it·an
123 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-iterable"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">iterable</span></a>.</p></li>124 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-iterable"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">iterable</span></a>.</p></li>
124 <li><p>The·CSV·module·takes·care·of·quoting·for·you,·so·you·don’t·have·to·worry125 <li><p>The·CSV·module·takes·care·of·quoting·for·you,·so·you·don’t·have·to·worry
125 about·escaping·strings·with·quotes·or·commas·in·them.·Pass·<code·class="docutils·literal·notranslate"><span·class="pre">writerow()</span></code>126 about·escaping·strings·with·quotes·or·commas·in·them.·Pass·<code·class="docutils·literal·notranslate"><span·class="pre">writerow()</span></code>
126 your·raw·strings,·and·it’ll·do·the·right·thing.</p></li>127 your·raw·strings,·and·it’ll·do·the·right·thing.</p></li>
127 </ul>128 </ul>
128 <section·id="s-streaming-large-csv-files">129 <section·id="s-streaming-large-csv-files">
129 <span·id="s-streaming-csv-files"></span><span·id="streaming-large-csv-files"></span><span·id="streaming-csv-files"></span><h3>Streaming·large·CSV·files<a·class="headerlink"·href="#streaming-large-csv-files"·title="Link·to·this·heading">¶</a></h3>130 <span·id="s-streaming-csv-files"></span><span·id="streaming-large-csv-files"></span><span·id="streaming-csv-files"></span><h3>Streaming·large·CSV·files<a·class="headerlink"·href="#streaming-large-csv-files"·title="Link·to·this·heading">¶</a></h3>
130 <p>When·dealing·with·views·that·generate·very·large·responses,·you·might·want·to131 <p>When·dealing·with·views·that·generate·very·large·responses,·you·might·want·to
Offset 165, 15 lines modifiedOffset 166, 15 lines modified
165 </pre></div>166 </pre></div>
166 </div>167 </div>
167 </section>168 </section>
168 </section>169 </section>
169 <section·id="s-using-the-template-system">170 <section·id="s-using-the-template-system">
170 <span·id="using-the-template-system"></span><h2>Using·the·template·system<a·class="headerlink"·href="#using-the-template-system"·title="Link·to·this·heading">¶</a></h2>171 <span·id="using-the-template-system"></span><h2>Using·the·template·system<a·class="headerlink"·href="#using-the-template-system"·title="Link·to·this·heading">¶</a></h2>
171 <p>Alternatively,·you·can·use·the·<a·class="reference·internal"·href="../topics/templates.html"><span·class="doc">Django·template·system</span></a>172 <p>Alternatively,·you·can·use·the·<a·class="reference·internal"·href="../topics/templates.html"><span·class="doc">Django·template·system</span></a>
172 to·generate·CSV.·This·is·lower-level·than·using·the·convenient·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/csv.html#module-csv"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">csv</span></code></a>173 to·generate·CSV.·This·is·lower-level·than·using·the·convenient·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/csv.html#module-csv"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">csv</span></code></a>
173 module,·but·the·solution·is·presented·here·for·completeness.</p>174 module,·but·the·solution·is·presented·here·for·completeness.</p>
174 <p>The·idea·here·is·to·pass·a·list·of·items·to·your·template,·and·have·the175 <p>The·idea·here·is·to·pass·a·list·of·items·to·your·template,·and·have·the
175 template·output·the·commas·in·a·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-for"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">for</span></code></a>·loop.</p>176 template·output·the·commas·in·a·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-for"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">for</span></code></a>·loop.</p>
176 <p>Here’s·an·example,·which·generates·the·same·CSV·file·as·above:</p>177 <p>Here’s·an·example,·which·generates·the·same·CSV·file·as·above:</p>
177 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span>178 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span>
178 <span·class="kn">from</span>·<span·class="nn">django.template</span>·<span·class="kn">import</span>·<span·class="n">loader</span>179 <span·class="kn">from</span>·<span·class="nn">django.template</span>·<span·class="kn">import</span>·<span·class="n">loader</span>
  
Offset 226, 52 lines modifiedOffset 227, 52 lines modified
226 ······227 ······
227 ········228 ········
228 ··········<div·class="yui-b"·id="sidebar">229 ··········<div·class="yui-b"·id="sidebar">
229 ············230 ············
230 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">231 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
231 ········<div·class="sphinxsidebarwrapper">232 ········<div·class="sphinxsidebarwrapper">
232 ··<div>233 ··<div>
233 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>234 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
234 ····<ul>235 ····<ul>
235 <li><a·class="reference·internal"·href="#">How·to·create·CSV·output</a><ul>236 <li><a·class="reference·internal"·href="#">How·to·create·CSV·output</a><ul>
236 <li><a·class="reference·internal"·href="#using-the-python-csv-library">Using·the·Python·CSV·library</a><ul>237 <li><a·class="reference·internal"·href="#using-the-python-csv-library">Using·the·Python·CSV·library</a><ul>
237 <li><a·class="reference·internal"·href="#streaming-large-csv-files">Streaming·large·CSV·files</a></li>238 <li><a·class="reference·internal"·href="#streaming-large-csv-files">Streaming·large·CSV·files</a></li>
238 </ul>239 </ul>
239 </li>240 </li>
240 <li><a·class="reference·internal"·href="#using-the-template-system">Using·the·template·system</a></li>241 <li><a·class="reference·internal"·href="#using-the-template-system">Using·the·template·system</a></li>
241 <li><a·class="reference·internal"·href="#other-text-based-formats">Other·text-based·formats</a></li>242 <li><a·class="reference·internal"·href="#other-text-based-formats">Other·text-based·formats</a></li>
242 </ul>243 </ul>
243 </li>244 </li>
244 </ul>245 </ul>
  
245 ··</div>246 ··</div>
246 ··<div>247 ··<div>
247 ····<h4>Previous·topic</h4>248 ····<h4>Eelmine·teema</h4>
248 ····<p·class="topless"><a·href="custom-lookups.html"249 ····<p·class="topless"><a·href="custom-lookups.html"
249 ··························title="previous·chapter">How·to·write·custom·lookups</a></p>250 ··························title="eelmine·jaotis">How·to·write·custom·lookups</a></p>
250 ··</div>251 ··</div>
251 ··<div>252 ··<div>
252 ····<h4>Next·topic</h4>253 ····<h4>Järgmine·teema</h4>
253 ····<p·class="topless"><a·href="outputting-pdf.html"254 ····<p·class="topless"><a·href="outputting-pdf.html"
254 ··························title="next·chapter">How·to·create·PDF·files</a></p>255 ··························title="järgmine·jaotis">How·to·create·PDF·files</a></p>
255 ··</div>256 ··</div>
256 <search·id="searchbox"·style="display:·none"·role="search">257 <search·id="searchbox"·style="display:·none"·role="search">
257 ··<h3·id="searchlabel">Quick·search</h3>258 ··<h3·id="searchlabel">Kiirotsing</h3>
Max diff block lines reached; 672/11473 bytes (5.86%) of diff not shown.
3.91 KB
html2text {}
Max HTML report size reached
13.4 KB
./usr/share/doc/python-django-doc/html/howto/outputting-pdf.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·create·PDF·files·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·create·PDF·files·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·override·templates"·href="overriding-templates.html"·/>15 ····<link·rel="next"·title="How·to·override·templates"·href="overriding-templates.html"·/>
15 ····<link·rel="prev"·title="How·to·create·CSV·output"·href="outputting-csv.html"·/>16 ····<link·rel="prev"·title="How·to·create·CSV·output"·href="outputting-csv.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 128, 15 lines modifiedOffset 129, 15 lines modified
128 <p>If·that·command·doesn’t·raise·any·errors,·the·installation·worked.</p>129 <p>If·that·command·doesn’t·raise·any·errors,·the·installation·worked.</p>
129 </section>130 </section>
130 <section·id="s-write-your-view">131 <section·id="s-write-your-view">
131 <span·id="write-your-view"></span><h2>Write·your·view<a·class="headerlink"·href="#write-your-view"·title="Link·to·this·heading">¶</a></h2>132 <span·id="write-your-view"></span><h2>Write·your·view<a·class="headerlink"·href="#write-your-view"·title="Link·to·this·heading">¶</a></h2>
132 <p>The·key·to·generating·PDFs·dynamically·with·Django·is·that·the·ReportLab·API133 <p>The·key·to·generating·PDFs·dynamically·with·Django·is·that·the·ReportLab·API
133 acts·on·file-like·objects,·and·Django’s·<a·class="reference·internal"·href="../ref/request-response.html#django.http.FileResponse"·title="django.http.FileResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a>134 acts·on·file-like·objects,·and·Django’s·<a·class="reference·internal"·href="../ref/request-response.html#django.http.FileResponse"·title="django.http.FileResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a>
134 objects·accept·file-like·objects.</p>135 objects·accept·file-like·objects.</p>
135 <p>Here’s·a·Hello·World·example:</p>136 <p>Here’s·a·Hello·World·example:</p>
136 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">io</span>137 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">io</span>
137 <span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">FileResponse</span>138 <span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">FileResponse</span>
138 <span·class="kn">from</span>·<span·class="nn">reportlab.pdfgen</span>·<span·class="kn">import</span>·<span·class="n">canvas</span>139 <span·class="kn">from</span>·<span·class="nn">reportlab.pdfgen</span>·<span·class="kn">import</span>·<span·class="n">canvas</span>
  
  
139 <span·class="k">def</span>·<span·class="nf">some_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>140 <span·class="k">def</span>·<span·class="nf">some_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>
140 ····<span·class="c1">#·Create·a·file-like·buffer·to·receive·PDF·data.</span>141 ····<span·class="c1">#·Create·a·file-like·buffer·to·receive·PDF·data.</span>
Offset 169, 39 lines modifiedOffset 170, 39 lines modified
169 <li><p>When·<code·class="docutils·literal·notranslate"><span·class="pre">as_attachment=True</span></code>·is·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code>,·it·sets·the170 <li><p>When·<code·class="docutils·literal·notranslate"><span·class="pre">as_attachment=True</span></code>·is·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code>,·it·sets·the
170 appropriate·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Disposition</span></code>·header·and·that·tells·web·browsers·to171 appropriate·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Disposition</span></code>·header·and·that·tells·web·browsers·to
171 pop-up·a·dialog·box·prompting/confirming·how·to·handle·the·document·even·if·a172 pop-up·a·dialog·box·prompting/confirming·how·to·handle·the·document·even·if·a
172 default·is·set·on·the·machine.·If·the·<code·class="docutils·literal·notranslate"><span·class="pre">as_attachment</span></code>·parameter·is·omitted,173 default·is·set·on·the·machine.·If·the·<code·class="docutils·literal·notranslate"><span·class="pre">as_attachment</span></code>·parameter·is·omitted,
173 browsers·will·handle·the·PDF·using·whatever·program/plugin·they’ve·been174 browsers·will·handle·the·PDF·using·whatever·program/plugin·they’ve·been
174 configured·to·use·for·PDFs.</p></li>175 configured·to·use·for·PDFs.</p></li>
175 <li><p>You·can·provide·an·arbitrary·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·parameter.·It’ll·be·used·by·browsers176 <li><p>You·can·provide·an·arbitrary·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·parameter.·It’ll·be·used·by·browsers
176 in·the·Save·as…·dialog.</p></li>177 in·the·Save·as…·dialog.</p></li>
177 <li><p>You·can·hook·into·the·ReportLab·API:·The·same·buffer·passed·as·the·first178 <li><p>You·can·hook·into·the·ReportLab·API:·The·same·buffer·passed·as·the·first
178 argument·to·<code·class="docutils·literal·notranslate"><span·class="pre">canvas.Canvas</span></code>·can·be·fed·to·the179 argument·to·<code·class="docutils·literal·notranslate"><span·class="pre">canvas.Canvas</span></code>·can·be·fed·to·the
179 <a·class="reference·internal"·href="../ref/request-response.html#django.http.FileResponse"·title="django.http.FileResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a>·class.</p></li>180 <a·class="reference·internal"·href="../ref/request-response.html#django.http.FileResponse"·title="django.http.FileResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a>·class.</p></li>
180 <li><p>Note·that·all·subsequent·PDF-generation·methods·are·called·on·the·PDF181 <li><p>Note·that·all·subsequent·PDF-generation·methods·are·called·on·the·PDF
181 object·(in·this·case,·<code·class="docutils·literal·notranslate"><span·class="pre">p</span></code>)··not·on·<code·class="docutils·literal·notranslate"><span·class="pre">buffer</span></code>.</p></li>182 object·(in·this·case,·<code·class="docutils·literal·notranslate"><span·class="pre">p</span></code>)··not·on·<code·class="docutils·literal·notranslate"><span·class="pre">buffer</span></code>.</p></li>
182 <li><p>Finally,·it’s·important·to·call·<code·class="docutils·literal·notranslate"><span·class="pre">showPage()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·on·the·PDF183 <li><p>Finally,·it’s·important·to·call·<code·class="docutils·literal·notranslate"><span·class="pre">showPage()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·on·the·PDF
183 file.</p></li>184 file.</p></li>
184 </ul>185 </ul>
185 <div·class="admonition·note">186 <div·class="admonition·note">
186 <p·class="admonition-title">Note</p>187 <p·class="admonition-title">rkus</p>
187 <p>ReportLab·is·not·thread-safe.·Some·of·our·users·have·reported·odd·issues188 <p>ReportLab·is·not·thread-safe.·Some·of·our·users·have·reported·odd·issues
188 with·building·PDF-generating·Django·views·that·are·accessed·by·many·people189 with·building·PDF-generating·Django·views·that·are·accessed·by·many·people
189 at·the·same·time.</p>190 at·the·same·time.</p>
190 </div>191 </div>
191 </section>192 </section>
192 <section·id="s-other-formats">193 <section·id="s-other-formats">
193 <span·id="other-formats"></span><h2>Other·formats<a·class="headerlink"·href="#other-formats"·title="Link·to·this·heading">¶</a></h2>194 <span·id="other-formats"></span><h2>Other·formats<a·class="headerlink"·href="#other-formats"·title="Link·to·this·heading">¶</a></h2>
194 <p>Notice·that·there·isn’t·a·lot·in·these·examples·that’s·PDF-specific··just·the195 <p>Notice·that·there·isn’t·a·lot·in·these·examples·that’s·PDF-specific··just·the
195 bits·using·<code·class="docutils·literal·notranslate"><span·class="pre">reportlab</span></code>.·You·can·use·a·similar·technique·to·generate·any196 bits·using·<code·class="docutils·literal·notranslate"><span·class="pre">reportlab</span></code>.·You·can·use·a·similar·technique·to·generate·any
196 arbitrary·format·that·you·can·find·a·Python·library·for.·Also·see197 arbitrary·format·that·you·can·find·a·Python·library·for.·Also·see
197 <a·class="reference·internal"·href="outputting-csv.html"><span·class="doc">How·to·create·CSV·output</span></a>·for·another·example·and·some·techniques·you·can·use198 <a·class="reference·internal"·href="outputting-csv.html"><span·class="doc">How·to·create·CSV·output</span></a>·for·another·example·and·some·techniques·you·can·use
198 when·generated·text-based·formats.</p>199 when·generated·text-based·formats.</p>
199 <div·class="admonition·seealso">200 <div·class="admonition·seealso">
200 <p·class="admonition-title">See·also</p>201 <p·class="admonition-title">Vaata·ka</p>
201 <p>Django·Packages·provides·a·<a·class="reference·external"·href="https://djangopackages.org/grids/g/pdf/">comparison·of·packages</a>·that·help·generate·PDF·files202 <p>Django·Packages·provides·a·<a·class="reference·external"·href="https://djangopackages.org/grids/g/pdf/">comparison·of·packages</a>·that·help·generate·PDF·files
202 from·Django.</p>203 from·Django.</p>
203 </div>204 </div>
204 </section>205 </section>
205 </section>206 </section>
  
  
Offset 211, 49 lines modifiedOffset 212, 49 lines modified
211 ······212 ······
212 ········213 ········
213 ··········<div·class="yui-b"·id="sidebar">214 ··········<div·class="yui-b"·id="sidebar">
214 ············215 ············
215 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">216 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
216 ········<div·class="sphinxsidebarwrapper">217 ········<div·class="sphinxsidebarwrapper">
217 ··<div>218 ··<div>
218 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>219 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
219 ····<ul>220 ····<ul>
220 <li><a·class="reference·internal"·href="#">How·to·create·PDF·files</a><ul>221 <li><a·class="reference·internal"·href="#">How·to·create·PDF·files</a><ul>
221 <li><a·class="reference·internal"·href="#install-reportlab">Install·ReportLab</a></li>222 <li><a·class="reference·internal"·href="#install-reportlab">Install·ReportLab</a></li>
222 <li><a·class="reference·internal"·href="#write-your-view">Write·your·view</a></li>223 <li><a·class="reference·internal"·href="#write-your-view">Write·your·view</a></li>
223 <li><a·class="reference·internal"·href="#other-formats">Other·formats</a></li>224 <li><a·class="reference·internal"·href="#other-formats">Other·formats</a></li>
224 </ul>225 </ul>
225 </li>226 </li>
226 </ul>227 </ul>
  
227 ··</div>228 ··</div>
228 ··<div>229 ··<div>
229 ····<h4>Previous·topic</h4>230 ····<h4>Eelmine·teema</h4>
230 ····<p·class="topless"><a·href="outputting-csv.html"231 ····<p·class="topless"><a·href="outputting-csv.html"
231 ··························title="previous·chapter">How·to·create·CSV·output</a></p>232 ··························title="eelmine·jaotis">How·to·create·CSV·output</a></p>
232 ··</div>233 ··</div>
233 ··<div>234 ··<div>
234 ····<h4>Next·topic</h4>235 ····<h4>Järgmine·teema</h4>
235 ····<p·class="topless"><a·href="overriding-templates.html"236 ····<p·class="topless"><a·href="overriding-templates.html"
236 ··························title="next·chapter">How·to·override·templates</a></p>237 ··························title="järgmine·jaotis">How·to·override·templates</a></p>
237 ··</div>238 ··</div>
238 <search·id="searchbox"·style="display:·none"·role="search">239 <search·id="searchbox"·style="display:·none"·role="search">
239 ··<h3·id="searchlabel">Quick·search</h3>240 ··<h3·id="searchlabel">Kiirotsing</h3>
240 ····<div·class="searchformwrapper">241 ····<div·class="searchformwrapper">
Max diff block lines reached; 608/9001 bytes (6.75%) of diff not shown.
4.44 KB
html2text {}
Max HTML report size reached
9.87 KB
./usr/share/doc/python-django-doc/html/howto/overriding-templates.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·override·templates·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·override·templates·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·implement·a·custom·template·backend"·href="custom-template-backend.html"·/>15 ····<link·rel="next"·title="How·to·implement·a·custom·template·backend"·href="custom-template-backend.html"·/>
15 ····<link·rel="prev"·title="How·to·create·PDF·files"·href="outputting-pdf.html"·/>16 ····<link·rel="prev"·title="How·to·create·PDF·files"·href="outputting-pdf.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 15 lines modifiedOffset 85, 15 lines modified
84 such·as·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code>.·You·can·either·put·template·overrides·in·your85 such·as·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code>.·You·can·either·put·template·overrides·in·your
85 project’s·templates·directory·or·in·an·application’s·templates·directory.</p>86 project’s·templates·directory·or·in·an·application’s·templates·directory.</p>
86 <p>If·you·have·app·and·project·templates·directories·that·both·contain·overrides,87 <p>If·you·have·app·and·project·templates·directories·that·both·contain·overrides,
87 the·default·Django·template·loader·will·try·to·load·the·template·from·the88 the·default·Django·template·loader·will·try·to·load·the·template·from·the
88 project-level·directory·first.·In·other·words,·<a·class="reference·internal"·href="../ref/settings.html#std-setting-TEMPLATES-DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DIRS</span></code></a>89 project-level·directory·first.·In·other·words,·<a·class="reference·internal"·href="../ref/settings.html#std-setting-TEMPLATES-DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DIRS</span></code></a>
89 is·searched·before·<a·class="reference·internal"·href="../ref/settings.html#std-setting-TEMPLATES-APP_DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">APP_DIRS</span></code></a>.</p>90 is·searched·before·<a·class="reference·internal"·href="../ref/settings.html#std-setting-TEMPLATES-APP_DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">APP_DIRS</span></code></a>.</p>
90 <div·class="admonition·seealso">91 <div·class="admonition·seealso">
91 <p·class="admonition-title">See·also</p>92 <p·class="admonition-title">Vaata·ka</p>
92 <p>Read·<a·class="reference·internal"·href="../ref/forms/renderers.html#overriding-built-in-widget-templates"><span·class="std·std-ref">Overriding·built-in·widget·templates</span></a>·if·you’re·looking·to93 <p>Read·<a·class="reference·internal"·href="../ref/forms/renderers.html#overriding-built-in-widget-templates"><span·class="std·std-ref">Overriding·built-in·widget·templates</span></a>·if·you’re·looking·to
93 do·that.</p>94 do·that.</p>
94 </div>95 </div>
95 <section·id="s-overriding-from-the-project-s-templates-directory">96 <section·id="s-overriding-from-the-project-s-templates-directory">
96 <span·id="overriding-from-the-project-s-templates-directory"></span><h2>Overriding·from·the·project’s·templates·directory<a·class="headerlink"·href="#overriding-from-the-project-s-templates-directory"·title="Link·to·this·heading">¶</a></h2>97 <span·id="overriding-from-the-project-s-templates-directory"></span><h2>Overriding·from·the·project’s·templates·directory<a·class="headerlink"·href="#overriding-from-the-project-s-templates-directory"·title="Link·to·this·heading">¶</a></h2>
97 <p>First,·we’ll·explore·overriding·templates·by·creating·replacement·templates·in98 <p>First,·we’ll·explore·overriding·templates·by·creating·replacement·templates·in
98 your·project’s·templates·directory.</p>99 your·project’s·templates·directory.</p>
Offset 209, 49 lines modifiedOffset 210, 49 lines modified
209 ······210 ······
210 ········211 ········
211 ··········<div·class="yui-b"·id="sidebar">212 ··········<div·class="yui-b"·id="sidebar">
212 ············213 ············
213 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">214 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
214 ········<div·class="sphinxsidebarwrapper">215 ········<div·class="sphinxsidebarwrapper">
215 ··<div>216 ··<div>
216 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>217 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
217 ····<ul>218 ····<ul>
218 <li><a·class="reference·internal"·href="#">How·to·override·templates</a><ul>219 <li><a·class="reference·internal"·href="#">How·to·override·templates</a><ul>
219 <li><a·class="reference·internal"·href="#overriding-from-the-project-s-templates-directory">Overriding·from·the·project’s·templates·directory</a></li>220 <li><a·class="reference·internal"·href="#overriding-from-the-project-s-templates-directory">Overriding·from·the·project’s·templates·directory</a></li>
220 <li><a·class="reference·internal"·href="#overriding-from-an-app-s-template-directory">Overriding·from·an·app’s·template·directory</a></li>221 <li><a·class="reference·internal"·href="#overriding-from-an-app-s-template-directory">Overriding·from·an·app’s·template·directory</a></li>
221 <li><a·class="reference·internal"·href="#extending-an-overridden-template">Extending·an·overridden·template</a></li>222 <li><a·class="reference·internal"·href="#extending-an-overridden-template">Extending·an·overridden·template</a></li>
222 </ul>223 </ul>
223 </li>224 </li>
224 </ul>225 </ul>
  
225 ··</div>226 ··</div>
226 ··<div>227 ··<div>
227 ····<h4>Previous·topic</h4>228 ····<h4>Eelmine·teema</h4>
228 ····<p·class="topless"><a·href="outputting-pdf.html"229 ····<p·class="topless"><a·href="outputting-pdf.html"
229 ··························title="previous·chapter">How·to·create·PDF·files</a></p>230 ··························title="eelmine·jaotis">How·to·create·PDF·files</a></p>
230 ··</div>231 ··</div>
231 ··<div>232 ··<div>
232 ····<h4>Next·topic</h4>233 ····<h4>Järgmine·teema</h4>
233 ····<p·class="topless"><a·href="custom-template-backend.html"234 ····<p·class="topless"><a·href="custom-template-backend.html"
234 ··························title="next·chapter">How·to·implement·a·custom·template·backend</a></p>235 ··························title="järgmine·jaotis">How·to·implement·a·custom·template·backend</a></p>
235 ··</div>236 ··</div>
236 <search·id="searchbox"·style="display:·none"·role="search">237 <search·id="searchbox"·style="display:·none"·role="search">
237 ··<h3·id="searchlabel">Quick·search</h3>238 ··<h3·id="searchlabel">Kiirotsing</h3>
238 ····<div·class="searchformwrapper">239 ····<div·class="searchformwrapper">
239 ····<form·class="search"·action="../search.html"·method="get">240 ····<form·class="search"·action="../search.html"·method="get">
240 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>241 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
241 ······<input·type="submit"·value="Go"·/>242 ······<input·type="submit"·value="Otsi"·/>
242 ····</form>243 ····</form>
243 ····</div>244 ····</div>
244 </search>245 </search>
245 <script>document.getElementById('searchbox').style.display·=·"block"</script>246 <script>document.getElementById('searchbox').style.display·=·"block"</script>
246 ········</div>247 ········</div>
247 ······</div>248 ······</div>
248 ··············<h3>Last·update:</h3>249 ··············<h3>Last·update:</h3>
249 ··············<p·class="topless">Nov·05,·2024</p>250 ··············<p·class="topless">nov·05,·2024</p>
250 ··········</div>251 ··········</div>
251 ········252 ········
252 ······253 ······
253 ····</div>254 ····</div>
  
254 ····<div·id="ft">255 ····<div·id="ft">
255 ······<div·class="nav">256 ······<div·class="nav">
3.7 KB
html2text {}
Max HTML report size reached
10.5 KB
./usr/share/doc/python-django-doc/html/howto/static-files/deployment.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·deploy·static·files·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·deploy·static·files·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="How·to·authenticate·using·REMOTE_USER"·href="../auth-remote-user.html"·/>15 ····<link·rel="next"·title="How·to·authenticate·using·REMOTE_USER"·href="../auth-remote-user.html"·/>
15 ····<link·rel="prev"·title="Deployment·checklist"·href="../deployment/checklist.html"·/>16 ····<link·rel="prev"·title="Deployment·checklist"·href="../deployment/checklist.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="howto-static-files-deployment">79 ··········<div·class="yui-g"·id="howto-static-files-deployment">
79 ············80 ············
80 ··<section·id="s-how-to-deploy-static-files">81 ··<section·id="s-how-to-deploy-static-files">
81 <span·id="how-to-deploy-static-files"></span><h1>How·to·deploy·static·files<a·class="headerlink"·href="#how-to-deploy-static-files"·title="Link·to·this·heading">¶</a></h1>82 <span·id="how-to-deploy-static-files"></span><h1>How·to·deploy·static·files<a·class="headerlink"·href="#how-to-deploy-static-files"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·seealso">83 <div·class="admonition·seealso">
83 <p·class="admonition-title">See·also</p>84 <p·class="admonition-title">Vaata·ka</p>
84 <p>For·an·introduction·to·the·use·of·<a·class="reference·internal"·href="../../ref/contrib/staticfiles.html#module-django.contrib.staticfiles"·title="django.contrib.staticfiles:·An·app·for·handling·static·files."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code></a>,·see85 <p>For·an·introduction·to·the·use·of·<a·class="reference·internal"·href="../../ref/contrib/staticfiles.html#module-django.contrib.staticfiles"·title="django.contrib.staticfiles:·An·app·for·handling·static·files."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code></a>,·see
85 <a·class="reference·internal"·href="index.html"><span·class="doc">How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)</span></a>.</p>86 <a·class="reference·internal"·href="index.html"><span·class="doc">How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)</span></a>.</p>
86 </div>87 </div>
87 <section·id="s-serving-static-files-in-production">88 <section·id="s-serving-static-files-in-production">
88 <span·id="s-staticfiles-production"></span><span·id="serving-static-files-in-production"></span><span·id="staticfiles-production"></span><h2>Serving·static·files·in·production<a·class="headerlink"·href="#serving-static-files-in-production"·title="Link·to·this·heading">¶</a></h2>89 <span·id="s-staticfiles-production"></span><span·id="serving-static-files-in-production"></span><span·id="staticfiles-production"></span><h2>Serving·static·files·in·production<a·class="headerlink"·href="#serving-static-files-in-production"·title="Link·to·this·heading">¶</a></h2>
89 <p>The·basic·outline·of·putting·static·files·into·production·consists·of·two90 <p>The·basic·outline·of·putting·static·files·into·production·consists·of·two
90 steps:·run·the·<a·class="reference·internal"·href="../../ref/contrib/staticfiles.html#django-admin-collectstatic"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">collectstatic</span></code></a>·command·when·static·files·change,·then91 steps:·run·the·<a·class="reference·internal"·href="../../ref/contrib/staticfiles.html#django-admin-collectstatic"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">collectstatic</span></code></a>·command·when·static·files·change,·then
Offset 179, 15 lines modifiedOffset 180, 15 lines modified
179 ······180 ······
180 ········181 ········
181 ··········<div·class="yui-b"·id="sidebar">182 ··········<div·class="yui-b"·id="sidebar">
182 ············183 ············
183 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">184 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
184 ········<div·class="sphinxsidebarwrapper">185 ········<div·class="sphinxsidebarwrapper">
185 ··<div>186 ··<div>
186 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>187 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
187 ····<ul>188 ····<ul>
188 <li><a·class="reference·internal"·href="#">How·to·deploy·static·files</a><ul>189 <li><a·class="reference·internal"·href="#">How·to·deploy·static·files</a><ul>
189 <li><a·class="reference·internal"·href="#serving-static-files-in-production">Serving·static·files·in·production</a><ul>190 <li><a·class="reference·internal"·href="#serving-static-files-in-production">Serving·static·files·in·production</a><ul>
190 <li><a·class="reference·internal"·href="#serving-the-site-and-your-static-files-from-the-same-server">Serving·the·site·and·your·static·files·from·the·same·server</a></li>191 <li><a·class="reference·internal"·href="#serving-the-site-and-your-static-files-from-the-same-server">Serving·the·site·and·your·static·files·from·the·same·server</a></li>
191 <li><a·class="reference·internal"·href="#serving-static-files-from-a-dedicated-server">Serving·static·files·from·a·dedicated·server</a></li>192 <li><a·class="reference·internal"·href="#serving-static-files-from-a-dedicated-server">Serving·static·files·from·a·dedicated·server</a></li>
192 <li><a·class="reference·internal"·href="#serving-static-files-from-a-cloud-service-or-cdn">Serving·static·files·from·a·cloud·service·or·CDN</a></li>193 <li><a·class="reference·internal"·href="#serving-static-files-from-a-cloud-service-or-cdn">Serving·static·files·from·a·cloud·service·or·CDN</a></li>
193 </ul>194 </ul>
Offset 195, 37 lines modifiedOffset 196, 37 lines modified
195 <li><a·class="reference·internal"·href="#learn-more">Learn·more</a></li>196 <li><a·class="reference·internal"·href="#learn-more">Learn·more</a></li>
196 </ul>197 </ul>
197 </li>198 </li>
198 </ul>199 </ul>
  
199 ··</div>200 ··</div>
200 ··<div>201 ··<div>
201 ····<h4>Previous·topic</h4>202 ····<h4>Eelmine·teema</h4>
202 ····<p·class="topless"><a·href="../deployment/checklist.html"203 ····<p·class="topless"><a·href="../deployment/checklist.html"
203 ··························title="previous·chapter">Deployment·checklist</a></p>204 ··························title="eelmine·jaotis">Deployment·checklist</a></p>
204 ··</div>205 ··</div>
205 ··<div>206 ··<div>
206 ····<h4>Next·topic</h4>207 ····<h4>Järgmine·teema</h4>
207 ····<p·class="topless"><a·href="../auth-remote-user.html"208 ····<p·class="topless"><a·href="../auth-remote-user.html"
208 ··························title="next·chapter">How·to·authenticate·using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code></a></p>209 ··························title="järgmine·jaotis">How·to·authenticate·using·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_USER</span></code></a></p>
209 ··</div>210 ··</div>
210 <search·id="searchbox"·style="display:·none"·role="search">211 <search·id="searchbox"·style="display:·none"·role="search">
211 ··<h3·id="searchlabel">Quick·search</h3>212 ··<h3·id="searchlabel">Kiirotsing</h3>
212 ····<div·class="searchformwrapper">213 ····<div·class="searchformwrapper">
213 ····<form·class="search"·action="../../search.html"·method="get">214 ····<form·class="search"·action="../../search.html"·method="get">
214 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>215 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
215 ······<input·type="submit"·value="Go"·/>216 ······<input·type="submit"·value="Otsi"·/>
216 ····</form>217 ····</form>
217 ····</div>218 ····</div>
218 </search>219 </search>
219 <script>document.getElementById('searchbox').style.display·=·"block"</script>220 <script>document.getElementById('searchbox').style.display·=·"block"</script>
220 ········</div>221 ········</div>
221 ······</div>222 ······</div>
222 ··············<h3>Last·update:</h3>223 ··············<h3>Last·update:</h3>
223 ··············<p·class="topless">Nov·05,·2024</p>224 ··············<p·class="topless">nov·05,·2024</p>
224 ··········</div>225 ··········</div>
225 ········226 ········
226 ······227 ······
227 ····</div>228 ····</div>
  
228 ····<div·id="ft">229 ····<div·id="ft">
229 ······<div·class="nav">230 ······<div·class="nav">
3.82 KB
html2text {}
Max HTML report size reached
14.9 KB
./usr/share/doc/python-django-doc/html/howto/static-files/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="How·to·configure·and·use·logging"·href="../logging.html"·/>15 ····<link·rel="next"·title="How·to·configure·and·use·logging"·href="../logging.html"·/>
15 ····<link·rel="prev"·title="How·to·create·custom·template·tags·and·filters"·href="../custom-template-tags.html"·/>16 ····<link·rel="prev"·title="How·to·create·custom·template·tags·and·filters"·href="../custom-template-tags.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="howto-static-files-index">79 ··········<div·class="yui-g"·id="howto-static-files-index">
79 ············80 ············
80 ··<section·id="s-how-to-manage-static-files-e-g-images-javascript-css">81 ··<section·id="s-how-to-manage-static-files-e-g-images-javascript-css">
81 <span·id="how-to-manage-static-files-e-g-images-javascript-css"></span><h1>How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)<a·class="headerlink"·href="#how-to-manage-static-files-e-g-images-javascript-css"·title="Link·to·this·heading">¶</a></h1>82 <span·id="how-to-manage-static-files-e-g-images-javascript-css"></span><h1>How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)<a·class="headerlink"·href="#how-to-manage-static-files-e-g-images-javascript-css"·title="Link·to·this·heading">¶</a></h1>
82 <p>Websites·generally·need·to·serve·additional·files·such·as·images,·JavaScript,83 <p>Websites·generally·need·to·serve·additional·files·such·as·images,·JavaScript,
83 or·CSS.·In·Django,·we·refer·to·these·files·as·static·files.··Django·provides84 or·CSS.·In·Django,·we·refer·to·these·files·as·static·files.··Django·provides
84 <a·class="reference·internal"·href="../../ref/contrib/staticfiles.html#module-django.contrib.staticfiles"·title="django.contrib.staticfiles:·An·app·for·handling·static·files."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code></a>·to·help·you·manage·them.</p>85 <a·class="reference·internal"·href="../../ref/contrib/staticfiles.html#module-django.contrib.staticfiles"·title="django.contrib.staticfiles:·An·app·for·handling·static·files."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code></a>·to·help·you·manage·them.</p>
85 <p>This·page·describes·how·you·can·serve·these·static·files.</p>86 <p>This·page·describes·how·you·can·serve·these·static·files.</p>
86 <section·id="s-configuring-static-files">87 <section·id="s-configuring-static-files">
87 <span·id="configuring-static-files"></span><h2>Configuring·static·files<a·class="headerlink"·href="#configuring-static-files"·title="Link·to·this·heading">¶</a></h2>88 <span·id="configuring-static-files"></span><h2>Configuring·static·files<a·class="headerlink"·href="#configuring-static-files"·title="Link·to·this·heading">¶</a></h2>
88 <ol·class="arabic">89 <ol·class="arabic">
89 <li><p>Make·sure·that·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code>·is·included·in·your90 <li><p>Make·sure·that·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code>·is·included·in·your
90 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>.</p></li>91 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>.</p></li>
Offset 159, 15 lines modifiedOffset 160, 15 lines modified
  
159 <span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>160 <span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>
160 ····<span·class="c1">#·...·the·rest·of·your·URLconf·goes·here·...</span>161 ····<span·class="c1">#·...·the·rest·of·your·URLconf·goes·here·...</span>
161 <span·class="p">]</span>·<span·class="o">+</span>·<span·class="n">static</span><span·class="p">(</span><span·class="n">settings</span><span·class="o">.</span><span·class="n">STATIC_URL</span><span·class="p">,</span>·<span·class="n">document_root</span><span·class="o">=</span><span·class="n">settings</span><span·class="o">.</span><span·class="n">STATIC_ROOT</span><span·class="p">)</span>162 <span·class="p">]</span>·<span·class="o">+</span>·<span·class="n">static</span><span·class="p">(</span><span·class="n">settings</span><span·class="o">.</span><span·class="n">STATIC_URL</span><span·class="p">,</span>·<span·class="n">document_root</span><span·class="o">=</span><span·class="n">settings</span><span·class="o">.</span><span·class="n">STATIC_ROOT</span><span·class="p">)</span>
162 </pre></div>163 </pre></div>
163 </div>164 </div>
164 <div·class="admonition·note">165 <div·class="admonition·note">
165 <p·class="admonition-title">Note</p>166 <p·class="admonition-title">rkus</p>
166 <p>This·helper·function·works·only·in·debug·mode·and·only·if167 <p>This·helper·function·works·only·in·debug·mode·and·only·if
167 the·given·prefix·is·local·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">static/</span></code>)·and·not·a·URL·(e.g.168 the·given·prefix·is·local·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">static/</span></code>)·and·not·a·URL·(e.g.
168 <code·class="docutils·literal·notranslate"><span·class="pre">http://static.example.com/</span></code>).</p>169 <code·class="docutils·literal·notranslate"><span·class="pre">http://static.example.com/</span></code>).</p>
169 <p>Also·this·helper·function·only·serves·the·actual·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-STATIC_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_ROOT</span></code></a>170 <p>Also·this·helper·function·only·serves·the·actual·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-STATIC_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_ROOT</span></code></a>
170 folder;·it·doesn’t·perform·static·files·discovery·like171 folder;·it·doesn’t·perform·static·files·discovery·like
171 <a·class="reference·internal"·href="../../ref/contrib/staticfiles.html#module-django.contrib.staticfiles"·title="django.contrib.staticfiles:·An·app·for·handling·static·files."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code></a>.</p>172 <a·class="reference·internal"·href="../../ref/contrib/staticfiles.html#module-django.contrib.staticfiles"·title="django.contrib.staticfiles:·An·app·for·handling·static·files."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code></a>.</p>
172 <p>Finally,·static·files·are·served·via·a·wrapper·at·the·WSGI·application173 <p>Finally,·static·files·are·served·via·a·wrapper·at·the·WSGI·application
Offset 188, 15 lines modifiedOffset 189, 15 lines modified
  
188 <span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>189 <span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>
189 ····<span·class="c1">#·...·the·rest·of·your·URLconf·goes·here·...</span>190 ····<span·class="c1">#·...·the·rest·of·your·URLconf·goes·here·...</span>
190 <span·class="p">]</span>·<span·class="o">+</span>·<span·class="n">static</span><span·class="p">(</span><span·class="n">settings</span><span·class="o">.</span><span·class="n">MEDIA_URL</span><span·class="p">,</span>·<span·class="n">document_root</span><span·class="o">=</span><span·class="n">settings</span><span·class="o">.</span><span·class="n">MEDIA_ROOT</span><span·class="p">)</span>191 <span·class="p">]</span>·<span·class="o">+</span>·<span·class="n">static</span><span·class="p">(</span><span·class="n">settings</span><span·class="o">.</span><span·class="n">MEDIA_URL</span><span·class="p">,</span>·<span·class="n">document_root</span><span·class="o">=</span><span·class="n">settings</span><span·class="o">.</span><span·class="n">MEDIA_ROOT</span><span·class="p">)</span>
191 </pre></div>192 </pre></div>
192 </div>193 </div>
193 <div·class="admonition·note">194 <div·class="admonition·note">
194 <p·class="admonition-title">Note</p>195 <p·class="admonition-title">rkus</p>
195 <p>This·helper·function·works·only·in·debug·mode·and·only·if196 <p>This·helper·function·works·only·in·debug·mode·and·only·if
196 the·given·prefix·is·local·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">media/</span></code>)·and·not·a·URL·(e.g.197 the·given·prefix·is·local·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">media/</span></code>)·and·not·a·URL·(e.g.
197 <code·class="docutils·literal·notranslate"><span·class="pre">http://media.example.com/</span></code>).</p>198 <code·class="docutils·literal·notranslate"><span·class="pre">http://media.example.com/</span></code>).</p>
198 </div>199 </div>
199 </section>200 </section>
200 <section·id="s-testing">201 <section·id="s-testing">
201 <span·id="s-staticfiles-testing-support"></span><span·id="testing"></span><span·id="staticfiles-testing-support"></span><h2>Testing<a·class="headerlink"·href="#testing"·title="Link·to·this·heading">¶</a></h2>202 <span·id="s-staticfiles-testing-support"></span><span·id="testing"></span><span·id="staticfiles-testing-support"></span><h2>Testing<a·class="headerlink"·href="#testing"·title="Link·to·this·heading">¶</a></h2>
Offset 253, 52 lines modifiedOffset 254, 52 lines modified
253 ······254 ······
254 ········255 ········
255 ··········<div·class="yui-b"·id="sidebar">256 ··········<div·class="yui-b"·id="sidebar">
256 ············257 ············
257 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">258 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
258 ········<div·class="sphinxsidebarwrapper">259 ········<div·class="sphinxsidebarwrapper">
259 ··<div>260 ··<div>
260 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>261 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
261 ····<ul>262 ····<ul>
262 <li><a·class="reference·internal"·href="#">How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)</a><ul>263 <li><a·class="reference·internal"·href="#">How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)</a><ul>
263 <li><a·class="reference·internal"·href="#configuring-static-files">Configuring·static·files</a></li>264 <li><a·class="reference·internal"·href="#configuring-static-files">Configuring·static·files</a></li>
264 <li><a·class="reference·internal"·href="#serving-static-files-during-development">Serving·static·files·during·development</a></li>265 <li><a·class="reference·internal"·href="#serving-static-files-during-development">Serving·static·files·during·development</a></li>
265 <li><a·class="reference·internal"·href="#serving-files-uploaded-by-a-user-during-development">Serving·files·uploaded·by·a·user·during·development</a></li>266 <li><a·class="reference·internal"·href="#serving-files-uploaded-by-a-user-during-development">Serving·files·uploaded·by·a·user·during·development</a></li>
266 <li><a·class="reference·internal"·href="#testing">Testing</a></li>267 <li><a·class="reference·internal"·href="#testing">Testing</a></li>
267 <li><a·class="reference·internal"·href="#deployment">Deployment</a></li>268 <li><a·class="reference·internal"·href="#deployment">Deployment</a></li>
268 <li><a·class="reference·internal"·href="#learn-more">Learn·more</a></li>269 <li><a·class="reference·internal"·href="#learn-more">Learn·more</a></li>
269 </ul>270 </ul>
270 </li>271 </li>
271 </ul>272 </ul>
  
272 ··</div>273 ··</div>
273 ··<div>274 ··<div>
274 ····<h4>Previous·topic</h4>275 ····<h4>Eelmine·teema</h4>
275 ····<p·class="topless"><a·href="../custom-template-tags.html"276 ····<p·class="topless"><a·href="../custom-template-tags.html"
276 ··························title="previous·chapter">How·to·create·custom·template·tags·and·filters</a></p>277 ··························title="eelmine·jaotis">How·to·create·custom·template·tags·and·filters</a></p>
277 ··</div>278 ··</div>
278 ··<div>279 ··<div>
279 ····<h4>Next·topic</h4>280 ····<h4>Järgmine·teema</h4>
280 ····<p·class="topless"><a·href="../logging.html"281 ····<p·class="topless"><a·href="../logging.html"
281 ··························title="next·chapter">How·to·configure·and·use·logging</a></p>282 ··························title="järgmine·jaotis">How·to·configure·and·use·logging</a></p>
282 ··</div>283 ··</div>
283 <search·id="searchbox"·style="display:·none"·role="search">284 <search·id="searchbox"·style="display:·none"·role="search">
284 ··<h3·id="searchlabel">Quick·search</h3>285 ··<h3·id="searchlabel">Kiirotsing</h3>
285 ····<div·class="searchformwrapper">286 ····<div·class="searchformwrapper">
286 ····<form·class="search"·action="../../search.html"·method="get">287 ····<form·class="search"·action="../../search.html"·method="get">
287 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>288 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
288 ······<input·type="submit"·value="Go"·/>289 ······<input·type="submit"·value="Otsi"·/>
289 ····</form>290 ····</form>
290 ····</div>291 ····</div>
Max diff block lines reached; 342/9591 bytes (3.57%) of diff not shown.
5.42 KB
html2text {}
Max HTML report size reached
13.9 KB
./usr/share/doc/python-django-doc/html/howto/upgrade-version.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·upgrade·Django·to·a·newer·version·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·upgrade·Django·to·a·newer·version·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·install·Django·on·Windows"·href="windows.html"·/>15 ····<link·rel="next"·title="How·to·install·Django·on·Windows"·href="windows.html"·/>
15 ····<link·rel="prev"·title="How·to·delete·a·Django·application"·href="delete-app.html"·/>16 ····<link·rel="prev"·title="How·to·delete·a·Django·application"·href="delete-app.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 107, 15 lines modifiedOffset 108, 15 lines modified
107 <section·id="s-required-reading">108 <section·id="s-required-reading">
108 <span·id="required-reading"></span><h2>Required·Reading<a·class="headerlink"·href="#required-reading"·title="Link·to·this·heading">¶</a></h2>109 <span·id="required-reading"></span><h2>Required·Reading<a·class="headerlink"·href="#required-reading"·title="Link·to·this·heading">¶</a></h2>
109 <p>If·it’s·your·first·time·doing·an·upgrade,·it·is·useful·to·read·the·<a·class="reference·internal"·href="../internals/release-process.html"><span·class="doc">guide110 <p>If·it’s·your·first·time·doing·an·upgrade,·it·is·useful·to·read·the·<a·class="reference·internal"·href="../internals/release-process.html"><span·class="doc">guide
110 on·the·different·release·processes</span></a>.</p>111 on·the·different·release·processes</span></a>.</p>
111 <p>Afterward,·you·should·familiarize·yourself·with·the·changes·that·were·made·in112 <p>Afterward,·you·should·familiarize·yourself·with·the·changes·that·were·made·in
112 the·new·Django·version(s):</p>113 the·new·Django·version(s):</p>
113 <ul·class="simple">114 <ul·class="simple">
114 <li><p>Read·the·<a·class="reference·internal"·href="../releases/index.html"><span·class="doc">release·notes</span></a>·for·each·final·release·from115 <li><p>Read·the·<a·class="reference·internal"·href="../releases/index.html"><span·class="doc">release·notes</span></a>·for·each·final·release·from
115 the·one·after·your·current·Django·version,·up·to·and·including·the·version·to116 the·one·after·your·current·Django·version,·up·to·and·including·the·version·to
116 which·you·plan·to·upgrade.</p></li>117 which·you·plan·to·upgrade.</p></li>
117 <li><p>Look·at·the·<a·class="reference·internal"·href="../internals/deprecation.html"><span·class="doc">deprecation·timeline</span></a>·for·the118 <li><p>Look·at·the·<a·class="reference·internal"·href="../internals/deprecation.html"><span·class="doc">deprecation·timeline</span></a>·for·the
118 relevant·versions.</p></li>119 relevant·versions.</p></li>
119 </ul>120 </ul>
120 <p>Pay·particular·attention·to·backwards·incompatible·changes·to·get·a·clear·idea121 <p>Pay·particular·attention·to·backwards·incompatible·changes·to·get·a·clear·idea
121 of·what·will·be·needed·for·a·successful·upgrade.</p>122 of·what·will·be·needed·for·a·successful·upgrade.</p>
Offset 138, 15 lines modifiedOffset 139, 15 lines modified
138 <section·id="s-resolving-deprecation-warnings">139 <section·id="s-resolving-deprecation-warnings">
139 <span·id="resolving-deprecation-warnings"></span><h2>Resolving·deprecation·warnings<a·class="headerlink"·href="#resolving-deprecation-warnings"·title="Link·to·this·heading">¶</a></h2>140 <span·id="resolving-deprecation-warnings"></span><h2>Resolving·deprecation·warnings<a·class="headerlink"·href="#resolving-deprecation-warnings"·title="Link·to·this·heading">¶</a></h2>
140 <p>Before·upgrading,·it’s·a·good·idea·to·resolve·any·deprecation·warnings·raised141 <p>Before·upgrading,·it’s·a·good·idea·to·resolve·any·deprecation·warnings·raised
141 by·your·project·while·using·your·current·version·of·Django.·Fixing·these142 by·your·project·while·using·your·current·version·of·Django.·Fixing·these
142 warnings·before·upgrading·ensures·that·you’re·informed·about·areas·of·the·code143 warnings·before·upgrading·ensures·that·you’re·informed·about·areas·of·the·code
143 that·need·altering.</p>144 that·need·altering.</p>
144 <p>In·Python,·deprecation·warnings·are·silenced·by·default.·You·must·turn·them·on145 <p>In·Python,·deprecation·warnings·are·silenced·by·default.·You·must·turn·them·on
145 using·the·<code·class="docutils·literal·notranslate"><span·class="pre">-Wa</span></code>·Python·command·line·option·or·the·<span·class="target"·id="index-0"></span><a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/cmdline.html#envvar-PYTHONWARNINGS"·title="(in·Python·v3.12)"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">PYTHONWARNINGS</span></code></a>146 using·the·<code·class="docutils·literal·notranslate"><span·class="pre">-Wa</span></code>·Python·command·line·option·or·the·<span·class="target"·id="index-0"></span><a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/cmdline.html#envvar-PYTHONWARNINGS"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">PYTHONWARNINGS</span></code></a>
146 environment·variable.·For·example,·to·show·warnings·while·running·tests:</p>147 environment·variable.·For·example,·to·show·warnings·while·running·tests:</p>
147 <div·class="console-block"·id="console-block-0">148 <div·class="console-block"·id="console-block-0">
148 <input·class="c-tab-unix"·id="c-tab-0-unix"·type="radio"·name="console-0"·checked>149 <input·class="c-tab-unix"·id="c-tab-0-unix"·type="radio"·name="console-0"·checked>
149 <label·for="c-tab-0-unix"·title="Linux/macOS">&#xf17c/&#xf179</label>150 <label·for="c-tab-0-unix"·title="Linux/macOS">&#xf17c/&#xf179</label>
150 <input·class="c-tab-win"·id="c-tab-0-win"·type="radio"·name="console-0">151 <input·class="c-tab-win"·id="c-tab-0-win"·type="radio"·name="console-0">
151 <label·for="c-tab-0-win"·title="Windows">&#xf17a</label>152 <label·for="c-tab-0-win"·title="Windows">&#xf17a</label>
152 <section·class="c-content-unix"·id="c-content-0-unix">153 <section·class="c-content-unix"·id="c-content-0-unix">
Offset 170, 15 lines modifiedOffset 171, 15 lines modified
170 <p>Third·party·applications·might·use·deprecated·APIs·in·order·to·support·multiple171 <p>Third·party·applications·might·use·deprecated·APIs·in·order·to·support·multiple
171 versions·of·Django,·so·deprecation·warnings·in·packages·you’ve·installed·don’t172 versions·of·Django,·so·deprecation·warnings·in·packages·you’ve·installed·don’t
172 necessarily·indicate·a·problem.·If·a·package·doesn’t·support·the·latest·version173 necessarily·indicate·a·problem.·If·a·package·doesn’t·support·the·latest·version
173 of·Django,·consider·raising·an·issue·or·sending·a·pull·request·for·it.</p>174 of·Django,·consider·raising·an·issue·or·sending·a·pull·request·for·it.</p>
174 </section>175 </section>
175 <section·id="s-installation">176 <section·id="s-installation">
176 <span·id="installation"></span><h2>Installation<a·class="headerlink"·href="#installation"·title="Link·to·this·heading">¶</a></h2>177 <span·id="installation"></span><h2>Installation<a·class="headerlink"·href="#installation"·title="Link·to·this·heading">¶</a></h2>
177 <p>Once·you’re·ready,·it·is·time·to·<a·class="reference·internal"·href="../topics/install.html"><span·class="doc">install·the·new·Django·version</span></a>.·If·you·are·using·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/venv.html#module-venv"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">virtual</span>·<span·class="pre">environment</span></code></a>·and·it178 <p>Once·you’re·ready,·it·is·time·to·<a·class="reference·internal"·href="../topics/install.html"><span·class="doc">install·the·new·Django·version</span></a>.·If·you·are·using·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/venv.html#module-venv"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">virtual</span>·<span·class="pre">environment</span></code></a>·and·it
178 is·a·major·upgrade,·you·might·want·to·set·up·a·new·environment·with·all·the179 is·a·major·upgrade,·you·might·want·to·set·up·a·new·environment·with·all·the
179 dependencies·first.</p>180 dependencies·first.</p>
180 <p>If·you·installed·Django·with·<a·class="reference·external"·href="https://pip.pypa.io/">pip</a>,·you·can·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">--upgrade</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">-U</span></code>·flag:</p>181 <p>If·you·installed·Django·with·<a·class="reference·external"·href="https://pip.pypa.io/">pip</a>,·you·can·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">--upgrade</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">-U</span></code>·flag:</p>
181 <div·class="console-block"·id="console-block-1">182 <div·class="console-block"·id="console-block-1">
182 <input·class="c-tab-unix"·id="c-tab-1-unix"·type="radio"·name="console-1"·checked>183 <input·class="c-tab-unix"·id="c-tab-1-unix"·type="radio"·name="console-1"·checked>
183 <label·for="c-tab-1-unix"·title="Linux/macOS">&#xf17c/&#xf179</label>184 <label·for="c-tab-1-unix"·title="Linux/macOS">&#xf17c/&#xf179</label>
184 <input·class="c-tab-win"·id="c-tab-1-win"·type="radio"·name="console-1">185 <input·class="c-tab-win"·id="c-tab-1-win"·type="radio"·name="console-1">
Offset 241, 52 lines modifiedOffset 242, 52 lines modified
241 ······242 ······
242 ········243 ········
243 ··········<div·class="yui-b"·id="sidebar">244 ··········<div·class="yui-b"·id="sidebar">
244 ············245 ············
245 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">246 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
246 ········<div·class="sphinxsidebarwrapper">247 ········<div·class="sphinxsidebarwrapper">
247 ··<div>248 ··<div>
248 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>249 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
249 ····<ul>250 ····<ul>
250 <li><a·class="reference·internal"·href="#">How·to·upgrade·Django·to·a·newer·version</a><ul>251 <li><a·class="reference·internal"·href="#">How·to·upgrade·Django·to·a·newer·version</a><ul>
251 <li><a·class="reference·internal"·href="#required-reading">Required·Reading</a></li>252 <li><a·class="reference·internal"·href="#required-reading">Required·Reading</a></li>
252 <li><a·class="reference·internal"·href="#dependencies">Dependencies</a></li>253 <li><a·class="reference·internal"·href="#dependencies">Dependencies</a></li>
253 <li><a·class="reference·internal"·href="#resolving-deprecation-warnings">Resolving·deprecation·warnings</a></li>254 <li><a·class="reference·internal"·href="#resolving-deprecation-warnings">Resolving·deprecation·warnings</a></li>
254 <li><a·class="reference·internal"·href="#installation">Installation</a></li>255 <li><a·class="reference·internal"·href="#installation">Installation</a></li>
255 <li><a·class="reference·internal"·href="#testing">Testing</a></li>256 <li><a·class="reference·internal"·href="#testing">Testing</a></li>
256 <li><a·class="reference·internal"·href="#deployment">Deployment</a></li>257 <li><a·class="reference·internal"·href="#deployment">Deployment</a></li>
257 </ul>258 </ul>
258 </li>259 </li>
259 </ul>260 </ul>
  
260 ··</div>261 ··</div>
261 ··<div>262 ··<div>
262 ····<h4>Previous·topic</h4>263 ····<h4>Eelmine·teema</h4>
263 ····<p·class="topless"><a·href="delete-app.html"264 ····<p·class="topless"><a·href="delete-app.html"
264 ··························title="previous·chapter">How·to·delete·a·Django·application</a></p>265 ··························title="eelmine·jaotis">How·to·delete·a·Django·application</a></p>
265 ··</div>266 ··</div>
266 ··<div>267 ··<div>
267 ····<h4>Next·topic</h4>268 ····<h4>Järgmine·teema</h4>
268 ····<p·class="topless"><a·href="windows.html"269 ····<p·class="topless"><a·href="windows.html"
269 ··························title="next·chapter">How·to·install·Django·on·Windows</a></p>270 ··························title="järgmine·jaotis">How·to·install·Django·on·Windows</a></p>
270 ··</div>271 ··</div>
271 <search·id="searchbox"·style="display:·none"·role="search">272 <search·id="searchbox"·style="display:·none"·role="search">
272 ··<h3·id="searchlabel">Quick·search</h3>273 ··<h3·id="searchlabel">Kiirotsing</h3>
273 ····<div·class="searchformwrapper">274 ····<div·class="searchformwrapper">
274 ····<form·class="search"·action="../search.html"·method="get">275 ····<form·class="search"·action="../search.html"·method="get">
275 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>276 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
276 ······<input·type="submit"·value="Go"·/>277 ······<input·type="submit"·value="Otsi"·/>
277 ····</form>278 ····</form>
278 ····</div>279 ····</div>
Max diff block lines reached; 342/9972 bytes (3.43%) of diff not shown.
3.99 KB
html2text {}
Max HTML report size reached
18.2 KB
./usr/share/doc/python-django-doc/html/howto/windows.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·install·Django·on·Windows·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·install·Django·on·Windows·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·deploy·Django"·href="deployment/index.html"·/>15 ····<link·rel="next"·title="How·to·deploy·Django"·href="deployment/index.html"·/>
15 ····<link·rel="prev"·title="How·to·upgrade·Django·to·a·newer·version"·href="upgrade-version.html"·/>16 ····<link·rel="prev"·title="How·to·upgrade·Django·to·a·newer·version"·href="upgrade-version.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 89, 31 lines modifiedOffset 90, 31 lines modified
89 the·Windows·command·prompt.</p>90 the·Windows·command·prompt.</p>
90 <section·id="s-install-python">91 <section·id="s-install-python">
91 <span·id="s-install-python-windows"></span><span·id="install-python"></span><span·id="install-python-windows"></span><h2>Install·Python<a·class="headerlink"·href="#install-python"·title="Link·to·this·heading">¶</a></h2>92 <span·id="s-install-python-windows"></span><span·id="install-python"></span><span·id="install-python-windows"></span><h2>Install·Python<a·class="headerlink"·href="#install-python"·title="Link·to·this·heading">¶</a></h2>
92 <p>Django·is·a·Python·web·framework,·thus·requiring·Python·to·be·installed·on·your93 <p>Django·is·a·Python·web·framework,·thus·requiring·Python·to·be·installed·on·your
93 machine.·At·the·time·of·writing,·Python·3.13·is·the·latest·version.</p>94 machine.·At·the·time·of·writing,·Python·3.13·is·the·latest·version.</p>
94 <p>To·install·Python·on·your·machine·go·to·<a·class="reference·external"·href="https://www.python.org/downloads/">https://www.python.org/downloads/</a>.·The95 <p>To·install·Python·on·your·machine·go·to·<a·class="reference·external"·href="https://www.python.org/downloads/">https://www.python.org/downloads/</a>.·The
95 website·should·offer·you·a·download·button·for·the·latest·Python·version.96 website·should·offer·you·a·download·button·for·the·latest·Python·version.
96 Download·the·executable·installer·and·run·it.·Check·the·boxes·next·to·Install97 Download·the·executable·installer·and·run·it.·Check·the·boxes·next·to·Install
97 launcher·for·all·users·(recommended)·then·click·Install·Now.</p>98 launcher·for·all·users·(recommended)·then·click·Install·Now.</p>
98 <p>After·installation,·open·the·command·prompt·and·check·that·the·Python·version99 <p>After·installation,·open·the·command·prompt·and·check·that·the·Python·version
99 matches·the·version·you·installed·by·executing:</p>100 matches·the·version·you·installed·by·executing:</p>
100 <div·class="highlight-doscon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·--version101 <div·class="highlight-doscon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·--version
101 </pre></div>102 </pre></div>
102 </div>103 </div>
103 <div·class="admonition-py-is-not-recognized-or-found·admonition">104 <div·class="admonition-py-is-not-recognized-or-found·admonition">
104 <p·class="admonition-title"><code·class="docutils·literal·notranslate"><span·class="pre">py</span></code>·is·not·recognized·or·found</p>105 <p·class="admonition-title"><code·class="docutils·literal·notranslate"><span·class="pre">py</span></code>·is·not·recognized·or·found</p>
105 <p>Depending·on·how·you’ve·installed·Python·(such·as·via·the·Microsoft·Store),106 <p>Depending·on·how·you’ve·installed·Python·(such·as·via·the·Microsoft·Store),
106 <code·class="docutils·literal·notranslate"><span·class="pre">py</span></code>·may·not·be·available·in·the·command·prompt.</p>107 <code·class="docutils·literal·notranslate"><span·class="pre">py</span></code>·may·not·be·available·in·the·command·prompt.</p>
107 <p>You·will·then·need·to·use·<code·class="docutils·literal·notranslate"><span·class="pre">python</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">py</span></code>·when·entering108 <p>You·will·then·need·to·use·<code·class="docutils·literal·notranslate"><span·class="pre">python</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">py</span></code>·when·entering
108 commands.</p>109 commands.</p>
109 </div>110 </div>
110 <div·class="admonition·seealso">111 <div·class="admonition·seealso">
111 <p·class="admonition-title">See·also</p>112 <p·class="admonition-title">Vaata·ka</p>
112 <p>For·more·details,·see·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/windows.html"·title="(in·Python·v3.12)"><span>Using·Python·on·Windows</span></a>·documentation.</p>113 <p>For·more·details,·see·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/windows.html"·title="(projektis·Python·v3.12)"><span>Using·Python·on·Windows</span></a>·documentation.</p>
113 </div>114 </div>
114 </section>115 </section>
115 <section·id="s-about-pip">116 <section·id="s-about-pip">
116 <span·id="about-pip"></span><h2>About·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code><a·class="headerlink"·href="#about-pip"·title="Link·to·this·heading">¶</a></h2>117 <span·id="about-pip"></span><h2>About·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code><a·class="headerlink"·href="#about-pip"·title="Link·to·this·heading">¶</a></h2>
117 <p><a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/pip/">pip</a>·is·a·package·manager·for·Python·and·is·included·by·default·with·the118 <p><a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/pip/">pip</a>·is·a·package·manager·for·Python·and·is·included·by·default·with·the
118 Python·installer.·It·helps·to·install·and·uninstall·Python·packages119 Python·installer.·It·helps·to·install·and·uninstall·Python·packages
119 (such·as·Django!).·For·the·rest·of·the·installation,·we’ll·use·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>·to120 (such·as·Django!).·For·the·rest·of·the·installation,·we’ll·use·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>·to
Offset 121, 28 lines modifiedOffset 122, 28 lines modified
121 </section>122 </section>
122 <section·id="s-setting-up-a-virtual-environment">123 <section·id="s-setting-up-a-virtual-environment">
123 <span·id="s-virtualenvironment"></span><span·id="setting-up-a-virtual-environment"></span><span·id="virtualenvironment"></span><h2>Setting·up·a·virtual·environment<a·class="headerlink"·href="#setting-up-a-virtual-environment"·title="Link·to·this·heading">¶</a></h2>124 <span·id="s-virtualenvironment"></span><span·id="setting-up-a-virtual-environment"></span><span·id="virtualenvironment"></span><h2>Setting·up·a·virtual·environment<a·class="headerlink"·href="#setting-up-a-virtual-environment"·title="Link·to·this·heading">¶</a></h2>
124 <p>It·is·best·practice·to·provide·a·dedicated·environment·for·each·Django·project125 <p>It·is·best·practice·to·provide·a·dedicated·environment·for·each·Django·project
125 you·create.·There·are·many·options·to·manage·environments·and·packages·within126 you·create.·There·are·many·options·to·manage·environments·and·packages·within
126 the·Python·ecosystem,·some·of·which·are·recommended·in·the·<a·class="reference·external"·href="https://packaging.python.org/guides/tool-recommendations/">Python127 the·Python·ecosystem,·some·of·which·are·recommended·in·the·<a·class="reference·external"·href="https://packaging.python.org/guides/tool-recommendations/">Python
127 documentation</a>.128 documentation</a>.
128 Python·itself·comes·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/venv.html"·title="(in·Python·v3.12)"><span·class="xref·std·std-doc">venv</span></a>·for·managing129 Python·itself·comes·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/venv.html"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-doc">venv</span></a>·for·managing
129 environments·which·we·will·use·for·this·guide.</p>130 environments·which·we·will·use·for·this·guide.</p>
130 <p>To·create·a·virtual·environment·for·your·project,·open·a·new·command·prompt,131 <p>To·create·a·virtual·environment·for·your·project,·open·a·new·command·prompt,
131 navigate·to·the·folder·where·you·want·to·create·your·project·and·then·enter·the132 navigate·to·the·folder·where·you·want·to·create·your·project·and·then·enter·the
132 following:</p>133 following:</p>
133 <div·class="highlight-doscon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·-m·venv·project-name134 <div·class="highlight-doscon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·-m·venv·project-name
134 </pre></div>135 </pre></div>
135 </div>136 </div>
136 <p>This·will·create·a·folder·called·project-name·if·it·does·not·already·exist137 <p>This·will·create·a·folder·called·project-name·if·it·does·not·already·exist
137 and·set·up·the·virtual·environment.·To·activate·the·environment,·run:</p>138 and·set·up·the·virtual·environment.·To·activate·the·environment,·run:</p>
138 <div·class="highlight-doscon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·project-name\Scripts\activate.bat139 <div·class="highlight-doscon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·project-name\Scripts\activate.bat
139 </pre></div>140 </pre></div>
140 </div>141 </div>
141 <p>The·virtual·environment·will·be·activated·and·you’ll·see·(project-name)·next142 <p>The·virtual·environment·will·be·activated·and·you’ll·see·(project-name)·next
142 to·the·command·prompt·to·designate·that.·Each·time·you·start·a·new·command143 to·the·command·prompt·to·designate·that.·Each·time·you·start·a·new·command
143 prompt,·you’ll·need·to·activate·the·environment·again.</p>144 prompt,·you’ll·need·to·activate·the·environment·again.</p>
144 </section>145 </section>
145 <section·id="s-install-django">146 <section·id="s-install-django">
146 <span·id="install-django"></span><h2>Install·Django<a·class="headerlink"·href="#install-django"·title="Link·to·this·heading">¶</a></h2>147 <span·id="install-django"></span><h2>Install·Django<a·class="headerlink"·href="#install-django"·title="Link·to·this·heading">¶</a></h2>
147 <p>Django·can·be·installed·easily·using·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>·within·your·virtual·environment.</p>148 <p>Django·can·be·installed·easily·using·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>·within·your·virtual·environment.</p>
148 <p>In·the·command·prompt,·ensure·your·virtual·environment·is·active,·and·execute149 <p>In·the·command·prompt,·ensure·your·virtual·environment·is·active,·and·execute
Offset 183, 15 lines modifiedOffset 184, 15 lines modified
183 <div·class="highlight-doscon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·<span·class="k">set</span>·<span·class="nv">http_proxy</span><span·class="p">=</span>http://username:password@proxyserver:proxyport184 <div·class="highlight-doscon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·<span·class="k">set</span>·<span·class="nv">http_proxy</span><span·class="p">=</span>http://username:password@proxyserver:proxyport
184 <span·class="gp">...\&gt;</span>·<span·class="k">set</span>·<span·class="nv">https_proxy</span><span·class="p">=</span>https://username:password@proxyserver:proxyport185 <span·class="gp">...\&gt;</span>·<span·class="k">set</span>·<span·class="nv">https_proxy</span><span·class="p">=</span>https://username:password@proxyserver:proxyport
185 </pre></div>186 </pre></div>
186 </div>187 </div>
187 </li>188 </li>
188 <li><p>In·general,·Django·assumes·that·<code·class="docutils·literal·notranslate"><span·class="pre">UTF-8</span></code>·encoding·is·used·for·I/O.·This·may189 <li><p>In·general,·Django·assumes·that·<code·class="docutils·literal·notranslate"><span·class="pre">UTF-8</span></code>·encoding·is·used·for·I/O.·This·may
189 cause·problems·if·your·system·is·set·to·use·a·different·encoding.·Recent190 cause·problems·if·your·system·is·set·to·use·a·different·encoding.·Recent
190 versions·of·Python·allow·setting·the·<span·class="target"·id="index-1"></span><a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/cmdline.html#envvar-PYTHONUTF8"·title="(in·Python·v3.12)"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">PYTHONUTF8</span></code></a>·environment191 versions·of·Python·allow·setting·the·<span·class="target"·id="index-1"></span><a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/cmdline.html#envvar-PYTHONUTF8"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">PYTHONUTF8</span></code></a>·environment
191 variable·in·order·to·force·a·<code·class="docutils·literal·notranslate"><span·class="pre">UTF-8</span></code>·encoding.·Windows·10·also·provides·a192 variable·in·order·to·force·a·<code·class="docutils·literal·notranslate"><span·class="pre">UTF-8</span></code>·encoding.·Windows·10·also·provides·a
192 system-wide·setting·by·checking·<code·class="docutils·literal·notranslate"><span·class="pre">Use</span>·<span·class="pre">Unicode</span>·<span·class="pre">UTF-8</span>·<span·class="pre">for</span>·<span·class="pre">worldwide</span>·<span·class="pre">language</span>193 system-wide·setting·by·checking·<code·class="docutils·literal·notranslate"><span·class="pre">Use</span>·<span·class="pre">Unicode</span>·<span·class="pre">UTF-8</span>·<span·class="pre">for</span>·<span·class="pre">worldwide</span>·<span·class="pre">language</span>
193 <span·class="pre">support</span></code>·in·<span·class="menuselection">Language··Administrative·Language·Settings194 <span·class="pre">support</span></code>·in·<span·class="menuselection">Language··Administrative·Language·Settings
194 ·Change·system·locale</span>·in·system·settings.</p></li>195 ·Change·system·locale</span>·in·system·settings.</p></li>
195 </ul>196 </ul>
196 </section>197 </section>
197 </section>198 </section>
Offset 203, 52 lines modifiedOffset 204, 52 lines modified
203 ······204 ······
204 ········205 ········
205 ··········<div·class="yui-b"·id="sidebar">206 ··········<div·class="yui-b"·id="sidebar">
206 ············207 ············
207 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">208 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
208 ········<div·class="sphinxsidebarwrapper">209 ········<div·class="sphinxsidebarwrapper">
209 ··<div>210 ··<div>
210 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>211 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
211 ····<ul>212 ····<ul>
212 <li><a·class="reference·internal"·href="#">How·to·install·Django·on·Windows</a><ul>213 <li><a·class="reference·internal"·href="#">How·to·install·Django·on·Windows</a><ul>
Max diff block lines reached; 2033/12426 bytes (16.36%) of diff not shown.
5.95 KB
html2text {}
Max HTML report size reached
15.4 KB
./usr/share/doc/python-django-doc/html/howto/writing-migrations.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·create·database·migrations·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·create·database·migrations·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·write·custom·lookups"·href="custom-lookups.html"·/>15 ····<link·rel="next"·title="How·to·write·custom·lookups"·href="custom-lookups.html"·/>
15 ····<link·rel="prev"·title="How·to·create·custom·model·fields"·href="custom-model-fields.html"·/>16 ····<link·rel="prev"·title="How·to·create·custom·model·fields"·href="custom-model-fields.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 142, 15 lines modifiedOffset 143, 15 lines modified
142 </div>143 </div>
143 <p>If·your·<code·class="docutils·literal·notranslate"><span·class="pre">RunPython</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">RunSQL</span></code>·operation·only·affects·one·model,·it’s·good144 <p>If·your·<code·class="docutils·literal·notranslate"><span·class="pre">RunPython</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">RunSQL</span></code>·operation·only·affects·one·model,·it’s·good
144 practice·to·pass·<code·class="docutils·literal·notranslate"><span·class="pre">model_name</span></code>·as·a·hint·to·make·it·as·transparent·as·possible145 practice·to·pass·<code·class="docutils·literal·notranslate"><span·class="pre">model_name</span></code>·as·a·hint·to·make·it·as·transparent·as·possible
145 to·the·router.·This·is·especially·important·for·reusable·and·third-party·apps.</p>146 to·the·router.·This·is·especially·important·for·reusable·and·third-party·apps.</p>
146 </section>147 </section>
147 <section·id="s-migrations-that-add-unique-fields">148 <section·id="s-migrations-that-add-unique-fields">
148 <span·id="migrations-that-add-unique-fields"></span><h2>Migrations·that·add·unique·fields<a·class="headerlink"·href="#migrations-that-add-unique-fields"·title="Link·to·this·heading">¶</a></h2>149 <span·id="migrations-that-add-unique-fields"></span><h2>Migrations·that·add·unique·fields<a·class="headerlink"·href="#migrations-that-add-unique-fields"·title="Link·to·this·heading">¶</a></h2>
149 <p>Applying·a·plain·migration·that·adds·a·unique·non-nullable·field·to·a·table150 <p>Applying·a·plain·migration·that·adds·a·unique·non-nullable·field·to·a·table
150 with·existing·rows·will·raise·an·error·because·the·value·used·to·populate151 with·existing·rows·will·raise·an·error·because·the·value·used·to·populate
151 existing·rows·is·generated·only·once,·thus·breaking·the·unique·constraint.</p>152 existing·rows·is·generated·only·once,·thus·breaking·the·unique·constraint.</p>
152 <p>Therefore,·the·following·steps·should·be·taken.·In·this·example,·we’ll·add·a153 <p>Therefore,·the·following·steps·should·be·taken.·In·this·example,·we’ll·add·a
153 non-nullable·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.UUIDField"·title="django.db.models.UUIDField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UUIDField</span></code></a>·with·a·default·value.·Modify154 non-nullable·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.UUIDField"·title="django.db.models.UUIDField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UUIDField</span></code></a>·with·a·default·value.·Modify
154 the·respective·field·according·to·your·needs.</p>155 the·respective·field·according·to·your·needs.</p>
155 <ul>156 <ul>
156 <li><p>Add·the·field·on·your·model·with·<code·class="docutils·literal·notranslate"><span·class="pre">default=uuid.uuid4</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">unique=True</span></code>157 <li><p>Add·the·field·on·your·model·with·<code·class="docutils·literal·notranslate"><span·class="pre">default=uuid.uuid4</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">unique=True</span></code>
Offset 311, 15 lines modifiedOffset 312, 15 lines modified
311 ····<span·class="n">dependencies</span>·<span·class="o">=</span>·<span·class="p">[</span>312 ····<span·class="n">dependencies</span>·<span·class="o">=</span>·<span·class="p">[</span>
312 ········<span·class="p">(</span><span·class="s2">&quot;myapp&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;0123_the_previous_migration&quot;</span><span·class="p">),</span>313 ········<span·class="p">(</span><span·class="s2">&quot;myapp&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;0123_the_previous_migration&quot;</span><span·class="p">),</span>
313 ····<span·class="p">]</span>314 ····<span·class="p">]</span>
314 </pre></div>315 </pre></div>
315 </div>316 </div>
316 <p>Usually·this·will·be·enough,·but·from·time·to·time·you·may·need·to317 <p>Usually·this·will·be·enough,·but·from·time·to·time·you·may·need·to
317 ensure·that·your·migration·runs·<em>before</em>·other·migrations.·This·is318 ensure·that·your·migration·runs·<em>before</em>·other·migrations.·This·is
318 useful,·for·example,·to·make·third-party·apps·migrations·run·<em>after</em>319 useful,·for·example,·to·make·third-party·apps·migrations·run·<em>after</em>
319 your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-AUTH_USER_MODEL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTH_USER_MODEL</span></code></a>·replacement.</p>320 your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-AUTH_USER_MODEL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTH_USER_MODEL</span></code></a>·replacement.</p>
320 <p>To·achieve·this,·place·all·migrations·that·should·depend·on·yours·in321 <p>To·achieve·this,·place·all·migrations·that·should·depend·on·yours·in
321 the·<code·class="docutils·literal·notranslate"><span·class="pre">run_before</span></code>·attribute·on·your·<code·class="docutils·literal·notranslate"><span·class="pre">Migration</span></code>·class:</p>322 the·<code·class="docutils·literal·notranslate"><span·class="pre">run_before</span></code>·attribute·on·your·<code·class="docutils·literal·notranslate"><span·class="pre">Migration</span></code>·class:</p>
322 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">Migration</span><span·class="p">(</span><span·class="n">migrations</span><span·class="o">.</span><span·class="n">Migration</span><span·class="p">):</span>323 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">Migration</span><span·class="p">(</span><span·class="n">migrations</span><span·class="o">.</span><span·class="n">Migration</span><span·class="p">):</span>
323 ····<span·class="o">...</span>324 ····<span·class="o">...</span>
  
324 ····<span·class="n">run_before</span>·<span·class="o">=</span>·<span·class="p">[</span>325 ····<span·class="n">run_before</span>·<span·class="o">=</span>·<span·class="p">[</span>
Offset 335, 15 lines modifiedOffset 336, 15 lines modified
335 <section·id="s-migrating-data-between-third-party-apps">336 <section·id="s-migrating-data-between-third-party-apps">
336 <span·id="migrating-data-between-third-party-apps"></span><h2>Migrating·data·between·third-party·apps<a·class="headerlink"·href="#migrating-data-between-third-party-apps"·title="Link·to·this·heading">¶</a></h2>337 <span·id="migrating-data-between-third-party-apps"></span><h2>Migrating·data·between·third-party·apps<a·class="headerlink"·href="#migrating-data-between-third-party-apps"·title="Link·to·this·heading">¶</a></h2>
337 <p>You·can·use·a·data·migration·to·move·data·from·one·third-party·application·to338 <p>You·can·use·a·data·migration·to·move·data·from·one·third-party·application·to
338 another.</p>339 another.</p>
339 <p>If·you·plan·to·remove·the·old·app·later,·you’ll·need·to·set·the·<code·class="docutils·literal·notranslate"><span·class="pre">dependencies</span></code>340 <p>If·you·plan·to·remove·the·old·app·later,·you’ll·need·to·set·the·<code·class="docutils·literal·notranslate"><span·class="pre">dependencies</span></code>
340 property·based·on·whether·or·not·the·old·app·is·installed.·Otherwise,·you’ll341 property·based·on·whether·or·not·the·old·app·is·installed.·Otherwise,·you’ll
341 have·missing·dependencies·once·you·uninstall·the·old·app.·Similarly,·you’ll342 have·missing·dependencies·once·you·uninstall·the·old·app.·Similarly,·you’ll
342 need·to·catch·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#LookupError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">LookupError</span></code></a>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">apps.get_model()</span></code>·call·that343 need·to·catch·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#LookupError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">LookupError</span></code></a>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">apps.get_model()</span></code>·call·that
343 retrieves·models·from·the·old·app.·This·approach·allows·you·to·deploy·your344 retrieves·models·from·the·old·app.·This·approach·allows·you·to·deploy·your
344 project·anywhere·without·first·installing·and·then·uninstalling·the·old·app.</p>345 project·anywhere·without·first·installing·and·then·uninstalling·the·old·app.</p>
345 <p>Here’s·a·sample·migration:</p>346 <p>Here’s·a·sample·migration:</p>
346 <div·class="literal-block-wrapper·docutils·container"·id="id8">347 <div·class="literal-block-wrapper·docutils·container"·id="id8">
347 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">myapp/migrations/0124_move_old_app_to_new_app.py</span></code></span><a·class="headerlink"·href="#id8"·title="Link·to·this·code">¶</a></div>348 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">myapp/migrations/0124_move_old_app_to_new_app.py</span></code></span><a·class="headerlink"·href="#id8"·title="Link·to·this·code">¶</a></div>
348 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.apps</span>·<span·class="kn">import</span>·<span·class="n">apps</span>·<span·class="k">as</span>·<span·class="n">global_apps</span>349 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.apps</span>·<span·class="kn">import</span>·<span·class="n">apps</span>·<span·class="k">as</span>·<span·class="n">global_apps</span>
349 <span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">migrations</span>350 <span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">migrations</span>
Offset 481, 15 lines modifiedOffset 482, 15 lines modified
481 ······482 ······
482 ········483 ········
483 ··········<div·class="yui-b"·id="sidebar">484 ··········<div·class="yui-b"·id="sidebar">
484 ············485 ············
485 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">486 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
486 ········<div·class="sphinxsidebarwrapper">487 ········<div·class="sphinxsidebarwrapper">
487 ··<div>488 ··<div>
488 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>489 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
489 ····<ul>490 ····<ul>
490 <li><a·class="reference·internal"·href="#">How·to·create·database·migrations</a><ul>491 <li><a·class="reference·internal"·href="#">How·to·create·database·migrations</a><ul>
491 <li><a·class="reference·internal"·href="#data-migrations-and-multiple-databases">Data·migrations·and·multiple·databases</a></li>492 <li><a·class="reference·internal"·href="#data-migrations-and-multiple-databases">Data·migrations·and·multiple·databases</a></li>
492 <li><a·class="reference·internal"·href="#migrations-that-add-unique-fields">Migrations·that·add·unique·fields</a><ul>493 <li><a·class="reference·internal"·href="#migrations-that-add-unique-fields">Migrations·that·add·unique·fields</a><ul>
493 <li><a·class="reference·internal"·href="#non-atomic-migrations">Non-atomic·migrations</a></li>494 <li><a·class="reference·internal"·href="#non-atomic-migrations">Non-atomic·migrations</a></li>
494 </ul>495 </ul>
495 </li>496 </li>
Offset 499, 37 lines modifiedOffset 500, 37 lines modified
499 <li><a·class="reference·internal"·href="#changing-an-unmanaged-model-to-managed">Changing·an·unmanaged·model·to·managed</a></li>500 <li><a·class="reference·internal"·href="#changing-an-unmanaged-model-to-managed">Changing·an·unmanaged·model·to·managed</a></li>
500 </ul>501 </ul>
501 </li>502 </li>
502 </ul>503 </ul>
  
503 ··</div>504 ··</div>
504 ··<div>505 ··<div>
505 ····<h4>Previous·topic</h4>506 ····<h4>Eelmine·teema</h4>
506 ····<p·class="topless"><a·href="custom-model-fields.html"507 ····<p·class="topless"><a·href="custom-model-fields.html"
507 ··························title="previous·chapter">How·to·create·custom·model·fields</a></p>508 ··························title="eelmine·jaotis">How·to·create·custom·model·fields</a></p>
508 ··</div>509 ··</div>
509 ··<div>510 ··<div>
510 ····<h4>Next·topic</h4>511 ····<h4>Järgmine·teema</h4>
511 ····<p·class="topless"><a·href="custom-lookups.html"512 ····<p·class="topless"><a·href="custom-lookups.html"
512 ··························title="next·chapter">How·to·write·custom·lookups</a></p>513 ··························title="järgmine·jaotis">How·to·write·custom·lookups</a></p>
513 ··</div>514 ··</div>
514 <search·id="searchbox"·style="display:·none"·role="search">515 <search·id="searchbox"·style="display:·none"·role="search">
515 ··<h3·id="searchlabel">Quick·search</h3>516 ··<h3·id="searchlabel">Kiirotsing</h3>
516 ····<div·class="searchformwrapper">517 ····<div·class="searchformwrapper">
517 ····<form·class="search"·action="../search.html"·method="get">518 ····<form·class="search"·action="../search.html"·method="get">
518 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>519 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
519 ······<input·type="submit"·value="Go"·/>520 ······<input·type="submit"·value="Otsi"·/>
520 ····</form>521 ····</form>
Max diff block lines reached; 353/10252 bytes (3.44%) of diff not shown.
5.28 KB
html2text {}
Max HTML report size reached
14.7 KB
./usr/share/doc/python-django-doc/html/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="./">2 <html·lang="et"·data-content_root="./">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·documentation·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·documentation·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>
9 ····<script·src="_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="search.html"·/>
14 ····<link·rel="next"·title="Getting·started"·href="intro/index.html"·/>15 ····<link·rel="next"·title="Getting·started"·href="intro/index.html"·/>
15 ····<link·rel="prev"·title="Django·documentation·contents"·href="contents.html"·/>16 ····<link·rel="prev"·title="Django·documentation·contents"·href="contents.html"·/>
  
  
  
16 ·17 ·
17 <script·src="templatebuiltins.js"></script>18 <script·src="templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="">57 ··<div·id="custom-doc"·class="">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="#">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="#">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="#">Home</a>··|61 ········<a·title="Home·page"·href="#">Home</a>··|
61 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="contents.html"·title="Django·documentation·contents">previous</a>67 ····&laquo;·<a·href="contents.html"·title="Django·documentation·contents">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="#"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="#"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="intro/index.html"·title="Getting·started">next</a>·&raquo;</div>71 ····<a·href="intro/index.html"·title="Getting·started">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 102, 42 lines modifiedOffset 103, 42 lines modified
102 </ul>103 </ul>
103 </section>104 </section>
104 <section·id="s-getting-help">105 <section·id="s-getting-help">
105 <span·id="getting-help"></span><h2>Getting·help<a·class="headerlink"·href="#getting-help"·title="Link·to·this·heading">¶</a></h2>106 <span·id="getting-help"></span><h2>Getting·help<a·class="headerlink"·href="#getting-help"·title="Link·to·this·heading">¶</a></h2>
106 <p>Having·trouble?·We’d·like·to·help!</p>107 <p>Having·trouble?·We’d·like·to·help!</p>
107 <ul·class="simple">108 <ul·class="simple">
108 <li><p>Try·the·<a·class="reference·internal"·href="faq/index.html"><span·class="doc">FAQ</span></a>··it’s·got·answers·to·many·common·questions.</p></li>109 <li><p>Try·the·<a·class="reference·internal"·href="faq/index.html"><span·class="doc">FAQ</span></a>··it’s·got·answers·to·many·common·questions.</p></li>
109 <li><p>Looking·for·specific·information?·Try·the·<a·class="reference·internal"·href="genindex.html"><span·class="std·std-ref">Index</span></a>,·<a·class="reference·internal"·href="py-modindex.html"><span·class="std·std-ref">Module·Index</span></a>·or110 <li><p>Looking·for·specific·information?·Try·the·<a·class="reference·internal"·href="genindex.html"><span·class="std·std-ref">Indeks</span></a>,·<a·class="reference·internal"·href="py-modindex.html"><span·class="std·std-ref">Mooduli·indeks</span></a>·or
110 the·<a·class="reference·internal"·href="contents.html"><span·class="doc">detailed·table·of·contents</span></a>.</p></li>111 the·<a·class="reference·internal"·href="contents.html"><span·class="doc">detailed·table·of·contents</span></a>.</p></li>
111 <li><p>Not·found·anything?·See·<a·class="reference·internal"·href="faq/help.html"><span·class="doc">FAQ:·Getting·Help</span></a>·for·information·on·getting·support112 <li><p>Not·found·anything?·See·<a·class="reference·internal"·href="faq/help.html"><span·class="doc">FAQ:·Getting·Help</span></a>·for·information·on·getting·support
112 and·asking·questions·to·the·community.</p></li>113 and·asking·questions·to·the·community.</p></li>
113 <li><p>Report·bugs·with·Django·in·our·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>.</p></li>114 <li><p>Report·bugs·with·Django·in·our·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>.</p></li>
114 </ul>115 </ul>
115 </section>116 </section>
116 <section·id="s-how-the-documentation-is-organized">117 <section·id="s-how-the-documentation-is-organized">
117 <span·id="how-the-documentation-is-organized"></span><h2>How·the·documentation·is·organized<a·class="headerlink"·href="#how-the-documentation-is-organized"·title="Link·to·this·heading">¶</a></h2>118 <span·id="how-the-documentation-is-organized"></span><h2>How·the·documentation·is·organized<a·class="headerlink"·href="#how-the-documentation-is-organized"·title="Link·to·this·heading">¶</a></h2>
118 <p>Django·has·a·lot·of·documentation.·A·high-level·overview·of·how·it’s·organized119 <p>Django·has·a·lot·of·documentation.·A·high-level·overview·of·how·it’s·organized
119 will·help·you·know·where·to·look·for·certain·things:</p>120 will·help·you·know·where·to·look·for·certain·things:</p>
120 <ul·class="simple">121 <ul·class="simple">
121 <li><p><a·class="reference·internal"·href="intro/index.html"><span·class="doc">Tutorials</span></a>·take·you·by·the·hand·through·a·series·of122 <li><p><a·class="reference·internal"·href="intro/index.html"><span·class="doc">Tutorials</span></a>·take·you·by·the·hand·through·a·series·of
122 steps·to·create·a·web·application.·Start·here·if·you’re·new·to·Django·or·web123 steps·to·create·a·web·application.·Start·here·if·you’re·new·to·Django·or·web
123 application·development.·Also·look·at·the·<a·class="reference·internal"·href="#index-first-steps"><span·class="std·std-ref">First·steps</span></a>.</p></li>124 application·development.·Also·look·at·the·<a·class="reference·internal"·href="#index-first-steps"><span·class="std·std-ref">First·steps</span></a>.</p></li>
124 <li><p><a·class="reference·internal"·href="topics/index.html"><span·class="doc">Topic·guides</span></a>·discuss·key·topics·and·concepts·at·a125 <li><p><a·class="reference·internal"·href="topics/index.html"><span·class="doc">Topic·guides</span></a>·discuss·key·topics·and·concepts·at·a
125 fairly·high·level·and·provide·useful·background·information·and·explanation.</p></li>126 fairly·high·level·and·provide·useful·background·information·and·explanation.</p></li>
126 <li><p><a·class="reference·internal"·href="ref/index.html"><span·class="doc">Reference·guides</span></a>·contain·technical·reference·for·APIs·and127 <li><p><a·class="reference·internal"·href="ref/index.html"><span·class="doc">Reference·guides</span></a>·contain·technical·reference·for·APIs·and
127 other·aspects·of·Django’s·machinery.·They·describe·how·it·works·and·how·to128 other·aspects·of·Django’s·machinery.·They·describe·how·it·works·and·how·to
128 use·it·but·assume·that·you·have·a·basic·understanding·of·key·concepts.</p></li>129 use·it·but·assume·that·you·have·a·basic·understanding·of·key·concepts.</p></li>
129 <li><p><a·class="reference·internal"·href="howto/index.html"><span·class="doc">How-to·guides</span></a>·are·recipes.·They·guide·you·through·the130 <li><p><a·class="reference·internal"·href="howto/index.html"><span·class="doc">How-to·guides</span></a>·are·recipes.·They·guide·you·through·the
130 steps·involved·in·addressing·key·problems·and·use-cases.·They·are·more131 steps·involved·in·addressing·key·problems·and·use-cases.·They·are·more
131 advanced·than·tutorials·and·assume·some·knowledge·of·how·Django·works.</p></li>132 advanced·than·tutorials·and·assume·some·knowledge·of·how·Django·works.</p></li>
132 </ul>133 </ul>
133 </section>134 </section>
134 <section·id="s-the-model-layer">135 <section·id="s-the-model-layer">
135 <span·id="the-model-layer"></span><h2>The·model·layer<a·class="headerlink"·href="#the-model-layer"·title="Link·to·this·heading">¶</a></h2>136 <span·id="the-model-layer"></span><h2>The·model·layer<a·class="headerlink"·href="#the-model-layer"·title="Link·to·this·heading">¶</a></h2>
136 <p>Django·provides·an·abstraction·layer·(the·models)·for·structuring·and137 <p>Django·provides·an·abstraction·layer·(the·models)·for·structuring·and
137 manipulating·the·data·of·your·web·application.·Learn·more·about·it·below:</p>138 manipulating·the·data·of·your·web·application.·Learn·more·about·it·below:</p>
138 <ul·class="simple">139 <ul·class="simple">
139 <li><p><strong>Models:</strong>140 <li><p><strong>Models:</strong>
140 <a·class="reference·internal"·href="topics/db/models.html"><span·class="doc">Introduction·to·models</span></a>·|141 <a·class="reference·internal"·href="topics/db/models.html"><span·class="doc">Introduction·to·models</span></a>·|
141 <a·class="reference·internal"·href="ref/models/fields.html"><span·class="doc">Field·types</span></a>·|142 <a·class="reference·internal"·href="ref/models/fields.html"><span·class="doc">Field·types</span></a>·|
142 <a·class="reference·internal"·href="ref/models/indexes.html"><span·class="doc">Indexes</span></a>·|143 <a·class="reference·internal"·href="ref/models/indexes.html"><span·class="doc">Indexes</span></a>·|
143 <a·class="reference·internal"·href="ref/models/options.html"><span·class="doc">Meta·options</span></a>·|144 <a·class="reference·internal"·href="ref/models/options.html"><span·class="doc">Meta·options</span></a>·|
Offset 172, 15 lines modifiedOffset 173, 15 lines modified
172 <a·class="reference·internal"·href="howto/initial-data.html"><span·class="doc">Providing·initial·data</span></a>·|173 <a·class="reference·internal"·href="howto/initial-data.html"><span·class="doc">Providing·initial·data</span></a>·|
173 <a·class="reference·internal"·href="topics/db/optimization.html"><span·class="doc">Optimize·database·access</span></a>·|174 <a·class="reference·internal"·href="topics/db/optimization.html"><span·class="doc">Optimize·database·access</span></a>·|
174 <a·class="reference·internal"·href="ref/contrib/postgres/index.html"><span·class="doc">PostgreSQL·specific·features</span></a></p></li>175 <a·class="reference·internal"·href="ref/contrib/postgres/index.html"><span·class="doc">PostgreSQL·specific·features</span></a></p></li>
175 </ul>176 </ul>
176 </section>177 </section>
177 <section·id="s-the-view-layer">178 <section·id="s-the-view-layer">
178 <span·id="the-view-layer"></span><h2>The·view·layer<a·class="headerlink"·href="#the-view-layer"·title="Link·to·this·heading">¶</a></h2>179 <span·id="the-view-layer"></span><h2>The·view·layer<a·class="headerlink"·href="#the-view-layer"·title="Link·to·this·heading">¶</a></h2>
179 <p>Django·has·the·concept·of·views·to·encapsulate·the·logic·responsible·for180 <p>Django·has·the·concept·of·views·to·encapsulate·the·logic·responsible·for
180 processing·a·user’s·request·and·for·returning·the·response.·Find·all·you·need181 processing·a·user’s·request·and·for·returning·the·response.·Find·all·you·need
181 to·know·about·views·via·the·links·below:</p>182 to·know·about·views·via·the·links·below:</p>
182 <ul·class="simple">183 <ul·class="simple">
183 <li><p><strong>The·basics:</strong>184 <li><p><strong>The·basics:</strong>
184 <a·class="reference·internal"·href="topics/http/urls.html"><span·class="doc">URLconfs</span></a>·|185 <a·class="reference·internal"·href="topics/http/urls.html"><span·class="doc">URLconfs</span></a>·|
185 <a·class="reference·internal"·href="topics/http/views.html"><span·class="doc">View·functions</span></a>·|186 <a·class="reference·internal"·href="topics/http/views.html"><span·class="doc">View·functions</span></a>·|
186 <a·class="reference·internal"·href="topics/http/shortcuts.html"><span·class="doc">Shortcuts</span></a>·|187 <a·class="reference·internal"·href="topics/http/shortcuts.html"><span·class="doc">Shortcuts</span></a>·|
Offset 398, 15 lines modifiedOffset 399, 15 lines modified
398 ······399 ······
399 ····</div>400 ····</div>
  
400 ····<div·id="ft">401 ····<div·id="ft">
401 ······<div·class="nav">402 ······<div·class="nav">
402 ····&laquo;·<a·href="contents.html"·title="Django·documentation·contents">previous</a>403 ····&laquo;·<a·href="contents.html"·title="Django·documentation·contents">previous</a>
403 ·····|404 ·····|
404 ····<a·title="Django·5.1.3·documentation"·href="#"·accesskey="U">up</a>405 ····<a·title="Django·5.1.3·dokumentatsioon"·href="#"·accesskey="U">up</a>
405 ···|406 ···|
406 ····<a·href="intro/index.html"·title="Getting·started">next</a>·&raquo;</div>407 ····<a·href="intro/index.html"·title="Getting·started">next</a>·&raquo;</div>
407 ····</div>408 ····</div>
408 ··</div>409 ··</div>
  
409 ······<div·class="clearer"></div>410 ······<div·class="clearer"></div>
410 ····</div>411 ····</div>
6.54 KB
html2text {}
Max HTML report size reached
16.8 KB
./usr/share/doc/python-django-doc/html/internals/contributing/bugs-and-features.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Reporting·bugs·and·requesting·features·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Reporting·bugs·and·requesting·features·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Triaging·tickets"·href="triaging-tickets.html"·/>15 ····<link·rel="next"·title="Triaging·tickets"·href="triaging-tickets.html"·/>
15 ····<link·rel="prev"·title="Localizing·Django"·href="localizing.html"·/>16 ····<link·rel="prev"·title="Localizing·Django"·href="localizing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 29 lines modifiedOffset 77, 29 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="internals-contributing-bugs-and-features">79 ··········<div·class="yui-g"·id="internals-contributing-bugs-and-features">
79 ············80 ············
80 ··<section·id="s-reporting-bugs-and-requesting-features">81 ··<section·id="s-reporting-bugs-and-requesting-features">
81 <span·id="reporting-bugs-and-requesting-features"></span><h1>Reporting·bugs·and·requesting·features<a·class="headerlink"·href="#reporting-bugs-and-requesting-features"·title="Link·to·this·heading">¶</a></h1>82 <span·id="reporting-bugs-and-requesting-features"></span><h1>Reporting·bugs·and·requesting·features<a·class="headerlink"·href="#reporting-bugs-and-requesting-features"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·important">83 <div·class="admonition·important">
83 <p·class="admonition-title">Important</p>84 <p·class="admonition-title">Tähtis</p>
84 <p>Please·report·security·issues·<strong>only</strong>·to85 <p>Please·report·security·issues·<strong>only</strong>·to
85 <a·class="reference·external"·href="mailto:security&#37;&#52;&#48;djangoproject&#46;com">security<span>&#64;</span>djangoproject<span>&#46;</span>com</a>.··This·is·a·private·list·only·open·to86 <a·class="reference·external"·href="mailto:security&#37;&#52;&#48;djangoproject&#46;com">security<span>&#64;</span>djangoproject<span>&#46;</span>com</a>.··This·is·a·private·list·only·open·to
86 long-time,·highly·trusted·Django·developers,·and·its·archives·are87 long-time,·highly·trusted·Django·developers,·and·its·archives·are
87 not·public.·For·further·details,·please·see·<a·class="reference·internal"·href="../security.html"><span·class="doc">our·security88 not·public.·For·further·details,·please·see·<a·class="reference·internal"·href="../security.html"><span·class="doc">our·security
88 policies</span></a>.</p>89 policies</span></a>.</p>
89 </div>90 </div>
90 <p>Otherwise,·before·reporting·a·bug·or·requesting·a·new·feature·on·the91 <p>Otherwise,·before·reporting·a·bug·or·requesting·a·new·feature·on·the
91 <a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>,·consider·these·points:</p>92 <a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>,·consider·these·points:</p>
92 <ul·class="simple">93 <ul·class="simple">
93 <li><p>Check·that·someone·hasn’t·already·filed·the·bug·or·feature·request·by94 <li><p>Check·that·someone·hasn’t·already·filed·the·bug·or·feature·request·by
94 <a·class="reference·external"·href="https://code.djangoproject.com/search">searching</a>·or·running·<a·class="reference·external"·href="https://code.djangoproject.com/query">custom·queries</a>·in·the·ticket·tracker.</p></li>95 <a·class="reference·external"·href="https://code.djangoproject.com/search">searching</a>·or·running·<a·class="reference·external"·href="https://code.djangoproject.com/query">custom·queries</a>·in·the·ticket·tracker.</p></li>
95 <li><p>Don’t·use·the·ticket·system·to·ask·support·questions.·Use·the96 <li><p>Don’t·use·the·ticket·system·to·ask·support·questions.·Use·the
96 <a·class="reference·internal"·href="../mailing-lists.html#django-users-mailing-list"><span·class="std·std-ref">django-users</span></a>·list·or·the·<a·class="reference·external"·href="https://web.libera.chat/#django">#django</a>·IRC·channel·for·that.</p></li>97 <a·class="reference·internal"·href="../mailing-lists.html#django-users-mailing-list"><span·class="std·std-ref">django-users</span></a>·list·or·the·<a·class="reference·external"·href="https://web.libera.chat/#django">#django</a>·IRC·channel·for·that.</p></li>
97 <li><p>Don’t·reopen·issues·that·have·been·marked·wontfix·without·finding·consensus98 <li><p>Don’t·reopen·issues·that·have·been·marked·wontfix·without·finding·consensus
98 to·do·so·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/">Django·Forum</a>·or·<a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·list.</p></li>99 to·do·so·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/">Django·Forum</a>·or·<a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·list.</p></li>
99 <li><p>Don’t·use·the·ticket·tracker·for·lengthy·discussions,·because·they’re100 <li><p>Don’t·use·the·ticket·tracker·for·lengthy·discussions,·because·they’re
100 likely·to·get·lost.·If·a·particular·ticket·is·controversial,·please·move·the101 likely·to·get·lost.·If·a·particular·ticket·is·controversial,·please·move·the
101 discussion·to·the·<a·class="reference·external"·href="https://forum.djangoproject.com/">Django·Forum</a>·or·<a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·list.</p></li>102 discussion·to·the·<a·class="reference·external"·href="https://forum.djangoproject.com/">Django·Forum</a>·or·<a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·list.</p></li>
102 </ul>103 </ul>
103 <section·id="s-reporting-bugs">104 <section·id="s-reporting-bugs">
104 <span·id="s-id1"></span><span·id="reporting-bugs"></span><span·id="id1"></span><h2>Reporting·bugs<a·class="headerlink"·href="#reporting-bugs"·title="Link·to·this·heading">¶</a></h2>105 <span·id="s-id1"></span><span·id="reporting-bugs"></span><span·id="id1"></span><h2>Reporting·bugs<a·class="headerlink"·href="#reporting-bugs"·title="Link·to·this·heading">¶</a></h2>
Offset 186, 35 lines modifiedOffset 187, 35 lines modified
186 <span·id="s-id2"></span><span·id="how-we-make-decisions"></span><span·id="id2"></span><h2>How·we·make·decisions<a·class="headerlink"·href="#how-we-make-decisions"·title="Link·to·this·heading">¶</a></h2>187 <span·id="s-id2"></span><span·id="how-we-make-decisions"></span><span·id="id2"></span><h2>How·we·make·decisions<a·class="headerlink"·href="#how-we-make-decisions"·title="Link·to·this·heading">¶</a></h2>
187 <p>Whenever·possible,·we·strive·for·a·rough·consensus.·To·that·end,·we’ll·often188 <p>Whenever·possible,·we·strive·for·a·rough·consensus.·To·that·end,·we’ll·often
188 have·informal·votes·on·<a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·or·the·Django·Forum·about·a·feature.189 have·informal·votes·on·<a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·or·the·Django·Forum·about·a·feature.
189 In·these·votes·we·follow·the·voting·style·invented·by·Apache·and·used·on·Python190 In·these·votes·we·follow·the·voting·style·invented·by·Apache·and·used·on·Python
190 itself,·where·votes·are·given·as·+1,·+0,·-0,·or·-1.191 itself,·where·votes·are·given·as·+1,·+0,·-0,·or·-1.
191 Roughly·translated,·these·votes·mean:</p>192 Roughly·translated,·these·votes·mean:</p>
192 <ul·class="simple">193 <ul·class="simple">
193 <li><p>+1:·I·love·the·idea·and·I’m·strongly·committed·to·it.</p></li>194 <li><p>+1:·I·love·the·idea·and·I’m·strongly·committed·to·it.</p></li>
194 <li><p>+0:·Sounds·OK·to·me.</p></li>195 <li><p>+0:·Sounds·OK·to·me.</p></li>
195 <li><p>-0:·I’m·not·thrilled,·but·I·won’t·stand·in·the·way.</p></li>196 <li><p>-0:·I’m·not·thrilled,·but·I·won’t·stand·in·the·way.</p></li>
196 <li><p>-1:·I·strongly·disagree·and·would·be·very·unhappy·to·see·the·idea·turn197 <li><p>-1:·I·strongly·disagree·and·would·be·very·unhappy·to·see·the·idea·turn
197 into·reality.</p></li>198 into·reality.</p></li>
198 </ul>199 </ul>
199 <p>Although·these·votes·are·informal,·they’ll·be·taken·very·seriously.·After·a200 <p>Although·these·votes·are·informal,·they’ll·be·taken·very·seriously.·After·a
200 suitable·voting·period,·if·an·obvious·consensus·arises·we’ll·follow·the·votes.</p>201 suitable·voting·period,·if·an·obvious·consensus·arises·we’ll·follow·the·votes.</p>
201 <p>However,·consensus·is·not·always·possible.·If·consensus·cannot·be·reached,·or202 <p>However,·consensus·is·not·always·possible.·If·consensus·cannot·be·reached,·or
202 if·the·discussion·toward·a·consensus·fizzles·out·without·a·concrete·decision,203 if·the·discussion·toward·a·consensus·fizzles·out·without·a·concrete·decision,
203 the·decision·may·be·deferred·to·the·<a·class="reference·internal"·href="../organization.html#steering-council"><span·class="std·std-ref">steering·council</span></a>.</p>204 the·decision·may·be·deferred·to·the·<a·class="reference·internal"·href="../organization.html#steering-council"><span·class="std·std-ref">steering·council</span></a>.</p>
204 <p>Internally,·the·steering·council·will·use·the·same·voting·mechanism.·A205 <p>Internally,·the·steering·council·will·use·the·same·voting·mechanism.·A
205 proposition·will·be·considered·carried·if:</p>206 proposition·will·be·considered·carried·if:</p>
206 <ul·class="simple">207 <ul·class="simple">
207 <li><p>There·are·at·least·three·+1·votes·from·members·of·the·steering·council.</p></li>208 <li><p>There·are·at·least·three·+1·votes·from·members·of·the·steering·council.</p></li>
208 <li><p>There·is·no·-1·vote·from·any·member·of·the·steering·council.</p></li>209 <li><p>There·is·no·-1·vote·from·any·member·of·the·steering·council.</p></li>
209 </ul>210 </ul>
210 <p>Votes·should·be·submitted·within·a·week.</p>211 <p>Votes·should·be·submitted·within·a·week.</p>
211 <p>Since·this·process·allows·any·steering·council·member·to·veto·a·proposal,·a212 <p>Since·this·process·allows·any·steering·council·member·to·veto·a·proposal,·a
212 -1·vote·should·be·accompanied·by·an·explanation·of·what·it·would·take·to213 -1·vote·should·be·accompanied·by·an·explanation·of·what·it·would·take·to
213 convert·that·-1·into·at·least·a·+0.</p>214 convert·that·-1·into·at·least·a·+0.</p>
214 <p>Votes·on·technical·matters·should·be·announced·and·held·in·public·on·the215 <p>Votes·on·technical·matters·should·be·announced·and·held·in·public·on·the
215 <a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·mailing·list·or·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/">Django·Forum</a>.</p>216 <a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·mailing·list·or·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/">Django·Forum</a>.</p>
216 </section>217 </section>
217 </section>218 </section>
  
  
218 ··········</div>219 ··········</div>
Offset 223, 51 lines modifiedOffset 224, 51 lines modified
223 ······224 ······
224 ········225 ········
225 ··········<div·class="yui-b"·id="sidebar">226 ··········<div·class="yui-b"·id="sidebar">
226 ············227 ············
227 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">228 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
228 ········<div·class="sphinxsidebarwrapper">229 ········<div·class="sphinxsidebarwrapper">
229 ··<div>230 ··<div>
230 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>231 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
231 ····<ul>232 ····<ul>
232 <li><a·class="reference·internal"·href="#">Reporting·bugs·and·requesting·features</a><ul>233 <li><a·class="reference·internal"·href="#">Reporting·bugs·and·requesting·features</a><ul>
233 <li><a·class="reference·internal"·href="#reporting-bugs">Reporting·bugs</a></li>234 <li><a·class="reference·internal"·href="#reporting-bugs">Reporting·bugs</a></li>
234 <li><a·class="reference·internal"·href="#reporting-user-interface-bugs-and-features">Reporting·user·interface·bugs·and·features</a></li>235 <li><a·class="reference·internal"·href="#reporting-user-interface-bugs-and-features">Reporting·user·interface·bugs·and·features</a></li>
235 <li><a·class="reference·internal"·href="#requesting-features">Requesting·features</a></li>236 <li><a·class="reference·internal"·href="#requesting-features">Requesting·features</a></li>
236 <li><a·class="reference·internal"·href="#requesting-performance-optimizations">Requesting·performance·optimizations</a></li>237 <li><a·class="reference·internal"·href="#requesting-performance-optimizations">Requesting·performance·optimizations</a></li>
237 <li><a·class="reference·internal"·href="#how-we-make-decisions">How·we·make·decisions</a></li>238 <li><a·class="reference·internal"·href="#how-we-make-decisions">How·we·make·decisions</a></li>
238 </ul>239 </ul>
239 </li>240 </li>
240 </ul>241 </ul>
  
241 ··</div>242 ··</div>
242 ··<div>243 ··<div>
Max diff block lines reached; 1297/10653 bytes (12.17%) of diff not shown.
6.23 KB
html2text {}
Max HTML report size reached
20.0 KB
./usr/share/doc/python-django-doc/html/internals/contributing/committing-code.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Committing·code·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Committing·code·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Writing·documentation"·href="writing-documentation.html"·/>15 ····<link·rel="next"·title="Writing·documentation"·href="writing-documentation.html"·/>
15 ····<link·rel="prev"·title="JavaScript·code"·href="writing-code/javascript.html"·/>16 ····<link·rel="prev"·title="JavaScript·code"·href="writing-code/javascript.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 165, 15 lines modifiedOffset 166, 15 lines modified
165 </pre></div>166 </pre></div>
166 </section>167 </section>
167 </div>168 </div>
168 <p>Force·push·to·the·branch·after·rebasing·on·main·but·before·merging·and·pushing169 <p>Force·push·to·the·branch·after·rebasing·on·main·but·before·merging·and·pushing
169 to·upstream.·This·allows·the·commit·hashes·on·main·and·the·branch·to·match170 to·upstream.·This·allows·the·commit·hashes·on·main·and·the·branch·to·match
170 which·automatically·closes·the·pull·request.</p>171 which·automatically·closes·the·pull·request.</p>
171 <p>If·a·pull·request·doesn’t·need·to·be·merged·as·multiple·commits,·you·can·use172 <p>If·a·pull·request·doesn’t·need·to·be·merged·as·multiple·commits,·you·can·use
172 GitHub’s·Squash·and·merge·button·on·the·website.·Edit·the·commit·message·as173 GitHub’s·Squash·and·merge·button·on·the·website.·Edit·the·commit·message·as
173 needed·to·conform·to·<a·class="reference·internal"·href="#committing-guidelines"><span·class="std·std-ref">the·guidelines</span></a>·and·remove174 needed·to·conform·to·<a·class="reference·internal"·href="#committing-guidelines"><span·class="std·std-ref">the·guidelines</span></a>·and·remove
174 the·pull·request·number·that’s·automatically·appended·to·the·message’s·first175 the·pull·request·number·that’s·automatically·appended·to·the·message’s·first
175 line.</p>176 line.</p>
176 <p>When·rewriting·the·commit·history·of·a·pull·request,·the·goal·is·to·make177 <p>When·rewriting·the·commit·history·of·a·pull·request,·the·goal·is·to·make
177 Django’s·commit·history·as·usable·as·possible:</p>178 Django’s·commit·history·as·usable·as·possible:</p>
178 <ul·class="simple">179 <ul·class="simple">
179 <li><p>If·a·patch·contains·back-and-forth·commits,·then·rewrite·those·into·one.180 <li><p>If·a·patch·contains·back-and-forth·commits,·then·rewrite·those·into·one.
Offset 198, 71 lines modifiedOffset 199, 71 lines modified
198 <span·id="s-id2"></span><span·id="committing-guidelines"></span><span·id="id2"></span><h2>Committing·guidelines<a·class="headerlink"·href="#committing-guidelines"·title="Link·to·this·heading">¶</a></h2>199 <span·id="s-id2"></span><span·id="committing-guidelines"></span><span·id="id2"></span><h2>Committing·guidelines<a·class="headerlink"·href="#committing-guidelines"·title="Link·to·this·heading">¶</a></h2>
199 <p>In·addition,·please·follow·the·following·guidelines·when·committing·code·to200 <p>In·addition,·please·follow·the·following·guidelines·when·committing·code·to
200 Django’s·Git·repository:</p>201 Django’s·Git·repository:</p>
201 <ul>202 <ul>
202 <li><p>Never·change·the·published·history·of·<code·class="docutils·literal·notranslate"><span·class="pre">django/django</span></code>·branches·by·force203 <li><p>Never·change·the·published·history·of·<code·class="docutils·literal·notranslate"><span·class="pre">django/django</span></code>·branches·by·force
203 pushing.·If·you·absolutely·must·(for·security·reasons·for·example),·first204 pushing.·If·you·absolutely·must·(for·security·reasons·for·example),·first
204 discuss·the·situation·with·the·team.</p></li>205 discuss·the·situation·with·the·team.</p></li>
205 <li><p>For·any·medium-to-big·changes,·where·medium-to-big·is·according·to206 <li><p>For·any·medium-to-big·changes,·where·medium-to-big·is·according·to
206 your·judgment,·please·bring·things·up·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/">Django·Forum</a>·or207 your·judgment,·please·bring·things·up·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/">Django·Forum</a>·or
207 <a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·mailing·list·before·making·the·change.</p>208 <a·class="reference·internal"·href="../mailing-lists.html#django-developers-mailing-list"><span·class="std·std-ref">django-developers</span></a>·mailing·list·before·making·the·change.</p>
208 <p>If·you·bring·something·up·and·nobody·responds,·please·don’t·take·that209 <p>If·you·bring·something·up·and·nobody·responds,·please·don’t·take·that
209 to·mean·your·idea·is·great·and·should·be·implemented·immediately·because210 to·mean·your·idea·is·great·and·should·be·implemented·immediately·because
210 nobody·contested·it.·Everyone·doesn’t·always·have·a·lot·of·time·to·read211 nobody·contested·it.·Everyone·doesn’t·always·have·a·lot·of·time·to·read
211 mailing·list·discussions·immediately,·so·you·may·have·to·wait·a·couple·of212 mailing·list·discussions·immediately,·so·you·may·have·to·wait·a·couple·of
212 days·before·getting·a·response.</p>213 days·before·getting·a·response.</p>
213 </li>214 </li>
214 <li><p>Write·detailed·commit·messages·in·the·past·tense,·not·present·tense.</p>215 <li><p>Write·detailed·commit·messages·in·the·past·tense,·not·present·tense.</p>
215 <ul·class="simple">216 <ul·class="simple">
216 <li><p>Good:·Fixed·Unicode·bug·in·RSS·API.</p></li>217 <li><p>Good:·Fixed·Unicode·bug·in·RSS·API.</p></li>
217 <li><p>Bad:·Fixes·Unicode·bug·in·RSS·API.</p></li>218 <li><p>Bad:·Fixes·Unicode·bug·in·RSS·API.</p></li>
218 <li><p>Bad:·Fixing·Unicode·bug·in·RSS·API.</p></li>219 <li><p>Bad:·Fixing·Unicode·bug·in·RSS·API.</p></li>
219 </ul>220 </ul>
220 <p>The·commit·message·should·be·in·lines·of·72·chars·maximum.·There·should·be221 <p>The·commit·message·should·be·in·lines·of·72·chars·maximum.·There·should·be
221 a·subject·line,·separated·by·a·blank·line·and·then·paragraphs·of·72·char222 a·subject·line,·separated·by·a·blank·line·and·then·paragraphs·of·72·char
222 lines.·The·limits·are·soft.·For·the·subject·line,·shorter·is·better.·In·the223 lines.·The·limits·are·soft.·For·the·subject·line,·shorter·is·better.·In·the
223 body·of·the·commit·message·more·detail·is·better·than·less:</p>224 body·of·the·commit·message·more·detail·is·better·than·less:</p>
224 <div·class="highlight-none·notranslate"><div·class="highlight"><pre><span></span>Fixed·#18307·--·Added·git·workflow·guidelines.225 <div·class="highlight-none·notranslate"><div·class="highlight"><pre><span></span>Fixed·#18307·--·Added·git·workflow·guidelines.
  
225 Refactored·the·Django&#39;s·documentation·to·remove·mentions·of·SVN226 Refactored·the·Django&#39;s·documentation·to·remove·mentions·of·SVN
226 specific·tasks.·Added·guidelines·of·how·to·use·Git,·GitHub,·and227 specific·tasks.·Added·guidelines·of·how·to·use·Git,·GitHub,·and
227 how·to·use·pull·request·together·with·Trac·instead.228 how·to·use·pull·request·together·with·Trac·instead.
228 </pre></div>229 </pre></div>
229 </div>230 </div>
230 <p>Credit·the·contributors·in·the·commit·message:·Thanks·A·for·the·report·and·B231 <p>Credit·the·contributors·in·the·commit·message:·Thanks·A·for·the·report·and·B
231 for·review.·Use·git’s·<a·class="reference·external"·href="https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors">Co-Authored-By</a>·as·appropriate.</p>232 for·review.·Use·git’s·<a·class="reference·external"·href="https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors">Co-Authored-By</a>·as·appropriate.</p>
232 </li>233 </li>
233 <li><p>For·commits·to·a·branch,·prefix·the·commit·message·with·the·branch·name.234 <li><p>For·commits·to·a·branch,·prefix·the·commit·message·with·the·branch·name.
234 For·example:·[1.4.x]·Fixed·#xxxxx··Added·support·for·mind·reading.</p></li>235 For·example:·[1.4.x]·Fixed·#xxxxx··Added·support·for·mind·reading.</p></li>
235 <li><p>Limit·commits·to·the·most·granular·change·that·makes·sense.·This·means,236 <li><p>Limit·commits·to·the·most·granular·change·that·makes·sense.·This·means,
236 use·frequent·small·commits·rather·than·infrequent·large·commits.·For237 use·frequent·small·commits·rather·than·infrequent·large·commits.·For
237 example,·if·implementing·feature·X·requires·a·small·change·to·library·Y,238 example,·if·implementing·feature·X·requires·a·small·change·to·library·Y,
238 first·commit·the·change·to·library·Y,·then·commit·feature·X·in·a·separate239 first·commit·the·change·to·library·Y,·then·commit·feature·X·in·a·separate
239 commit.·This·goes·a·<em>long·way</em>·in·helping·everyone·follow·your·changes.</p></li>240 commit.·This·goes·a·<em>long·way</em>·in·helping·everyone·follow·your·changes.</p></li>
240 <li><p>Separate·bug·fixes·from·feature·changes.·Bugfixes·may·need·to·be·backported241 <li><p>Separate·bug·fixes·from·feature·changes.·Bugfixes·may·need·to·be·backported
241 to·the·stable·branch,·according·to·<a·class="reference·internal"·href="../release-process.html#supported-versions-policy"><span·class="std·std-ref">Supported·versions</span></a>.</p></li>242 to·the·stable·branch,·according·to·<a·class="reference·internal"·href="../release-process.html#supported-versions-policy"><span·class="std·std-ref">Supported·versions</span></a>.</p></li>
242 <li><p>If·your·commit·closes·a·ticket·in·the·Django·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>,·begin243 <li><p>If·your·commit·closes·a·ticket·in·the·Django·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>,·begin
243 your·commit·message·with·the·text·Fixed·#xxxxx,·where·xxxxx·is·the244 your·commit·message·with·the·text·Fixed·#xxxxx,·where·xxxxx·is·the
244 number·of·the·ticket·your·commit·fixes.·Example:·Fixed·#123··Added245 number·of·the·ticket·your·commit·fixes.·Example:·Fixed·#123··Added
245 whizbang·feature..·We’ve·rigged·Trac·so·that·any·commit·message·in·that246 whizbang·feature..·We’ve·rigged·Trac·so·that·any·commit·message·in·that
246 format·will·automatically·close·the·referenced·ticket·and·post·a·comment247 format·will·automatically·close·the·referenced·ticket·and·post·a·comment
247 to·it·with·the·full·commit·message.</p>248 to·it·with·the·full·commit·message.</p>
248 <p>For·the·curious,·we’re·using·a·<a·class="reference·external"·href="https://github.com/trac-hacks/trac-github">Trac·plugin</a>·for·this.</p>249 <p>For·the·curious,·we’re·using·a·<a·class="reference·external"·href="https://github.com/trac-hacks/trac-github">Trac·plugin</a>·for·this.</p>
249 </li>250 </li>
250 </ul>251 </ul>
251 <div·class="admonition·note">252 <div·class="admonition·note">
252 <p·class="admonition-title">Note</p>253 <p·class="admonition-title">rkus</p>
253 <p>Note·that·the·Trac·integration·doesn’t·know·anything·about·pull·requests.254 <p>Note·that·the·Trac·integration·doesn’t·know·anything·about·pull·requests.
254 So·if·you·try·to·close·a·pull·request·with·the·phrase·closes·#400·in·your255 So·if·you·try·to·close·a·pull·request·with·the·phrase·closes·#400·in·your
255 commit·message,·GitHub·will·close·the·pull·request,·but·the·Trac·plugin256 commit·message,·GitHub·will·close·the·pull·request,·but·the·Trac·plugin
256 will·not·close·the·same·numbered·ticket·in·Trac.</p>257 will·not·close·the·same·numbered·ticket·in·Trac.</p>
257 </div>258 </div>
258 <ul>259 <ul>
259 <li><p>If·your·commit·references·a·ticket·in·the·Django·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>·but260 <li><p>If·your·commit·references·a·ticket·in·the·Django·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>·but
260 does·<em>not</em>·close·the·ticket,·include·the·phrase·Refs·#xxxxx,·where·xxxxx261 does·<em>not</em>·close·the·ticket,·include·the·phrase·Refs·#xxxxx,·where·xxxxx
261 is·the·number·of·the·ticket·your·commit·references.·This·will·automatically262 is·the·number·of·the·ticket·your·commit·references.·This·will·automatically
262 post·a·comment·to·the·appropriate·ticket.</p></li>263 post·a·comment·to·the·appropriate·ticket.</p></li>
263 <li><p>Write·commit·messages·for·backports·using·this·pattern:</p>264 <li><p>Write·commit·messages·for·backports·using·this·pattern:</p>
264 <div·class="highlight-none·notranslate"><div·class="highlight"><pre><span></span>[&lt;Django·version&gt;]·Fixed·&lt;ticket&gt;·--·&lt;description&gt;265 <div·class="highlight-none·notranslate"><div·class="highlight"><pre><span></span>[&lt;Django·version&gt;]·Fixed·&lt;ticket&gt;·--·&lt;description&gt;
  
265 Backport·of·&lt;revision&gt;·from·&lt;branch&gt;.266 Backport·of·&lt;revision&gt;·from·&lt;branch&gt;.
266 </pre></div>267 </pre></div>
Max diff block lines reached; 2159/11538 bytes (18.71%) of diff not shown.
8.56 KB
html2text {}
Max HTML report size reached
7.59 KB
./usr/share/doc/python-django-doc/html/internals/contributing/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Contributing·to·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Contributing·to·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Advice·for·new·contributors"·href="new-contributors.html"·/>15 ····<link·rel="next"·title="Advice·for·new·contributors"·href="new-contributors.html"·/>
15 ····<link·rel="prev"·title="Django·internals"·href="../index.html"·/>16 ····<link·rel="prev"·title="Django·internals"·href="../index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 230, 15 lines modifiedOffset 231, 15 lines modified
230 ······231 ······
231 ········232 ········
232 ··········<div·class="yui-b"·id="sidebar">233 ··········<div·class="yui-b"·id="sidebar">
233 ············234 ············
234 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">235 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
235 ········<div·class="sphinxsidebarwrapper">236 ········<div·class="sphinxsidebarwrapper">
236 ··<div>237 ··<div>
237 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>238 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
238 ····<ul>239 ····<ul>
239 <li><a·class="reference·internal"·href="#">Contributing·to·Django</a><ul>240 <li><a·class="reference·internal"·href="#">Contributing·to·Django</a><ul>
240 <li><a·class="reference·internal"·href="#communication-channels">Communication·channels</a><ul>241 <li><a·class="reference·internal"·href="#communication-channels">Communication·channels</a><ul>
241 <li><a·class="reference·internal"·href="#join-the-django-community">Join·the·Django·community</a></li>242 <li><a·class="reference·internal"·href="#join-the-django-community">Join·the·Django·community</a></li>
242 </ul>243 </ul>
243 </li>244 </li>
244 <li><a·class="reference·internal"·href="#getting-started">Getting·started</a></li>245 <li><a·class="reference·internal"·href="#getting-started">Getting·started</a></li>
Offset 251, 37 lines modifiedOffset 252, 37 lines modified
251 <li><a·class="reference·internal"·href="#other-ways-of-contributing">Other·ways·of·contributing</a></li>252 <li><a·class="reference·internal"·href="#other-ways-of-contributing">Other·ways·of·contributing</a></li>
252 </ul>253 </ul>
253 </li>254 </li>
254 </ul>255 </ul>
  
255 ··</div>256 ··</div>
256 ··<div>257 ··<div>
257 ····<h4>Previous·topic</h4>258 ····<h4>Eelmine·teema</h4>
258 ····<p·class="topless"><a·href="../index.html"259 ····<p·class="topless"><a·href="../index.html"
259 ··························title="previous·chapter">Django·internals</a></p>260 ··························title="eelmine·jaotis">Django·internals</a></p>
260 ··</div>261 ··</div>
261 ··<div>262 ··<div>
262 ····<h4>Next·topic</h4>263 ····<h4>Järgmine·teema</h4>
263 ····<p·class="topless"><a·href="new-contributors.html"264 ····<p·class="topless"><a·href="new-contributors.html"
264 ··························title="next·chapter">Advice·for·new·contributors</a></p>265 ··························title="järgmine·jaotis">Advice·for·new·contributors</a></p>
265 ··</div>266 ··</div>
266 <search·id="searchbox"·style="display:·none"·role="search">267 <search·id="searchbox"·style="display:·none"·role="search">
267 ··<h3·id="searchlabel">Quick·search</h3>268 ··<h3·id="searchlabel">Kiirotsing</h3>
268 ····<div·class="searchformwrapper">269 ····<div·class="searchformwrapper">
269 ····<form·class="search"·action="../../search.html"·method="get">270 ····<form·class="search"·action="../../search.html"·method="get">
270 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>271 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
271 ······<input·type="submit"·value="Go"·/>272 ······<input·type="submit"·value="Otsi"·/>
272 ····</form>273 ····</form>
273 ····</div>274 ····</div>
274 </search>275 </search>
275 <script>document.getElementById('searchbox').style.display·=·"block"</script>276 <script>document.getElementById('searchbox').style.display·=·"block"</script>
276 ········</div>277 ········</div>
277 ······</div>278 ······</div>
278 ··············<h3>Last·update:</h3>279 ··············<h3>Last·update:</h3>
279 ··············<p·class="topless">Nov·05,·2024</p>280 ··············<p·class="topless">nov·05,·2024</p>
280 ··········</div>281 ··········</div>
281 ········282 ········
282 ······283 ······
283 ····</div>284 ····</div>
  
284 ····<div·id="ft">285 ····<div·id="ft">
285 ······<div·class="nav">286 ······<div·class="nav">
3.04 KB
html2text {}
Max HTML report size reached
14.1 KB
./usr/share/doc/python-django-doc/html/internals/contributing/localizing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Localizing·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Localizing·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Reporting·bugs·and·requesting·features"·href="bugs-and-features.html"·/>15 ····<link·rel="next"·title="Reporting·bugs·and·requesting·features"·href="bugs-and-features.html"·/>
15 ····<link·rel="prev"·title="Writing·documentation"·href="writing-documentation.html"·/>16 ····<link·rel="prev"·title="Writing·documentation"·href="writing-documentation.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 93, 26 lines modifiedOffset 94, 26 lines modified
93 translating·or·adding·a·language·that·isn’t·yet·translated,·here’s·what·to·do:</p>94 translating·or·adding·a·language·that·isn’t·yet·translated,·here’s·what·to·do:</p>
94 <ul>95 <ul>
95 <li><p>Introduce·yourself·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/c/internals/i18n/14">Django·internationalization·forum</a>.</p></li>96 <li><p>Introduce·yourself·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/c/internals/i18n/14">Django·internationalization·forum</a>.</p></li>
96 <li><p>Make·sure·you·read·the·notes·about·<a·class="reference·internal"·href="../../topics/i18n/translation.html#specialties-of-django-i18n"><span·class="std·std-ref">Specialties·of·Django·translation</span></a>.</p></li>97 <li><p>Make·sure·you·read·the·notes·about·<a·class="reference·internal"·href="../../topics/i18n/translation.html#specialties-of-django-i18n"><span·class="std·std-ref">Specialties·of·Django·translation</span></a>.</p></li>
97 <li><p>Sign·up·at·<a·class="reference·external"·href="https://www.transifex.com/">Transifex</a>·and·visit·the·<a·class="reference·external"·href="https://app.transifex.com/django/django/">Django·project·page</a>.</p></li>98 <li><p>Sign·up·at·<a·class="reference·external"·href="https://www.transifex.com/">Transifex</a>·and·visit·the·<a·class="reference·external"·href="https://app.transifex.com/django/django/">Django·project·page</a>.</p></li>
98 <li><p>On·the·<a·class="reference·external"·href="https://app.transifex.com/django/django/">Django·project·page</a>,·choose·the·language·you·want·to·work·on,99 <li><p>On·the·<a·class="reference·external"·href="https://app.transifex.com/django/django/">Django·project·page</a>,·choose·the·language·you·want·to·work·on,
99 <strong>or</strong>··in·case·the·language·doesn’t·exist·yet·100 <strong>or</strong>··in·case·the·language·doesn’t·exist·yet·
100 request·a·new·language·team·by·clicking·on·the·Request·language·link101 request·a·new·language·team·by·clicking·on·the·Request·language·link
101 and·selecting·the·appropriate·language.</p></li>102 and·selecting·the·appropriate·language.</p></li>
102 <li><p>Then,·click·the·Join·this·Team·button·to·become·a·member·of·this·team.103 <li><p>Then,·click·the·Join·this·Team·button·to·become·a·member·of·this·team.
103 Every·team·has·at·least·one·coordinator·who·is·responsible·to·review104 Every·team·has·at·least·one·coordinator·who·is·responsible·to·review
104 your·membership·request.·You·can·also·contact·the·team·coordinator·to·clarify105 your·membership·request.·You·can·also·contact·the·team·coordinator·to·clarify
105 procedural·problems·and·handle·the·actual·translation·process.</p></li>106 procedural·problems·and·handle·the·actual·translation·process.</p></li>
106 <li><p>Once·you·are·a·member·of·a·team·choose·the·translation·resource·you107 <li><p>Once·you·are·a·member·of·a·team·choose·the·translation·resource·you
107 want·to·update·on·the·team·page.·For·example,·the·core·resource·refers108 want·to·update·on·the·team·page.·For·example,·the·core·resource·refers
108 to·the·translation·catalog·that·contains·all·non-contrib·translations.109 to·the·translation·catalog·that·contains·all·non-contrib·translations.
109 Each·of·the·contrib·apps·also·has·a·resource·(prefixed·with·contrib).</p>110 Each·of·the·contrib·apps·also·has·a·resource·(prefixed·with·contrib).</p>
110 <div·class="admonition·note">111 <div·class="admonition·note">
111 <p·class="admonition-title">Note</p>112 <p·class="admonition-title">rkus</p>
112 <p>For·more·information·about·how·to·use·Transifex,·read·the113 <p>For·more·information·about·how·to·use·Transifex,·read·the
113 <a·class="reference·external"·href="https://help.transifex.com/">Transifex·User·Guide</a>.</p>114 <a·class="reference·external"·href="https://help.transifex.com/">Transifex·User·Guide</a>.</p>
114 </div>115 </div>
115 </li>116 </li>
116 </ul>117 </ul>
117 <p>Translations·from·Transifex·are·only·integrated·into·the·Django·repository·at118 <p>Translations·from·Transifex·are·only·integrated·into·the·Django·repository·at
118 the·time·of·a·new·<a·class="reference·internal"·href="../release-process.html#term-Feature-release"><span·class="xref·std·std-term">feature·release</span></a>.·We·try·to·update119 the·time·of·a·new·<a·class="reference·internal"·href="../release-process.html#term-Feature-release"><span·class="xref·std·std-term">feature·release</span></a>.·We·try·to·update
Offset 128, 15 lines modifiedOffset 129, 15 lines modified
128 <a·class="reference·internal"·href="../../topics/i18n/formatting.html"><span·class="doc">Format·localization</span></a>·for·details.</p>129 <a·class="reference·internal"·href="../../topics/i18n/formatting.html"><span·class="doc">Format·localization</span></a>·for·details.</p>
129 <p>The·format·files·aren’t·managed·by·the·use·of·Transifex.·To·change·them,·you130 <p>The·format·files·aren’t·managed·by·the·use·of·Transifex.·To·change·them,·you
130 must:</p>131 must:</p>
131 <ul·class="simple">132 <ul·class="simple">
132 <li><p><a·class="reference·internal"·href="writing-code/submitting-patches.html"><span·class="doc">Create·a·pull·request</span></a>·against·the133 <li><p><a·class="reference·internal"·href="writing-code/submitting-patches.html"><span·class="doc">Create·a·pull·request</span></a>·against·the
133 Django·Git·<code·class="docutils·literal·notranslate"><span·class="pre">main</span></code>·branch,·as·for·any·code·change.</p></li>134 Django·Git·<code·class="docutils·literal·notranslate"><span·class="pre">main</span></code>·branch,·as·for·any·code·change.</p></li>
134 <li><p>Open·a·ticket·in·Django’s·ticket·system,·set·its·<code·class="docutils·literal·notranslate"><span·class="pre">Component</span></code>·field·to135 <li><p>Open·a·ticket·in·Django’s·ticket·system,·set·its·<code·class="docutils·literal·notranslate"><span·class="pre">Component</span></code>·field·to
135 <code·class="docutils·literal·notranslate"><span·class="pre">Translations</span></code>,·set·the·has·patch·flag,·and·include·the·link·to·the·pull136 <code·class="docutils·literal·notranslate"><span·class="pre">Translations</span></code>,·set·the·has·patch·flag,·and·include·the·link·to·the·pull
136 request.</p></li>137 request.</p></li>
137 </ul>138 </ul>
138 </section>139 </section>
139 <section·id="s-documentation">140 <section·id="s-documentation">
140 <span·id="s-translating-documentation"></span><span·id="documentation"></span><span·id="translating-documentation"></span><h2>Documentation<a·class="headerlink"·href="#documentation"·title="Link·to·this·heading">¶</a></h2>141 <span·id="s-translating-documentation"></span><span·id="documentation"></span><span·id="translating-documentation"></span><h2>Documentation<a·class="headerlink"·href="#documentation"·title="Link·to·this·heading">¶</a></h2>
141 <p>There·is·also·an·opportunity·to·translate·the·documentation,·though·this·is·a142 <p>There·is·also·an·opportunity·to·translate·the·documentation,·though·this·is·a
142 huge·undertaking·to·complete·entirely·(you·have·been·warned!).·We·use·the·same143 huge·undertaking·to·complete·entirely·(you·have·been·warned!).·We·use·the·same
Offset 157, 49 lines modifiedOffset 158, 49 lines modified
157 ······158 ······
158 ········159 ········
159 ··········<div·class="yui-b"·id="sidebar">160 ··········<div·class="yui-b"·id="sidebar">
160 ············161 ············
161 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">162 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
162 ········<div·class="sphinxsidebarwrapper">163 ········<div·class="sphinxsidebarwrapper">
163 ··<div>164 ··<div>
164 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>165 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
165 ····<ul>166 ····<ul>
166 <li><a·class="reference·internal"·href="#">Localizing·Django</a><ul>167 <li><a·class="reference·internal"·href="#">Localizing·Django</a><ul>
167 <li><a·class="reference·internal"·href="#translations">Translations</a></li>168 <li><a·class="reference·internal"·href="#translations">Translations</a></li>
168 <li><a·class="reference·internal"·href="#formats">Formats</a></li>169 <li><a·class="reference·internal"·href="#formats">Formats</a></li>
169 <li><a·class="reference·internal"·href="#documentation">Documentation</a></li>170 <li><a·class="reference·internal"·href="#documentation">Documentation</a></li>
170 </ul>171 </ul>
171 </li>172 </li>
172 </ul>173 </ul>
  
173 ··</div>174 ··</div>
174 ··<div>175 ··<div>
175 ····<h4>Previous·topic</h4>176 ····<h4>Eelmine·teema</h4>
176 ····<p·class="topless"><a·href="writing-documentation.html"177 ····<p·class="topless"><a·href="writing-documentation.html"
177 ··························title="previous·chapter">Writing·documentation</a></p>178 ··························title="eelmine·jaotis">Writing·documentation</a></p>
178 ··</div>179 ··</div>
179 ··<div>180 ··<div>
180 ····<h4>Next·topic</h4>181 ····<h4>Järgmine·teema</h4>
181 ····<p·class="topless"><a·href="bugs-and-features.html"182 ····<p·class="topless"><a·href="bugs-and-features.html"
182 ··························title="next·chapter">Reporting·bugs·and·requesting·features</a></p>183 ··························title="järgmine·jaotis">Reporting·bugs·and·requesting·features</a></p>
183 ··</div>184 ··</div>
184 <search·id="searchbox"·style="display:·none"·role="search">185 <search·id="searchbox"·style="display:·none"·role="search">
185 ··<h3·id="searchlabel">Quick·search</h3>186 ··<h3·id="searchlabel">Kiirotsing</h3>
186 ····<div·class="searchformwrapper">187 ····<div·class="searchformwrapper">
187 ····<form·class="search"·action="../../search.html"·method="get">188 ····<form·class="search"·action="../../search.html"·method="get">
188 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>189 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
189 ······<input·type="submit"·value="Go"·/>190 ······<input·type="submit"·value="Otsi"·/>
190 ····</form>191 ····</form>
191 ····</div>192 ····</div>
192 </search>193 </search>
193 <script>document.getElementById('searchbox').style.display·=·"block"</script>194 <script>document.getElementById('searchbox').style.display·=·"block"</script>
194 ········</div>195 ········</div>
195 ······</div>196 ······</div>
196 ··············<h3>Last·update:</h3>197 ··············<h3>Last·update:</h3>
197 ··············<p·class="topless">Nov·05,·2024</p>198 ··············<p·class="topless">nov·05,·2024</p>
198 ··········</div>199 ··········</div>
199 ········200 ········
Max diff block lines reached; 58/8358 bytes (0.69%) of diff not shown.
5.78 KB
html2text {}
Max HTML report size reached
16.4 KB
./usr/share/doc/python-django-doc/html/internals/contributing/new-contributors.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Advice·for·new·contributors·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Advice·for·new·contributors·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Contributing·code"·href="writing-code/index.html"·/>15 ····<link·rel="next"·title="Contributing·code"·href="writing-code/index.html"·/>
15 ····<link·rel="prev"·title="Contributing·to·Django"·href="index.html"·/>16 ····<link·rel="prev"·title="Contributing·to·Django"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 118, 15 lines modifiedOffset 119, 15 lines modified
118 </li>119 </li>
119 <li><p><strong>Write·some·documentation</strong></p>120 <li><p><strong>Write·some·documentation</strong></p>
120 <p>Django’s·documentation·is·great·but·it·can·always·be·improved.·Did·you·find121 <p>Django’s·documentation·is·great·but·it·can·always·be·improved.·Did·you·find
121 a·typo?·Do·you·think·that·something·should·be·clarified?·Go·ahead·and122 a·typo?·Do·you·think·that·something·should·be·clarified?·Go·ahead·and
122 suggest·a·documentation·patch!·See·also·the·guide·on123 suggest·a·documentation·patch!·See·also·the·guide·on
123 <a·class="reference·internal"·href="writing-documentation.html"><span·class="doc">Writing·documentation</span></a>.</p>124 <a·class="reference·internal"·href="writing-documentation.html"><span·class="doc">Writing·documentation</span></a>.</p>
124 <div·class="admonition·note">125 <div·class="admonition·note">
125 <p·class="admonition-title">Note</p>126 <p·class="admonition-title">rkus</p>
126 <p>The·<a·class="reference·external"·href="https://code.djangoproject.com/wiki/Reports">reports·page</a>·contains·links·to·many·useful·Trac·queries,·including127 <p>The·<a·class="reference·external"·href="https://code.djangoproject.com/wiki/Reports">reports·page</a>·contains·links·to·many·useful·Trac·queries,·including
127 several·that·are·useful·for·triaging·tickets·and·reviewing·patches·as128 several·that·are·useful·for·triaging·tickets·and·reviewing·patches·as
128 suggested·above.</p>129 suggested·above.</p>
129 </div>130 </div>
130 </li>131 </li>
131 <li><p><strong>Sign·the·Contributor·License·Agreement</strong></p>132 <li><p><strong>Sign·the·Contributor·License·Agreement</strong></p>
132 <p>The·code·that·you·write·belongs·to·you·or·your·employer.·If·your133 <p>The·code·that·you·write·belongs·to·you·or·your·employer.·If·your
Offset 142, 15 lines modifiedOffset 143, 15 lines modified
142 some·advice·to·make·your·work·on·Django·more·useful·and·rewarding.</p>143 some·advice·to·make·your·work·on·Django·more·useful·and·rewarding.</p>
143 <ul>144 <ul>
144 <li><p><strong>Pick·a·subject·area·that·you·care·about,·that·you·are·familiar·with,·or145 <li><p><strong>Pick·a·subject·area·that·you·care·about,·that·you·are·familiar·with,·or
145 that·you·want·to·learn·about</strong></p>146 that·you·want·to·learn·about</strong></p>
146 <p>You·don’t·already·have·to·be·an·expert·on·the·area·you·want·to·work·on;·you147 <p>You·don’t·already·have·to·be·an·expert·on·the·area·you·want·to·work·on;·you
147 become·an·expert·through·your·ongoing·contributions·to·the·code.</p>148 become·an·expert·through·your·ongoing·contributions·to·the·code.</p>
148 </li>149 </li>
149 <li><p><strong>Analyze·tickets·context·and·history</strong></p>150 <li><p><strong>Analyze·tickets·context·and·history</strong></p>
150 <p>Trac·isn’t·an·absolute;·the·context·is·just·as·important·as·the·words.151 <p>Trac·isn’t·an·absolute;·the·context·is·just·as·important·as·the·words.
151 When·reading·Trac,·you·need·to·take·into·account·who·says·things,·and·when152 When·reading·Trac,·you·need·to·take·into·account·who·says·things,·and·when
152 they·were·said.·Support·for·an·idea·two·years·ago·doesn’t·necessarily·mean153 they·were·said.·Support·for·an·idea·two·years·ago·doesn’t·necessarily·mean
153 that·the·idea·will·still·have·support.·You·also·need·to·pay·attention·to·who154 that·the·idea·will·still·have·support.·You·also·need·to·pay·attention·to·who
154 <em>hasn’t</em>·spoken··for·example,·if·an·experienced·contributor·hasn’t·been155 <em>hasn’t</em>·spoken··for·example,·if·an·experienced·contributor·hasn’t·been
155 recently·involved·in·a·discussion,·then·a·ticket·may·not·have·the·support156 recently·involved·in·a·discussion,·then·a·ticket·may·not·have·the·support
156 required·to·get·into·Django.</p>157 required·to·get·into·Django.</p>
Offset 162, 16 lines modifiedOffset 163, 16 lines modified
162 <li><p><strong>If·you’re·going·to·engage·in·a·big·task,·make·sure·that·your·idea·has163 <li><p><strong>If·you’re·going·to·engage·in·a·big·task,·make·sure·that·your·idea·has
163 support·first</strong></p>164 support·first</strong></p>
164 <p>This·means·getting·someone·else·to·confirm·that·a·bug·is·real·before·you·fix165 <p>This·means·getting·someone·else·to·confirm·that·a·bug·is·real·before·you·fix
165 the·issue,·and·ensuring·that·there’s·consensus·on·a·proposed·feature·before166 the·issue,·and·ensuring·that·there’s·consensus·on·a·proposed·feature·before
166 you·go·implementing·it.</p>167 you·go·implementing·it.</p>
167 </li>168 </li>
168 <li><p><strong>Be·bold!·Leave·feedback!</strong></p>169 <li><p><strong>Be·bold!·Leave·feedback!</strong></p>
169 <p>Sometimes·it·can·be·scary·to·put·your·opinion·out·to·the·world·and·say·this170 <p>Sometimes·it·can·be·scary·to·put·your·opinion·out·to·the·world·and·say·this
170 ticket·is·correct·or·this·patch·needs·work,·but·it’s·the·only·way·the171 ticket·is·correct·or·this·patch·needs·work,·but·it’s·the·only·way·the
171 project·moves·forward.·The·contributions·of·the·broad·Django·community172 project·moves·forward.·The·contributions·of·the·broad·Django·community
172 ultimately·have·a·much·greater·impact·than·that·of·any·one·person.·We·can’t173 ultimately·have·a·much·greater·impact·than·that·of·any·one·person.·We·can’t
173 do·it·without·<strong>you</strong>!</p>174 do·it·without·<strong>you</strong>!</p>
174 </li>175 </li>
175 <li><p><strong>Err·on·the·side·of·caution·when·marking·things·Ready·For·Check-in</strong></p>176 <li><p><strong>Err·on·the·side·of·caution·when·marking·things·Ready·For·Check-in</strong></p>
176 <p>If·you’re·really·not·certain·if·a·ticket·is·ready,·don’t·mark·it·as177 <p>If·you’re·really·not·certain·if·a·ticket·is·ready,·don’t·mark·it·as
177 such.·Leave·a·comment·instead,·letting·others·know·your·thoughts.··If·you’re178 such.·Leave·a·comment·instead,·letting·others·know·your·thoughts.··If·you’re
Offset 180, 17 lines modifiedOffset 181, 17 lines modified
180 </li>181 </li>
181 <li><p><strong>Wait·for·feedback,·and·respond·to·feedback·that·you·receive</strong></p>182 <li><p><strong>Wait·for·feedback,·and·respond·to·feedback·that·you·receive</strong></p>
182 <p>Focus·on·one·or·two·tickets,·see·them·through·from·start·to·finish,·and183 <p>Focus·on·one·or·two·tickets,·see·them·through·from·start·to·finish,·and
183 repeat.·The·shotgun·approach·of·taking·on·lots·of·tickets·and·letting·some184 repeat.·The·shotgun·approach·of·taking·on·lots·of·tickets·and·letting·some
184 fall·by·the·wayside·ends·up·doing·more·harm·than·good.</p>185 fall·by·the·wayside·ends·up·doing·more·harm·than·good.</p>
185 </li>186 </li>
186 <li><p><strong>Be·rigorous</strong></p>187 <li><p><strong>Be·rigorous</strong></p>
187 <p>When·we·say·<span·class="target"·id="index-0"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0008/"><strong>PEP·8</strong></a>,·and·must·have·docs·and·tests,·we·mean·it.·If·a·patch188 <p>When·we·say·<span·class="target"·id="index-0"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0008/"><strong>PEP·8</strong></a>,·and·must·have·docs·and·tests,·we·mean·it.·If·a·patch
188 doesn’t·have·docs·and·tests,·there·had·better·be·a·good·reason.·Arguments189 doesn’t·have·docs·and·tests,·there·had·better·be·a·good·reason.·Arguments
189 like·I·couldn’t·find·any·existing·tests·of·this·feature·don’t·carry·much190 like·I·couldn’t·find·any·existing·tests·of·this·feature·don’t·carry·much
190 weight–while·it·may·be·true,·that·means·you·have·the·extra-important·job·of191 weight–while·it·may·be·true,·that·means·you·have·the·extra-important·job·of
191 writing·the·very·first·tests·for·that·feature,·not·that·you·get·a·pass·from192 writing·the·very·first·tests·for·that·feature,·not·that·you·get·a·pass·from
192 writing·tests·altogether.</p>193 writing·tests·altogether.</p>
193 </li>194 </li>
194 <li><p><strong>Be·patient</strong></p>195 <li><p><strong>Be·patient</strong></p>
195 <p>It’s·not·always·easy·for·your·ticket·or·your·patch·to·be·reviewed·quickly.196 <p>It’s·not·always·easy·for·your·ticket·or·your·patch·to·be·reviewed·quickly.
196 This·isn’t·personal.·There·are·a·lot·of·tickets·and·pull·requests·to·get197 This·isn’t·personal.·There·are·a·lot·of·tickets·and·pull·requests·to·get
Offset 213, 48 lines modifiedOffset 214, 48 lines modified
213 ······214 ······
214 ········215 ········
215 ··········<div·class="yui-b"·id="sidebar">216 ··········<div·class="yui-b"·id="sidebar">
216 ············217 ············
217 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">218 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
218 ········<div·class="sphinxsidebarwrapper">219 ········<div·class="sphinxsidebarwrapper">
219 ··<div>220 ··<div>
220 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>221 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
221 ····<ul>222 ····<ul>
222 <li><a·class="reference·internal"·href="#">Advice·for·new·contributors</a><ul>223 <li><a·class="reference·internal"·href="#">Advice·for·new·contributors</a><ul>
223 <li><a·class="reference·internal"·href="#first-steps">First·steps</a></li>224 <li><a·class="reference·internal"·href="#first-steps">First·steps</a></li>
224 <li><a·class="reference·internal"·href="#guidelines">Guidelines</a></li>225 <li><a·class="reference·internal"·href="#guidelines">Guidelines</a></li>
225 </ul>226 </ul>
226 </li>227 </li>
227 </ul>228 </ul>
  
228 ··</div>229 ··</div>
229 ··<div>230 ··<div>
230 ····<h4>Previous·topic</h4>231 ····<h4>Eelmine·teema</h4>
231 ····<p·class="topless"><a·href="index.html"232 ····<p·class="topless"><a·href="index.html"
Max diff block lines reached; 1137/8733 bytes (13.02%) of diff not shown.
7.71 KB
html2text {}
Max HTML report size reached
41.2 KB
./usr/share/doc/python-django-doc/html/internals/contributing/triaging-tickets.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Triaging·tickets·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Triaging·tickets·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Mailing·lists·and·Forum"·href="../mailing-lists.html"·/>15 ····<link·rel="next"·title="Mailing·lists·and·Forum"·href="../mailing-lists.html"·/>
15 ····<link·rel="prev"·title="Reporting·bugs·and·requesting·features"·href="bugs-and-features.html"·/>16 ····<link·rel="prev"·title="Reporting·bugs·and·requesting·features"·href="bugs-and-features.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 91, 15 lines modifiedOffset 92, 15 lines modified
91 intentions··fertilize·the·weeds·and·poison·the·roses.·It’s·the·job·of·the92 intentions··fertilize·the·weeds·and·poison·the·roses.·It’s·the·job·of·the
92 community·as·a·whole·to·self-manage,·keep·the·problems·to·a·minimum,·and93 community·as·a·whole·to·self-manage,·keep·the·problems·to·a·minimum,·and
93 educate·those·coming·into·the·community·so·that·they·can·become·valuable94 educate·those·coming·into·the·community·so·that·they·can·become·valuable
94 contributing·members.</p>95 contributing·members.</p>
95 <p>Similarly,·while·we·aim·for·Trac·to·be·a·perfect·representation·of·the·state·of96 <p>Similarly,·while·we·aim·for·Trac·to·be·a·perfect·representation·of·the·state·of
96 Django’s·progress,·we·acknowledge·that·this·will·not·happen.·By·distributing97 Django’s·progress,·we·acknowledge·that·this·will·not·happen.·By·distributing
97 the·load·of·Trac·maintenance·to·the·community,·we·accept·that·there·will·be98 the·load·of·Trac·maintenance·to·the·community,·we·accept·that·there·will·be
98 mistakes.·Trac·is·mostly·accurate,·and·we·give·allowances·for·the·fact·that99 mistakes.·Trac·is·mostly·accurate,·and·we·give·allowances·for·the·fact·that
99 sometimes·it·will·be·wrong.·That’s·okay.·We’re·perfectionists·with·deadlines.</p>100 sometimes·it·will·be·wrong.·That’s·okay.·We’re·perfectionists·with·deadlines.</p>
100 <p>We·rely·on·the·community·to·keep·participating,·keep·tickets·as·accurate·as101 <p>We·rely·on·the·community·to·keep·participating,·keep·tickets·as·accurate·as
101 possible,·and·raise·issues·for·discussion·on·our·mailing·lists·when·there·is102 possible,·and·raise·issues·for·discussion·on·our·mailing·lists·when·there·is
102 confusion·or·disagreement.</p>103 confusion·or·disagreement.</p>
103 <p>Django·is·a·community·project,·and·every·contribution·helps.·We·can’t·do·this104 <p>Django·is·a·community·project,·and·every·contribution·helps.·We·can’t·do·this
104 without·<strong>you</strong>!</p>105 without·<strong>you</strong>!</p>
105 <section·id="s-triage-workflow">106 <section·id="s-triage-workflow">
Offset 127, 24 lines modifiedOffset 128, 24 lines modified
127 Django·is·a·community·project,·and·we·encourage·<a·class="reference·internal"·href="#how-can-i-help-with-triaging"><span·class="std·std-ref">triage·by·the128 Django·is·a·community·project,·and·we·encourage·<a·class="reference·internal"·href="#how-can-i-help-with-triaging"><span·class="std·std-ref">triage·by·the
128 community</span></a>.</p></li>129 community</span></a>.</p></li>
129 </ul>130 </ul>
130 <p>By·way·of·example,·here·we·see·the·lifecycle·of·an·average·ticket:</p>131 <p>By·way·of·example,·here·we·see·the·lifecycle·of·an·average·ticket:</p>
131 <ul·class="simple">132 <ul·class="simple">
132 <li><p>Alice·creates·a·ticket·and·sends·an·incomplete·pull·request·(no·tests,133 <li><p>Alice·creates·a·ticket·and·sends·an·incomplete·pull·request·(no·tests,
133 incorrect·implementation).</p></li>134 incorrect·implementation).</p></li>
134 <li><p>Bob·reviews·the·pull·request,·marks·the·ticket·as·Accepted,·needs·tests,135 <li><p>Bob·reviews·the·pull·request,·marks·the·ticket·as·Accepted,·needs·tests,
135 and·patch·needs·improvement,·and·leaves·a·comment·telling·Alice·how·the136 and·patch·needs·improvement,·and·leaves·a·comment·telling·Alice·how·the
136 patch·could·be·improved.</p></li>137 patch·could·be·improved.</p></li>
137 <li><p>Alice·updates·the·pull·request,·adding·tests·(but·not·changing·the138 <li><p>Alice·updates·the·pull·request,·adding·tests·(but·not·changing·the
138 implementation).·She·removes·the·two·flags.</p></li>139 implementation).·She·removes·the·two·flags.</p></li>
139 <li><p>Charlie·reviews·the·pull·request·and·resets·the·patch·needs·improvement140 <li><p>Charlie·reviews·the·pull·request·and·resets·the·patch·needs·improvement
140 flag·with·another·comment·about·improving·the·implementation.</p></li>141 flag·with·another·comment·about·improving·the·implementation.</p></li>
141 <li><p>Alice·updates·the·pull·request,·fixing·the·implementation.·She·removes·the142 <li><p>Alice·updates·the·pull·request,·fixing·the·implementation.·She·removes·the
142 patch·needs·improvement·flag.</p></li>143 patch·needs·improvement·flag.</p></li>
143 <li><p>Daisy·reviews·the·pull·request·and·marks·the·ticket·as·Ready·for·checkin.</p></li>144 <li><p>Daisy·reviews·the·pull·request·and·marks·the·ticket·as·Ready·for·checkin.</p></li>
144 <li><p>Jacob,·a·<a·class="reference·internal"·href="../organization.html#mergers-team"><span·class="std·std-ref">merger</span></a>,·reviews·the·pull·request·and·merges145 <li><p>Jacob,·a·<a·class="reference·internal"·href="../organization.html#mergers-team"><span·class="std·std-ref">merger</span></a>,·reviews·the·pull·request·and·merges
145 it.</p></li>146 it.</p></li>
146 </ul>147 </ul>
147 <p>Some·tickets·require·much·less·feedback·than·this,·but·then·again·some·tickets148 <p>Some·tickets·require·much·less·feedback·than·this,·but·then·again·some·tickets
148 require·much·much·more.</p>149 require·much·much·more.</p>
149 </section>150 </section>
150 <section·id="s-triage-stages">151 <section·id="s-triage-stages">
Offset 155, 15 lines modifiedOffset 156, 15 lines modified
155 <span·id="unreviewed"></span><h3>Unreviewed<a·class="headerlink"·href="#unreviewed"·title="Link·to·this·heading">¶</a></h3>156 <span·id="unreviewed"></span><h3>Unreviewed<a·class="headerlink"·href="#unreviewed"·title="Link·to·this·heading">¶</a></h3>
156 <p>The·ticket·has·not·been·reviewed·by·anyone·who·felt·qualified·to·make·a157 <p>The·ticket·has·not·been·reviewed·by·anyone·who·felt·qualified·to·make·a
157 judgment·about·whether·the·ticket·contained·a·valid·issue,·a·viable·feature,158 judgment·about·whether·the·ticket·contained·a·valid·issue,·a·viable·feature,
158 or·ought·to·be·closed·for·any·of·the·various·reasons.</p>159 or·ought·to·be·closed·for·any·of·the·various·reasons.</p>
159 </section>160 </section>
160 <section·id="s-accepted">161 <section·id="s-accepted">
161 <span·id="accepted"></span><h3>Accepted<a·class="headerlink"·href="#accepted"·title="Link·to·this·heading">¶</a></h3>162 <span·id="accepted"></span><h3>Accepted<a·class="headerlink"·href="#accepted"·title="Link·to·this·heading">¶</a></h3>
162 <p>The·big·gray·area!·The·absolute·meaning·of·accepted·is·that·the·issue163 <p>The·big·gray·area!·The·absolute·meaning·of·accepted·is·that·the·issue
163 described·in·the·ticket·is·valid·and·is·in·some·stage·of·being·worked·on.164 described·in·the·ticket·is·valid·and·is·in·some·stage·of·being·worked·on.
164 Beyond·that·there·are·several·considerations:</p>165 Beyond·that·there·are·several·considerations:</p>
165 <ul>166 <ul>
166 <li><p><strong>Accepted·+·No·Flags</strong></p>167 <li><p><strong>Accepted·+·No·Flags</strong></p>
167 <p>The·ticket·is·valid,·but·no·one·has·submitted·a·patch·for·it·yet.·Often·this168 <p>The·ticket·is·valid,·but·no·one·has·submitted·a·patch·for·it·yet.·Often·this
168 means·you·could·safely·start·writing·a·fix·for·it.·This·is·generally·more169 means·you·could·safely·start·writing·a·fix·for·it.·This·is·generally·more
169 true·for·the·case·of·accepted·bugs·than·accepted·features.·A·ticket·for·a·bug170 true·for·the·case·of·accepted·bugs·than·accepted·features.·A·ticket·for·a·bug
Offset 178, 16 lines modifiedOffset 179, 16 lines modified
178 <p>The·ticket·is·waiting·for·people·to·review·the·supplied·solution.·This·means179 <p>The·ticket·is·waiting·for·people·to·review·the·supplied·solution.·This·means
179 downloading·the·patch·and·trying·it·out,·verifying·that·it·contains·tests180 downloading·the·patch·and·trying·it·out,·verifying·that·it·contains·tests
180 and·docs,·running·the·test·suite·with·the·included·patch,·and·leaving181 and·docs,·running·the·test·suite·with·the·included·patch,·and·leaving
181 feedback·on·the·ticket.</p>182 feedback·on·the·ticket.</p>
182 </li>183 </li>
183 <li><p><strong>Accepted·+·Has·Patch·+·Needs·…</strong></p>184 <li><p><strong>Accepted·+·Has·Patch·+·Needs·…</strong></p>
184 <p>This·means·the·ticket·has·been·reviewed,·and·has·been·found·to·need·further185 <p>This·means·the·ticket·has·been·reviewed,·and·has·been·found·to·need·further
185 work.·Needs·tests·and·Needs·documentation·are·self-explanatory.·Patch186 work.·Needs·tests·and·Needs·documentation·are·self-explanatory.·Patch
186 needs·improvement·will·generally·be·accompanied·by·a·comment·on·the·ticket187 needs·improvement·will·generally·be·accompanied·by·a·comment·on·the·ticket
187 explaining·what·is·needed·to·improve·the·code.</p>188 explaining·what·is·needed·to·improve·the·code.</p>
188 </li>189 </li>
189 </ul>190 </ul>
190 </section>191 </section>
191 <section·id="s-ready-for-checkin">192 <section·id="s-ready-for-checkin">
192 <span·id="ready-for-checkin"></span><h3>Ready·For·Checkin<a·class="headerlink"·href="#ready-for-checkin"·title="Link·to·this·heading">¶</a></h3>193 <span·id="ready-for-checkin"></span><h3>Ready·For·Checkin<a·class="headerlink"·href="#ready-for-checkin"·title="Link·to·this·heading">¶</a></h3>
193 <p>The·ticket·was·reviewed·by·any·member·of·the·community·other·than·the·person194 <p>The·ticket·was·reviewed·by·any·member·of·the·community·other·than·the·person
Offset 270, 15 lines modifiedOffset 271, 15 lines modified
270 </section>271 </section>
271 <section·id="s-severity">272 <section·id="s-severity">
272 <span·id="severity"></span><h3>Severity<a·class="headerlink"·href="#severity"·title="Link·to·this·heading">¶</a></h3>273 <span·id="severity"></span><h3>Severity<a·class="headerlink"·href="#severity"·title="Link·to·this·heading">¶</a></h3>
273 <p>The·<em>severity</em>·attribute·is·used·to·identify·blockers,·that·is,·issues·that274 <p>The·<em>severity</em>·attribute·is·used·to·identify·blockers,·that·is,·issues·that
274 should·get·fixed·before·releasing·the·next·version·of·Django.·Typically·those275 should·get·fixed·before·releasing·the·next·version·of·Django.·Typically·those
275 issues·are·bugs·causing·regressions·from·earlier·versions·or·potentially276 issues·are·bugs·causing·regressions·from·earlier·versions·or·potentially
276 causing·severe·data·losses.·This·attribute·is·quite·rarely·used·and·the·vast277 causing·severe·data·losses.·This·attribute·is·quite·rarely·used·and·the·vast
277 majority·of·tickets·have·a·severity·of·Normal.</p>278 majority·of·tickets·have·a·severity·of·Normal.</p>
278 </section>279 </section>
279 <section·id="s-version">280 <section·id="s-version">
280 <span·id="version"></span><h3>Version<a·class="headerlink"·href="#version"·title="Link·to·this·heading">¶</a></h3>281 <span·id="version"></span><h3>Version<a·class="headerlink"·href="#version"·title="Link·to·this·heading">¶</a></h3>
281 <p>It·is·possible·to·use·the·<em>version</em>·attribute·to·indicate·in·which282 <p>It·is·possible·to·use·the·<em>version</em>·attribute·to·indicate·in·which
282 version·the·reported·bug·was·identified.</p>283 version·the·reported·bug·was·identified.</p>
Max diff block lines reached; 15095/23292 bytes (64.81%) of diff not shown.
18.3 KB
html2text {}
Max HTML report size reached
21.0 KB
./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/coding-style.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Coding·style·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Coding·style·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="JavaScript·code"·href="javascript.html"·/>15 ····<link·rel="next"·title="JavaScript·code"·href="javascript.html"·/>
15 ····<link·rel="prev"·title="Working·with·Git·and·GitHub"·href="working-with-git.html"·/>16 ····<link·rel="prev"·title="Working·with·Git·and·GitHub"·href="working-with-git.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../../../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../../../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 146, 15 lines modifiedOffset 147, 15 lines modified
146 code·to·79·characters·if·it·means·the·code·looks·significantly·uglier·or·is147 code·to·79·characters·if·it·means·the·code·looks·significantly·uglier·or·is
147 harder·to·read.·We·allow·up·to·88·characters·as·this·is·the·line·length·used148 harder·to·read.·We·allow·up·to·88·characters·as·this·is·the·line·length·used
148 by·<code·class="docutils·literal·notranslate"><span·class="pre">black</span></code>.·This·check·is·included·when·you·run·<code·class="docutils·literal·notranslate"><span·class="pre">flake8</span></code>.·Documentation,149 by·<code·class="docutils·literal·notranslate"><span·class="pre">black</span></code>.·This·check·is·included·when·you·run·<code·class="docutils·literal·notranslate"><span·class="pre">flake8</span></code>.·Documentation,
149 comments,·and·docstrings·should·be·wrapped·at·79·characters,·even·though150 comments,·and·docstrings·should·be·wrapped·at·79·characters,·even·though
150 <span·class="target"·id="index-3"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0008/"><strong>PEP·8</strong></a>·suggests·72.</p>151 <span·class="target"·id="index-3"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0008/"><strong>PEP·8</strong></a>·suggests·72.</p>
151 </li>152 </li>
152 <li><p>String·variable·interpolation·may·use153 <li><p>String·variable·interpolation·may·use
153 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#old-string-formatting"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">%-formatting</span></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/lexical_analysis.html#f-strings"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">f-strings</spa[·...·truncated·by·diffoscope;·len:·123,·SHA:·980c8db9280255084d3948247925f4dcf3f7c3e532505bd859a0aadc912696ab·...·]·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">str.format()</span></code></a>·as·appropriate,·with·the·goal·of154 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#old-string-formatting"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">%-formatting</span></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/lexical_analysis.html#f-strings"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">[·...·truncated·by·diffoscope;·len:·144,·SHA:·e65e57583adf777451f2a5c7962b3631e706c69dc41b96e8f22a9b2751215441·...·]·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">str.format()</span></code></a>·as·appropriate,·with·the·goal·of
154 maximizing·code·readability.</p>155 maximizing·code·readability.</p>
155 <p>Final·judgments·of·readability·are·left·to·the·Merger’s·discretion.·As·a156 <p>Final·judgments·of·readability·are·left·to·the·Merger’s·discretion.·As·a
156 guide,·f-strings·should·use·only·plain·variable·and·property·access,·with157 guide,·f-strings·should·use·only·plain·variable·and·property·access,·with
157 prior·local·variable·assignment·for·more·complex·cases:</p>158 prior·local·variable·assignment·for·more·complex·cases:</p>
158 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·Allowed</span>159 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·Allowed</span>
159 <span·class="sa">f</span><span·class="s2">&quot;hello·</span><span·class="si">{</span><span·class="n">user</span><span·class="si">}</span><span·class="s2">&quot;</span>160 <span·class="sa">f</span><span·class="s2">&quot;hello·</span><span·class="si">{</span><span·class="n">user</span><span·class="si">}</span><span·class="s2">&quot;</span>
160 <span·class="sa">f</span><span·class="s2">&quot;hello·</span><span·class="si">{</span><span·class="n">user</span><span·class="o">.</span><span·class="n">name</span><span·class="si">}</span><span·class="s2">&quot;</span>161 <span·class="sa">f</span><span·class="s2">&quot;hello·</span><span·class="si">{</span><span·class="n">user</span><span·class="o">.</span><span·class="n">name</span><span·class="si">}</span><span·class="s2">&quot;</span>
Offset 173, 35 lines modifiedOffset 174, 35 lines modified
173 </div>174 </div>
174 <p>f-strings·should·not·be·used·for·any·string·that·may·require·translation,175 <p>f-strings·should·not·be·used·for·any·string·that·may·require·translation,
175 including·error·and·logging·messages.·In·general·<code·class="docutils·literal·notranslate"><span·class="pre">format()</span></code>·is·more176 including·error·and·logging·messages.·In·general·<code·class="docutils·literal·notranslate"><span·class="pre">format()</span></code>·is·more
176 verbose,·so·the·other·formatting·methods·are·preferred.</p>177 verbose,·so·the·other·formatting·methods·are·preferred.</p>
177 <p>Don’t·waste·time·doing·unrelated·refactoring·of·existing·code·to·adjust·the178 <p>Don’t·waste·time·doing·unrelated·refactoring·of·existing·code·to·adjust·the
178 formatting·method.</p>179 formatting·method.</p>
179 </li>180 </li>
180 <li><p>Avoid·use·of·we·in·comments,·e.g.·Loop·over·rather·than·We·loop·over.</p></li>181 <li><p>Avoid·use·of·we·in·comments,·e.g.·Loop·over·rather·than·We·loop·over.</p></li>
181 <li><p>Use·underscores,·not·camelCase,·for·variable,·function·and·method·names182 <li><p>Use·underscores,·not·camelCase,·for·variable,·function·and·method·names
182 (i.e.·<code·class="docutils·literal·notranslate"><span·class="pre">poll.get_unique_voters()</span></code>,·not·<code·class="docutils·literal·notranslate"><span·class="pre">poll.getUniqueVoters()</span></code>).</p></li>183 (i.e.·<code·class="docutils·literal·notranslate"><span·class="pre">poll.get_unique_voters()</span></code>,·not·<code·class="docutils·literal·notranslate"><span·class="pre">poll.getUniqueVoters()</span></code>).</p></li>
183 <li><p>Use·<code·class="docutils·literal·notranslate"><span·class="pre">InitialCaps</span></code>·for·class·names·(or·for·factory·functions·that184 <li><p>Use·<code·class="docutils·literal·notranslate"><span·class="pre">InitialCaps</span></code>·for·class·names·(or·for·factory·functions·that
184 return·classes).</p></li>185 return·classes).</p></li>
185 <li><p>In·docstrings,·follow·the·style·of·existing·docstrings·and·<span·class="target"·id="index-4"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0257/"><strong>PEP·257</strong></a>.</p></li>186 <li><p>In·docstrings,·follow·the·style·of·existing·docstrings·and·<span·class="target"·id="index-4"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0257/"><strong>PEP·257</strong></a>.</p></li>
186 <li><p>In·tests,·use187 <li><p>In·tests,·use
187 <a·class="reference·internal"·href="../../../topics/testing/tools.html#django.test.SimpleTestCase.assertRaisesMessage"·title="django.test.SimpleTestCase.assertRaisesMessage"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertRaisesMessage()</span></code></a>·and188 <a·class="reference·internal"·href="../../../topics/testing/tools.html#django.test.SimpleTestCase.assertRaisesMessage"·title="django.test.SimpleTestCase.assertRaisesMessage"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertRaisesMessage()</span></code></a>·and
188 <a·class="reference·internal"·href="../../../topics/testing/tools.html#django.test.SimpleTestCase.assertWarnsMessage"·title="django.test.SimpleTestCase.assertWarnsMessage"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertWarnsMessage()</span></code></a>189 <a·class="reference·internal"·href="../../../topics/testing/tools.html#django.test.SimpleTestCase.assertWarnsMessage"·title="django.test.SimpleTestCase.assertWarnsMessage"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertWarnsMessage()</span></code></a>
189 instead·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertRaises"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertRaises()</span></code></a>·and190 instead·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertRaises"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertRaises()</span></code></a>·and
190 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertWarns"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertWarns()</span></code></a>·so·you·can·check·the191 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertWarns"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertWarns()</span></code></a>·so·you·can·check·the
191 exception·or·warning·message.·Use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertRaisesRegex"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertRaisesRegex()</span></code></a>192 exception·or·warning·message.·Use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertRaisesRegex"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertRaisesRegex()</span></code></a>
192 and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertWarnsRegex"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertWarnsRegex()</span></code></a>·only·if·you·need·regular193 and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertWarnsRegex"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertWarnsRegex()</span></code></a>·only·if·you·need·regular
193 expression·matching.</p>194 expression·matching.</p>
194 <p>Use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertIs"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertIs(…,</span>·<span·class="pre">True/False)</span></code></a>·for·testing195 <p>Use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertIs"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertIs(…,</span>·<span·class="pre">True/False)</span></code></a>·for·testing
195 boolean·values,·rather·than·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertTrue"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertTrue()</span></code></a>·and196 boolean·values,·rather·than·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertTrue"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertTrue()</span></code></a>·and
196 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertFalse"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertFalse()</span></code></a>,·so·you·can·check·the·actual·boolean197 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertFalse"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertFalse()</span></code></a>,·so·you·can·check·the·actual·boolean
197 value,·not·the·truthiness·of·the·expression.</p>198 value,·not·the·truthiness·of·the·expression.</p>
198 </li>199 </li>
199 <li><p>In·test·docstrings,·state·the·expected·behavior·that·each·test·demonstrates.200 <li><p>In·test·docstrings,·state·the·expected·behavior·that·each·test·demonstrates.
200 Don’t·include·preambles·such·as·Tests·that·or·Ensures·that.</p>201 Don’t·include·preambles·such·as·Tests·that·or·Ensures·that.</p>
201 <p>Reserve·ticket·references·for·obscure·issues·where·the·ticket·has·additional202 <p>Reserve·ticket·references·for·obscure·issues·where·the·ticket·has·additional
202 details·that·can’t·be·easily·described·in·docstrings·or·comments.·Include·the203 details·that·can’t·be·easily·described·in·docstrings·or·comments.·Include·the
203 ticket·number·at·the·end·of·a·sentence·like·this:</p>204 ticket·number·at·the·end·of·a·sentence·like·this:</p>
204 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">def</span>·<span·class="nf">test_foo</span><span·class="p">():</span>205 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">def</span>·<span·class="nf">test_foo</span><span·class="p">():</span>
205 <span·class="w">····</span><span·class="sd">&quot;&quot;&quot;</span>206 <span·class="w">····</span><span·class="sd">&quot;&quot;&quot;</span>
206 <span·class="sd">····A·test·docstring·looks·like·this·(#123456).</span>207 <span·class="sd">····A·test·docstring·looks·like·this·(#123456).</span>
207 <span·class="sd">····&quot;&quot;&quot;</span>208 <span·class="sd">····&quot;&quot;&quot;</span>
Offset 553, 15 lines modifiedOffset 554, 15 lines modified
553 silence·the·flake8·warning.</p></li>554 silence·the·flake8·warning.</p></li>
554 <li><p>Systematically·remove·all·trailing·whitespaces·from·your·code·as·those555 <li><p>Systematically·remove·all·trailing·whitespaces·from·your·code·as·those
555 add·unnecessary·bytes,·add·visual·clutter·to·the·patches·and·can·also556 add·unnecessary·bytes,·add·visual·clutter·to·the·patches·and·can·also
556 occasionally·cause·unnecessary·merge·conflicts.·Some·IDE’s·can·be557 occasionally·cause·unnecessary·merge·conflicts.·Some·IDE’s·can·be
557 configured·to·automatically·remove·them·and·most·VCS·tools·can·be·set·to558 configured·to·automatically·remove·them·and·most·VCS·tools·can·be·set·to
558 highlight·them·in·diff·outputs.</p></li>559 highlight·them·in·diff·outputs.</p></li>
559 <li><p>Please·don’t·put·your·name·in·the·code·you·contribute.·Our·policy·is·to560 <li><p>Please·don’t·put·your·name·in·the·code·you·contribute.·Our·policy·is·to
560 keep·contributors·names·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">AUTHORS</span></code>·file·distributed·with·Django561 keep·contributors·names·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">AUTHORS</span></code>·file·distributed·with·Django
561 ·not·scattered·throughout·the·codebase·itself.·Feel·free·to·include·a562 ·not·scattered·throughout·the·codebase·itself.·Feel·free·to·include·a
562 change·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">AUTHORS</span></code>·file·in·your·patch·if·you·make·more·than·a563 change·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">AUTHORS</span></code>·file·in·your·patch·if·you·make·more·than·a
563 single·trivial·change.</p></li>564 single·trivial·change.</p></li>
564 </ul>565 </ul>
565 </section>566 </section>
566 <section·id="s-javascript-style">567 <section·id="s-javascript-style">
567 <span·id="javascript-style"></span><h2>JavaScript·style<a·class="headerlink"·href="#javascript-style"·title="Link·to·this·heading">¶</a></h2>568 <span·id="javascript-style"></span><h2>JavaScript·style<a·class="headerlink"·href="#javascript-style"·title="Link·to·this·heading">¶</a></h2>
Offset 577, 15 lines modifiedOffset 578, 15 lines modified
577 ······578 ······
578 ········579 ········
579 ··········<div·class="yui-b"·id="sidebar">580 ··········<div·class="yui-b"·id="sidebar">
580 ············581 ············
581 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">582 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
582 ········<div·class="sphinxsidebarwrapper">583 ········<div·class="sphinxsidebarwrapper">
583 ··<div>584 ··<div>
584 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>585 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
585 ····<ul>586 ····<ul>
586 <li><a·class="reference·internal"·href="#">Coding·style</a><ul>587 <li><a·class="reference·internal"·href="#">Coding·style</a><ul>
587 <li><a·class="reference·internal"·href="#pre-commit-checks">Pre-commit·checks</a></li>588 <li><a·class="reference·internal"·href="#pre-commit-checks">Pre-commit·checks</a></li>
588 <li><a·class="reference·internal"·href="#python-style">Python·style</a></li>589 <li><a·class="reference·internal"·href="#python-style">Python·style</a></li>
589 <li><a·class="reference·internal"·href="#imports">Imports</a></li>590 <li><a·class="reference·internal"·href="#imports">Imports</a></li>
590 <li><a·class="reference·internal"·href="#template-style">Template·style</a></li>591 <li><a·class="reference·internal"·href="#template-style">Template·style</a></li>
591 <li><a·class="reference·internal"·href="#view-style">View·style</a></li>592 <li><a·class="reference·internal"·href="#view-style">View·style</a></li>
Offset 595, 37 lines modifiedOffset 596, 37 lines modified
595 <li><a·class="reference·internal"·href="#javascript-style">JavaScript·style</a></li>596 <li><a·class="reference·internal"·href="#javascript-style">JavaScript·style</a></li>
596 </ul>597 </ul>
597 </li>598 </li>
Max diff block lines reached; 1446/15599 bytes (9.27%) of diff not shown.
5.62 KB
html2text {}
Max HTML report size reached
8.1 KB
./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Contributing·code·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Contributing·code·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Submitting·contributions"·href="submitting-patches.html"·/>15 ····<link·rel="next"·title="Submitting·contributions"·href="submitting-patches.html"·/>
15 ····<link·rel="prev"·title="Advice·for·new·contributors"·href="../new-contributors.html"·/>16 ····<link·rel="prev"·title="Advice·for·new·contributors"·href="../new-contributors.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 111, 15 lines modifiedOffset 112, 15 lines modified
111 <ul>112 <ul>
112 <li·class="toctree-l1"><a·class="reference·internal"·href="coding-style.html">Coding·style</a></li>113 <li·class="toctree-l1"><a·class="reference·internal"·href="coding-style.html">Coding·style</a></li>
113 <li·class="toctree-l1"><a·class="reference·internal"·href="javascript.html">JavaScript·code</a></li>114 <li·class="toctree-l1"><a·class="reference·internal"·href="javascript.html">JavaScript·code</a></li>
114 <li·class="toctree-l1"><a·class="reference·internal"·href="../committing-code.html">Committing·code</a></li>115 <li·class="toctree-l1"><a·class="reference·internal"·href="../committing-code.html">Committing·code</a></li>
115 </ul>116 </ul>
116 </div>117 </div>
117 <p>We·maintain·a·curated·list·of·small·issues·suited·to·first-time·or·less118 <p>We·maintain·a·curated·list·of·small·issues·suited·to·first-time·or·less
118 experienced·contributors,·using·the·easy·pickings·filter.·These·are·strongly119 experienced·contributors,·using·the·easy·pickings·filter.·These·are·strongly
119 recommended·for·those·contributors·looking·to·make·a·contribution.</p>120 recommended·for·those·contributors·looking·to·make·a·contribution.</p>
120 <ul·class="simple">121 <ul·class="simple">
121 <li><p>Browse·<a·class="reference·external"·href="https://code.djangoproject.com/query?status=!closed&amp;easy=1">easy·pickings</a>·tickets.</p></li>122 <li><p>Browse·<a·class="reference·external"·href="https://code.djangoproject.com/query?status=!closed&amp;easy=1">easy·pickings</a>·tickets.</p></li>
122 </ul>123 </ul>
123 </section>124 </section>
124 </section>125 </section>
  
Offset 130, 49 lines modifiedOffset 131, 49 lines modified
130 ······131 ······
131 ········132 ········
132 ··········<div·class="yui-b"·id="sidebar">133 ··········<div·class="yui-b"·id="sidebar">
133 ············134 ············
134 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
135 ········<div·class="sphinxsidebarwrapper">136 ········<div·class="sphinxsidebarwrapper">
136 ··<div>137 ··<div>
137 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>138 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
138 ····<ul>139 ····<ul>
139 <li><a·class="reference·internal"·href="#">Contributing·code</a><ul>140 <li><a·class="reference·internal"·href="#">Contributing·code</a><ul>
140 <li><a·class="reference·internal"·href="#tutorials">Tutorials</a></li>141 <li><a·class="reference·internal"·href="#tutorials">Tutorials</a></li>
141 <li><a·class="reference·internal"·href="#how-to-guides">How-to·guides</a></li>142 <li><a·class="reference·internal"·href="#how-to-guides">How-to·guides</a></li>
142 <li><a·class="reference·internal"·href="#related-topics">Related·topics</a></li>143 <li><a·class="reference·internal"·href="#related-topics">Related·topics</a></li>
143 </ul>144 </ul>
144 </li>145 </li>
145 </ul>146 </ul>
  
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Previous·topic</h4>149 ····<h4>Eelmine·teema</h4>
149 ····<p·class="topless"><a·href="../new-contributors.html"150 ····<p·class="topless"><a·href="../new-contributors.html"
150 ··························title="previous·chapter">Advice·for·new·contributors</a></p>151 ··························title="eelmine·jaotis">Advice·for·new·contributors</a></p>
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Next·topic</h4>154 ····<h4>Järgmine·teema</h4>
154 ····<p·class="topless"><a·href="submitting-patches.html"155 ····<p·class="topless"><a·href="submitting-patches.html"
155 ··························title="next·chapter">Submitting·contributions</a></p>156 ··························title="järgmine·jaotis">Submitting·contributions</a></p>
156 ··</div>157 ··</div>
157 <search·id="searchbox"·style="display:·none"·role="search">158 <search·id="searchbox"·style="display:·none"·role="search">
158 ··<h3·id="searchlabel">Quick·search</h3>159 ··<h3·id="searchlabel">Kiirotsing</h3>
159 ····<div·class="searchformwrapper">160 ····<div·class="searchformwrapper">
160 ····<form·class="search"·action="../../../search.html"·method="get">161 ····<form·class="search"·action="../../../search.html"·method="get">
161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>162 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
162 ······<input·type="submit"·value="Go"·/>163 ······<input·type="submit"·value="Otsi"·/>
163 ····</form>164 ····</form>
164 ····</div>165 ····</div>
165 </search>166 </search>
166 <script>document.getElementById('searchbox').style.display·=·"block"</script>167 <script>document.getElementById('searchbox').style.display·=·"block"</script>
167 ········</div>168 ········</div>
168 ······</div>169 ······</div>
169 ··············<h3>Last·update:</h3>170 ··············<h3>Last·update:</h3>
170 ··············<p·class="topless">Nov·05,·2024</p>171 ··············<p·class="topless">nov·05,·2024</p>
171 ··········</div>172 ··········</div>
172 ········173 ········
173 ······174 ······
174 ····</div>175 ····</div>
  
175 ····<div·id="ft">176 ····<div·id="ft">
176 ······<div·class="nav">177 ······<div·class="nav">
2.76 KB
html2text {}
Max HTML report size reached
6.97 KB
./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/javascript.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>JavaScript·code·&#8212;·Django·5.1.3·documentation</title>6 ····<title>JavaScript·code·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Committing·code"·href="../committing-code.html"·/>15 ····<link·rel="next"·title="Committing·code"·href="../committing-code.html"·/>
15 ····<link·rel="prev"·title="Coding·style"·href="coding-style.html"·/>16 ····<link·rel="prev"·title="Coding·style"·href="coding-style.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../../../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../../../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 219, 15 lines modifiedOffset 220, 15 lines modified
219 ······220 ······
220 ········221 ········
221 ··········<div·class="yui-b"·id="sidebar">222 ··········<div·class="yui-b"·id="sidebar">
222 ············223 ············
223 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">224 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
224 ········<div·class="sphinxsidebarwrapper">225 ········<div·class="sphinxsidebarwrapper">
225 ··<div>226 ··<div>
226 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>227 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
227 ····<ul>228 ····<ul>
228 <li><a·class="reference·internal"·href="#">JavaScript·code</a><ul>229 <li><a·class="reference·internal"·href="#">JavaScript·code</a><ul>
229 <li><a·class="reference·internal"·href="#code-style">Code·style</a></li>230 <li><a·class="reference·internal"·href="#code-style">Code·style</a></li>
230 <li><a·class="reference·internal"·href="#javascript-patches">JavaScript·patches</a></li>231 <li><a·class="reference·internal"·href="#javascript-patches">JavaScript·patches</a></li>
231 <li><a·class="reference·internal"·href="#javascript-tests">JavaScript·tests</a><ul>232 <li><a·class="reference·internal"·href="#javascript-tests">JavaScript·tests</a><ul>
232 <li><a·class="reference·internal"·href="#writing-tests">Writing·tests</a></li>233 <li><a·class="reference·internal"·href="#writing-tests">Writing·tests</a></li>
233 <li><a·class="reference·internal"·href="#running-tests">Running·tests</a><ul>234 <li><a·class="reference·internal"·href="#running-tests">Running·tests</a><ul>
Offset 239, 37 lines modifiedOffset 240, 37 lines modified
239 </li>240 </li>
240 </ul>241 </ul>
241 </li>242 </li>
242 </ul>243 </ul>
  
243 ··</div>244 ··</div>
244 ··<div>245 ··<div>
245 ····<h4>Previous·topic</h4>246 ····<h4>Eelmine·teema</h4>
246 ····<p·class="topless"><a·href="coding-style.html"247 ····<p·class="topless"><a·href="coding-style.html"
247 ··························title="previous·chapter">Coding·style</a></p>248 ··························title="eelmine·jaotis">Coding·style</a></p>
248 ··</div>249 ··</div>
249 ··<div>250 ··<div>
250 ····<h4>Next·topic</h4>251 ····<h4>Järgmine·teema</h4>
251 ····<p·class="topless"><a·href="../committing-code.html"252 ····<p·class="topless"><a·href="../committing-code.html"
252 ··························title="next·chapter">Committing·code</a></p>253 ··························title="järgmine·jaotis">Committing·code</a></p>
253 ··</div>254 ··</div>
254 <search·id="searchbox"·style="display:·none"·role="search">255 <search·id="searchbox"·style="display:·none"·role="search">
255 ··<h3·id="searchlabel">Quick·search</h3>256 ··<h3·id="searchlabel">Kiirotsing</h3>
256 ····<div·class="searchformwrapper">257 ····<div·class="searchformwrapper">
257 ····<form·class="search"·action="../../../search.html"·method="get">258 ····<form·class="search"·action="../../../search.html"·method="get">
258 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>259 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
259 ······<input·type="submit"·value="Go"·/>260 ······<input·type="submit"·value="Otsi"·/>
260 ····</form>261 ····</form>
261 ····</div>262 ····</div>
262 </search>263 </search>
263 <script>document.getElementById('searchbox').style.display·=·"block"</script>264 <script>document.getElementById('searchbox').style.display·=·"block"</script>
264 ········</div>265 ········</div>
265 ······</div>266 ······</div>
266 ··············<h3>Last·update:</h3>267 ··············<h3>Last·update:</h3>
267 ··············<p·class="topless">Nov·05,·2024</p>268 ··············<p·class="topless">nov·05,·2024</p>
268 ··········</div>269 ··········</div>
269 ········270 ········
270 ······271 ······
271 ····</div>272 ····</div>
  
272 ····<div·id="ft">273 ····<div·id="ft">
273 ······<div·class="nav">274 ······<div·class="nav">
2.3 KB
html2text {}
Max HTML report size reached
32.5 KB
./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/submitting-patches.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Submitting·contributions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Submitting·contributions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Unit·tests"·href="unit-tests.html"·/>15 ····<link·rel="next"·title="Unit·tests"·href="unit-tests.html"·/>
15 ····<link·rel="prev"·title="Contributing·code"·href="index.html"·/>16 ····<link·rel="prev"·title="Contributing·code"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 86, 50 lines modifiedOffset 87, 50 lines modified
86 <span·id="typo-fixes-and-trivial-documentation-changes"></span><h2>Typo·fixes·and·trivial·documentation·changes<a·class="headerlink"·href="#typo-fixes-and-trivial-documentation-changes"·title="Link·to·this·heading">¶</a></h2>87 <span·id="typo-fixes-and-trivial-documentation-changes"></span><h2>Typo·fixes·and·trivial·documentation·changes<a·class="headerlink"·href="#typo-fixes-and-trivial-documentation-changes"·title="Link·to·this·heading">¶</a></h2>
87 <p>If·you·are·fixing·a·really·trivial·issue,·for·example·changing·a·word·in·the88 <p>If·you·are·fixing·a·really·trivial·issue,·for·example·changing·a·word·in·the
88 documentation,·the·preferred·way·to·provide·the·patch·is·using·GitHub·pull89 documentation,·the·preferred·way·to·provide·the·patch·is·using·GitHub·pull
89 requests·without·a·Trac·ticket.</p>90 requests·without·a·Trac·ticket.</p>
90 <p>See·the·<a·class="reference·internal"·href="working-with-git.html"><span·class="doc">Working·with·Git·and·GitHub</span></a>·for·more·details·on·how·to·use·pull·requests.</p>91 <p>See·the·<a·class="reference·internal"·href="working-with-git.html"><span·class="doc">Working·with·Git·and·GitHub</span></a>·for·more·details·on·how·to·use·pull·requests.</p>
91 </section>92 </section>
92 <section·id="s-claiming-tickets">93 <section·id="s-claiming-tickets">
93 <span·id="claiming-tickets"></span><h2>Claiming·tickets<a·class="headerlink"·href="#claiming-tickets"·title="Link·to·this·heading">¶</a></h2>94 <span·id="claiming-tickets"></span><h2>Claiming·tickets<a·class="headerlink"·href="#claiming-tickets"·title="Link·to·this·heading">¶</a></h2>
94 <p>In·an·open-source·project·with·hundreds·of·contributors·around·the·world,·it’s95 <p>In·an·open-source·project·with·hundreds·of·contributors·around·the·world,·it’s
95 important·to·manage·communication·efficiently·so·that·work·doesn’t·get96 important·to·manage·communication·efficiently·so·that·work·doesn’t·get
96 duplicated·and·contributors·can·be·as·effective·as·possible.</p>97 duplicated·and·contributors·can·be·as·effective·as·possible.</p>
97 <p>Hence,·our·policy·is·for·contributors·to·claim·tickets·in·order·to·let·other98 <p>Hence,·our·policy·is·for·contributors·to·claim·tickets·in·order·to·let·other
98 developers·know·that·a·particular·bug·or·feature·is·being·worked·on.</p>99 developers·know·that·a·particular·bug·or·feature·is·being·worked·on.</p>
99 <p>If·you·have·identified·a·contribution·you·want·to·make·and·you’re·capable·of100 <p>If·you·have·identified·a·contribution·you·want·to·make·and·you’re·capable·of
100 fixing·it·(as·measured·by·your·coding·ability,·knowledge·of·Django·internals101 fixing·it·(as·measured·by·your·coding·ability,·knowledge·of·Django·internals
101 and·time·availability),·claim·it·by·following·these·steps:</p>102 and·time·availability),·claim·it·by·following·these·steps:</p>
102 <ul·class="simple">103 <ul·class="simple">
103 <li><p><a·class="reference·external"·href="https://code.djangoproject.com/github/login">Login·using·your·GitHub·account</a>·or·<a·class="reference·external"·href="https://www.djangoproject.com/accounts/register/">create·an·account</a>·in·our·ticket104 <li><p><a·class="reference·external"·href="https://code.djangoproject.com/github/login">Login·using·your·GitHub·account</a>·or·<a·class="reference·external"·href="https://www.djangoproject.com/accounts/register/">create·an·account</a>·in·our·ticket
104 system.·If·you·have·an·account·but·have·forgotten·your·password,·you·can105 system.·If·you·have·an·account·but·have·forgotten·your·password,·you·can
105 reset·it·using·the·<a·class="reference·external"·href="https://www.djangoproject.com/accounts/password/reset/">password·reset·page</a>.</p></li>106 reset·it·using·the·<a·class="reference·external"·href="https://www.djangoproject.com/accounts/password/reset/">password·reset·page</a>.</p></li>
106 <li><p>If·a·ticket·for·this·issue·doesn’t·exist·yet,·create·one·in·our107 <li><p>If·a·ticket·for·this·issue·doesn’t·exist·yet,·create·one·in·our
107 <a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>.</p></li>108 <a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>.</p></li>
108 <li><p>If·a·ticket·for·this·issue·already·exists,·make·sure·nobody·else·has109 <li><p>If·a·ticket·for·this·issue·already·exists,·make·sure·nobody·else·has
109 claimed·it.·To·do·this,·look·at·the·Owned·by·section·of·the·ticket.110 claimed·it.·To·do·this,·look·at·the·Owned·by·section·of·the·ticket.
110 If·it’s·assigned·to·nobody,·then·it’s·available·to·be·claimed.111 If·it’s·assigned·to·nobody,·then·it’s·available·to·be·claimed.
111 Otherwise,·somebody·else·may·be·working·on·this·ticket.·Either·find·another112 Otherwise,·somebody·else·may·be·working·on·this·ticket.·Either·find·another
112 bug/feature·to·work·on,·or·contact·the·developer·working·on·the·ticket·to113 bug/feature·to·work·on,·or·contact·the·developer·working·on·the·ticket·to
113 offer·your·help.·If·a·ticket·has·been·assigned·for·weeks·or·months·without114 offer·your·help.·If·a·ticket·has·been·assigned·for·weeks·or·months·without
114 any·activity,·it’s·probably·safe·to·reassign·it·to·yourself.</p></li>115 any·activity,·it’s·probably·safe·to·reassign·it·to·yourself.</p></li>
115 <li><p>Log·into·your·account,·if·you·haven’t·already,·by·clicking·GitHub·Login116 <li><p>Log·into·your·account,·if·you·haven’t·already,·by·clicking·GitHub·Login
116 or·DjangoProject·Login·in·the·upper·left·of·the·ticket·page.</p></li>117 or·DjangoProject·Login·in·the·upper·left·of·the·ticket·page.</p></li>
117 <li><p>Claim·the·ticket·by·clicking·the·assign·to·myself·radio·button·under118 <li><p>Claim·the·ticket·by·clicking·the·assign·to·myself·radio·button·under
118 Action·near·the·bottom·of·the·page,·then·click·Submit·changes.</p></li>119 Action·near·the·bottom·of·the·page,·then·click·Submit·changes.</p></li>
119 </ul>120 </ul>
120 <div·class="admonition·note">121 <div·class="admonition·note">
121 <p·class="admonition-title">Note</p>122 <p·class="admonition-title">rkus</p>
122 <p>The·Django·software·foundation·requests·that·anyone·contributing·more·than123 <p>The·Django·software·foundation·requests·that·anyone·contributing·more·than
123 a·trivial·change·to·Django·sign·and·submit·a·<a·class="reference·external"·href="https://www.djangoproject.com/foundation/cla/">Contributor·License124 a·trivial·change·to·Django·sign·and·submit·a·<a·class="reference·external"·href="https://www.djangoproject.com/foundation/cla/">Contributor·License
124 Agreement</a>,·this·ensures·that·the·Django·Software·Foundation·has·clear125 Agreement</a>,·this·ensures·that·the·Django·Software·Foundation·has·clear
125 license·to·all·contributions·allowing·for·a·clear·license·for·all·users.</p>126 license·to·all·contributions·allowing·for·a·clear·license·for·all·users.</p>
126 </div>127 </div>
127 <section·id="s-ticket-claimers-responsibility">128 <section·id="s-ticket-claimers-responsibility">
128 <span·id="ticket-claimers-responsibility"></span><h3>Ticket·claimers·responsibility<a·class="headerlink"·href="#ticket-claimers-responsibility"·title="Link·to·this·heading">¶</a></h3>129 <span·id="ticket-claimers-responsibility"></span><h3>Ticket·claimers·responsibility<a·class="headerlink"·href="#ticket-claimers-responsibility"·title="Link·to·this·heading">¶</a></h3>
129 <p>Once·you’ve·claimed·a·ticket,·you·have·a·responsibility·to·work·on·that·ticket130 <p>Once·you’ve·claimed·a·ticket,·you·have·a·responsibility·to·work·on·that·ticket
130 in·a·reasonably·timely·fashion.·If·you·don’t·have·time·to·work·on·it,·either131 in·a·reasonably·timely·fashion.·If·you·don’t·have·time·to·work·on·it,·either
131 unclaim·it·or·don’t·claim·it·in·the·first·place!</p>132 unclaim·it·or·don’t·claim·it·in·the·first·place!</p>
132 <p>If·there’s·no·sign·of·progress·on·a·particular·claimed·ticket·for·a·week·or133 <p>If·there’s·no·sign·of·progress·on·a·particular·claimed·ticket·for·a·week·or
133 two,·another·developer·may·ask·you·to·relinquish·the·ticket·claim·so·that·it’s134 two,·another·developer·may·ask·you·to·relinquish·the·ticket·claim·so·that·it’s
134 no·longer·monopolized·and·somebody·else·can·claim·it.</p>135 no·longer·monopolized·and·somebody·else·can·claim·it.</p>
135 <p>If·you’ve·claimed·a·ticket·and·it’s·taking·a·long·time·(days·or·weeks)·to·code,136 <p>If·you’ve·claimed·a·ticket·and·it’s·taking·a·long·time·(days·or·weeks)·to·code,
Offset 165, 27 lines modifiedOffset 166, 27 lines modified
165 </ul>166 </ul>
166 <p>When·you·think·your·work·is·ready·to·be·reviewed,·send·<a·class="reference·internal"·href="working-with-git.html"><span·class="doc">a·GitHub·pull167 <p>When·you·think·your·work·is·ready·to·be·reviewed,·send·<a·class="reference·internal"·href="working-with-git.html"><span·class="doc">a·GitHub·pull
167 request</span></a>.168 request</span></a>.
168 If·you·can’t·send·a·pull·request·for·some·reason,·you·can·also·use·patches·in169 If·you·can’t·send·a·pull·request·for·some·reason,·you·can·also·use·patches·in
169 Trac.·When·using·this·style,·follow·these·guidelines.</p>170 Trac.·When·using·this·style,·follow·these·guidelines.</p>
170 <ul·class="simple">171 <ul·class="simple">
171 <li><p>Submit·patches·in·the·format·returned·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">git</span>·<span·class="pre">diff</span></code>·command.</p></li>172 <li><p>Submit·patches·in·the·format·returned·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">git</span>·<span·class="pre">diff</span></code>·command.</p></li>
172 <li><p>Attach·patches·to·a·ticket·in·the·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>,·using·the·attach173 <li><p>Attach·patches·to·a·ticket·in·the·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·tracker</a>,·using·the·attach
173 file·button.·Please·<em>don’t</em>·put·the·patch·in·the·ticket·description174 file·button.·Please·<em>don’t</em>·put·the·patch·in·the·ticket·description
174 or·comment·unless·it’s·a·single·line·patch.</p></li>175 or·comment·unless·it’s·a·single·line·patch.</p></li>
175 <li><p>Name·the·patch·file·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">.diff</span></code>·extension;·this·will·let·the·ticket176 <li><p>Name·the·patch·file·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">.diff</span></code>·extension;·this·will·let·the·ticket
176 tracker·apply·correct·syntax·highlighting,·which·is·quite·helpful.</p></li>177 tracker·apply·correct·syntax·highlighting,·which·is·quite·helpful.</p></li>
177 </ul>178 </ul>
178 <p>Regardless·of·the·way·you·submit·your·work,·follow·these·steps.</p>179 <p>Regardless·of·the·way·you·submit·your·work,·follow·these·steps.</p>
179 <ul·class="simple">180 <ul·class="simple">
180 <li><p>Make·sure·your·code·fulfills·the·requirements·in·our·<a·class="reference·internal"·href="#patch-review-checklist"><span·class="std·std-ref">contribution181 <li><p>Make·sure·your·code·fulfills·the·requirements·in·our·<a·class="reference·internal"·href="#patch-review-checklist"><span·class="std·std-ref">contribution
181 checklist</span></a>.</p></li>182 checklist</span></a>.</p></li>
182 <li><p>Check·the·Has·patch·box·on·the·ticket·and·make·sure·the·Needs183 <li><p>Check·the·Has·patch·box·on·the·ticket·and·make·sure·the·Needs
183 documentation,·Needs·tests,·and·Patch·needs·improvement·boxes·aren’t184 documentation,·Needs·tests,·and·Patch·needs·improvement·boxes·aren’t
184 checked.·This·makes·the·ticket·appear·in·the·Patches·needing·review·queue185 checked.·This·makes·the·ticket·appear·in·the·Patches·needing·review·queue
185 on·the·<a·class="reference·external"·href="https://dashboard.djangoproject.com/">Development·dashboard</a>.</p></li>186 on·the·<a·class="reference·external"·href="https://dashboard.djangoproject.com/">Development·dashboard</a>.</p></li>
186 </ul>187 </ul>
187 </section>188 </section>
188 <section·id="s-contributions-which-require-community-feedback">189 <section·id="s-contributions-which-require-community-feedback">
189 <span·id="contributions-which-require-community-feedback"></span><h2>Contributions·which·require·community·feedback<a·class="headerlink"·href="#contributions-which-require-community-feedback"·title="Link·to·this·heading">¶</a></h2>190 <span·id="contributions-which-require-community-feedback"></span><h2>Contributions·which·require·community·feedback<a·class="headerlink"·href="#contributions-which-require-community-feedback"·title="Link·to·this·heading">¶</a></h2>
190 <p>A·wider·community·discussion·is·required·when·a·patch·introduces·new·Django191 <p>A·wider·community·discussion·is·required·when·a·patch·introduces·new·Django
191 functionality·and·makes·some·sort·of·design·decision.·This·is·especially192 functionality·and·makes·some·sort·of·design·decision.·This·is·especially
Offset 316, 15 lines modifiedOffset 317, 15 lines modified
316 <p>Finally,·there·are·a·couple·of·updates·to·Django’s·documentation·to·make:</p>317 <p>Finally,·there·are·a·couple·of·updates·to·Django’s·documentation·to·make:</p>
317 <ol·class="arabic·simple">318 <ol·class="arabic·simple">
318 <li><p>If·the·existing·feature·is·documented,·mark·it·deprecated·in·documentation319 <li><p>If·the·existing·feature·is·documented,·mark·it·deprecated·in·documentation
319 using·the·<code·class="docutils·literal·notranslate"><span·class="pre">..</span>·<span·class="pre">deprecated::</span>·<span·class="pre">A.B</span></code>·annotation.·Include·a·short·description320 using·the·<code·class="docutils·literal·notranslate"><span·class="pre">..</span>·<span·class="pre">deprecated::</span>·<span·class="pre">A.B</span></code>·annotation.·Include·a·short·description
320 and·a·note·about·the·upgrade·path·if·applicable.</p></li>321 and·a·note·about·the·upgrade·path·if·applicable.</p></li>
321 <li><p>Add·a·description·of·the·deprecated·behavior,·and·the·upgrade·path·if322 <li><p>Add·a·description·of·the·deprecated·behavior,·and·the·upgrade·path·if
322 applicable,·to·the·current·release·notes·(<code·class="docutils·literal·notranslate"><span·class="pre">docs/releases/A.B.txt</span></code>)·under323 applicable,·to·the·current·release·notes·(<code·class="docutils·literal·notranslate"><span·class="pre">docs/releases/A.B.txt</span></code>)·under
323 the·Features·deprecated·in·A.B·heading.</p></li>324 the·Features·deprecated·in·A.B·heading.</p></li>
Max diff block lines reached; 7124/17931 bytes (39.73%) of diff not shown.
14.8 KB
html2text {}
Max HTML report size reached
10.7 KB
./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/unit-tests.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Unit·tests·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Unit·tests·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Working·with·Git·and·GitHub"·href="working-with-git.html"·/>15 ····<link·rel="next"·title="Working·with·Git·and·GitHub"·href="working-with-git.html"·/>
15 ····<link·rel="prev"·title="Submitting·contributions"·href="submitting-patches.html"·/>16 ····<link·rel="prev"·title="Submitting·contributions"·href="submitting-patches.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../../../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../../../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 283, 15 lines modifiedOffset 284, 15 lines modified
283 database,·you’ll·need·to·define·your·own·settings·file.·Some·tests,·such·as284 database,·you’ll·need·to·define·your·own·settings·file.·Some·tests,·such·as
284 those·for·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.postgres</span></code>,·are·specific·to·a·particular·database·backend285 those·for·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.postgres</span></code>,·are·specific·to·a·particular·database·backend
285 and·will·be·skipped·if·run·with·a·different·backend.·Some·tests·are·skipped·or286 and·will·be·skipped·if·run·with·a·different·backend.·Some·tests·are·skipped·or
286 expected·failures·on·a·particular·database·backend·(see287 expected·failures·on·a·particular·database·backend·(see
287 <code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.django_test_skips</span></code>·and288 <code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.django_test_skips</span></code>·and
288 <code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.django_test_expected_failures</span></code>·on·each·backend).</p>289 <code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.django_test_expected_failures</span></code>·on·each·backend).</p>
289 <p>To·run·the·tests·with·different·settings,·ensure·that·the·module·is·on·your290 <p>To·run·the·tests·with·different·settings,·ensure·that·the·module·is·on·your
290 <span·class="target"·id="index-1"></span><a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/cmdline.html#envvar-PYTHONPATH"·title="(in·Python·v3.12)"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">PYTHONPATH</span></code></a>·and·pass·the·module·with·<code·class="docutils·literal·notranslate"><span·class="pre">--settings</span></code>.</p>291 <span·class="target"·id="index-1"></span><a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/cmdline.html#envvar-PYTHONPATH"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">PYTHONPATH</span></code></a>·and·pass·the·module·with·<code·class="docutils·literal·notranslate"><span·class="pre">--settings</span></code>.</p>
291 <p>The·<a·class="reference·internal"·href="../../../ref/settings.html#std-setting-DATABASES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASES</span></code></a>·setting·in·any·test·settings·module·needs·to·define292 <p>The·<a·class="reference·internal"·href="../../../ref/settings.html#std-setting-DATABASES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASES</span></code></a>·setting·in·any·test·settings·module·needs·to·define
292 two·databases:</p>293 two·databases:</p>
293 <ul·class="simple">294 <ul·class="simple">
294 <li><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·database.·This·database·should·use·the·backend·that295 <li><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·database.·This·database·should·use·the·backend·that
295 you·want·to·use·for·primary·testing.</p></li>296 you·want·to·use·for·primary·testing.</p></li>
296 <li><p>A·database·with·the·alias·<code·class="docutils·literal·notranslate"><span·class="pre">other</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">other</span></code>·database·is·used·to·test297 <li><p>A·database·with·the·alias·<code·class="docutils·literal·notranslate"><span·class="pre">other</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">other</span></code>·database·is·used·to·test
297 that·queries·can·be·directed·to·different·databases.·This·database·should·use298 that·queries·can·be·directed·to·different·databases.·This·database·should·use
Offset 832, 15 lines modifiedOffset 833, 15 lines modified
832 ······833 ······
833 ········834 ········
834 ··········<div·class="yui-b"·id="sidebar">835 ··········<div·class="yui-b"·id="sidebar">
835 ············836 ············
836 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">837 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
837 ········<div·class="sphinxsidebarwrapper">838 ········<div·class="sphinxsidebarwrapper">
838 ··<div>839 ··<div>
839 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>840 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
840 ····<ul>841 ····<ul>
841 <li><a·class="reference·internal"·href="#">Unit·tests</a><ul>842 <li><a·class="reference·internal"·href="#">Unit·tests</a><ul>
842 <li><a·class="reference·internal"·href="#running-the-unit-tests">Running·the·unit·tests</a><ul>843 <li><a·class="reference·internal"·href="#running-the-unit-tests">Running·the·unit·tests</a><ul>
843 <li><a·class="reference·internal"·href="#quickstart">Quickstart</a></li>844 <li><a·class="reference·internal"·href="#quickstart">Quickstart</a></li>
844 <li><a·class="reference·internal"·href="#running-tests-using-tox">Running·tests·using·<code·class="docutils·literal·notranslate"><span·class="pre">tox</span></code></a><ul>845 <li><a·class="reference·internal"·href="#running-tests-using-tox">Running·tests·using·<code·class="docutils·literal·notranslate"><span·class="pre">tox</span></code></a><ul>
845 <li><a·class="reference·internal"·href="#testing-other-python-versions-and-database-backends">Testing·other·Python·versions·and·database·backends</a></li>846 <li><a·class="reference·internal"·href="#testing-other-python-versions-and-database-backends">Testing·other·Python·versions·and·database·backends</a></li>
846 <li><a·class="reference·internal"·href="#running-the-javascript-tests">Running·the·JavaScript·tests</a></li>847 <li><a·class="reference·internal"·href="#running-the-javascript-tests">Running·the·JavaScript·tests</a></li>
Offset 869, 37 lines modifiedOffset 870, 37 lines modified
869 </li>870 </li>
870 </ul>871 </ul>
871 </li>872 </li>
872 </ul>873 </ul>
  
873 ··</div>874 ··</div>
874 ··<div>875 ··<div>
875 ····<h4>Previous·topic</h4>876 ····<h4>Eelmine·teema</h4>
876 ····<p·class="topless"><a·href="submitting-patches.html"877 ····<p·class="topless"><a·href="submitting-patches.html"
877 ··························title="previous·chapter">Submitting·contributions</a></p>878 ··························title="eelmine·jaotis">Submitting·contributions</a></p>
878 ··</div>879 ··</div>
879 ··<div>880 ··<div>
880 ····<h4>Next·topic</h4>881 ····<h4>Järgmine·teema</h4>
881 ····<p·class="topless"><a·href="working-with-git.html"882 ····<p·class="topless"><a·href="working-with-git.html"
882 ··························title="next·chapter">Working·with·Git·and·GitHub</a></p>883 ··························title="järgmine·jaotis">Working·with·Git·and·GitHub</a></p>
883 ··</div>884 ··</div>
884 <search·id="searchbox"·style="display:·none"·role="search">885 <search·id="searchbox"·style="display:·none"·role="search">
885 ··<h3·id="searchlabel">Quick·search</h3>886 ··<h3·id="searchlabel">Kiirotsing</h3>
886 ····<div·class="searchformwrapper">887 ····<div·class="searchformwrapper">
887 ····<form·class="search"·action="../../../search.html"·method="get">888 ····<form·class="search"·action="../../../search.html"·method="get">
888 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>889 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
889 ······<input·type="submit"·value="Go"·/>890 ······<input·type="submit"·value="Otsi"·/>
890 ····</form>891 ····</form>
891 ····</div>892 ····</div>
892 </search>893 </search>
893 <script>document.getElementById('searchbox').style.display·=·"block"</script>894 <script>document.getElementById('searchbox').style.display·=·"block"</script>
894 ········</div>895 ········</div>
895 ······</div>896 ······</div>
896 ··············<h3>Last·update:</h3>897 ··············<h3>Last·update:</h3>
897 ··············<p·class="topless">Nov·05,·2024</p>898 ··············<p·class="topless">nov·05,·2024</p>
898 ··········</div>899 ··········</div>
899 ········900 ········
900 ······901 ······
901 ····</div>902 ····</div>
  
902 ····<div·id="ft">903 ····<div·id="ft">
903 ······<div·class="nav">904 ······<div·class="nav">
3.52 KB
html2text {}
Max HTML report size reached
21.4 KB
./usr/share/doc/python-django-doc/html/internals/contributing/writing-code/working-with-git.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Working·with·Git·and·GitHub·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Working·with·Git·and·GitHub·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Coding·style"·href="coding-style.html"·/>15 ····<link·rel="next"·title="Coding·style"·href="coding-style.html"·/>
15 ····<link·rel="prev"·title="Unit·tests"·href="unit-tests.html"·/>16 ····<link·rel="prev"·title="Unit·tests"·href="unit-tests.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 28 lines modifiedOffset 103, 28 lines modified
102 </div>103 </div>
103 <p>Note·that·<code·class="docutils·literal·notranslate"><span·class="pre">user.name</span></code>·should·be·your·real·name,·not·your·GitHub·nick.·GitHub104 <p>Note·that·<code·class="docutils·literal·notranslate"><span·class="pre">user.name</span></code>·should·be·your·real·name,·not·your·GitHub·nick.·GitHub
104 should·know·the·email·you·use·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">user.email</span></code>·field,·as·this·will·be105 should·know·the·email·you·use·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">user.email</span></code>·field,·as·this·will·be
105 used·to·associate·your·commits·with·your·GitHub·account.</p>106 used·to·associate·your·commits·with·your·GitHub·account.</p>
106 </section>107 </section>
107 <section·id="s-setting-up-local-repository">108 <section·id="s-setting-up-local-repository">
108 <span·id="setting-up-local-repository"></span><h2>Setting·up·local·repository<a·class="headerlink"·href="#setting-up-local-repository"·title="Link·to·this·heading">¶</a></h2>109 <span·id="setting-up-local-repository"></span><h2>Setting·up·local·repository<a·class="headerlink"·href="#setting-up-local-repository"·title="Link·to·this·heading">¶</a></h2>
109 <p>When·you·have·created·your·GitHub·account,·with·the·nick·GitHub_nick,·and110 <p>When·you·have·created·your·GitHub·account,·with·the·nick·GitHub_nick,·and
110 <a·class="reference·external"·href="https://github.com/django/django/fork">forked·Django’s·repository</a>,111 <a·class="reference·external"·href="https://github.com/django/django/fork">forked·Django’s·repository</a>,
111 create·a·local·copy·of·your·fork:</p>112 create·a·local·copy·of·your·fork:</p>
112 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>clone<span·class="w">·</span>https://github.com/GitHub_nick/django.git113 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>clone<span·class="w">·</span>https://github.com/GitHub_nick/django.git
113 </pre></div>114 </pre></div>
114 </div>115 </div>
115 <p>This·will·create·a·new·directory·django,·containing·a·clone·of·your·GitHub116 <p>This·will·create·a·new·directory·django,·containing·a·clone·of·your·GitHub
116 repository.·The·rest·of·the·git·commands·on·this·page·need·to·be·run·within·the117 repository.·The·rest·of·the·git·commands·on·this·page·need·to·be·run·within·the
117 cloned·directory,·so·switch·to·it·now:</p>118 cloned·directory,·so·switch·to·it·now:</p>
118 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">cd</span><span·class="w">·</span>django119 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">cd</span><span·class="w">·</span>django
119 </pre></div>120 </pre></div>
120 </div>121 </div>
121 <p>Your·GitHub·repository·will·be·called·origin·in·Git.</p>122 <p>Your·GitHub·repository·will·be·called·origin·in·Git.</p>
122 <p>You·should·also·set·up·<code·class="docutils·literal·notranslate"><span·class="pre">django/django</span></code>·as·an·upstream·remote·(that·is,·tell123 <p>You·should·also·set·up·<code·class="docutils·literal·notranslate"><span·class="pre">django/django</span></code>·as·an·upstream·remote·(that·is,·tell
123 git·that·the·reference·Django·repository·was·the·source·of·your·fork·of·it):</p>124 git·that·the·reference·Django·repository·was·the·source·of·your·fork·of·it):</p>
124 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>remote<span·class="w">·</span>add<span·class="w">·</span>upstream<span·class="w">·</span>https://github.com/django/django.git125 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>remote<span·class="w">·</span>add<span·class="w">·</span>upstream<span·class="w">·</span>https://github.com/django/django.git
125 git<span·class="w">·</span>fetch<span·class="w">·</span>upstream126 git<span·class="w">·</span>fetch<span·class="w">·</span>upstream
126 </pre></div>127 </pre></div>
127 </div>128 </div>
128 <p>You·can·add·other·remotes·similarly,·for·example:</p>129 <p>You·can·add·other·remotes·similarly,·for·example:</p>
129 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>remote<span·class="w">·</span>add<span·class="w">·</span>akaariai<span·class="w">·</span>https://github.com/akaariai/django.git130 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>remote<span·class="w">·</span>add<span·class="w">·</span>akaariai<span·class="w">·</span>https://github.com/akaariai/django.git
Offset 163, 19 lines modifiedOffset 164, 19 lines modified
163 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>push<span·class="w">·</span>origin<span·class="w">·</span>ticket_xxxxx164 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>push<span·class="w">·</span>origin<span·class="w">·</span>ticket_xxxxx
164 </pre></div>165 </pre></div>
165 </div>166 </div>
166 <p>When·you·go·to·your·GitHub·page,·you·will·notice·a·new·branch·has·been·created.</p>167 <p>When·you·go·to·your·GitHub·page,·you·will·notice·a·new·branch·has·been·created.</p>
167 <p>If·you·are·working·on·a·Trac·ticket,·you·should·mention·in·the·ticket·that168 <p>If·you·are·working·on·a·Trac·ticket,·you·should·mention·in·the·ticket·that
168 your·work·is·available·from·branch·ticket_xxxxx·of·your·GitHub·repo.·Include·a169 your·work·is·available·from·branch·ticket_xxxxx·of·your·GitHub·repo.·Include·a
169 link·to·your·branch.</p>170 link·to·your·branch.</p>
170 <p>Note·that·the·above·branch·is·called·a·topic·branch·in·Git·parlance.·You·are171 <p>Note·that·the·above·branch·is·called·a·topic·branch·in·Git·parlance.·You·are
171 free·to·rewrite·the·history·of·this·branch,·by·using·<code·class="docutils·literal·notranslate"><span·class="pre">git</span>·<span·class="pre">rebase</span></code>·for172 free·to·rewrite·the·history·of·this·branch,·by·using·<code·class="docutils·literal·notranslate"><span·class="pre">git</span>·<span·class="pre">rebase</span></code>·for
172 example.·Other·people·shouldn’t·base·their·work·on·such·a·branch,·because173 example.·Other·people·shouldn’t·base·their·work·on·such·a·branch,·because
173 their·clone·would·become·corrupt·when·you·edit·commits.</p>174 their·clone·would·become·corrupt·when·you·edit·commits.</p>
174 <p>There·are·also·public·branches.·These·are·branches·other·people·are·supposed175 <p>There·are·also·public·branches.·These·are·branches·other·people·are·supposed
175 to·fork,·so·the·history·of·these·branches·should·never·change.·Good·examples176 to·fork,·so·the·history·of·these·branches·should·never·change.·Good·examples
176 of·public·branches·are·the·<code·class="docutils·literal·notranslate"><span·class="pre">main</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">stable/A.B.x</span></code>·branches·in·the177 of·public·branches·are·the·<code·class="docutils·literal·notranslate"><span·class="pre">main</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">stable/A.B.x</span></code>·branches·in·the
177 <code·class="docutils·literal·notranslate"><span·class="pre">django/django</span></code>·repository.</p>178 <code·class="docutils·literal·notranslate"><span·class="pre">django/django</span></code>·repository.</p>
178 <p>When·you·think·your·work·is·ready·to·be·pulled·into·Django,·you·should·create179 <p>When·you·think·your·work·is·ready·to·be·pulled·into·Django,·you·should·create
179 a·pull·request·at·GitHub.·A·good·pull·request·means:</p>180 a·pull·request·at·GitHub.·A·good·pull·request·means:</p>
180 <ul·class="simple">181 <ul·class="simple">
181 <li><p>commits·with·one·logical·change·in·each,·following·the182 <li><p>commits·with·one·logical·change·in·each,·following·the
Offset 184, 40 lines modifiedOffset 185, 40 lines modified
184 wrapped·at·72·characters·thereafter··see·the·<a·class="reference·internal"·href="../committing-code.html#committing-guidelines"><span·class="std·std-ref">committing·guidelines</span></a>·for·more·details,</p></li>185 wrapped·at·72·characters·thereafter··see·the·<a·class="reference·internal"·href="../committing-code.html#committing-guidelines"><span·class="std·std-ref">committing·guidelines</span></a>·for·more·details,</p></li>
185 <li><p>documentation·and·tests,·if·needed··actually·tests·are·always·needed,186 <li><p>documentation·and·tests,·if·needed··actually·tests·are·always·needed,
186 except·for·documentation·changes.</p></li>187 except·for·documentation·changes.</p></li>
187 </ul>188 </ul>
188 <p>The·test·suite·must·pass·and·the·documentation·must·build·without·warnings.</p>189 <p>The·test·suite·must·pass·and·the·documentation·must·build·without·warnings.</p>
189 <p>Once·you·have·created·your·pull·request,·you·should·add·a·comment·in·the190 <p>Once·you·have·created·your·pull·request,·you·should·add·a·comment·in·the
190 related·Trac·ticket·explaining·what·you’ve·done.·In·particular,·you·should·note191 related·Trac·ticket·explaining·what·you’ve·done.·In·particular,·you·should·note
191 the·environment·in·which·you·ran·the·tests,·for·instance:·all·tests·pass192 the·environment·in·which·you·ran·the·tests,·for·instance:·all·tests·pass
192 under·SQLite·and·MySQL.</p>193 under·SQLite·and·MySQL.</p>
193 <p>Pull·requests·at·GitHub·have·only·two·states:·open·and·closed.·The·merger·who194 <p>Pull·requests·at·GitHub·have·only·two·states:·open·and·closed.·The·merger·who
194 will·deal·with·your·pull·request·has·only·two·options:·merge·it·or·close·it.195 will·deal·with·your·pull·request·has·only·two·options:·merge·it·or·close·it.
195 For·this·reason,·it·isn’t·useful·to·make·a·pull·request·until·the·code·is·ready196 For·this·reason,·it·isn’t·useful·to·make·a·pull·request·until·the·code·is·ready
196 for·merging··or·sufficiently·close·that·a·merger·will·finish·it·themselves.</p>197 for·merging··or·sufficiently·close·that·a·merger·will·finish·it·themselves.</p>
197 </section>198 </section>
198 <section·id="s-rebasing-branches">199 <section·id="s-rebasing-branches">
199 <span·id="rebasing-branches"></span><h3>Rebasing·branches<a·class="headerlink"·href="#rebasing-branches"·title="Link·to·this·heading">¶</a></h3>200 <span·id="rebasing-branches"></span><h3>Rebasing·branches<a·class="headerlink"·href="#rebasing-branches"·title="Link·to·this·heading">¶</a></h3>
200 <p>In·the·example·above,·you·created·two·commits,·the·Fixed·ticket_xxxxx·commit201 <p>In·the·example·above,·you·created·two·commits,·the·Fixed·ticket_xxxxx·commit
201 and·Added·two·more·tests·commit.</p>202 and·Added·two·more·tests·commit.</p>
202 <p>We·do·not·want·to·have·the·entire·history·of·your·working·process·in·your203 <p>We·do·not·want·to·have·the·entire·history·of·your·working·process·in·your
203 repository.·Your·commit·Added·two·more·tests·would·be·unhelpful·noise.204 repository.·Your·commit·Added·two·more·tests·would·be·unhelpful·noise.
204 Instead,·we·would·rather·only·have·one·commit·containing·all·your·work.</p>205 Instead,·we·would·rather·only·have·one·commit·containing·all·your·work.</p>
205 <p>To·rework·the·history·of·your·branch·you·can·squash·the·commits·into·one·by206 <p>To·rework·the·history·of·your·branch·you·can·squash·the·commits·into·one·by
206 using·interactive·rebase:</p>207 using·interactive·rebase:</p>
207 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>rebase<span·class="w">·</span>-i<span·class="w">·</span>HEAD~2208 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>rebase<span·class="w">·</span>-i<span·class="w">·</span>HEAD~2
208 </pre></div>209 </pre></div>
209 </div>210 </div>
210 <p>The·HEAD~2·above·is·shorthand·for·two·latest·commits.·The·above·command211 <p>The·HEAD~2·above·is·shorthand·for·two·latest·commits.·The·above·command
211 will·open·an·editor·showing·the·two·commits,·prefixed·with·the·word·pick.</p>212 will·open·an·editor·showing·the·two·commits,·prefixed·with·the·word·pick.</p>
212 <p>Change·pick·on·the·second·line·to·squash·instead.·This·will·keep·the213 <p>Change·pick·on·the·second·line·to·squash·instead.·This·will·keep·the
213 first·commit,·and·squash·the·second·commit·into·the·first·one.·Save·and·quit214 first·commit,·and·squash·the·second·commit·into·the·first·one.·Save·and·quit
214 the·editor.·A·second·editor·window·should·open,·so·you·can·reword·the215 the·editor.·A·second·editor·window·should·open,·so·you·can·reword·the
215 commit·message·for·the·commit·now·that·it·includes·both·your·steps.</p>216 commit·message·for·the·commit·now·that·it·includes·both·your·steps.</p>
216 <p>You·can·also·use·the·edit·option·in·rebase.·This·way·you·can·change·a·single217 <p>You·can·also·use·the·edit·option·in·rebase.·This·way·you·can·change·a·single
217 commit,·for·example·to·fix·a·typo·in·a·docstring:</p>218 commit,·for·example·to·fix·a·typo·in·a·docstring:</p>
218 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>rebase<span·class="w">·</span>-i<span·class="w">·</span>HEAD~3219 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>git<span·class="w">·</span>rebase<span·class="w">·</span>-i<span·class="w">·</span>HEAD~3
219 <span·class="c1">#·Choose·edit,·pick,·pick·for·the·commits</span>220 <span·class="c1">#·Choose·edit,·pick,·pick·for·the·commits</span>
220 <span·class="c1">#·Now·you·are·able·to·rework·the·commit·(use·git·add·normally·to·add·changes)</span>221 <span·class="c1">#·Now·you·are·able·to·rework·the·commit·(use·git·add·normally·to·add·changes)</span>
221 <span·class="c1">#·When·finished,·commit·work·with·&quot;--amend&quot;·and·continue</span>222 <span·class="c1">#·When·finished,·commit·work·with·&quot;--amend&quot;·and·continue</span>
Max diff block lines reached; 2476/12722 bytes (19.46%) of diff not shown.
8.83 KB
html2text {}
Max HTML report size reached
32.3 KB
./usr/share/doc/python-django-doc/html/internals/contributing/writing-documentation.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·documentation·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·documentation·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Localizing·Django"·href="localizing.html"·/>15 ····<link·rel="next"·title="Localizing·Django"·href="localizing.html"·/>
15 ····<link·rel="prev"·title="Committing·code"·href="committing-code.html"·/>16 ····<link·rel="prev"·title="Committing·code"·href="committing-code.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 257, 73 lines modifiedOffset 258, 73 lines modified
257 <section·id="s-link-check">258 <section·id="s-link-check">
258 <span·id="s-documentation-link-check"></span><span·id="link-check"></span><span·id="documentation-link-check"></span><h3>Link·check<a·class="headerlink"·href="#link-check"·title="Link·to·this·heading">¶</a></h3>259 <span·id="s-documentation-link-check"></span><span·id="link-check"></span><span·id="documentation-link-check"></span><h3>Link·check<a·class="headerlink"·href="#link-check"·title="Link·to·this·heading">¶</a></h3>
259 <p>Links·in·documentation·can·become·broken·or·changed·such·that·they·are·no260 <p>Links·in·documentation·can·become·broken·or·changed·such·that·they·are·no
260 longer·the·canonical·link.·Sphinx·provides·a·builder·that·can·check·whether·the261 longer·the·canonical·link.·Sphinx·provides·a·builder·that·can·check·whether·the
261 links·in·the·documentation·are·working.·From·the·<code·class="docutils·literal·notranslate"><span·class="pre">docs</span></code>·directory,·run·<code·class="docutils·literal·notranslate"><span·class="pre">make</span>262 links·in·the·documentation·are·working.·From·the·<code·class="docutils·literal·notranslate"><span·class="pre">docs</span></code>·directory,·run·<code·class="docutils·literal·notranslate"><span·class="pre">make</span>
262 <span·class="pre">linkcheck</span></code>.·Output·is·printed·to·the·terminal,·but·can·also·be·found·in263 <span·class="pre">linkcheck</span></code>.·Output·is·printed·to·the·terminal,·but·can·also·be·found·in
263 <code·class="docutils·literal·notranslate"><span·class="pre">_build/linkcheck/output.txt</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">_build/linkcheck/output.json</span></code>.</p>264 <code·class="docutils·literal·notranslate"><span·class="pre">_build/linkcheck/output.txt</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">_build/linkcheck/output.json</span></code>.</p>
264 <p>Entries·that·have·a·status·of·working·are·fine,·those·that·are·unchecked·or265 <p>Entries·that·have·a·status·of·working·are·fine,·those·that·are·unchecked·or
265 ignored·have·been·skipped·because·they·either·cannot·be·checked·or·have266 ignored·have·been·skipped·because·they·either·cannot·be·checked·or·have
266 matched·ignore·rules·in·the·configuration.</p>267 matched·ignore·rules·in·the·configuration.</p>
267 <p>Entries·that·have·a·status·of·broken·need·to·be·fixed.·Those·that·have·a268 <p>Entries·that·have·a·status·of·broken·need·to·be·fixed.·Those·that·have·a
268 status·of·redirected·may·need·to·be·updated·to·point·to·the·canonical269 status·of·redirected·may·need·to·be·updated·to·point·to·the·canonical
269 location,·e.g.·the·scheme·has·changed·<code·class="docutils·literal·notranslate"><span·class="pre">http://</span></code>··<code·class="docutils·literal·notranslate"><span·class="pre">https://</span></code>.·In·certain270 location,·e.g.·the·scheme·has·changed·<code·class="docutils·literal·notranslate"><span·class="pre">http://</span></code>··<code·class="docutils·literal·notranslate"><span·class="pre">https://</span></code>.·In·certain
270 cases,·we·do·not·want·to·update·a·redirected·link,·e.g.·a·rewrite·to·always271 cases,·we·do·not·want·to·update·a·redirected·link,·e.g.·a·rewrite·to·always
271 point·to·the·latest·or·stable·version·of·the·documentation,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">/en/stable/</span></code>·272 point·to·the·latest·or·stable·version·of·the·documentation,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">/en/stable/</span></code>·
272 <code·class="docutils·literal·notranslate"><span·class="pre">/en/3.2/</span></code>.</p>273 <code·class="docutils·literal·notranslate"><span·class="pre">/en/3.2/</span></code>.</p>
273 </section>274 </section>
274 </section>275 </section>
275 <section·id="s-writing-style">276 <section·id="s-writing-style">
276 <span·id="writing-style"></span><h2>Writing·style<a·class="headerlink"·href="#writing-style"·title="Link·to·this·heading">¶</a></h2>277 <span·id="writing-style"></span><h2>Writing·style<a·class="headerlink"·href="#writing-style"·title="Link·to·this·heading">¶</a></h2>
277 <p>When·using·pronouns·in·reference·to·a·hypothetical·person,·such·as·a·user·with278 <p>When·using·pronouns·in·reference·to·a·hypothetical·person,·such·as·a·user·with
278 a·session·cookie,·gender-neutral·pronouns·(they/their/them)·should·be·used.279 a·session·cookie,·gender-neutral·pronouns·(they/their/them)·should·be·used.
279 Instead·of:</p>280 Instead·of:</p>
280 <ul·class="simple">281 <ul·class="simple">
281 <li><p>he·or·she…·use·they.</p></li>282 <li><p>he·or·she…·use·they.</p></li>
282 <li><p>him·or·her…·use·them.</p></li>283 <li><p>him·or·her…·use·them.</p></li>
283 <li><p>his·or·her…·use·their.</p></li>284 <li><p>his·or·her…·use·their.</p></li>
284 <li><p>his·or·hers…·use·theirs.</p></li>285 <li><p>his·or·hers…·use·theirs.</p></li>
285 <li><p>himself·or·herself…·use·themselves.</p></li>286 <li><p>himself·or·herself…·use·themselves.</p></li>
286 </ul>287 </ul>
287 <p>Try·to·avoid·using·words·that·minimize·the·difficulty·involved·in·a·task·or288 <p>Try·to·avoid·using·words·that·minimize·the·difficulty·involved·in·a·task·or
288 operation,·such·as·easily,·simply,·just,·merely,·straightforward,·and289 operation,·such·as·easily,·simply,·just,·merely,·straightforward,·and
289 so·on.·People’s·experience·may·not·match·your·expectations,·and·they·may·become290 so·on.·People’s·experience·may·not·match·your·expectations,·and·they·may·become
290 frustrated·when·they·do·not·find·a·step·as·straightforward·or·simple·as·it291 frustrated·when·they·do·not·find·a·step·as·straightforward·or·simple·as·it
291 is·implied·to·be.</p>292 is·implied·to·be.</p>
292 </section>293 </section>
293 <section·id="s-commonly-used-terms">294 <section·id="s-commonly-used-terms">
294 <span·id="commonly-used-terms"></span><h2>Commonly·used·terms<a·class="headerlink"·href="#commonly-used-terms"·title="Link·to·this·heading">¶</a></h2>295 <span·id="commonly-used-terms"></span><h2>Commonly·used·terms<a·class="headerlink"·href="#commonly-used-terms"·title="Link·to·this·heading">¶</a></h2>
295 <p>Here·are·some·style·guidelines·on·commonly·used·terms·throughout·the296 <p>Here·are·some·style·guidelines·on·commonly·used·terms·throughout·the
296 documentation:</p>297 documentation:</p>
297 <ul·class="simple">298 <ul·class="simple">
298 <li><p><strong>Django</strong>··when·referring·to·the·framework,·capitalize·Django.·It·is299 <li><p><strong>Django</strong>··when·referring·to·the·framework,·capitalize·Django.·It·is
299 lowercase·only·in·Python·code·and·in·the·djangoproject.com·logo.</p></li>300 lowercase·only·in·Python·code·and·in·the·djangoproject.com·logo.</p></li>
300 <li><p><strong>email</strong>··no·hyphen.</p></li>301 <li><p><strong>email</strong>··no·hyphen.</p></li>
301 <li><p><strong>HTTP</strong>··the·expected·pronunciation·is·Aitch·Tee·Tee·Pee·and·therefore302 <li><p><strong>HTTP</strong>··the·expected·pronunciation·is·Aitch·Tee·Tee·Pee·and·therefore
302 should·be·preceded·by·an·and·not·a.</p></li>303 should·be·preceded·by·an·and·not·a.</p></li>
303 <li><p><strong>MySQL</strong>,·<strong>PostgreSQL</strong>,·<strong>SQLite</strong></p></li>304 <li><p><strong>MySQL</strong>,·<strong>PostgreSQL</strong>,·<strong>SQLite</strong></p></li>
304 <li><p><strong>SQL</strong>··when·referring·to·SQL,·the·expected·pronunciation·should·be305 <li><p><strong>SQL</strong>··when·referring·to·SQL,·the·expected·pronunciation·should·be
305 Ess·Queue·Ell·and·not·sequel.·Thus·in·a·phrase·like·Returns·an306 Ess·Queue·Ell·and·not·sequel.·Thus·in·a·phrase·like·Returns·an
306 SQL·expression,·SQL·should·be·preceded·by·an·and·not·a.</p></li>307 SQL·expression,·SQL·should·be·preceded·by·an·and·not·a.</p></li>
307 <li><p><strong>Python</strong>··when·referring·to·the·language,·capitalize·Python.</p></li>308 <li><p><strong>Python</strong>··when·referring·to·the·language,·capitalize·Python.</p></li>
308 <li><p><strong>realize</strong>,·<strong>customize</strong>,·<strong>initialize</strong>,·etc.··use·the·American309 <li><p><strong>realize</strong>,·<strong>customize</strong>,·<strong>initialize</strong>,·etc.··use·the·American
309 ize·suffix,·not·ise.</p></li>310 ize·suffix,·not·ise.</p></li>
310 <li><p><strong>subclass</strong>··it’s·a·single·word·without·a·hyphen,·both·as·a·verb311 <li><p><strong>subclass</strong>··it’s·a·single·word·without·a·hyphen,·both·as·a·verb
311 (subclass·that·model)·and·as·a·noun·(create·a·subclass).</p></li>312 (subclass·that·model)·and·as·a·noun·(create·a·subclass).</p></li>
312 <li><p><strong>the·web</strong>,·<strong>web·framework</strong>··it’s·not·capitalized.</p></li>313 <li><p><strong>the·web</strong>,·<strong>web·framework</strong>··it’s·not·capitalized.</p></li>
313 <li><p><strong>website</strong>··use·one·word,·without·capitalization.</p></li>314 <li><p><strong>website</strong>··use·one·word,·without·capitalization.</p></li>
314 </ul>315 </ul>
315 </section>316 </section>
316 <section·id="s-django-specific-terminology">317 <section·id="s-django-specific-terminology">
317 <span·id="django-specific-terminology"></span><h2>Django-specific·terminology<a·class="headerlink"·href="#django-specific-terminology"·title="Link·to·this·heading">¶</a></h2>318 <span·id="django-specific-terminology"></span><h2>Django-specific·terminology<a·class="headerlink"·href="#django-specific-terminology"·title="Link·to·this·heading">¶</a></h2>
318 <ul·class="simple">319 <ul·class="simple">
319 <li><p><strong>model</strong>··it’s·not·capitalized.</p></li>320 <li><p><strong>model</strong>··it’s·not·capitalized.</p></li>
320 <li><p><strong>template</strong>··it’s·not·capitalized.</p></li>321 <li><p><strong>template</strong>··it’s·not·capitalized.</p></li>
321 <li><p><strong>URLconf</strong>··use·three·capitalized·letters,·with·no·space·before322 <li><p><strong>URLconf</strong>··use·three·capitalized·letters,·with·no·space·before
322 conf.</p></li>323 conf.</p></li>
323 <li><p><strong>view</strong>··it’s·not·capitalized.</p></li>324 <li><p><strong>view</strong>··it’s·not·capitalized.</p></li>
324 </ul>325 </ul>
325 </section>326 </section>
326 <section·id="s-guidelines-for-restructuredtext-files">327 <section·id="s-guidelines-for-restructuredtext-files">
327 <span·id="guidelines-for-restructuredtext-files"></span><h2>Guidelines·for·reStructuredText·files<a·class="headerlink"·href="#guidelines-for-restructuredtext-files"·title="Link·to·this·heading">¶</a></h2>328 <span·id="guidelines-for-restructuredtext-files"></span><h2>Guidelines·for·reStructuredText·files<a·class="headerlink"·href="#guidelines-for-restructuredtext-files"·title="Link·to·this·heading">¶</a></h2>
328 <p>These·guidelines·regulate·the·format·of·our·reST·(reStructuredText)329 <p>These·guidelines·regulate·the·format·of·our·reST·(reStructuredText)
329 documentation:</p>330 documentation:</p>
Offset 340, 20 lines modifiedOffset 341, 20 lines modified
340 <p>Isn’t·nearly·as·helpful·as:</p>341 <p>Isn’t·nearly·as·helpful·as:</p>
341 <div·class="highlight-rst·notranslate"><div·class="highlight"><pre><span></span>Add·<span·class="na">:mod:</span><span·class="nv">`django.contrib.auth`</span>·to·your·<span·class="na">:setting:</span><span·class="nv">`INSTALLED_APPS`</span>...342 <div·class="highlight-rst·notranslate"><div·class="highlight"><pre><span></span>Add·<span·class="na">:mod:</span><span·class="nv">`django.contrib.auth`</span>·to·your·<span·class="na">:setting:</span><span·class="nv">`INSTALLED_APPS`</span>...
342 </pre></div>343 </pre></div>
343 </div>344 </div>
344 <p>This·is·because·Sphinx·will·generate·proper·links·for·the·latter,·which345 <p>This·is·because·Sphinx·will·generate·proper·links·for·the·latter,·which
345 greatly·helps·readers.</p>346 greatly·helps·readers.</p>
346 <p>You·can·prefix·the·target·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">~</span></code>·(that’s·a·tilde)·to·get·only·the347 <p>You·can·prefix·the·target·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">~</span></code>·(that’s·a·tilde)·to·get·only·the
347 last·bit·of·that·path.·So·<code·class="docutils·literal·notranslate"><span·class="pre">:mod:`~django.contrib.auth`</span></code>·will348 last·bit·of·that·path.·So·<code·class="docutils·literal·notranslate"><span·class="pre">:mod:`~django.contrib.auth`</span></code>·will
348 display·a·link·with·the·title·auth.</p>349 display·a·link·with·the·title·auth.</p>
349 </li>350 </li>
350 <li><p>All·Python·code·blocks·should·be·formatted·using·the·<a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/blacken-docs/">blacken-docs</a>351 <li><p>All·Python·code·blocks·should·be·formatted·using·the·<a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/blacken-docs/">blacken-docs</a>
351 auto-formatter.·This·will·be·run·by·<code·class="docutils·literal·notranslate"><span·class="pre">pre-commit</span></code>·if·that·is·configured.</p></li>352 auto-formatter.·This·will·be·run·by·<code·class="docutils·literal·notranslate"><span·class="pre">pre-commit</span></code>·if·that·is·configured.</p></li>
352 <li><p>Use·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">intersphinx</span></code>·to·reference·Python’s·and·Sphinx353 <li><p>Use·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">intersphinx</span></code>·to·reference·Python’s·and·Sphinx
Max diff block lines reached; 8436/18729 bytes (45.04%) of diff not shown.
13.8 KB
html2text {}
Max HTML report size reached
28.8 KB
./usr/share/doc/python-django-doc/html/internals/deprecation.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·Deprecation·Timeline·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·Deprecation·Timeline·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="The·Django·source·code·repository"·href="git.html"·/>15 ····<link·rel="next"·title="The·Django·source·code·repository"·href="git.html"·/>
15 ····<link·rel="prev"·title="Django’s·release·process"·href="release-process.html"·/>16 ····<link·rel="prev"·title="Django’s·release·process"·href="release-process.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 390, 15 lines modifiedOffset 391, 15 lines modified
390 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseIntrospection.get_indexes()</span></code>·will·be·removed.</p></li>391 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseIntrospection.get_indexes()</span></code>·will·be·removed.</p></li>
391 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">authenticate()</span></code>·method·of·authentication·backends·will·require392 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">authenticate()</span></code>·method·of·authentication·backends·will·require
392 <code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·as·the·first·positional·argument.</p></li>393 <code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·as·the·first·positional·argument.</p></li>
393 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.permalink()</span></code>·decorator·will·be·removed.</p></li>394 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.permalink()</span></code>·decorator·will·be·removed.</p></li>
394 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">USE_ETAGS</span></code>·setting·will·be·removed.·<code·class="docutils·literal·notranslate"><span·class="pre">CommonMiddleware</span></code>·and395 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">USE_ETAGS</span></code>·setting·will·be·removed.·<code·class="docutils·literal·notranslate"><span·class="pre">CommonMiddleware</span></code>·and
395 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.cache.patch_response_headers()</span></code>·will·no·longer·set·ETags.</p></li>396 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.cache.patch_response_headers()</span></code>·will·no·longer·set·ETags.</p></li>
396 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Model._meta.has_auto_field</span></code>·attribute·will·be·removed.</p></li>397 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Model._meta.has_auto_field</span></code>·attribute·will·be·removed.</p></li>
397 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">url()</span></code>s·support·for·inline·flags·in·regular·expression·groups·(<code·class="docutils·literal·notranslate"><span·class="pre">(?i)</span></code>,398 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">url()</span></code>s·support·for·inline·flags·in·regular·expression·groups·(<code·class="docutils·literal·notranslate"><span·class="pre">(?i)</span></code>,
398 <code·class="docutils·literal·notranslate"><span·class="pre">(?L)</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">(?m)</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">(?s)</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">(?u)</span></code>)·will·be·removed.</p></li>399 <code·class="docutils·literal·notranslate"><span·class="pre">(?L)</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">(?m)</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">(?s)</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">(?u)</span></code>)·will·be·removed.</p></li>
399 <li><p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">Widget.render()</span></code>·methods·without·the·<code·class="docutils·literal·notranslate"><span·class="pre">renderer</span></code>·argument400 <li><p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">Widget.render()</span></code>·methods·without·the·<code·class="docutils·literal·notranslate"><span·class="pre">renderer</span></code>·argument
400 will·be·removed.</p></li>401 will·be·removed.</p></li>
401 </ul>402 </ul>
402 </section>403 </section>
403 <section·id="s-deprecation-removed-in-2-0">404 <section·id="s-deprecation-removed-in-2-0">
404 <span·id="s-id9"></span><span·id="deprecation-removed-in-2-0"></span><span·id="id9"></span><h2>2.0<a·class="headerlink"·href="#deprecation-removed-in-2-0"·title="Link·to·this·heading">¶</a></h2>405 <span·id="s-id9"></span><span·id="deprecation-removed-in-2-0"></span><span·id="id9"></span><h2>2.0<a·class="headerlink"·href="#deprecation-removed-in-2-0"·title="Link·to·this·heading">¶</a></h2>
Offset 541, 16 lines modifiedOffset 542, 16 lines modified
541 <code·class="docutils·literal·notranslate"><span·class="pre">django.conf.urls.i18n.i18n_patterns()</span></code>·will·be·removed.</p></li>542 <code·class="docutils·literal·notranslate"><span·class="pre">django.conf.urls.i18n.i18n_patterns()</span></code>·will·be·removed.</p></li>
542 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">SimpleTestCase.urls</span></code>·will·be·removed.</p></li>543 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">SimpleTestCase.urls</span></code>·will·be·removed.</p></li>
543 <li><p>Using·an·incorrect·count·of·unpacked·values·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">for</span></code>·template·tag544 <li><p>Using·an·incorrect·count·of·unpacked·values·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">for</span></code>·template·tag
544 will·raise·an·exception·rather·than·fail·silently.</p></li>545 will·raise·an·exception·rather·than·fail·silently.</p></li>
545 <li><p>The·ability·to·reverse·URLs·using·a·dotted·Python·path·will·be·removed.</p></li>546 <li><p>The·ability·to·reverse·URLs·using·a·dotted·Python·path·will·be·removed.</p></li>
546 <li><p>The·ability·to·use·a·dotted·Python·path·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">LOGIN_URL</span></code>·and547 <li><p>The·ability·to·use·a·dotted·Python·path·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">LOGIN_URL</span></code>·and
547 <code·class="docutils·literal·notranslate"><span·class="pre">LOGIN_REDIRECT_URL</span></code>·settings·will·be·removed.</p></li>548 <code·class="docutils·literal·notranslate"><span·class="pre">LOGIN_REDIRECT_URL</span></code>·settings·will·be·removed.</p></li>
548 <li><p>Support·for·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/optparse.html#module-optparse"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">optparse</span></code></a>·will·be·dropped·for·custom·management·commands549 <li><p>Support·for·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/optparse.html#module-optparse"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">optparse</span></code></a>·will·be·dropped·for·custom·management·commands
549 (replaced·by·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/argparse.html#module-argparse"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">argparse</span></code></a>).</p></li>550 (replaced·by·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/argparse.html#module-argparse"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">argparse</span></code></a>).</p></li>
550 <li><p>The·class·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.management.NoArgsCommand</span></code>·will·be·removed.·Use551 <li><p>The·class·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.management.NoArgsCommand</span></code>·will·be·removed.·Use
551 <a·class="reference·internal"·href="../howto/custom-management-commands.html#django.core.management.BaseCommand"·title="django.core.management.BaseCommand"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BaseCommand</span></code></a>·instead,·which·takes·no·arguments552 <a·class="reference·internal"·href="../howto/custom-management-commands.html#django.core.management.BaseCommand"·title="django.core.management.BaseCommand"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BaseCommand</span></code></a>·instead,·which·takes·no·arguments
552 by·default.</p></li>553 by·default.</p></li>
553 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.core.context_processors</span></code>·module·will·be·removed.</p></li>554 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.core.context_processors</span></code>·module·will·be·removed.</p></li>
554 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.sql.aggregates</span></code>·module·will·be·removed.</p></li>555 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.sql.aggregates</span></code>·module·will·be·removed.</p></li>
555 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.gis.db.models.sql.aggregates</span></code>·module·will·be·removed.</p></li>556 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.gis.db.models.sql.aggregates</span></code>·module·will·be·removed.</p></li>
556 <li><p>The·following·methods·and·properties·of·<code·class="docutils·literal·notranslate"><span·class="pre">django.db.sql.query.Query</span></code>·will557 <li><p>The·following·methods·and·properties·of·<code·class="docutils·literal·notranslate"><span·class="pre">django.db.sql.query.Query</span></code>·will
Offset 607, 15 lines modifiedOffset 608, 15 lines modified
607 be·removed.</p></li>608 be·removed.</p></li>
608 <li><p>Django·template·objects·returned·by609 <li><p>Django·template·objects·returned·by
609 <a·class="reference·internal"·href="../topics/templates.html#django.template.loader.get_template"·title="django.template.loader.get_template"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_template()</span></code></a>·and610 <a·class="reference·internal"·href="../topics/templates.html#django.template.loader.get_template"·title="django.template.loader.get_template"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_template()</span></code></a>·and
610 <a·class="reference·internal"·href="../topics/templates.html#django.template.loader.select_template"·title="django.template.loader.select_template"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">select_template()</span></code></a>·won’t·accept·a611 <a·class="reference·internal"·href="../topics/templates.html#django.template.loader.select_template"·title="django.template.loader.select_template"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">select_template()</span></code></a>·won’t·accept·a
611 <a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context"·title="django.template.Context"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Context</span></code></a>·in·their612 <a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context"·title="django.template.Context"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Context</span></code></a>·in·their
612 <a·class="reference·internal"·href="../topics/templates.html#django.template.backends.base.Template.render"·title="django.template.backends.base.Template.render"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">render()</span></code></a>·method·anymore.</p></li>613 <a·class="reference·internal"·href="../topics/templates.html#django.template.backends.base.Template.render"·title="django.template.backends.base.Template.render"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">render()</span></code></a>·method·anymore.</p></li>
613 <li><p><a·class="reference·internal"·href="../ref/template-response.html"><span·class="doc">Template·response·APIs</span></a>·will·enforce·the·use614 <li><p><a·class="reference·internal"·href="../ref/template-response.html"><span·class="doc">Template·response·APIs</span></a>·will·enforce·the·use
614 of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·and·backend-dependent·template·objects·instead·of615 of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·and·backend-dependent·template·objects·instead·of
615 <a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context"·title="django.template.Context"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Context</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/api.html#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>616 <a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context"·title="django.template.Context"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Context</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/api.html#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>
616 respectively.</p></li>617 respectively.</p></li>
617 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">current_app</span></code>·parameter·for·the·following·function·and·classes·will·be618 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">current_app</span></code>·parameter·for·the·following·function·and·classes·will·be
618 removed:</p>619 removed:</p>
619 <ul>620 <ul>
620 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.shortcuts.render()</span></code></p></li>621 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.shortcuts.render()</span></code></p></li>
621 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.template.Context()</span></code></p></li>622 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.template.Context()</span></code></p></li>
Offset 695, 15 lines modifiedOffset 696, 15 lines modified
695 remain·for·compatibility·with·historical·migrations.</p></li>696 remain·for·compatibility·with·historical·migrations.</p></li>
696 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">AppCommand.handle_app()</span></code>·will·no·longer·be·supported.</p></li>697 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">AppCommand.handle_app()</span></code>·will·no·longer·be·supported.</p></li>
697 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">RequestSite</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">get_current_site()</span></code>·will·no·longer·be·importable·from698 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">RequestSite</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">get_current_site()</span></code>·will·no·longer·be·importable·from
698 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.sites.models</span></code>.</p></li>699 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.sites.models</span></code>.</p></li>
699 <li><p>FastCGI·support·via·the·<code·class="docutils·literal·notranslate"><span·class="pre">runfcgi</span></code>·management·command·will·be700 <li><p>FastCGI·support·via·the·<code·class="docutils·literal·notranslate"><span·class="pre">runfcgi</span></code>·management·command·will·be
700 removed.·Please·deploy·your·project·using·WSGI.</p></li>701 removed.·Please·deploy·your·project·using·WSGI.</p></li>
701 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.datastructures.SortedDict</span></code>·will·be·removed.·Use702 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.datastructures.SortedDict</span></code>·will·be·removed.·Use
702 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/collections.html#collections.OrderedDict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">collections.OrderedDict</span></code></a>·from·the·Python·standard·library·instead.</p></li>703 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/collections.html#collections.OrderedDict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">collections.OrderedDict</span></code></a>·from·the·Python·standard·library·instead.</p></li>
703 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.declared_fieldsets</span></code>·will·be·removed.</p></li>704 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.declared_fieldsets</span></code>·will·be·removed.</p></li>
704 <li><p>Instances·of·<code·class="docutils·literal·notranslate"><span·class="pre">util.py</span></code>·in·the·Django·codebase·have·been·renamed·to705 <li><p>Instances·of·<code·class="docutils·literal·notranslate"><span·class="pre">util.py</span></code>·in·the·Django·codebase·have·been·renamed·to
705 <code·class="docutils·literal·notranslate"><span·class="pre">utils.py</span></code>·in·an·effort·to·unify·all·util·and·utils·references.706 <code·class="docutils·literal·notranslate"><span·class="pre">utils.py</span></code>·in·an·effort·to·unify·all·util·and·utils·references.
706 The·modules·that·provided·backwards·compatibility·will·be·removed:</p>707 The·modules·that·provided·backwards·compatibility·will·be·removed:</p>
707 <ul>708 <ul>
708 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin.util</span></code></p></li>709 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin.util</span></code></p></li>
709 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.gis.db.backends.util</span></code></p></li>710 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.gis.db.backends.util</span></code></p></li>
Offset 811, 15 lines modifiedOffset 812, 15 lines modified
811 <code·class="docutils·literal·notranslate"><span·class="pre">django.forms.widgets.RadioChoiceInput</span></code>.</p></li>812 <code·class="docutils·literal·notranslate"><span·class="pre">django.forms.widgets.RadioChoiceInput</span></code>.</p></li>
812 <li><p>The·module·<code·class="docutils·literal·notranslate"><span·class="pre">django.test.simple</span></code>·and·the·class813 <li><p>The·module·<code·class="docutils·literal·notranslate"><span·class="pre">django.test.simple</span></code>·and·the·class
813 <code·class="docutils·literal·notranslate"><span·class="pre">django.test.simple.DjangoTestSuiteRunner</span></code>·will·be·removed.·Instead·use814 <code·class="docutils·literal·notranslate"><span·class="pre">django.test.simple.DjangoTestSuiteRunner</span></code>·will·be·removed.·Instead·use
814 <code·class="docutils·literal·notranslate"><span·class="pre">django.test.runner.DiscoverRunner</span></code>.</p></li>815 <code·class="docutils·literal·notranslate"><span·class="pre">django.test.runner.DiscoverRunner</span></code>.</p></li>
815 <li><p>The·module·<code·class="docutils·literal·notranslate"><span·class="pre">django.test._doctest</span></code>·will·be·removed.·Instead·use·the·doctest816 <li><p>The·module·<code·class="docutils·literal·notranslate"><span·class="pre">django.test._doctest</span></code>·will·be·removed.·Instead·use·the·doctest
816 module·from·the·Python·standard·library.</p></li>817 module·from·the·Python·standard·library.</p></li>
817 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">CACHE_MIDDLEWARE_ANONYMOUS_ONLY</span></code>·setting·will·be·removed.</p></li>818 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">CACHE_MIDDLEWARE_ANONYMOUS_ONLY</span></code>·setting·will·be·removed.</p></li>
818 <li><p>Usage·of·the·hard-coded·<em>Hold·down·Control,·or·Command·on·a·Mac,·to·select819 <li><p>Usage·of·the·hard-coded·<em>Hold·down·Control,·or·Command·on·a·Mac,·to·select
819 more·than·one.</em>·string·to·override·or·append·to·user-provided·<code·class="docutils·literal·notranslate"><span·class="pre">help_text</span></code>·in820 more·than·one.</em>·string·to·override·or·append·to·user-provided·<code·class="docutils·literal·notranslate"><span·class="pre">help_text</span></code>·in
820 forms·for·ManyToMany·model·fields·will·not·be·performed·by·Django·anymore821 forms·for·ManyToMany·model·fields·will·not·be·performed·by·Django·anymore
821 either·at·the·model·or·forms·layer.</p></li>822 either·at·the·model·or·forms·layer.</p></li>
822 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Model._meta.get_(add|change|delete)_permission</span></code>·methods·will823 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Model._meta.get_(add|change|delete)_permission</span></code>·methods·will
823 be·removed.</p></li>824 be·removed.</p></li>
824 <li><p>The·session·key·<code·class="docutils·literal·notranslate"><span·class="pre">django_language</span></code>·will·no·longer·be·read·for·backwards825 <li><p>The·session·key·<code·class="docutils·literal·notranslate"><span·class="pre">django_language</span></code>·will·no·longer·be·read·for·backwards
825 compatibility.</p></li>826 compatibility.</p></li>
Offset 832, 15 lines modifiedOffset 833, 15 lines modified
832 </section>833 </section>
833 <section·id="s-deprecation-removed-in-1-7">834 <section·id="s-deprecation-removed-in-1-7">
834 <span·id="s-id13"></span><span·id="deprecation-removed-in-1-7"></span><span·id="id13"></span><h2>1.7<a·class="headerlink"·href="#deprecation-removed-in-1-7"·title="Link·to·this·heading">¶</a></h2>835 <span·id="s-id13"></span><span·id="deprecation-removed-in-1-7"></span><span·id="id13"></span><h2>1.7<a·class="headerlink"·href="#deprecation-removed-in-1-7"·title="Link·to·this·heading">¶</a></h2>
835 <p>See·the·<a·class="reference·internal"·href="../releases/1.5.html#deprecated-features-1-5"><span·class="std·std-ref">Django·1.5·release·notes</span></a>·for·more836 <p>See·the·<a·class="reference·internal"·href="../releases/1.5.html#deprecated-features-1-5"><span·class="std·std-ref">Django·1.5·release·notes</span></a>·for·more
836 details·on·these·changes.</p>837 details·on·these·changes.</p>
837 <ul·class="simple">838 <ul·class="simple">
Max diff block lines reached; 9205/24278 bytes (37.91%) of diff not shown.
4.93 KB
html2text {}
Max HTML report size reached
9.48 KB
./usr/share/doc/python-django-doc/html/internals/git.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·Django·source·code·repository·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·Django·source·code·repository·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·is·Django·Formed?"·href="howto-release-django.html"·/>15 ····<link·rel="next"·title="How·is·Django·Formed?"·href="howto-release-django.html"·/>
15 ····<link·rel="prev"·title="Django·Deprecation·Timeline"·href="deprecation.html"·/>16 ····<link·rel="prev"·title="Django·Deprecation·Timeline"·href="deprecation.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 114, 15 lines modifiedOffset 115, 15 lines modified
114 </section>115 </section>
115 <section·id="s-the-main-branch">116 <section·id="s-the-main-branch">
116 <span·id="the-main-branch"></span><h2>The·main·branch<a·class="headerlink"·href="#the-main-branch"·title="Link·to·this·heading">¶</a></h2>117 <span·id="the-main-branch"></span><h2>The·main·branch<a·class="headerlink"·href="#the-main-branch"·title="Link·to·this·heading">¶</a></h2>
117 <p>If·you’d·like·to·try·out·the·in-development·code·for·the·next·release·of118 <p>If·you’d·like·to·try·out·the·in-development·code·for·the·next·release·of
118 Django,·or·if·you’d·like·to·contribute·to·Django·by·fixing·bugs·or·developing119 Django,·or·if·you’d·like·to·contribute·to·Django·by·fixing·bugs·or·developing
119 new·features,·you’ll·want·to·get·the·code·from·the·main·branch.</p>120 new·features,·you’ll·want·to·get·the·code·from·the·main·branch.</p>
120 <div·class="admonition·note">121 <div·class="admonition·note">
121 <p·class="admonition-title">Note</p>122 <p·class="admonition-title">rkus</p>
122 <p>Prior·to·March·2021,·the·main·branch·was·called·<code·class="docutils·literal·notranslate"><span·class="pre">master</span></code>.</p>123 <p>Prior·to·March·2021,·the·main·branch·was·called·<code·class="docutils·literal·notranslate"><span·class="pre">master</span></code>.</p>
123 </div>124 </div>
124 <p>Note·that·this·will·get·<em>all</em>·of·Django:·in·addition·to·the·top-level125 <p>Note·that·this·will·get·<em>all</em>·of·Django:·in·addition·to·the·top-level
125 <code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>·module·containing·Python·code,·you’ll·also·get·a·copy·of·Django’s126 <code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>·module·containing·Python·code,·you’ll·also·get·a·copy·of·Django’s
126 documentation,·test·suite,·packaging·scripts·and·other·miscellaneous·bits.127 documentation,·test·suite,·packaging·scripts·and·other·miscellaneous·bits.
127 Django’s·code·will·be·present·in·your·clone·as·a·directory·named128 Django’s·code·will·be·present·in·your·clone·as·a·directory·named
128 <code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>.</p>129 <code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>.</p>
Offset 253, 15 lines modifiedOffset 254, 15 lines modified
253 ······254 ······
254 ········255 ········
255 ··········<div·class="yui-b"·id="sidebar">256 ··········<div·class="yui-b"·id="sidebar">
256 ············257 ············
257 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">258 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
258 ········<div·class="sphinxsidebarwrapper">259 ········<div·class="sphinxsidebarwrapper">
259 ··<div>260 ··<div>
260 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>261 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
261 ····<ul>262 ····<ul>
262 <li><a·class="reference·internal"·href="#">The·Django·source·code·repository</a><ul>263 <li><a·class="reference·internal"·href="#">The·Django·source·code·repository</a><ul>
263 <li><a·class="reference·internal"·href="#high-level-overview">High-level·overview</a></li>264 <li><a·class="reference·internal"·href="#high-level-overview">High-level·overview</a></li>
264 <li><a·class="reference·internal"·href="#the-main-branch">The·main·branch</a></li>265 <li><a·class="reference·internal"·href="#the-main-branch">The·main·branch</a></li>
265 <li><a·class="reference·internal"·href="#stable-branches">Stable·branches</a></li>266 <li><a·class="reference·internal"·href="#stable-branches">Stable·branches</a></li>
266 <li><a·class="reference·internal"·href="#id1">Tags</a><ul>267 <li><a·class="reference·internal"·href="#id1">Tags</a><ul>
267 <li><a·class="reference·internal"·href="#archived-feature-development-work">Archived·feature-development·work</a></li>268 <li><a·class="reference·internal"·href="#archived-feature-development-work">Archived·feature-development·work</a></li>
Offset 269, 37 lines modifiedOffset 270, 37 lines modified
269 </li>270 </li>
270 </ul>271 </ul>
271 </li>272 </li>
272 </ul>273 </ul>
  
273 ··</div>274 ··</div>
274 ··<div>275 ··<div>
275 ····<h4>Previous·topic</h4>276 ····<h4>Eelmine·teema</h4>
276 ····<p·class="topless"><a·href="deprecation.html"277 ····<p·class="topless"><a·href="deprecation.html"
277 ··························title="previous·chapter">Django·Deprecation·Timeline</a></p>278 ··························title="eelmine·jaotis">Django·Deprecation·Timeline</a></p>
278 ··</div>279 ··</div>
279 ··<div>280 ··<div>
280 ····<h4>Next·topic</h4>281 ····<h4>Järgmine·teema</h4>
281 ····<p·class="topless"><a·href="howto-release-django.html"282 ····<p·class="topless"><a·href="howto-release-django.html"
282 ··························title="next·chapter">How·is·Django·Formed?</a></p>283 ··························title="järgmine·jaotis">How·is·Django·Formed?</a></p>
283 ··</div>284 ··</div>
284 <search·id="searchbox"·style="display:·none"·role="search">285 <search·id="searchbox"·style="display:·none"·role="search">
285 ··<h3·id="searchlabel">Quick·search</h3>286 ··<h3·id="searchlabel">Kiirotsing</h3>
286 ····<div·class="searchformwrapper">287 ····<div·class="searchformwrapper">
287 ····<form·class="search"·action="../search.html"·method="get">288 ····<form·class="search"·action="../search.html"·method="get">
288 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>289 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
289 ······<input·type="submit"·value="Go"·/>290 ······<input·type="submit"·value="Otsi"·/>
290 ····</form>291 ····</form>
291 ····</div>292 ····</div>
292 </search>293 </search>
293 <script>document.getElementById('searchbox').style.display·=·"block"</script>294 <script>document.getElementById('searchbox').style.display·=·"block"</script>
294 ········</div>295 ········</div>
295 ······</div>296 ······</div>
296 ··············<h3>Last·update:</h3>297 ··············<h3>Last·update:</h3>
297 ··············<p·class="topless">Nov·05,·2024</p>298 ··············<p·class="topless">nov·05,·2024</p>
298 ··········</div>299 ··········</div>
299 ········300 ········
300 ······301 ······
301 ····</div>302 ····</div>
  
302 ····<div·id="ft">303 ····<div·id="ft">
303 ······<div·class="nav">304 ······<div·class="nav">
3.8 KB
html2text {}
Max HTML report size reached
39.2 KB
./usr/share/doc/python-django-doc/html/internals/howto-release-django.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·is·Django·Formed?·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·is·Django·Formed?·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="prev"·title="The·Django·source·code·repository"·href="git.html"·/>15 ····<link·rel="prev"·title="The·Django·source·code·repository"·href="git.html"·/>
  
  
  
15 ·16 ·
16 <script·src="../templatebuiltins.js"></script>17 <script·src="../templatebuiltins.js"></script>
17 <script>18 <script>
Offset 52, 15 lines modifiedOffset 53, 15 lines modified
52 })(jQuery);</script>53 })(jQuery);</script>
  
53 ··</head><body>54 ··</head><body>
  
54 ····<div·class="document">55 ····<div·class="document">
55 ··<div·id="custom-doc"·class="yui-t6">56 ··<div·id="custom-doc"·class="yui-t6">
56 ····<div·id="hd">57 ····<div·id="hd">
57 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>58 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
58 ······<div·id="global-nav">59 ······<div·id="global-nav">
59 ········<a·title="Home·page"·href="../index.html">Home</a>··|60 ········<a·title="Home·page"·href="../index.html">Home</a>··|
60 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
61 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
62 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
63 ······</div>64 ······</div>
64 ······<div·class="nav">65 ······<div·class="nav">
Offset 126, 15 lines modifiedOffset 127, 15 lines modified
126 Linux,·or·<code·class="docutils·literal·notranslate"><span·class="pre">md5</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">shasum</span></code>·on·macOS)</p></li>127 Linux,·or·<code·class="docutils·literal·notranslate"><span·class="pre">md5</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">shasum</span></code>·on·macOS)</p></li>
127 <li><p>python</p></li>128 <li><p>python</p></li>
128 <li><p>ssh</p></li>129 <li><p>ssh</p></li>
129 </ul>130 </ul>
130 </li>131 </li>
131 <li><p>A·GPG·key·pair.·Ensure·that·the·private·part·of·this·key·is·securely·stored.132 <li><p>A·GPG·key·pair.·Ensure·that·the·private·part·of·this·key·is·securely·stored.
132 The·public·part·needs·to·be·uploaded·to·your·GitHub·account,·and·also·to·the133 The·public·part·needs·to·be·uploaded·to·your·GitHub·account,·and·also·to·the
133 Jenkins·server·running·the·confirm·release·job.</p>134 Jenkins·server·running·the·confirm·release·job.</p>
134 <div·class="admonition-more-than-one-gpg-key·admonition">135 <div·class="admonition-more-than-one-gpg-key·admonition">
135 <p·class="admonition-title">More·than·one·GPG·key</p>136 <p·class="admonition-title">More·than·one·GPG·key</p>
136 <p>If·the·key·you·want·to·use·is·not·your·default·signing·key,·you’ll·need·to137 <p>If·the·key·you·want·to·use·is·not·your·default·signing·key,·you’ll·need·to
137 add·<code·class="docutils·literal·notranslate"><span·class="pre">-u</span>·<span·class="pre">you&#64;example.com</span></code>·to·every·GPG·signing·command·shown·below,·where138 add·<code·class="docutils·literal·notranslate"><span·class="pre">-u</span>·<span·class="pre">you&#64;example.com</span></code>·to·every·GPG·signing·command·shown·below,·where
138 <code·class="docutils·literal·notranslate"><span·class="pre">you&#64;example.com</span></code>·is·the·email·address·associated·with·the·key·you·want139 <code·class="docutils·literal·notranslate"><span·class="pre">you&#64;example.com</span></code>·is·the·email·address·associated·with·the·key·you·want
139 to·use.</p>140 to·use.</p>
140 </div>141 </div>
Offset 177, 15 lines modifiedOffset 178, 15 lines modified
177 <span·class="w">··</span><span·class="na">rest_hostname</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">https://rest.api.transifex.com</span>178 <span·class="w">··</span><span·class="na">rest_hostname</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s">https://rest.api.transifex.com</span>
178 <span·class="w">··</span><span·class="na">token</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="c1">#·API·token</span>179 <span·class="w">··</span><span·class="na">token</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="c1">#·API·token</span>
179 </pre></div>180 </pre></div>
180 </div>181 </div>
181 </div>182 </div>
182 </li>183 </li>
183 <li><p>Access·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">djangoproject.com</span></code>·server·to·upload·files·(using·<code·class="docutils·literal·notranslate"><span·class="pre">scp</span></code>).</p></li>184 <li><p>Access·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">djangoproject.com</span></code>·server·to·upload·files·(using·<code·class="docutils·literal·notranslate"><span·class="pre">scp</span></code>).</p></li>
184 <li><p>Access·to·the·Django·admin·on·<code·class="docutils·literal·notranslate"><span·class="pre">djangoproject.com</span></code>·as·a·Site·maintainer.</p></li>185 <li><p>Access·to·the·Django·admin·on·<code·class="docutils·literal·notranslate"><span·class="pre">djangoproject.com</span></code>·as·a·Site·maintainer.</p></li>
185 <li><p>Access·to·create·a·post·in·the·<a·class="reference·external"·href="https://forum.djangoproject.com/c/announcements/7">Django·Forum·-·Announcements·category</a>·and·to··send·emails·to186 <li><p>Access·to·create·a·post·in·the·<a·class="reference·external"·href="https://forum.djangoproject.com/c/announcements/7">Django·Forum·-·Announcements·category</a>·and·to··send·emails·to
186 the·following·mailing·lists:</p>187 the·following·mailing·lists:</p>
187 <ul·class="simple">188 <ul·class="simple">
188 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-users/">django-users</a></p></li>189 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-users/">django-users</a></p></li>
189 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-developers/">django-developers</a></p></li>190 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-developers/">django-developers</a></p></li>
190 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-announce/">django-announce</a></p></li>191 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-announce/">django-announce</a></p></li>
191 </ul>192 </ul>
Offset 272, 15 lines modifiedOffset 273, 15 lines modified
272 <code·class="docutils·literal·notranslate"><span·class="pre">POT-Creation-Date</span></code>.·You·can·use·a·command·similar·to·this·to·bulk·update273 <code·class="docutils·literal·notranslate"><span·class="pre">POT-Creation-Date</span></code>.·You·can·use·a·command·similar·to·this·to·bulk·update
273 all·the·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·files·(compare·the·diff·against·the·relevant·stable·branch):</p>274 all·the·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·files·(compare·the·diff·against·the·relevant·stable·branch):</p>
274 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>git<span·class="w">·</span>diff<span·class="w">·</span>--name-only<span·class="w">·</span>stable/5.0.x<span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>grep<span·class="w">·</span><span·class="s2">&quot;\.po&quot;</span><span·class="w">··</span><span·class="p">|</span><span·class="w">·</span>xargs<span·class="w">·</span>sed<span·class="w">·</span>-ri<span·class="w">·</span><span·class="s2">&quot;s/PO-Revision-Date:·[0-9\-]+·/PO-Revision-Date:·</span><span·class="k">$(</span>date<span·class="w">·</span>-I<span·class="k">)</span><span·class="s2">·/g&quot;</span>275 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>git<span·class="w">·</span>diff<span·class="w">·</span>--name-only<span·class="w">·</span>stable/5.0.x<span·class="w">·</span><span·class="p">|</span><span·class="w">·</span>grep<span·class="w">·</span><span·class="s2">&quot;\.po&quot;</span><span·class="w">··</span><span·class="p">|</span><span·class="w">·</span>xargs<span·class="w">·</span>sed<span·class="w">·</span>-ri<span·class="w">·</span><span·class="s2">&quot;s/PO-Revision-Date:·[0-9\-]+·/PO-Revision-Date:·</span><span·class="k">$(</span>date<span·class="w">·</span>-I<span·class="k">)</span><span·class="s2">·/g&quot;</span>
275 </pre></div>276 </pre></div>
276 </div>277 </div>
277 <p>All·the·new·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·files·should·be·manually·and·carefully·inspected·to278 <p>All·the·new·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·files·should·be·manually·and·carefully·inspected·to
278 avoid·committing·a·change·in·a·file·without·any·new·translations.·Also,279 avoid·committing·a·change·in·a·file·without·any·new·translations.·Also,
279 there·shouldn’t·be·any·changes·in·the·plural·forms:·if·there·are·any280 there·shouldn’t·be·any·changes·in·the·plural·forms:·if·there·are·any
280 (usually·Spanish·and·French·report·changes·for·this)·those·will·need281 (usually·Spanish·and·French·report·changes·for·this)·those·will·need
281 reverting.</p>282 reverting.</p>
282 <p>Lastly,·commit·the·changed/added·files·(both·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">.mo</span></code>)·and·create283 <p>Lastly,·commit·the·changed/added·files·(both·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">.mo</span></code>)·and·create
283 a·new·PR·targeting·the·stable·branch·of·the·corresponding·release·(example284 a·new·PR·targeting·the·stable·branch·of·the·corresponding·release·(example
284 <a·class="reference·external"·href="https://github.com/django/django/pull/16715">PR·updating·translations·for·4.2</a>).</p>285 <a·class="reference·external"·href="https://github.com/django/django/pull/16715">PR·updating·translations·for·4.2</a>).</p>
285 </li>286 </li>
286 <li><p><a·class="reference·internal"·href="contributing/writing-documentation.html#django-admin-manpage"><span·class="std·std-ref">Update·the·django-admin·manual·page</span></a>:</p>287 <li><p><a·class="reference·internal"·href="contributing/writing-documentation.html#django-admin-manpage"><span·class="std·std-ref">Update·the·django-admin·manual·page</span></a>:</p>
Offset 299, 15 lines modifiedOffset 300, 15 lines modified
299 </pre></div>300 </pre></div>
300 </div>301 </div>
301 <p>At·the·same·time,·update·the·<code·class="docutils·literal·notranslate"><span·class="pre">django_next_version</span></code>·variable·in302 <p>At·the·same·time,·update·the·<code·class="docutils·literal·notranslate"><span·class="pre">django_next_version</span></code>·variable·in
302 <code·class="docutils·literal·notranslate"><span·class="pre">docs/conf.py</span></code>·on·the·stable·release·branch·to·point·to·the·new303 <code·class="docutils·literal·notranslate"><span·class="pre">docs/conf.py</span></code>·on·the·stable·release·branch·to·point·to·the·new
303 development·version.·For·example,·when·creating·<code·class="docutils·literal·notranslate"><span·class="pre">stable/4.2.x</span></code>,·set304 development·version.·For·example,·when·creating·<code·class="docutils·literal·notranslate"><span·class="pre">stable/4.2.x</span></code>,·set
304 <code·class="docutils·literal·notranslate"><span·class="pre">django_next_version</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">'5.0'</span></code>·on·the·new·branch.</p>305 <code·class="docutils·literal·notranslate"><span·class="pre">django_next_version</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">'5.0'</span></code>·on·the·new·branch.</p>
305 </li>306 </li>
306 <li><p>If·this·is·the·dot·zero·release·of·a·new·series,·create·a·new·branch·from307 <li><p>If·this·is·the·dot·zero·release·of·a·new·series,·create·a·new·branch·from
307 the·current·stable·branch·in·the·<a·class="reference·external"·href="https://github.com/django/django-docs-translations">django-docs-translations</a>·repository.·For308 the·current·stable·branch·in·the·<a·class="reference·external"·href="https://github.com/django/django-docs-translations">django-docs-translations</a>·repository.·For
308 example,·when·releasing·Django·4.2:</p>309 example,·when·releasing·Django·4.2:</p>
309 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>git<span·class="w">·</span>checkout<span·class="w">·</span>-b<span·class="w">·</span>stable/4.2.x<span·class="w">·</span>origin/stable/4.1.x310 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>git<span·class="w">·</span>checkout<span·class="w">·</span>-b<span·class="w">·</span>stable/4.2.x<span·class="w">·</span>origin/stable/4.1.x
310 $<span·class="w">·</span>git<span·class="w">·</span>push<span·class="w">·</span>origin<span·class="w">·</span>stable/4.2.x:stable/4.2.x311 $<span·class="w">·</span>git<span·class="w">·</span>push<span·class="w">·</span>origin<span·class="w">·</span>stable/4.2.x:stable/4.2.x
311 </pre></div>312 </pre></div>
312 </div>313 </div>
313 </li>314 </li>
Offset 365, 15 lines modifiedOffset 366, 15 lines modified
365 that·the·commit·is·a·security·fix·and·that·an·announcement·will·follow366 that·the·commit·is·a·security·fix·and·that·an·announcement·will·follow
366 (<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/bf39978a53f117ca02e9a0c78b76664a41a54745">example·security·commit</a>).</p>367 (<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/bf39978a53f117ca02e9a0c78b76664a41a54745">example·security·commit</a>).</p>
367 </li>368 </li>
368 <li><p>Update·the·version·number·in·<code·class="docutils·literal·notranslate"><span·class="pre">django/__init__.py</span></code>·for·the·release.369 <li><p>Update·the·version·number·in·<code·class="docutils·literal·notranslate"><span·class="pre">django/__init__.py</span></code>·for·the·release.
369 Please·see·<a·class="reference·internal"·href="#notes-on-setting-the-version-tuple">notes·on·setting·the·VERSION·tuple</a>·below·for·details370 Please·see·<a·class="reference·internal"·href="#notes-on-setting-the-version-tuple">notes·on·setting·the·VERSION·tuple</a>·below·for·details
370 on·<code·class="docutils·literal·notranslate"><span·class="pre">VERSION</span></code>·(<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/2719a7f8c161233f45d34b624a9df9392c86cc1b">example·commit</a>).</p>371 on·<code·class="docutils·literal·notranslate"><span·class="pre">VERSION</span></code>·(<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/2719a7f8c161233f45d34b624a9df9392c86cc1b">example·commit</a>).</p>
371 <ol·class="arabic·simple">372 <ol·class="arabic·simple">
372 <li><p>If·this·is·a·pre-release·package·also·update·the·Development·Status373 <li><p>If·this·is·a·pre-release·package·also·update·the·Development·Status
373 trove·classifier·in·<code·class="docutils·literal·notranslate"><span·class="pre">pyproject.toml</span></code>·to·reflect·this.·An·<code·class="docutils·literal·notranslate"><span·class="pre">rc</span></code>374 trove·classifier·in·<code·class="docutils·literal·notranslate"><span·class="pre">pyproject.toml</span></code>·to·reflect·this.·An·<code·class="docutils·literal·notranslate"><span·class="pre">rc</span></code>
374 pre-release·should·not·change·the·trove·classifier·(<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/eeeacc52a967234e920c001b7908c4acdfd7a848">example375 pre-release·should·not·change·the·trove·classifier·(<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/eeeacc52a967234e920c001b7908c4acdfd7a848">example
375 commit·for·alpha·release</a>,376 commit·for·alpha·release</a>,
376 <a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/25fec8940b24107e21314ab6616e18ce8dec1c1c">example·commit·for·beta·release</a>).</p></li>377 <a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/25fec8940b24107e21314ab6616e18ce8dec1c1c">example·commit·for·beta·release</a>).</p></li>
377 <li><p>Otherwise,·make·sure·the·classifier·is·set·to378 <li><p>Otherwise,·make·sure·the·classifier·is·set·to
378 <code·class="docutils·literal·notranslate"><span·class="pre">Development</span>·<span·class="pre">Status</span>·<span·class="pre">::</span>·<span·class="pre">5</span>·<span·class="pre">-</span>·<span·class="pre">Production/Stable</span></code>.</p></li>379 <code·class="docutils·literal·notranslate"><span·class="pre">Development</span>·<span·class="pre">Status</span>·<span·class="pre">::</span>·<span·class="pre">5</span>·<span·class="pre">-</span>·<span·class="pre">Production/Stable</span></code>.</p></li>
379 </ol>380 </ol>
Offset 397, 15 lines modifiedOffset 398, 15 lines modified
397 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span><span·class="nb">cd</span><span·class="w">·</span>dist398 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span><span·class="nb">cd</span><span·class="w">·</span>dist
398 $<span·class="w">·</span>md5sum<span·class="w">·</span>*399 $<span·class="w">·</span>md5sum<span·class="w">·</span>*
399 $<span·class="w">·</span>sha1sum<span·class="w">·</span>*400 $<span·class="w">·</span>sha1sum<span·class="w">·</span>*
400 $<span·class="w">·</span>sha256sum<span·class="w">·</span>*401 $<span·class="w">·</span>sha256sum<span·class="w">·</span>*
401 </pre></div>402 </pre></div>
402 </div>403 </div>
403 </li>404 </li>
Max diff block lines reached; 12682/23703 bytes (53.50%) of diff not shown.
15.9 KB
html2text {}
Max HTML report size reached
6.94 KB
./usr/share/doc/python-django-doc/html/internals/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·internals·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·internals·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Contributing·to·Django"·href="contributing/index.html"·/>15 ····<link·rel="next"·title="Contributing·to·Django"·href="contributing/index.html"·/>
15 ····<link·rel="prev"·title="Archive·of·security·issues"·href="../releases/security.html"·/>16 ····<link·rel="prev"·title="Archive·of·security·issues"·href="../releases/security.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="../releases/security.html"·title="Archive·of·security·issues">previous</a>67 ····&laquo;·<a·href="../releases/security.html"·title="Archive·of·security·issues">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="contributing/index.html"·title="Contributing·to·Django">next</a>·&raquo;</div>71 ····<a·href="contributing/index.html"·title="Contributing·to·Django">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 172, 47 lines modifiedOffset 173, 47 lines modified
172 ······173 ······
173 ········174 ········
174 ··········<div·class="yui-b"·id="sidebar">175 ··········<div·class="yui-b"·id="sidebar">
175 ············176 ············
176 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">177 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
177 ········<div·class="sphinxsidebarwrapper">178 ········<div·class="sphinxsidebarwrapper">
178 ··<div>179 ··<div>
179 ····<h4>Previous·topic</h4>180 ····<h4>Eelmine·teema</h4>
180 ····<p·class="topless"><a·href="../releases/security.html"181 ····<p·class="topless"><a·href="../releases/security.html"
181 ··························title="previous·chapter">Archive·of·security·issues</a></p>182 ··························title="eelmine·jaotis">Archive·of·security·issues</a></p>
182 ··</div>183 ··</div>
183 ··<div>184 ··<div>
184 ····<h4>Next·topic</h4>185 ····<h4>Järgmine·teema</h4>
185 ····<p·class="topless"><a·href="contributing/index.html"186 ····<p·class="topless"><a·href="contributing/index.html"
186 ··························title="next·chapter">Contributing·to·Django</a></p>187 ··························title="järgmine·jaotis">Contributing·to·Django</a></p>
187 ··</div>188 ··</div>
188 <search·id="searchbox"·style="display:·none"·role="search">189 <search·id="searchbox"·style="display:·none"·role="search">
189 ··<h3·id="searchlabel">Quick·search</h3>190 ··<h3·id="searchlabel">Kiirotsing</h3>
190 ····<div·class="searchformwrapper">191 ····<div·class="searchformwrapper">
191 ····<form·class="search"·action="../search.html"·method="get">192 ····<form·class="search"·action="../search.html"·method="get">
192 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>193 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
193 ······<input·type="submit"·value="Go"·/>194 ······<input·type="submit"·value="Otsi"·/>
194 ····</form>195 ····</form>
195 ····</div>196 ····</div>
196 </search>197 </search>
197 <script>document.getElementById('searchbox').style.display·=·"block"</script>198 <script>document.getElementById('searchbox').style.display·=·"block"</script>
198 ········</div>199 ········</div>
199 ······</div>200 ······</div>
200 ··············<h3>Last·update:</h3>201 ··············<h3>Last·update:</h3>
201 ··············<p·class="topless">Nov·05,·2024</p>202 ··············<p·class="topless">nov·05,·2024</p>
202 ··········</div>203 ··········</div>
203 ········204 ········
204 ······205 ······
205 ····</div>206 ····</div>
  
206 ····<div·id="ft">207 ····<div·id="ft">
207 ······<div·class="nav">208 ······<div·class="nav">
208 ····&laquo;·<a·href="../releases/security.html"·title="Archive·of·security·issues">previous</a>209 ····&laquo;·<a·href="../releases/security.html"·title="Archive·of·security·issues">previous</a>
209 ·····|210 ·····|
210 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>211 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
211 ···|212 ···|
212 ····<a·href="contributing/index.html"·title="Contributing·to·Django">next</a>·&raquo;</div>213 ····<a·href="contributing/index.html"·title="Contributing·to·Django">next</a>·&raquo;</div>
213 ····</div>214 ····</div>
214 ··</div>215 ··</div>
  
215 ······<div·class="clearer"></div>216 ······<div·class="clearer"></div>
216 ····</div>217 ····</div>
2.23 KB
html2text {}
Max HTML report size reached
14.8 KB
./usr/share/doc/python-django-doc/html/internals/mailing-lists.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Mailing·lists·and·Forum·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Mailing·lists·and·Forum·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Organization·of·the·Django·Project"·href="organization.html"·/>15 ····<link·rel="next"·title="Organization·of·the·Django·Project"·href="organization.html"·/>
15 ····<link·rel="prev"·title="Triaging·tickets"·href="contributing/triaging-tickets.html"·/>16 ····<link·rel="prev"·title="Triaging·tickets"·href="contributing/triaging-tickets.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="internals-mailing-lists">79 ··········<div·class="yui-g"·id="internals-mailing-lists">
79 ············80 ············
80 ··<section·id="s-mailing-lists-and-forum">81 ··<section·id="s-mailing-lists-and-forum">
81 <span·id="mailing-lists-and-forum"></span><h1>Mailing·lists·and·Forum<a·class="headerlink"·href="#mailing-lists-and-forum"·title="Link·to·this·heading">¶</a></h1>82 <span·id="mailing-lists-and-forum"></span><h1>Mailing·lists·and·Forum<a·class="headerlink"·href="#mailing-lists-and-forum"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·important">83 <div·class="admonition·important">
83 <p·class="admonition-title">Important</p>84 <p·class="admonition-title">Tähtis</p>
84 <p>Please·report·security·issues·<strong>only</strong>·to85 <p>Please·report·security·issues·<strong>only</strong>·to
85 <a·class="reference·external"·href="mailto:security&#37;&#52;&#48;djangoproject&#46;com">security<span>&#64;</span>djangoproject<span>&#46;</span>com</a>.··This·is·a·private·list·only·open·to86 <a·class="reference·external"·href="mailto:security&#37;&#52;&#48;djangoproject&#46;com">security<span>&#64;</span>djangoproject<span>&#46;</span>com</a>.··This·is·a·private·list·only·open·to
86 long-time,·highly·trusted·Django·developers,·and·its·archives·are87 long-time,·highly·trusted·Django·developers,·and·its·archives·are
87 not·public.·For·further·details,·please·see·<a·class="reference·internal"·href="security.html"><span·class="doc">our·security88 not·public.·For·further·details,·please·see·<a·class="reference·internal"·href="security.html"><span·class="doc">our·security
88 policies</span></a>.</p>89 policies</span></a>.</p>
89 </div>90 </div>
90 <section·id="s-django-forum">91 <section·id="s-django-forum">
Offset 98, 44 lines modifiedOffset 99, 44 lines modified
98 </ul>99 </ul>
99 <p>In·addition,·Django·has·several·official·mailing·lists·on·Google·Groups·that100 <p>In·addition,·Django·has·several·official·mailing·lists·on·Google·Groups·that
100 are·open·to·anyone.</p>101 are·open·to·anyone.</p>
101 </section>102 </section>
102 <section·id="s-django-users">103 <section·id="s-django-users">
103 <span·id="s-django-users-mailing-list"></span><span·id="django-users"></span><span·id="django-users-mailing-list"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">django-users</span></code><a·class="headerlink"·href="#django-users"·title="Link·to·this·heading">¶</a></h2>104 <span·id="s-django-users-mailing-list"></span><span·id="django-users"></span><span·id="django-users-mailing-list"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">django-users</span></code><a·class="headerlink"·href="#django-users"·title="Link·to·this·heading">¶</a></h2>
104 <div·class="admonition·note">105 <div·class="admonition·note">
105 <p·class="admonition-title">Note</p>106 <p·class="admonition-title">rkus</p>
106 <p>The·<a·class="reference·external"·href="https://forum.djangoproject.com/c/users/6">Using·Django</a>·category·of·the·<a·class="reference·external"·href="https://forum.djangoproject.com">official·Forum</a>·is·now·the·preferred107 <p>The·<a·class="reference·external"·href="https://forum.djangoproject.com/c/users/6">Using·Django</a>·category·of·the·<a·class="reference·external"·href="https://forum.djangoproject.com">official·Forum</a>·is·now·the·preferred
107 venue·for·asking·usage·questions.</p>108 venue·for·asking·usage·questions.</p>
108 </div>109 </div>
109 <p>This·is·the·right·place·if·you·are·looking·to·ask·any·question·regarding·the110 <p>This·is·the·right·place·if·you·are·looking·to·ask·any·question·regarding·the
110 installation,·usage,·or·debugging·of·Django.</p>111 installation,·usage,·or·debugging·of·Django.</p>
111 <div·class="admonition·note">112 <div·class="admonition·note">
112 <p·class="admonition-title">Note</p>113 <p·class="admonition-title">rkus</p>
113 <p>If·it’s·the·first·time·you·send·an·email·to·this·list,·your·email·must·be114 <p>If·it’s·the·first·time·you·send·an·email·to·this·list,·your·email·must·be
114 accepted·first·so·don’t·worry·if·<a·class="reference·internal"·href="../faq/help.html#message-does-not-appear-on-django-users"><span·class="std·std-ref">your·message·does·not·appear</span></a>·instantly.</p>115 accepted·first·so·don’t·worry·if·<a·class="reference·internal"·href="../faq/help.html#message-does-not-appear-on-django-users"><span·class="std·std-ref">your·message·does·not·appear</span></a>·instantly.</p>
115 </div>116 </div>
116 <ul·class="simple">117 <ul·class="simple">
117 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-users">django-users·mailing·archive</a></p></li>118 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-users">django-users·mailing·archive</a></p></li>
118 <li><p><a·class="reference·external"·href="mailto:django-users+subscribe&#37;&#52;&#48;googlegroups&#46;com">django-users·subscription·email·address</a></p></li>119 <li><p><a·class="reference·external"·href="mailto:django-users+subscribe&#37;&#52;&#48;googlegroups&#46;com">django-users·subscription·email·address</a></p></li>
119 <li><p><a·class="reference·external"·href="mailto:django-users&#37;&#52;&#48;googlegroups&#46;com">django-users·posting·email</a></p></li>120 <li><p><a·class="reference·external"·href="mailto:django-users&#37;&#52;&#48;googlegroups&#46;com">django-users·posting·email</a></p></li>
120 </ul>121 </ul>
121 </section>122 </section>
122 <section·id="s-django-developers">123 <section·id="s-django-developers">
123 <span·id="s-django-developers-mailing-list"></span><span·id="django-developers"></span><span·id="django-developers-mailing-list"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">django-developers</span></code><a·class="headerlink"·href="#django-developers"·title="Link·to·this·heading">¶</a></h2>124 <span·id="s-django-developers-mailing-list"></span><span·id="django-developers"></span><span·id="django-developers-mailing-list"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">django-developers</span></code><a·class="headerlink"·href="#django-developers"·title="Link·to·this·heading">¶</a></h2>
124 <div·class="admonition·note">125 <div·class="admonition·note">
125 <p·class="admonition-title">Note</p>126 <p·class="admonition-title">rkus</p>
126 <p>The·<a·class="reference·external"·href="https://forum.djangoproject.com/c/internals/5">Internals</a>·category·of·the·<a·class="reference·external"·href="https://forum.djangoproject.com">official·Forum</a>·is·now·the·preferred127 <p>The·<a·class="reference·external"·href="https://forum.djangoproject.com/c/internals/5">Internals</a>·category·of·the·<a·class="reference·external"·href="https://forum.djangoproject.com">official·Forum</a>·is·now·the·preferred
127 venue·for·discussing·the·development·of·Django.</p>128 venue·for·discussing·the·development·of·Django.</p>
128 </div>129 </div>
129 <p>The·discussion·about·the·development·of·Django·itself·takes·place·here.</p>130 <p>The·discussion·about·the·development·of·Django·itself·takes·place·here.</p>
130 <p>Before·asking·a·question·about·how·to·contribute,·read131 <p>Before·asking·a·question·about·how·to·contribute,·read
131 <a·class="reference·internal"·href="contributing/index.html"><span·class="doc">Contributing·to·Django</span></a>.·Many·frequently·asked·questions·are132 <a·class="reference·internal"·href="contributing/index.html"><span·class="doc">Contributing·to·Django</span></a>.·Many·frequently·asked·questions·are
132 answered·there.</p>133 answered·there.</p>
133 <div·class="admonition·note">134 <div·class="admonition·note">
134 <p·class="admonition-title">Note</p>135 <p·class="admonition-title">rkus</p>
135 <p>Please·make·use·of136 <p>Please·make·use·of
136 <a·class="reference·internal"·href="#django-users-mailing-list"><span·class="std·std-ref">django-users·mailing·list</span></a>·if·you·want137 <a·class="reference·internal"·href="#django-users-mailing-list"><span·class="std·std-ref">django-users·mailing·list</span></a>·if·you·want
137 to·ask·for·tech·support,·doing·so·in·this·list·is·inappropriate.</p>138 to·ask·for·tech·support,·doing·so·in·this·list·is·inappropriate.</p>
138 </div>139 </div>
139 <ul·class="simple">140 <ul·class="simple">
140 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-developers">django-developers·mailing·archive</a></p></li>141 <li><p><a·class="reference·external"·href="https://groups.google.com/g/django-developers">django-developers·mailing·archive</a></p></li>
141 <li><p><a·class="reference·external"·href="mailto:django-developers+subscribe&#37;&#52;&#48;googlegroups&#46;com">django-developers·subscription·email·address</a></p></li>142 <li><p><a·class="reference·external"·href="mailto:django-developers+subscribe&#37;&#52;&#48;googlegroups&#46;com">django-developers·subscription·email·address</a></p></li>
Offset 170, 51 lines modifiedOffset 171, 51 lines modified
170 ······171 ······
171 ········172 ········
172 ··········<div·class="yui-b"·id="sidebar">173 ··········<div·class="yui-b"·id="sidebar">
173 ············174 ············
174 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">175 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
175 ········<div·class="sphinxsidebarwrapper">176 ········<div·class="sphinxsidebarwrapper">
176 ··<div>177 ··<div>
177 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>178 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
178 ····<ul>179 ····<ul>
179 <li><a·class="reference·internal"·href="#">Mailing·lists·and·Forum</a><ul>180 <li><a·class="reference·internal"·href="#">Mailing·lists·and·Forum</a><ul>
180 <li><a·class="reference·internal"·href="#django-forum">Django·Forum</a></li>181 <li><a·class="reference·internal"·href="#django-forum">Django·Forum</a></li>
181 <li><a·class="reference·internal"·href="#django-users"><code·class="docutils·literal·notranslate"><span·class="pre">django-users</span></code></a></li>182 <li><a·class="reference·internal"·href="#django-users"><code·class="docutils·literal·notranslate"><span·class="pre">django-users</span></code></a></li>
182 <li><a·class="reference·internal"·href="#django-developers"><code·class="docutils·literal·notranslate"><span·class="pre">django-developers</span></code></a></li>183 <li><a·class="reference·internal"·href="#django-developers"><code·class="docutils·literal·notranslate"><span·class="pre">django-developers</span></code></a></li>
183 <li><a·class="reference·internal"·href="#django-announce"><code·class="docutils·literal·notranslate"><span·class="pre">django-announce</span></code></a></li>184 <li><a·class="reference·internal"·href="#django-announce"><code·class="docutils·literal·notranslate"><span·class="pre">django-announce</span></code></a></li>
184 <li><a·class="reference·internal"·href="#django-updates"><code·class="docutils·literal·notranslate"><span·class="pre">django-updates</span></code></a></li>185 <li><a·class="reference·internal"·href="#django-updates"><code·class="docutils·literal·notranslate"><span·class="pre">django-updates</span></code></a></li>
185 </ul>186 </ul>
186 </li>187 </li>
187 </ul>188 </ul>
  
188 ··</div>189 ··</div>
189 ··<div>190 ··<div>
190 ····<h4>Previous·topic</h4>191 ····<h4>Eelmine·teema</h4>
191 ····<p·class="topless"><a·href="contributing/triaging-tickets.html"192 ····<p·class="topless"><a·href="contributing/triaging-tickets.html"
192 ··························title="previous·chapter">Triaging·tickets</a></p>193 ··························title="eelmine·jaotis">Triaging·tickets</a></p>
193 ··</div>194 ··</div>
194 ··<div>195 ··<div>
Max diff block lines reached; 1047/9388 bytes (11.15%) of diff not shown.
5.5 KB
html2text {}
Max HTML report size reached
9.38 KB
./usr/share/doc/python-django-doc/html/internals/organization.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Organization·of·the·Django·Project·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Organization·of·the·Django·Project·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django’s·security·policies"·href="security.html"·/>15 ····<link·rel="next"·title="Django’s·security·policies"·href="security.html"·/>
15 ····<link·rel="prev"·title="Mailing·lists·and·Forum"·href="mailing-lists.html"·/>16 ····<link·rel="prev"·title="Mailing·lists·and·Forum"·href="mailing-lists.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 321, 15 lines modifiedOffset 322, 15 lines modified
321 <li><p>Becoming·disqualified·due·to·actions·taken·by·the·Code·of·Conduct·committee322 <li><p>Becoming·disqualified·due·to·actions·taken·by·the·Code·of·Conduct·committee
322 of·the·Django·Software·Foundation.</p></li>323 of·the·Django·Software·Foundation.</p></li>
323 <li><p>Determining·that·they·did·not·possess·the·qualifications·of·a·member·of·the324 <li><p>Determining·that·they·did·not·possess·the·qualifications·of·a·member·of·the
324 steering·council.·This·determination·must·be·made·jointly·by·the·other·members325 steering·council.·This·determination·must·be·made·jointly·by·the·other·members
325 of·the·steering·council,·and·the·<a·class="reference·external"·href="https://www.djangoproject.com/foundation/#board">DSF·Board</a>.·A·valid·determination·of326 of·the·steering·council,·and·the·<a·class="reference·external"·href="https://www.djangoproject.com/foundation/#board">DSF·Board</a>.·A·valid·determination·of
326 ineligibility·requires·that·all·other·members·of·the·steering·council·and·all327 ineligibility·requires·that·all·other·members·of·the·steering·council·and·all
327 members·of·the·DSF·Board·vote·who·can·vote·on·the·issue·(the·affected·person,328 members·of·the·DSF·Board·vote·who·can·vote·on·the·issue·(the·affected·person,
328 if·a·DSF·Board·member,·must·not·vote)·vote·yes·on·a·motion·that·the·person329 if·a·DSF·Board·member,·must·not·vote)·vote·yes·on·a·motion·that·the·person
329 in·question·is·ineligible.</p></li>330 in·question·is·ineligible.</p></li>
330 </ul>331 </ul>
331 </section>332 </section>
332 </section>333 </section>
333 <section·id="s-changing-the-organization">334 <section·id="s-changing-the-organization">
334 <span·id="s-organization-change"></span><span·id="changing-the-organization"></span><span·id="organization-change"></span><h2>Changing·the·organization<a·class="headerlink"·href="#changing-the-organization"·title="Link·to·this·heading">¶</a></h2>335 <span·id="s-organization-change"></span><span·id="changing-the-organization"></span><span·id="organization-change"></span><h2>Changing·the·organization<a·class="headerlink"·href="#changing-the-organization"·title="Link·to·this·heading">¶</a></h2>
335 <p>Changes·to·this·document·require·the·use·of·the·<a·class="reference·external"·href="https://github.com/django/deps/blob/main/final/0001-dep-process.rst">DEP·process</a>,·with336 <p>Changes·to·this·document·require·the·use·of·the·<a·class="reference·external"·href="https://github.com/django/deps/blob/main/final/0001-dep-process.rst">DEP·process</a>,·with
Offset 344, 15 lines modifiedOffset 345, 15 lines modified
344 ······345 ······
345 ········346 ········
346 ··········<div·class="yui-b"·id="sidebar">347 ··········<div·class="yui-b"·id="sidebar">
347 ············348 ············
348 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">349 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
349 ········<div·class="sphinxsidebarwrapper">350 ········<div·class="sphinxsidebarwrapper">
350 ··<div>351 ··<div>
351 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>352 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
352 ····<ul>353 ····<ul>
353 <li><a·class="reference·internal"·href="#">Organization·of·the·Django·Project</a><ul>354 <li><a·class="reference·internal"·href="#">Organization·of·the·Django·Project</a><ul>
354 <li><a·class="reference·internal"·href="#principles">Principles</a></li>355 <li><a·class="reference·internal"·href="#principles">Principles</a></li>
355 <li><a·class="reference·internal"·href="#mergers">Mergers</a><ul>356 <li><a·class="reference·internal"·href="#mergers">Mergers</a><ul>
356 <li><a·class="reference·internal"·href="#role">Role</a></li>357 <li><a·class="reference·internal"·href="#role">Role</a></li>
357 <li><a·class="reference·internal"·href="#prerogatives">Prerogatives</a></li>358 <li><a·class="reference·internal"·href="#prerogatives">Prerogatives</a></li>
358 <li><a·class="reference·internal"·href="#membership">Membership</a></li>359 <li><a·class="reference·internal"·href="#membership">Membership</a></li>
Offset 373, 37 lines modifiedOffset 374, 37 lines modified
373 <li><a·class="reference·internal"·href="#changing-the-organization">Changing·the·organization</a></li>374 <li><a·class="reference·internal"·href="#changing-the-organization">Changing·the·organization</a></li>
374 </ul>375 </ul>
375 </li>376 </li>
376 </ul>377 </ul>
  
377 ··</div>378 ··</div>
378 ··<div>379 ··<div>
379 ····<h4>Previous·topic</h4>380 ····<h4>Eelmine·teema</h4>
380 ····<p·class="topless"><a·href="mailing-lists.html"381 ····<p·class="topless"><a·href="mailing-lists.html"
381 ··························title="previous·chapter">Mailing·lists·and·Forum</a></p>382 ··························title="eelmine·jaotis">Mailing·lists·and·Forum</a></p>
382 ··</div>383 ··</div>
383 ··<div>384 ··<div>
384 ····<h4>Next·topic</h4>385 ····<h4>Järgmine·teema</h4>
385 ····<p·class="topless"><a·href="security.html"386 ····<p·class="topless"><a·href="security.html"
386 ··························title="next·chapter">Django’s·security·policies</a></p>387 ··························title="järgmine·jaotis">Django’s·security·policies</a></p>
387 ··</div>388 ··</div>
388 <search·id="searchbox"·style="display:·none"·role="search">389 <search·id="searchbox"·style="display:·none"·role="search">
389 ··<h3·id="searchlabel">Quick·search</h3>390 ··<h3·id="searchlabel">Kiirotsing</h3>
390 ····<div·class="searchformwrapper">391 ····<div·class="searchformwrapper">
391 ····<form·class="search"·action="../search.html"·method="get">392 ····<form·class="search"·action="../search.html"·method="get">
392 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>393 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
393 ······<input·type="submit"·value="Go"·/>394 ······<input·type="submit"·value="Otsi"·/>
394 ····</form>395 ····</form>
395 ····</div>396 ····</div>
396 </search>397 </search>
397 <script>document.getElementById('searchbox').style.display·=·"block"</script>398 <script>document.getElementById('searchbox').style.display·=·"block"</script>
398 ········</div>399 ········</div>
399 ······</div>400 ······</div>
400 ··············<h3>Last·update:</h3>401 ··············<h3>Last·update:</h3>
401 ··············<p·class="topless">Nov·05,·2024</p>402 ··············<p·class="topless">nov·05,·2024</p>
402 ··········</div>403 ··········</div>
403 ········404 ········
404 ······405 ······
405 ····</div>406 ····</div>
  
406 ····<div·id="ft">407 ····<div·id="ft">
407 ······<div·class="nav">408 ······<div·class="nav">
3.51 KB
html2text {}
Max HTML report size reached
14.7 KB
./usr/share/doc/python-django-doc/html/internals/release-process.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django’s·release·process·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django’s·release·process·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·Deprecation·Timeline"·href="deprecation.html"·/>15 ····<link·rel="next"·title="Django·Deprecation·Timeline"·href="deprecation.html"·/>
15 ····<link·rel="prev"·title="Django’s·security·policies"·href="security.html"·/>16 ····<link·rel="prev"·title="Django’s·security·policies"·href="security.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 30 lines modifiedOffset 108, 30 lines modified
107 ·see·<a·class="reference·internal"·href="#id2">release·process</a>·for·details.·These·releases·will·contain·new108 ·see·<a·class="reference·internal"·href="#id2">release·process</a>·for·details.·These·releases·will·contain·new
108 features,·improvements·to·existing·features,·and·such.</p>109 features,·improvements·to·existing·features,·and·such.</p>
109 </dd>110 </dd>
110 <dt·id="term-Patch-release">Patch·release<a·class="headerlink"·href="#term-Patch-release"·title="Link·to·this·term">¶</a></dt><dd><p>Patch·releases·(A.B.C,·A.B.C+1,·etc.)·will·be·issued·as·needed,·to·fix111 <dt·id="term-Patch-release">Patch·release<a·class="headerlink"·href="#term-Patch-release"·title="Link·to·this·term">¶</a></dt><dd><p>Patch·releases·(A.B.C,·A.B.C+1,·etc.)·will·be·issued·as·needed,·to·fix
111 bugs·and/or·security·issues.</p>112 bugs·and/or·security·issues.</p>
112 <p>These·releases·will·be·100%·compatible·with·the·associated·feature·release,113 <p>These·releases·will·be·100%·compatible·with·the·associated·feature·release,
113 unless·this·is·impossible·for·security·reasons·or·to·prevent·data·loss.114 unless·this·is·impossible·for·security·reasons·or·to·prevent·data·loss.
114 So·the·answer·to·should·I·upgrade·to·the·latest·patch·release?·will·always115 So·the·answer·to·should·I·upgrade·to·the·latest·patch·release?·will·always
115 be·yes.</p>116 be·yes.</p>
116 </dd>117 </dd>
117 <dt·id="term-Long-term-support-release">Long-term·support·release<a·class="headerlink"·href="#term-Long-term-support-release"·title="Link·to·this·term">¶</a></dt><dd><p>Certain·feature·releases·will·be·designated·as·long-term·support·(LTS)118 <dt·id="term-Long-term-support-release">Long-term·support·release<a·class="headerlink"·href="#term-Long-term-support-release"·title="Link·to·this·term">¶</a></dt><dd><p>Certain·feature·releases·will·be·designated·as·long-term·support·(LTS)
118 releases.·These·releases·will·get·security·and·data·loss·fixes·applied·for119 releases.·These·releases·will·get·security·and·data·loss·fixes·applied·for
119 a·guaranteed·period·of·time,·typically·three·years.</p>120 a·guaranteed·period·of·time,·typically·three·years.</p>
120 <p>See·<a·class="reference·external"·href="https://www.djangoproject.com/download/">the·download·page</a>·for·the·releases·that·have·been·designated·for121 <p>See·<a·class="reference·external"·href="https://www.djangoproject.com/download/">the·download·page</a>·for·the·releases·that·have·been·designated·for
121 long-term·support.</p>122 long-term·support.</p>
122 </dd>123 </dd>
123 </dl>124 </dl>
124 </section>125 </section>
125 <section·id="s-release-cadence">126 <section·id="s-release-cadence">
126 <span·id="s-internal-release-cadence"></span><span·id="release-cadence"></span><span·id="internal-release-cadence"></span><h2>Release·cadence<a·class="headerlink"·href="#release-cadence"·title="Link·to·this·heading">¶</a></h2>127 <span·id="s-internal-release-cadence"></span><span·id="release-cadence"></span><span·id="internal-release-cadence"></span><h2>Release·cadence<a·class="headerlink"·href="#release-cadence"·title="Link·to·this·heading">¶</a></h2>
127 <p>Starting·with·Django·2.0,·version·numbers·will·use·a·loose·form·of·<a·class="reference·external"·href="https://semver.org/">semantic128 <p>Starting·with·Django·2.0,·version·numbers·will·use·a·loose·form·of·<a·class="reference·external"·href="https://semver.org/">semantic
128 versioning</a>·such·that·each·version·following·an·LTS·will129 versioning</a>·such·that·each·version·following·an·LTS·will
129 bump·to·the·next·dot·zero·version.·For·example:·2.0,·2.1,·2.2·(LTS),·3.0,130 bump·to·the·next·dot·zero·version.·For·example:·2.0,·2.1,·2.2·(LTS),·3.0,
130 3.1,·3.2·(LTS),·etc.</p>131 3.1,·3.2·(LTS),·etc.</p>
131 <p>SemVer·makes·it·easier·to·see·at·a·glance·how·compatible·releases·are·with·each132 <p>SemVer·makes·it·easier·to·see·at·a·glance·how·compatible·releases·are·with·each
132 other.·It·also·helps·to·anticipate·when·compatibility·shims·will·be·removed.133 other.·It·also·helps·to·anticipate·when·compatibility·shims·will·be·removed.
133 It’s·not·a·pure·form·of·SemVer·as·each·feature·release·will·continue·to·have·a134 It’s·not·a·pure·form·of·SemVer·as·each·feature·release·will·continue·to·have·a
134 few·documented·backwards·incompatibilities·where·a·deprecation·path·isn’t135 few·documented·backwards·incompatibilities·where·a·deprecation·path·isn’t
135 possible·or·not·worth·the·cost.·Also,·deprecations·started·in·an·LTS·release136 possible·or·not·worth·the·cost.·Also,·deprecations·started·in·an·LTS·release
136 (X.2)·will·be·dropped·in·a·non-dot-zero·release·(Y.1)·to·accommodate·our·policy137 (X.2)·will·be·dropped·in·a·non-dot-zero·release·(Y.1)·to·accommodate·our·policy
Offset 231, 15 lines modifiedOffset 232, 15 lines modified
231 features·to·include·in·the·next·version.·This·should·include·a·good·deal·of232 features·to·include·in·the·next·version.·This·should·include·a·good·deal·of
232 preliminary·work·on·those·features··working·code·trumps·grand·design.</p>233 preliminary·work·on·those·features··working·code·trumps·grand·design.</p>
233 <p>Major·features·for·an·upcoming·release·will·be·added·to·the·wiki·roadmap·page,234 <p>Major·features·for·an·upcoming·release·will·be·added·to·the·wiki·roadmap·page,
234 e.g.·<a·class="reference·external"·href="https://code.djangoproject.com/wiki/Version1.11Roadmap">https://code.djangoproject.com/wiki/Version1.11Roadmap</a>.</p>235 e.g.·<a·class="reference·external"·href="https://code.djangoproject.com/wiki/Version1.11Roadmap">https://code.djangoproject.com/wiki/Version1.11Roadmap</a>.</p>
235 </section>236 </section>
236 <section·id="s-phase-two-development">237 <section·id="s-phase-two-development">
237 <span·id="phase-two-development"></span><h4>Phase·two:·development<a·class="headerlink"·href="#phase-two-development"·title="Link·to·this·heading">¶</a></h4>238 <span·id="phase-two-development"></span><h4>Phase·two:·development<a·class="headerlink"·href="#phase-two-development"·title="Link·to·this·heading">¶</a></h4>
238 <p>The·second·part·of·the·release·schedule·is·the·heads-down·working·period.239 <p>The·second·part·of·the·release·schedule·is·the·heads-down·working·period.
239 Using·the·roadmap·produced·at·the·end·of·phase·one,·we’ll·all·work·very·hard·to240 Using·the·roadmap·produced·at·the·end·of·phase·one,·we’ll·all·work·very·hard·to
240 get·everything·on·it·done.</p>241 get·everything·on·it·done.</p>
241 <p>At·the·end·of·phase·two,·any·unfinished·features·will·be·postponed·until·the242 <p>At·the·end·of·phase·two,·any·unfinished·features·will·be·postponed·until·the
242 next·release.</p>243 next·release.</p>
243 <p>Phase·two·will·culminate·with·an·alpha·release.·At·this·point,·the244 <p>Phase·two·will·culminate·with·an·alpha·release.·At·this·point,·the
244 <code·class="docutils·literal·notranslate"><span·class="pre">stable/A.B.x</span></code>·branch·will·be·forked·from·<code·class="docutils·literal·notranslate"><span·class="pre">main</span></code>.</p>245 <code·class="docutils·literal·notranslate"><span·class="pre">stable/A.B.x</span></code>·branch·will·be·forked·from·<code·class="docutils·literal·notranslate"><span·class="pre">main</span></code>.</p>
245 </section>246 </section>
Offset 278, 15 lines modifiedOffset 279, 15 lines modified
278 ······279 ······
279 ········280 ········
280 ··········<div·class="yui-b"·id="sidebar">281 ··········<div·class="yui-b"·id="sidebar">
281 ············282 ············
282 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">283 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
283 ········<div·class="sphinxsidebarwrapper">284 ········<div·class="sphinxsidebarwrapper">
284 ··<div>285 ··<div>
285 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>286 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
286 ····<ul>287 ····<ul>
287 <li><a·class="reference·internal"·href="#">Django’s·release·process</a><ul>288 <li><a·class="reference·internal"·href="#">Django’s·release·process</a><ul>
288 <li><a·class="reference·internal"·href="#official-releases">Official·releases</a></li>289 <li><a·class="reference·internal"·href="#official-releases">Official·releases</a></li>
289 <li><a·class="reference·internal"·href="#release-cadence">Release·cadence</a></li>290 <li><a·class="reference·internal"·href="#release-cadence">Release·cadence</a></li>
290 <li><a·class="reference·internal"·href="#deprecation-policy">Deprecation·policy</a></li>291 <li><a·class="reference·internal"·href="#deprecation-policy">Deprecation·policy</a></li>
291 <li><a·class="reference·internal"·href="#supported-versions">Supported·versions</a></li>292 <li><a·class="reference·internal"·href="#supported-versions">Supported·versions</a></li>
292 <li><a·class="reference·internal"·href="#release-process">Release·process</a><ul>293 <li><a·class="reference·internal"·href="#release-process">Release·process</a><ul>
Offset 301, 37 lines modifiedOffset 302, 37 lines modified
301 </li>302 </li>
302 </ul>303 </ul>
303 </li>304 </li>
304 </ul>305 </ul>
  
305 ··</div>306 ··</div>
306 ··<div>307 ··<div>
307 ····<h4>Previous·topic</h4>308 ····<h4>Eelmine·teema</h4>
308 ····<p·class="topless"><a·href="security.html"309 ····<p·class="topless"><a·href="security.html"
309 ··························title="previous·chapter">Django’s·security·policies</a></p>310 ··························title="eelmine·jaotis">Django’s·security·policies</a></p>
310 ··</div>311 ··</div>
311 ··<div>312 ··<div>
312 ····<h4>Next·topic</h4>313 ····<h4>Järgmine·teema</h4>
313 ····<p·class="topless"><a·href="deprecation.html"314 ····<p·class="topless"><a·href="deprecation.html"
314 ··························title="next·chapter">Django·Deprecation·Timeline</a></p>315 ··························title="järgmine·jaotis">Django·Deprecation·Timeline</a></p>
315 ··</div>316 ··</div>
316 <search·id="searchbox"·style="display:·none"·role="search">317 <search·id="searchbox"·style="display:·none"·role="search">
317 ··<h3·id="searchlabel">Quick·search</h3>318 ··<h3·id="searchlabel">Kiirotsing</h3>
318 ····<div·class="searchformwrapper">319 ····<div·class="searchformwrapper">
319 ····<form·class="search"·action="../search.html"·method="get">320 ····<form·class="search"·action="../search.html"·method="get">
320 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>321 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
321 ······<input·type="submit"·value="Go"·/>322 ······<input·type="submit"·value="Otsi"·/>
322 ····</form>323 ····</form>
323 ····</div>324 ····</div>
Max diff block lines reached; 342/8279 bytes (4.13%) of diff not shown.
6.45 KB
html2text {}
Max HTML report size reached
10.0 KB
./usr/share/doc/python-django-doc/html/internals/security.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django’s·security·policies·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django’s·security·policies·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django’s·release·process"·href="release-process.html"·/>15 ····<link·rel="next"·title="Django’s·release·process"·href="release-process.html"·/>
15 ····<link·rel="prev"·title="Organization·of·the·Django·Project"·href="organization.html"·/>16 ····<link·rel="prev"·title="Organization·of·the·Django·Project"·href="organization.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 266, 16 lines modifiedOffset 267, 16 lines modified
266 </div>267 </div>
267 </section>268 </section>
268 <section·id="s-requesting-notifications">269 <section·id="s-requesting-notifications">
269 <span·id="requesting-notifications"></span><h2>Requesting·notifications<a·class="headerlink"·href="#requesting-notifications"·title="Link·to·this·heading">¶</a></h2>270 <span·id="requesting-notifications"></span><h2>Requesting·notifications<a·class="headerlink"·href="#requesting-notifications"·title="Link·to·this·heading">¶</a></h2>
270 <p>If·you·believe·that·you,·or·an·organization·you·are·authorized·to271 <p>If·you·believe·that·you,·or·an·organization·you·are·authorized·to
271 represent,·fall·into·one·of·the·groups·listed·above,·you·can·ask·to·be272 represent,·fall·into·one·of·the·groups·listed·above,·you·can·ask·to·be
272 added·to·Django’s·notification·list·by·emailing273 added·to·Django’s·notification·list·by·emailing
273 <code·class="docutils·literal·notranslate"><span·class="pre">security&#64;djangoproject.com</span></code>.·Please·use·the·subject·line·Security274 <code·class="docutils·literal·notranslate"><span·class="pre">security&#64;djangoproject.com</span></code>.·Please·use·the·subject·line·Security
274 notification·request.</p>275 notification·request.</p>
275 <p>Your·request·<strong>must</strong>·include·the·following·information:</p>276 <p>Your·request·<strong>must</strong>·include·the·following·information:</p>
276 <ul·class="simple">277 <ul·class="simple">
277 <li><p>Your·full,·real·name·and·the·name·of·the·organization·you·represent,278 <li><p>Your·full,·real·name·and·the·name·of·the·organization·you·represent,
278 if·applicable,·as·well·as·your·role·within·that·organization.</p></li>279 if·applicable,·as·well·as·your·role·within·that·organization.</p></li>
279 <li><p>A·detailed·explanation·of·how·you·or·your·organization·fit·at·least280 <li><p>A·detailed·explanation·of·how·you·or·your·organization·fit·at·least
280 one·set·of·criteria·listed·above.</p></li>281 one·set·of·criteria·listed·above.</p></li>
281 <li><p>A·detailed·explanation·of·why·you·are·requesting·security·notifications.282 <li><p>A·detailed·explanation·of·why·you·are·requesting·security·notifications.
Offset 317, 52 lines modifiedOffset 318, 52 lines modified
317 ······318 ······
318 ········319 ········
319 ··········<div·class="yui-b"·id="sidebar">320 ··········<div·class="yui-b"·id="sidebar">
320 ············321 ············
321 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">322 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
322 ········<div·class="sphinxsidebarwrapper">323 ········<div·class="sphinxsidebarwrapper">
323 ··<div>324 ··<div>
324 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>325 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
325 ····<ul>326 ····<ul>
326 <li><a·class="reference·internal"·href="#">Django’s·security·policies</a><ul>327 <li><a·class="reference·internal"·href="#">Django’s·security·policies</a><ul>
327 <li><a·class="reference·internal"·href="#reporting-security-issues">Reporting·security·issues</a></li>328 <li><a·class="reference·internal"·href="#reporting-security-issues">Reporting·security·issues</a></li>
328 <li><a·class="reference·internal"·href="#how-does-django-evaluate-a-report">How·does·Django·evaluate·a·report</a></li>329 <li><a·class="reference·internal"·href="#how-does-django-evaluate-a-report">How·does·Django·evaluate·a·report</a></li>
329 <li><a·class="reference·internal"·href="#supported-versions">Supported·versions</a></li>330 <li><a·class="reference·internal"·href="#supported-versions">Supported·versions</a></li>
330 <li><a·class="reference·internal"·href="#how-django-discloses-security-issues">How·Django·discloses·security·issues</a></li>331 <li><a·class="reference·internal"·href="#how-django-discloses-security-issues">How·Django·discloses·security·issues</a></li>
331 <li><a·class="reference·internal"·href="#who-receives-advance-notification">Who·receives·advance·notification</a></li>332 <li><a·class="reference·internal"·href="#who-receives-advance-notification">Who·receives·advance·notification</a></li>
332 <li><a·class="reference·internal"·href="#requesting-notifications">Requesting·notifications</a></li>333 <li><a·class="reference·internal"·href="#requesting-notifications">Requesting·notifications</a></li>
333 </ul>334 </ul>
334 </li>335 </li>
335 </ul>336 </ul>
  
336 ··</div>337 ··</div>
337 ··<div>338 ··<div>
338 ····<h4>Previous·topic</h4>339 ····<h4>Eelmine·teema</h4>
339 ····<p·class="topless"><a·href="organization.html"340 ····<p·class="topless"><a·href="organization.html"
340 ··························title="previous·chapter">Organization·of·the·Django·Project</a></p>341 ··························title="eelmine·jaotis">Organization·of·the·Django·Project</a></p>
341 ··</div>342 ··</div>
342 ··<div>343 ··<div>
343 ····<h4>Next·topic</h4>344 ····<h4>Järgmine·teema</h4>
344 ····<p·class="topless"><a·href="release-process.html"345 ····<p·class="topless"><a·href="release-process.html"
345 ··························title="next·chapter">Django’s·release·process</a></p>346 ··························title="järgmine·jaotis">Django’s·release·process</a></p>
346 ··</div>347 ··</div>
347 <search·id="searchbox"·style="display:·none"·role="search">348 <search·id="searchbox"·style="display:·none"·role="search">
348 ··<h3·id="searchlabel">Quick·search</h3>349 ··<h3·id="searchlabel">Kiirotsing</h3>
349 ····<div·class="searchformwrapper">350 ····<div·class="searchformwrapper">
350 ····<form·class="search"·action="../search.html"·method="get">351 ····<form·class="search"·action="../search.html"·method="get">
351 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>352 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
352 ······<input·type="submit"·value="Go"·/>353 ······<input·type="submit"·value="Otsi"·/>
353 ····</form>354 ····</form>
354 ····</div>355 ····</div>
355 </search>356 </search>
356 <script>document.getElementById('searchbox').style.display·=·"block"</script>357 <script>document.getElementById('searchbox').style.display·=·"block"</script>
357 ········</div>358 ········</div>
358 ······</div>359 ······</div>
359 ··············<h3>Last·update:</h3>360 ··············<h3>Last·update:</h3>
360 ··············<p·class="topless">Nov·05,·2024</p>361 ··············<p·class="topless">nov·05,·2024</p>
361 ··········</div>362 ··········</div>
362 ········363 ········
363 ······364 ······
364 ····</div>365 ····</div>
  
365 ····<div·id="ft">366 ····<div·id="ft">
366 ······<div·class="nav">367 ······<div·class="nav">
4.04 KB
html2text {}
Max HTML report size reached
30.1 KB
./usr/share/doc/python-django-doc/html/intro/contributing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·your·first·contribution·for·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·your·first·contribution·for·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Using·Django"·href="../topics/index.html"·/>15 ····<link·rel="next"·title="Using·Django"·href="../topics/index.html"·/>
15 ····<link·rel="prev"·title="What·to·read·next"·href="whatsnext.html"·/>16 ····<link·rel="prev"·title="What·to·read·next"·href="whatsnext.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 100, 15 lines modifiedOffset 101, 15 lines modified
100 <p>Contributing·back·to·Django·itself·is·the·best·way·to·see·your·own·concerns101 <p>Contributing·back·to·Django·itself·is·the·best·way·to·see·your·own·concerns
101 addressed.·This·may·seem·daunting·at·first,·but·it’s·a·well-traveled·path·with102 addressed.·This·may·seem·daunting·at·first,·but·it’s·a·well-traveled·path·with
102 documentation,·tooling,·and·a·community·to·support·you.·We’ll·walk·you·through103 documentation,·tooling,·and·a·community·to·support·you.·We’ll·walk·you·through
103 the·entire·process,·so·you·can·learn·by·example.</p>104 the·entire·process,·so·you·can·learn·by·example.</p>
104 <section·id="s-who-s-this-tutorial-for">105 <section·id="s-who-s-this-tutorial-for">
105 <span·id="who-s-this-tutorial-for"></span><h3>Who’s·this·tutorial·for?<a·class="headerlink"·href="#who-s-this-tutorial-for"·title="Link·to·this·heading">¶</a></h3>106 <span·id="who-s-this-tutorial-for"></span><h3>Who’s·this·tutorial·for?<a·class="headerlink"·href="#who-s-this-tutorial-for"·title="Link·to·this·heading">¶</a></h3>
106 <div·class="admonition·seealso">107 <div·class="admonition·seealso">
107 <p·class="admonition-title">See·also</p>108 <p·class="admonition-title">Vaata·ka</p>
108 <p>If·you·are·looking·for·a·reference·on·the·details·of·making·code109 <p>If·you·are·looking·for·a·reference·on·the·details·of·making·code
109 contributions,·see·the·<a·class="reference·internal"·href="../internals/contributing/writing-code/index.html"><span·class="doc">Contributing·code</span></a>110 contributions,·see·the·<a·class="reference·internal"·href="../internals/contributing/writing-code/index.html"><span·class="doc">Contributing·code</span></a>
110 documentation.</p>111 documentation.</p>
111 </div>112 </div>
112 <p>For·this·tutorial,·we·expect·that·you·have·at·least·a·basic·understanding·of113 <p>For·this·tutorial,·we·expect·that·you·have·at·least·a·basic·understanding·of
113 how·Django·works.·This·means·you·should·be·comfortable·going·through·the114 how·Django·works.·This·means·you·should·be·comfortable·going·through·the
114 existing·tutorials·on·<a·class="reference·internal"·href="tutorial01.html"><span·class="doc">writing·your·first·Django·app</span></a>.115 existing·tutorials·on·<a·class="reference·internal"·href="tutorial01.html"><span·class="doc">writing·your·first·Django·app</span></a>.
Offset 345, 31 lines modifiedOffset 346, 31 lines modified
345 is·the·database·backend·for·the·default·settings.·To·run·the·tests·using·a346 is·the·database·backend·for·the·default·settings.·To·run·the·tests·using·a
346 different·backend,·see·<a·class="reference·internal"·href="../internals/contributing/writing-code/unit-tests.html#running-unit-tests-settings"><span·class="std·std-ref">Using·another·settings·module</span></a>.</p>347 different·backend,·see·<a·class="reference·internal"·href="../internals/contributing/writing-code/unit-tests.html#running-unit-tests-settings"><span·class="std·std-ref">Using·another·settings·module</span></a>.</p>
347 <p>Once·the·tests·complete,·you·should·be·greeted·with·a·message·informing·you348 <p>Once·the·tests·complete,·you·should·be·greeted·with·a·message·informing·you
348 whether·the·test·suite·passed·or·failed.·Since·you·haven’t·yet·made·any·changes349 whether·the·test·suite·passed·or·failed.·Since·you·haven’t·yet·made·any·changes
349 to·Django’s·code,·the·entire·test·suite·<strong>should</strong>·pass.·If·you·get·failures·or350 to·Django’s·code,·the·entire·test·suite·<strong>should</strong>·pass.·If·you·get·failures·or
350 errors·make·sure·you’ve·followed·all·of·the·previous·steps·properly.·See351 errors·make·sure·you’ve·followed·all·of·the·previous·steps·properly.·See
351 <a·class="reference·internal"·href="../internals/contributing/writing-code/unit-tests.html#running-unit-tests"><span·class="std·std-ref">Running·the·unit·tests</span></a>·for·more·information.</p>352 <a·class="reference·internal"·href="../internals/contributing/writing-code/unit-tests.html#running-unit-tests"><span·class="std·std-ref">Running·the·unit·tests</span></a>·for·more·information.</p>
352 <p>Note·that·the·latest·Django·main·branch·may·not·always·be·stable.·When353 <p>Note·that·the·latest·Django·main·branch·may·not·always·be·stable.·When
353 developing·against·main,·you·can·check·<a·class="reference·external"·href="https://djangoci.com">Django’s·continuous·integration354 developing·against·main,·you·can·check·<a·class="reference·external"·href="https://djangoci.com">Django’s·continuous·integration
354 builds</a>·to·determine·if·the·failures·are·specific·to·your·machine·or·if·they355 builds</a>·to·determine·if·the·failures·are·specific·to·your·machine·or·if·they
355 are·also·present·in·Django’s·official·builds.·If·you·click·to·view·a·particular356 are·also·present·in·Django’s·official·builds.·If·you·click·to·view·a·particular
356 build,·you·can·view·the·Configuration·Matrix·which·shows·failures·broken·down357 build,·you·can·view·the·Configuration·Matrix·which·shows·failures·broken·down
357 by·Python·version·and·database·backend.</p>358 by·Python·version·and·database·backend.</p>
358 <div·class="admonition·note">359 <div·class="admonition·note">
359 <p·class="admonition-title">Note</p>360 <p·class="admonition-title">rkus</p>
360 <p>For·this·tutorial·and·the·ticket·we’re·working·on,·testing·against·SQLite361 <p>For·this·tutorial·and·the·ticket·we’re·working·on,·testing·against·SQLite
361 is·sufficient,·however,·it’s·possible·(and·sometimes·necessary)·to362 is·sufficient,·however,·it’s·possible·(and·sometimes·necessary)·to
362 <a·class="reference·internal"·href="../internals/contributing/writing-code/unit-tests.html#running-unit-tests-settings"><span·class="std·std-ref">run·the·tests·using·a·different·database</span></a>.·When·making·UI·changes,·you·will·need·to363 <a·class="reference·internal"·href="../internals/contributing/writing-code/unit-tests.html#running-unit-tests-settings"><span·class="std·std-ref">run·the·tests·using·a·different·database</span></a>.·When·making·UI·changes,·you·will·need·to
363 <a·class="reference·internal"·href="../internals/contributing/writing-code/unit-tests.html#running-selenium-tests"><span·class="std·std-ref">run·the·Selenium·tests</span></a>.</p>364 <a·class="reference·internal"·href="../internals/contributing/writing-code/unit-tests.html#running-selenium-tests"><span·class="std·std-ref">run·the·Selenium·tests</span></a>.</p>
364 </div>365 </div>
365 </section>366 </section>
366 <section·id="s-working-on-a-feature">367 <section·id="s-working-on-a-feature">
367 <span·id="working-on-a-feature"></span><h2>Working·on·a·feature<a·class="headerlink"·href="#working-on-a-feature"·title="Link·to·this·heading">¶</a></h2>368 <span·id="working-on-a-feature"></span><h2>Working·on·a·feature<a·class="headerlink"·href="#working-on-a-feature"·title="Link·to·this·heading">¶</a></h2>
368 <p>For·this·tutorial,·we’ll·work·on·a·fake·ticket·as·a·case·study.·Here·are·the369 <p>For·this·tutorial,·we’ll·work·on·a·fake·ticket·as·a·case·study.·Here·are·the
369 imaginary·details:</p>370 imaginary·details:</p>
370 <div·class="admonition-ticket-99999-allow-making-toast·admonition">371 <div·class="admonition-ticket-99999-allow-making-toast·admonition">
371 <p·class="admonition-title">Ticket·#99999··Allow·making·toast</p>372 <p·class="admonition-title">Ticket·#99999··Allow·making·toast</p>
372 <p>Django·should·provide·a·function·<code·class="docutils·literal·notranslate"><span·class="pre">django.shortcuts.make_toast()</span></code>·that373 <p>Django·should·provide·a·function·<code·class="docutils·literal·notranslate"><span·class="pre">django.shortcuts.make_toast()</span></code>·that
373 returns·<code·class="docutils·literal·notranslate"><span·class="pre">'toast'</span></code>.</p>374 returns·<code·class="docutils·literal·notranslate"><span·class="pre">'toast'</span></code>.</p>
374 </div>375 </div>
375 <p>We’ll·now·implement·this·feature·and·associated·tests.</p>376 <p>We’ll·now·implement·this·feature·and·associated·tests.</p>
Offset 388, 15 lines modifiedOffset 389, 15 lines modified
388 </div>389 </div>
389 </section>390 </section>
390 <section·class="c-content-win"·id="c-content-5-win">391 <section·class="c-content-win"·id="c-content-5-win">
391 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·git·checkout·-b·ticket_99999392 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·git·checkout·-b·ticket_99999
392 </pre></div>393 </pre></div>
393 </section>394 </section>
394 </div>395 </div>
395 <p>You·can·choose·any·name·that·you·want·for·the·branch,·ticket_99999·is·an396 <p>You·can·choose·any·name·that·you·want·for·the·branch,·ticket_99999·is·an
396 example.·All·changes·made·in·this·branch·will·be·specific·to·the·ticket·and397 example.·All·changes·made·in·this·branch·will·be·specific·to·the·ticket·and
397 won’t·affect·the·main·copy·of·the·code·that·we·cloned·earlier.</p>398 won’t·affect·the·main·copy·of·the·code·that·we·cloned·earlier.</p>
398 </section>399 </section>
399 <section·id="s-writing-some-tests-for-your-ticket">400 <section·id="s-writing-some-tests-for-your-ticket">
400 <span·id="writing-some-tests-for-your-ticket"></span><h2>Writing·some·tests·for·your·ticket<a·class="headerlink"·href="#writing-some-tests-for-your-ticket"·title="Link·to·this·heading">¶</a></h2>401 <span·id="writing-some-tests-for-your-ticket"></span><h2>Writing·some·tests·for·your·ticket<a·class="headerlink"·href="#writing-some-tests-for-your-ticket"·title="Link·to·this·heading">¶</a></h2>
401 <p>In·most·cases,·for·a·contribution·to·be·accepted·into·Django·it·has·to·include402 <p>In·most·cases,·for·a·contribution·to·be·accepted·into·Django·it·has·to·include
402 tests.·For·bug·fix·contributions,·this·means·writing·a·regression·test·to403 tests.·For·bug·fix·contributions,·this·means·writing·a·regression·test·to
Offset 439, 15 lines modifiedOffset 440, 15 lines modified
439 computer·programming,·so·there’s·lots·of·information·out·there:</p>440 computer·programming,·so·there’s·lots·of·information·out·there:</p>
440 <ul·class="simple">441 <ul·class="simple">
441 <li><p>A·good·first·look·at·writing·tests·for·Django·can·be·found·in·the442 <li><p>A·good·first·look·at·writing·tests·for·Django·can·be·found·in·the
442 documentation·on·<a·class="reference·internal"·href="../topics/testing/overview.html"><span·class="doc">Writing·and·running·tests</span></a>.</p></li>443 documentation·on·<a·class="reference·internal"·href="../topics/testing/overview.html"><span·class="doc">Writing·and·running·tests</span></a>.</p></li>
443 <li><p>Dive·Into·Python·(a·free·online·book·for·beginning·Python·developers)444 <li><p>Dive·Into·Python·(a·free·online·book·for·beginning·Python·developers)
444 includes·a·great·<a·class="reference·external"·href="https://diveintopython3.net/unit-testing.html">introduction·to·Unit·Testing</a>.</p></li>445 includes·a·great·<a·class="reference·external"·href="https://diveintopython3.net/unit-testing.html">introduction·to·Unit·Testing</a>.</p></li>
445 <li><p>After·reading·those,·if·you·want·something·a·little·meatier·to·sink446 <li><p>After·reading·those,·if·you·want·something·a·little·meatier·to·sink
446 your·teeth·into,·there’s·always·the·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>·documentation.</p></li>447 your·teeth·into,·there’s·always·the·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>·documentation.</p></li>
447 </ul>448 </ul>
448 </div>449 </div>
449 </section>450 </section>
450 <section·id="s-running-your-new-test">451 <section·id="s-running-your-new-test">
451 <span·id="running-your-new-test"></span><h3>Running·your·new·test<a·class="headerlink"·href="#running-your-new-test"·title="Link·to·this·heading">¶</a></h3>452 <span·id="running-your-new-test"></span><h3>Running·your·new·test<a·class="headerlink"·href="#running-your-new-test"·title="Link·to·this·heading">¶</a></h3>
452 <p>Since·we·haven’t·made·any·modifications·to·<code·class="docutils·literal·notranslate"><span·class="pre">django.shortcuts</span></code>·yet,·our·test453 <p>Since·we·haven’t·made·any·modifications·to·<code·class="docutils·literal·notranslate"><span·class="pre">django.shortcuts</span></code>·yet,·our·test
453 should·fail.·Let’s·run·all·the·tests·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">shortcuts</span></code>·folder·to·make·sure454 should·fail.·Let’s·run·all·the·tests·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">shortcuts</span></code>·folder·to·make·sure
Offset 545, 15 lines modifiedOffset 546, 15 lines modified
  
545 Returns·<span·class="s">``&#39;toast&#39;``</span>.546 Returns·<span·class="s">``&#39;toast&#39;``</span>.
546 </pre></div>547 </pre></div>
547 </div>548 </div>
548 <p>Since·this·new·feature·will·be·in·an·upcoming·release·it·is·also·added·to·the549 <p>Since·this·new·feature·will·be·in·an·upcoming·release·it·is·also·added·to·the
549 release·notes·for·the·next·version·of·Django.·Open·the·release·notes·for·the550 release·notes·for·the·next·version·of·Django.·Open·the·release·notes·for·the
550 latest·version·in·<code·class="docutils·literal·notranslate"><span·class="pre">docs/releases/</span></code>,·which·at·time·of·writing·is·<code·class="docutils·literal·notranslate"><span·class="pre">2.2.txt</span></code>.551 latest·version·in·<code·class="docutils·literal·notranslate"><span·class="pre">docs/releases/</span></code>,·which·at·time·of·writing·is·<code·class="docutils·literal·notranslate"><span·class="pre">2.2.txt</span></code>.
Max diff block lines reached; 8189/18197 bytes (45.00%) of diff not shown.
12.2 KB
html2text {}
Max HTML report size reached
9.0 KB
./usr/share/doc/python-django-doc/html/intro/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Getting·started·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Getting·started·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·at·a·glance"·href="overview.html"·/>15 ····<link·rel="next"·title="Django·at·a·glance"·href="overview.html"·/>
15 ····<link·rel="prev"·title="Django·documentation"·href="../index.html"·/>16 ····<link·rel="prev"·title="Django·documentation"·href="../index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="../index.html"·title="Django·documentation">previous</a>67 ····&laquo;·<a·href="../index.html"·title="Django·documentation">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="overview.html"·title="Django·at·a·glance">next</a>·&raquo;</div>71 ····<a·href="overview.html"·title="Django·at·a·glance">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 95, 15 lines modifiedOffset 96, 15 lines modified
95 <li·class="toctree-l1"><a·class="reference·internal"·href="tutorial08.html">Writing·your·first·Django·app,·part·8</a></li>96 <li·class="toctree-l1"><a·class="reference·internal"·href="tutorial08.html">Writing·your·first·Django·app,·part·8</a></li>
96 <li·class="toctree-l1"><a·class="reference·internal"·href="reusable-apps.html">Advanced·tutorial:·How·to·write·reusable·apps</a></li>97 <li·class="toctree-l1"><a·class="reference·internal"·href="reusable-apps.html">Advanced·tutorial:·How·to·write·reusable·apps</a></li>
97 <li·class="toctree-l1"><a·class="reference·internal"·href="whatsnext.html">What·to·read·next</a></li>98 <li·class="toctree-l1"><a·class="reference·internal"·href="whatsnext.html">What·to·read·next</a></li>
98 <li·class="toctree-l1"><a·class="reference·internal"·href="contributing.html">Writing·your·first·contribution·for·Django</a></li>99 <li·class="toctree-l1"><a·class="reference·internal"·href="contributing.html">Writing·your·first·contribution·for·Django</a></li>
99 </ul>100 </ul>
100 </div>101 </div>
101 <div·class="admonition·seealso">102 <div·class="admonition·seealso">
102 <p·class="admonition-title">See·also</p>103 <p·class="admonition-title">Vaata·ka</p>
103 <p>If·you’re·new·to·<a·class="reference·external"·href="https://www.python.org/">Python</a>,·you·might·want·to·start·by·getting·an·idea·of·what104 <p>If·you’re·new·to·<a·class="reference·external"·href="https://www.python.org/">Python</a>,·you·might·want·to·start·by·getting·an·idea·of·what
104 the·language·is·like.·Django·is·100%·Python,·so·if·you’ve·got·minimal105 the·language·is·like.·Django·is·100%·Python,·so·if·you’ve·got·minimal
105 comfort·with·Python·you’ll·probably·get·a·lot·more·out·of·Django.</p>106 comfort·with·Python·you’ll·probably·get·a·lot·more·out·of·Django.</p>
106 <p>If·you’re·new·to·programming·entirely,·you·might·want·to·start·with·this107 <p>If·you’re·new·to·programming·entirely,·you·might·want·to·start·with·this
107 <a·class="reference·external"·href="https://wiki.python.org/moin/BeginnersGuide/NonProgrammers">list·of·Python·resources·for·non-programmers</a></p>108 <a·class="reference·external"·href="https://wiki.python.org/moin/BeginnersGuide/NonProgrammers">list·of·Python·resources·for·non-programmers</a></p>
108 <p>If·you·already·know·a·few·other·languages·and·want·to·get·up·to·speed·with109 <p>If·you·already·know·a·few·other·languages·and·want·to·get·up·to·speed·with
109 Python·quickly,·we·recommend·referring·the·official110 Python·quickly,·we·recommend·referring·the·official
Offset 120, 47 lines modifiedOffset 121, 47 lines modified
120 ······121 ······
121 ········122 ········
122 ··········<div·class="yui-b"·id="sidebar">123 ··········<div·class="yui-b"·id="sidebar">
123 ············124 ············
124 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">125 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
125 ········<div·class="sphinxsidebarwrapper">126 ········<div·class="sphinxsidebarwrapper">
126 ··<div>127 ··<div>
127 ····<h4>Previous·topic</h4>128 ····<h4>Eelmine·teema</h4>
128 ····<p·class="topless"><a·href="../index.html"129 ····<p·class="topless"><a·href="../index.html"
129 ··························title="previous·chapter">Django·documentation</a></p>130 ··························title="eelmine·jaotis">Django·documentation</a></p>
130 ··</div>131 ··</div>
131 ··<div>132 ··<div>
132 ····<h4>Next·topic</h4>133 ····<h4>Järgmine·teema</h4>
133 ····<p·class="topless"><a·href="overview.html"134 ····<p·class="topless"><a·href="overview.html"
134 ··························title="next·chapter">Django·at·a·glance</a></p>135 ··························title="järgmine·jaotis">Django·at·a·glance</a></p>
135 ··</div>136 ··</div>
136 <search·id="searchbox"·style="display:·none"·role="search">137 <search·id="searchbox"·style="display:·none"·role="search">
137 ··<h3·id="searchlabel">Quick·search</h3>138 ··<h3·id="searchlabel">Kiirotsing</h3>
138 ····<div·class="searchformwrapper">139 ····<div·class="searchformwrapper">
139 ····<form·class="search"·action="../search.html"·method="get">140 ····<form·class="search"·action="../search.html"·method="get">
140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
141 ······<input·type="submit"·value="Go"·/>142 ······<input·type="submit"·value="Otsi"·/>
142 ····</form>143 ····</form>
143 ····</div>144 ····</div>
144 </search>145 </search>
145 <script>document.getElementById('searchbox').style.display·=·"block"</script>146 <script>document.getElementById('searchbox').style.display·=·"block"</script>
146 ········</div>147 ········</div>
147 ······</div>148 ······</div>
148 ··············<h3>Last·update:</h3>149 ··············<h3>Last·update:</h3>
149 ··············<p·class="topless">Nov·05,·2024</p>150 ··············<p·class="topless">nov·05,·2024</p>
150 ··········</div>151 ··········</div>
151 ········152 ········
152 ······153 ······
153 ····</div>154 ····</div>
  
154 ····<div·id="ft">155 ····<div·id="ft">
155 ······<div·class="nav">156 ······<div·class="nav">
156 ····&laquo;·<a·href="../index.html"·title="Django·documentation">previous</a>157 ····&laquo;·<a·href="../index.html"·title="Django·documentation">previous</a>
157 ·····|158 ·····|
158 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>159 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
159 ···|160 ···|
160 ····<a·href="overview.html"·title="Django·at·a·glance">next</a>·&raquo;</div>161 ····<a·href="overview.html"·title="Django·at·a·glance">next</a>·&raquo;</div>
161 ····</div>162 ····</div>
162 ··</div>163 ··</div>
  
163 ······<div·class="clearer"></div>164 ······<div·class="clearer"></div>
164 ····</div>165 ····</div>
3.16 KB
html2text {}
Max HTML report size reached
9.12 KB
./usr/share/doc/python-django-doc/html/intro/install.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Quick·install·guide·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Quick·install·guide·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·1"·href="tutorial01.html"·/>15 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·1"·href="tutorial01.html"·/>
15 ····<link·rel="prev"·title="Django·at·a·glance"·href="overview.html"·/>16 ····<link·rel="prev"·title="Django·at·a·glance"·href="overview.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 15 lines modifiedOffset 98, 15 lines modified
97 <span·class="go">Type·&quot;help&quot;,·&quot;copyright&quot;,·&quot;credits&quot;·or·&quot;license&quot;·for·more·information.</span>98 <span·class="go">Type·&quot;help&quot;,·&quot;copyright&quot;,·&quot;credits&quot;·or·&quot;license&quot;·for·more·information.</span>
98 <span·class="gp">&gt;&gt;&gt;</span>99 <span·class="gp">&gt;&gt;&gt;</span>
99 </pre></div>100 </pre></div>
100 </div>101 </div>
101 </section>102 </section>
102 <section·id="s-set-up-a-database">103 <section·id="s-set-up-a-database">
103 <span·id="set-up-a-database"></span><h2>Set·up·a·database<a·class="headerlink"·href="#set-up-a-database"·title="Link·to·this·heading">¶</a></h2>104 <span·id="set-up-a-database"></span><h2>Set·up·a·database<a·class="headerlink"·href="#set-up-a-database"·title="Link·to·this·heading">¶</a></h2>
104 <p>This·step·is·only·necessary·if·you’d·like·to·work·with·a·large·database·engine105 <p>This·step·is·only·necessary·if·you’d·like·to·work·with·a·large·database·engine
105 like·PostgreSQL,·MariaDB,·MySQL,·or·Oracle.·To·install·such·a·database,·consult106 like·PostgreSQL,·MariaDB,·MySQL,·or·Oracle.·To·install·such·a·database,·consult
106 the·<a·class="reference·internal"·href="../topics/install.html#database-installation"><span·class="std·std-ref">database·installation·information</span></a>.</p>107 the·<a·class="reference·internal"·href="../topics/install.html#database-installation"><span·class="std·std-ref">database·installation·information</span></a>.</p>
107 </section>108 </section>
108 <section·id="s-install-django">109 <section·id="s-install-django">
109 <span·id="install-django"></span><h2>Install·Django<a·class="headerlink"·href="#install-django"·title="Link·to·this·heading">¶</a></h2>110 <span·id="install-django"></span><h2>Install·Django<a·class="headerlink"·href="#install-django"·title="Link·to·this·heading">¶</a></h2>
110 <p>You’ve·got·three·options·to·install·Django:</p>111 <p>You’ve·got·three·options·to·install·Django:</p>
111 <ul·class="simple">112 <ul·class="simple">
Offset 151, 51 lines modifiedOffset 152, 51 lines modified
151 ······152 ······
152 ········153 ········
153 ··········<div·class="yui-b"·id="sidebar">154 ··········<div·class="yui-b"·id="sidebar">
154 ············155 ············
155 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">156 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
156 ········<div·class="sphinxsidebarwrapper">157 ········<div·class="sphinxsidebarwrapper">
157 ··<div>158 ··<div>
158 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>159 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
159 ····<ul>160 ····<ul>
160 <li><a·class="reference·internal"·href="#">Quick·install·guide</a><ul>161 <li><a·class="reference·internal"·href="#">Quick·install·guide</a><ul>
161 <li><a·class="reference·internal"·href="#install-python">Install·Python</a></li>162 <li><a·class="reference·internal"·href="#install-python">Install·Python</a></li>
162 <li><a·class="reference·internal"·href="#set-up-a-database">Set·up·a·database</a></li>163 <li><a·class="reference·internal"·href="#set-up-a-database">Set·up·a·database</a></li>
163 <li><a·class="reference·internal"·href="#install-django">Install·Django</a></li>164 <li><a·class="reference·internal"·href="#install-django">Install·Django</a></li>
164 <li><a·class="reference·internal"·href="#verifying">Verifying</a></li>165 <li><a·class="reference·internal"·href="#verifying">Verifying</a></li>
165 <li><a·class="reference·internal"·href="#that-s-it">That’s·it!</a></li>166 <li><a·class="reference·internal"·href="#that-s-it">That’s·it!</a></li>
166 </ul>167 </ul>
167 </li>168 </li>
168 </ul>169 </ul>
  
169 ··</div>170 ··</div>
170 ··<div>171 ··<div>
171 ····<h4>Previous·topic</h4>172 ····<h4>Eelmine·teema</h4>
172 ····<p·class="topless"><a·href="overview.html"173 ····<p·class="topless"><a·href="overview.html"
173 ··························title="previous·chapter">Django·at·a·glance</a></p>174 ··························title="eelmine·jaotis">Django·at·a·glance</a></p>
174 ··</div>175 ··</div>
175 ··<div>176 ··<div>
176 ····<h4>Next·topic</h4>177 ····<h4>Järgmine·teema</h4>
177 ····<p·class="topless"><a·href="tutorial01.html"178 ····<p·class="topless"><a·href="tutorial01.html"
178 ··························title="next·chapter">Writing·your·first·Django·app,·part·1</a></p>179 ··························title="järgmine·jaotis">Writing·your·first·Django·app,·part·1</a></p>
179 ··</div>180 ··</div>
180 <search·id="searchbox"·style="display:·none"·role="search">181 <search·id="searchbox"·style="display:·none"·role="search">
181 ··<h3·id="searchlabel">Quick·search</h3>182 ··<h3·id="searchlabel">Kiirotsing</h3>
182 ····<div·class="searchformwrapper">183 ····<div·class="searchformwrapper">
183 ····<form·class="search"·action="../search.html"·method="get">184 ····<form·class="search"·action="../search.html"·method="get">
184 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>185 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
185 ······<input·type="submit"·value="Go"·/>186 ······<input·type="submit"·value="Otsi"·/>
186 ····</form>187 ····</form>
187 ····</div>188 ····</div>
188 </search>189 </search>
189 <script>document.getElementById('searchbox').style.display·=·"block"</script>190 <script>document.getElementById('searchbox').style.display·=·"block"</script>
190 ········</div>191 ········</div>
191 ······</div>192 ······</div>
192 ··············<h3>Last·update:</h3>193 ··············<h3>Last·update:</h3>
193 ··············<p·class="topless">Nov·05,·2024</p>194 ··············<p·class="topless">nov·05,·2024</p>
194 ··········</div>195 ··········</div>
195 ········196 ········
196 ······197 ······
197 ····</div>198 ····</div>
  
198 ····<div·id="ft">199 ····<div·id="ft">
199 ······<div·class="nav">200 ······<div·class="nav">
3.62 KB
html2text {}
Max HTML report size reached
23.4 KB
./usr/share/doc/python-django-doc/html/intro/overview.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·at·a·glance·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·at·a·glance·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Quick·install·guide"·href="install.html"·/>15 ····<link·rel="next"·title="Quick·install·guide"·href="install.html"·/>
15 ····<link·rel="prev"·title="Getting·started"·href="index.html"·/>16 ····<link·rel="prev"·title="Getting·started"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 102, 15 lines modifiedOffset 103, 15 lines modified
102 detailed·documentation</span></a>.</p>103 detailed·documentation</span></a>.</p>
103 <section·id="s-design-your-model">104 <section·id="s-design-your-model">
104 <span·id="design-your-model"></span><h2>Design·your·model<a·class="headerlink"·href="#design-your-model"·title="Link·to·this·heading">¶</a></h2>105 <span·id="design-your-model"></span><h2>Design·your·model<a·class="headerlink"·href="#design-your-model"·title="Link·to·this·heading">¶</a></h2>
105 <p>Although·you·can·use·Django·without·a·database,·it·comes·with·an106 <p>Although·you·can·use·Django·without·a·database,·it·comes·with·an
106 <a·class="reference·external"·href="https://en.wikipedia.org/wiki/Object-relational_mapping">object-relational·mapper</a>·in·which·you·describe·your·database·layout·in·Python107 <a·class="reference·external"·href="https://en.wikipedia.org/wiki/Object-relational_mapping">object-relational·mapper</a>·in·which·you·describe·your·database·layout·in·Python
107 code.</p>108 code.</p>
108 <p>The·<a·class="reference·internal"·href="../topics/db/models.html"><span·class="doc">data-model·syntax</span></a>·offers·many·rich·ways·of109 <p>The·<a·class="reference·internal"·href="../topics/db/models.html"><span·class="doc">data-model·syntax</span></a>·offers·many·rich·ways·of
109 representing·your·models··so·far,·it’s·been·solving·many·years·worth·of110 representing·your·models··so·far,·it’s·been·solving·many·years·worth·of
110 database-schema·problems.·Here’s·a·quick·example:</p>111 database-schema·problems.·Here’s·a·quick·example:</p>
111 <div·class="literal-block-wrapper·docutils·container"·id="id1">112 <div·class="literal-block-wrapper·docutils·container"·id="id1">
112 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">news/models.py</span></code></span><a·class="headerlink"·href="#id1"·title="Link·to·this·code">¶</a></div>113 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">news/models.py</span></code></span><a·class="headerlink"·href="#id1"·title="Link·to·this·code">¶</a></div>
113 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>114 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>
  
  
114 <span·class="k">class</span>·<span·class="nc">Reporter</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>115 <span·class="k">class</span>·<span·class="nc">Reporter</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>
Offset 291, 24 lines modifiedOffset 292, 24 lines modified
291 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/&lt;int:year&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">year_archive</span><span·class="p">),</span>292 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/&lt;int:year&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">year_archive</span><span·class="p">),</span>
292 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/&lt;int:year&gt;/&lt;int:month&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">month_archive</span><span·class="p">),</span>293 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/&lt;int:year&gt;/&lt;int:month&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">month_archive</span><span·class="p">),</span>
293 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/&lt;int:year&gt;/&lt;int:month&gt;/&lt;int:pk&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">article_detail</span><span·class="p">),</span>294 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/&lt;int:year&gt;/&lt;int:month&gt;/&lt;int:pk&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">article_detail</span><span·class="p">),</span>
294 <span·class="p">]</span>295 <span·class="p">]</span>
295 </pre></div>296 </pre></div>
296 </div>297 </div>
297 </div>298 </div>
298 <p>The·code·above·maps·URL·paths·to·Python·callback·functions·(views).·The·path299 <p>The·code·above·maps·URL·paths·to·Python·callback·functions·(views).·The·path
299 strings·use·parameter·tags·to·capture·values·from·the·URLs.·When·a·user300 strings·use·parameter·tags·to·capture·values·from·the·URLs.·When·a·user
300 requests·a·page,·Django·runs·through·each·path,·in·order,·and·stops·at·the301 requests·a·page,·Django·runs·through·each·path,·in·order,·and·stops·at·the
301 first·one·that·matches·the·requested·URL.·(If·none·of·them·matches,·Django302 first·one·that·matches·the·requested·URL.·(If·none·of·them·matches,·Django
302 calls·a·special-case·404·view.)·This·is·blazingly·fast,·because·the·paths·are303 calls·a·special-case·404·view.)·This·is·blazingly·fast,·because·the·paths·are
303 compiled·into·regular·expressions·at·load·time.</p>304 compiled·into·regular·expressions·at·load·time.</p>
304 <p>Once·one·of·the·URL·patterns·matches,·Django·calls·the·given·view,·which·is·a305 <p>Once·one·of·the·URL·patterns·matches,·Django·calls·the·given·view,·which·is·a
305 Python·function.·Each·view·gets·passed·a·request·object··which·contains306 Python·function.·Each·view·gets·passed·a·request·object··which·contains
306 request·metadata··and·the·values·captured·in·the·pattern.</p>307 request·metadata··and·the·values·captured·in·the·pattern.</p>
307 <p>For·example,·if·a·user·requested·the·URL·/articles/2005/05/39323/,·Django308 <p>For·example,·if·a·user·requested·the·URL·/articles/2005/05/39323/,·Django
308 would·call·the·function·<code·class="docutils·literal·notranslate"><span·class="pre">news.views.article_detail(request,</span>309 would·call·the·function·<code·class="docutils·literal·notranslate"><span·class="pre">news.views.article_detail(request,</span>
309 <span·class="pre">year=2005,</span>·<span·class="pre">month=5,</span>·<span·class="pre">pk=39323)</span></code>.</p>310 <span·class="pre">year=2005,</span>·<span·class="pre">month=5,</span>·<span·class="pre">pk=39323)</span></code>.</p>
310 </section>311 </section>
311 <section·id="s-write-your-views">312 <section·id="s-write-your-views">
312 <span·id="write-your-views"></span><h2>Write·your·views<a·class="headerlink"·href="#write-your-views"·title="Link·to·this·heading">¶</a></h2>313 <span·id="write-your-views"></span><h2>Write·your·views<a·class="headerlink"·href="#write-your-views"·title="Link·to·this·heading">¶</a></h2>
313 <p>Each·view·is·responsible·for·doing·one·of·two·things:·Returning·an314 <p>Each·view·is·responsible·for·doing·one·of·two·things:·Returning·an
314 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·object·containing·the·content·for·the315 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·object·containing·the·content·for·the
Offset 359, 31 lines modifiedOffset 360, 31 lines modified
359 ····<span·class="p">&lt;</span><span·class="nt">p</span><span·class="p">&gt;</span>Published·<span·class="cp">{{</span>·<span·class="nv">article.pub_date</span><span·class="o">|</span><span·class="nf">date</span><span·class="s2">:&quot;F·j,·Y&quot;</span>·<span·class="cp">}}</span><span·class="p">&lt;/</span><span·class="nt">p</span><span·class="p">&gt;</span>360 ····<span·class="p">&lt;</span><span·class="nt">p</span><span·class="p">&gt;</span>Published·<span·class="cp">{{</span>·<span·class="nv">article.pub_date</span><span·class="o">|</span><span·class="nf">date</span><span·class="s2">:&quot;F·j,·Y&quot;</span>·<span·class="cp">}}</span><span·class="p">&lt;/</span><span·class="nt">p</span><span·class="p">&gt;</span>
360 <span·class="cp">{%</span>·<span·class="k">endfor</span>·<span·class="cp">%}</span>361 <span·class="cp">{%</span>·<span·class="k">endfor</span>·<span·class="cp">%}</span>
361 <span·class="cp">{%</span>·<span·class="k">endblock</span>·<span·class="cp">%}</span>362 <span·class="cp">{%</span>·<span·class="k">endblock</span>·<span·class="cp">%}</span>
362 </pre></div>363 </pre></div>
363 </div>364 </div>
364 </div>365 </div>
365 <p>Variables·are·surrounded·by·double-curly·braces.·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">article.headline</span>·<span·class="pre">}}</span></code>366 <p>Variables·are·surrounded·by·double-curly·braces.·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">article.headline</span>·<span·class="pre">}}</span></code>
366 means·Output·the·value·of·the·article’s·headline·attribute.·But·dots·aren’t367 means·Output·the·value·of·the·article’s·headline·attribute.·But·dots·aren’t
367 used·only·for·attribute·lookup.·They·also·can·do·dictionary-key·lookup,·index368 used·only·for·attribute·lookup.·They·also·can·do·dictionary-key·lookup,·index
368 lookup·and·function·calls.</p>369 lookup·and·function·calls.</p>
369 <p>Note·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">article.pub_date|date:&quot;F</span>·<span·class="pre">j,</span>·<span·class="pre">Y&quot;</span>·<span·class="pre">}}</span></code>·uses·a·Unix-style·pipe·(the·|370 <p>Note·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">article.pub_date|date:&quot;F</span>·<span·class="pre">j,</span>·<span·class="pre">Y&quot;</span>·<span·class="pre">}}</span></code>·uses·a·Unix-style·pipe·(the·|
370 character).·This·is·called·a·template·filter,·and·it’s·a·way·to·filter·the·value371 character).·This·is·called·a·template·filter,·and·it’s·a·way·to·filter·the·value
371 of·a·variable.·In·this·case,·the·date·filter·formats·a·Python·datetime·object·in372 of·a·variable.·In·this·case,·the·date·filter·formats·a·Python·datetime·object·in
372 the·given·format·(as·found·in·PHP’s·date·function).</p>373 the·given·format·(as·found·in·PHP’s·date·function).</p>
373 <p>You·can·chain·together·as·many·filters·as·you’d·like.·You·can·write·<a·class="reference·internal"·href="../howto/custom-template-tags.html#howto-writing-custom-template-filters"><span·class="std·std-ref">custom374 <p>You·can·chain·together·as·many·filters·as·you’d·like.·You·can·write·<a·class="reference·internal"·href="../howto/custom-template-tags.html#howto-writing-custom-template-filters"><span·class="std·std-ref">custom
374 template·filters</span></a>.·You·can·write375 template·filters</span></a>.·You·can·write
375 <a·class="reference·internal"·href="../howto/custom-template-tags.html"><span·class="doc">custom·template·tags</span></a>,·which·run·custom376 <a·class="reference·internal"·href="../howto/custom-template-tags.html"><span·class="doc">custom·template·tags</span></a>,·which·run·custom
376 Python·code·behind·the·scenes.</p>377 Python·code·behind·the·scenes.</p>
377 <p>Finally,·Django·uses·the·concept·of·template·inheritance.·That’s·what·the378 <p>Finally,·Django·uses·the·concept·of·template·inheritance.·That’s·what·the
378 <code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">extends</span>·<span·class="pre">&quot;base.html&quot;</span>·<span·class="pre">%}</span></code>·does.·It·means·First·load·the·template·called379 <code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">extends</span>·<span·class="pre">&quot;base.html&quot;</span>·<span·class="pre">%}</span></code>·does.·It·means·First·load·the·template·called
379 base,·which·has·defined·a·bunch·of·blocks,·and·fill·the·blocks·with·the380 base,·which·has·defined·a·bunch·of·blocks,·and·fill·the·blocks·with·the
380 following·blocks.·In·short,·that·lets·you·dramatically·cut·down·on·redundancy381 following·blocks.·In·short,·that·lets·you·dramatically·cut·down·on·redundancy
381 in·templates:·each·template·has·to·define·only·what’s·unique·to·that·template.</p>382 in·templates:·each·template·has·to·define·only·what’s·unique·to·that·template.</p>
382 <p>Here’s·what·the·base.html·template,·including·the·use·of·<a·class="reference·internal"·href="../howto/static-files/index.html"><span·class="doc">static·files</span></a>,·might·look·like:</p>383 <p>Here’s·what·the·base.html·template,·including·the·use·of·<a·class="reference·internal"·href="../howto/static-files/index.html"><span·class="doc">static·files</span></a>,·might·look·like:</p>
383 <div·class="literal-block-wrapper·docutils·container"·id="id7">384 <div·class="literal-block-wrapper·docutils·container"·id="id7">
384 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">templates/base.html</span></code></span><a·class="headerlink"·href="#id7"·title="Link·to·this·code">¶</a></div>385 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">templates/base.html</span></code></span><a·class="headerlink"·href="#id7"·title="Link·to·this·code">¶</a></div>
385 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">load</span>·<span·class="nv">static</span>·<span·class="cp">%}</span>386 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">load</span>·<span·class="nv">static</span>·<span·class="cp">%}</span>
386 <span·class="p">&lt;</span><span·class="nt">html</span>·<span·class="na">lang</span><span·class="o">=</span><span·class="s">&quot;en&quot;</span><span·class="p">&gt;</span>387 <span·class="p">&lt;</span><span·class="nt">html</span>·<span·class="na">lang</span><span·class="o">=</span><span·class="s">&quot;en&quot;</span><span·class="p">&gt;</span>
387 <span·class="p">&lt;</span><span·class="nt">head</span><span·class="p">&gt;</span>388 <span·class="p">&lt;</span><span·class="nt">head</span><span·class="p">&gt;</span>
388 ····<span·class="p">&lt;</span><span·class="nt">title</span><span·class="p">&gt;</span><span·class="cp">{%</span>·<span·class="k">block</span>·<span·class="nv">title</span>·<span·class="cp">%}{%</span>·<span·class="k">endblock</span>·<span·class="cp">%}</span><span·class="p">&lt;/</span><span·class="nt">title</span><span·class="p">&gt;</span>389 ····<span·class="p">&lt;</span><span·class="nt">title</span><span·class="p">&gt;</span><span·class="cp">{%</span>·<span·class="k">block</span>·<span·class="nv">title</span>·<span·class="cp">%}{%</span>·<span·class="k">endblock</span>·<span·class="cp">%}</span><span·class="p">&lt;/</span><span·class="nt">title</span><span·class="p">&gt;</span>
389 <span·class="p">&lt;/</span><span·class="nt">head</span><span·class="p">&gt;</span>390 <span·class="p">&lt;/</span><span·class="nt">head</span><span·class="p">&gt;</span>
Offset 392, 15 lines modifiedOffset 393, 15 lines modified
392 ····<span·class="cp">{%</span>·<span·class="k">block</span>·<span·class="nv">content</span>·<span·class="cp">%}{%</span>·<span·class="k">endblock</span>·<span·class="cp">%}</span>393 ····<span·class="cp">{%</span>·<span·class="k">block</span>·<span·class="nv">content</span>·<span·class="cp">%}{%</span>·<span·class="k">endblock</span>·<span·class="cp">%}</span>
393 <span·class="p">&lt;/</span><span·class="nt">body</span><span·class="p">&gt;</span>394 <span·class="p">&lt;/</span><span·class="nt">body</span><span·class="p">&gt;</span>
394 <span·class="p">&lt;/</span><span·class="nt">html</span><span·class="p">&gt;</span>395 <span·class="p">&lt;/</span><span·class="nt">html</span><span·class="p">&gt;</span>
395 </pre></div>396 </pre></div>
396 </div>397 </div>
397 </div>398 </div>
398 <p>Simplistically,·it·defines·the·look-and-feel·of·the·site·(with·the·site’s·logo),399 <p>Simplistically,·it·defines·the·look-and-feel·of·the·site·(with·the·site’s·logo),
399 and·provides·holes·for·child·templates·to·fill.·This·means·that·a·site·redesign400 and·provides·holes·for·child·templates·to·fill.·This·means·that·a·site·redesign
400 can·be·done·by·changing·a·single·file··the·base·template.</p>401 can·be·done·by·changing·a·single·file··the·base·template.</p>
401 <p>It·also·lets·you·create·multiple·versions·of·a·site,·with·different·base402 <p>It·also·lets·you·create·multiple·versions·of·a·site,·with·different·base
402 templates,·while·reusing·child·templates.·Django’s·creators·have·used·this403 templates,·while·reusing·child·templates.·Django’s·creators·have·used·this
403 technique·to·create·strikingly·different·mobile·versions·of·sites·by·only404 technique·to·create·strikingly·different·mobile·versions·of·sites·by·only
404 creating·a·new·base·template.</p>405 creating·a·new·base·template.</p>
405 <p>Note·that·you·don’t·have·to·use·Django’s·template·system·if·you·prefer·another406 <p>Note·that·you·don’t·have·to·use·Django’s·template·system·if·you·prefer·another
Max diff block lines reached; 2520/14872 bytes (16.94%) of diff not shown.
8.76 KB
html2text {}
Max HTML report size reached
12.4 KB
./usr/share/doc/python-django-doc/html/intro/reusable-apps.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Advanced·tutorial:·How·to·write·reusable·apps·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Advanced·tutorial:·How·to·write·reusable·apps·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="What·to·read·next"·href="whatsnext.html"·/>15 ····<link·rel="next"·title="What·to·read·next"·href="whatsnext.html"·/>
15 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·8"·href="tutorial08.html"·/>16 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·8"·href="tutorial08.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 17 lines modifiedOffset 100, 17 lines modified
99 we’ve·been·working·on.·How·do·you·make·this·app·reusable?·Luckily,·you’re·well100 we’ve·been·working·on.·How·do·you·make·this·app·reusable?·Luckily,·you’re·well
100 on·the·way·already.·In·<a·class="reference·internal"·href="tutorial01.html"><span·class="doc">Tutorial·1</span></a>,·we·saw·how·we101 on·the·way·already.·In·<a·class="reference·internal"·href="tutorial01.html"><span·class="doc">Tutorial·1</span></a>,·we·saw·how·we
101 could·decouple·polls·from·the·project-level·URLconf·using·an·<code·class="docutils·literal·notranslate"><span·class="pre">include</span></code>.102 could·decouple·polls·from·the·project-level·URLconf·using·an·<code·class="docutils·literal·notranslate"><span·class="pre">include</span></code>.
102 In·this·tutorial,·we’ll·take·further·steps·to·make·the·app·easy·to·use·in·new103 In·this·tutorial,·we’ll·take·further·steps·to·make·the·app·easy·to·use·in·new
103 projects·and·ready·to·publish·for·others·to·install·and·use.</p>104 projects·and·ready·to·publish·for·others·to·install·and·use.</p>
104 <div·class="admonition-package-app·admonition">105 <div·class="admonition-package-app·admonition">
105 <p·class="admonition-title">Package?·App?</p>106 <p·class="admonition-title">Package?·App?</p>
106 <p>A·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-package"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">package</span></a>·provides·a·way·of·grouping·related·Python·code·for107 <p>A·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-package"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">package</span></a>·provides·a·way·of·grouping·related·Python·code·for
107 easy·reuse.·A·package·contains·one·or·more·files·of·Python·code·(also·known108 easy·reuse.·A·package·contains·one·or·more·files·of·Python·code·(also·known
108 as·modules).</p>109 as·modules).</p>
109 <p>A·package·can·be·imported·with·<code·class="docutils·literal·notranslate"><span·class="pre">import</span>·<span·class="pre">foo.bar</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">foo</span>·<span·class="pre">import</span>110 <p>A·package·can·be·imported·with·<code·class="docutils·literal·notranslate"><span·class="pre">import</span>·<span·class="pre">foo.bar</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">foo</span>·<span·class="pre">import</span>
110 <span·class="pre">bar</span></code>.·For·a·directory·(like·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>)·to·form·a·package,·it·must·contain111 <span·class="pre">bar</span></code>.·For·a·directory·(like·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>)·to·form·a·package,·it·must·contain
111 a·special·file·<code·class="docutils·literal·notranslate"><span·class="pre">__init__.py</span></code>,·even·if·this·file·is·empty.</p>112 a·special·file·<code·class="docutils·literal·notranslate"><span·class="pre">__init__.py</span></code>,·even·if·this·file·is·empty.</p>
112 <p>A·Django·<em>application</em>·is·a·Python·package·that·is·specifically·intended113 <p>A·Django·<em>application</em>·is·a·Python·package·that·is·specifically·intended
113 for·use·in·a·Django·project.·An·application·may·use·common·Django114 for·use·in·a·Django·project.·An·application·may·use·common·Django
114 conventions,·such·as·having·<code·class="docutils·literal·notranslate"><span·class="pre">models</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">tests</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">urls</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">views</span></code>115 conventions,·such·as·having·<code·class="docutils·literal·notranslate"><span·class="pre">models</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">tests</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">urls</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">views</span></code>
115 submodules.</p>116 submodules.</p>
Offset 389, 15 lines modifiedOffset 390, 15 lines modified
389 disadvantages:</p>390 disadvantages:</p>
390 <ul·class="simple">391 <ul·class="simple">
391 <li><p>Modifying·the·user·libraries·can·affect·other·Python·software·on·your·system.</p></li>392 <li><p>Modifying·the·user·libraries·can·affect·other·Python·software·on·your·system.</p></li>
392 <li><p>You·won’t·be·able·to·run·multiple·versions·of·this·package·(or·others·with393 <li><p>You·won’t·be·able·to·run·multiple·versions·of·this·package·(or·others·with
393 the·same·name).</p></li>394 the·same·name).</p></li>
394 </ul>395 </ul>
395 <p>Typically,·these·situations·only·arise·once·you’re·maintaining·several·Django396 <p>Typically,·these·situations·only·arise·once·you’re·maintaining·several·Django
396 projects.·When·they·do,·the·best·solution·is·to·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/venv.html"·title="(in·Python·v3.12)"><span·class="xref·std·std-doc">venv</span></a>.·This·tool·allows·you·to·maintain·multiple·isolated397 projects.·When·they·do,·the·best·solution·is·to·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/venv.html"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-doc">venv</span></a>.·This·tool·allows·you·to·maintain·multiple·isolated
397 Python·environments,·each·with·its·own·copy·of·the·libraries·and·package398 Python·environments,·each·with·its·own·copy·of·the·libraries·and·package
398 namespace.</p>399 namespace.</p>
399 </section>400 </section>
400 </section>401 </section>
  
  
401 ··········</div>402 ··········</div>
Offset 406, 15 lines modifiedOffset 407, 15 lines modified
406 ······407 ······
407 ········408 ········
408 ··········<div·class="yui-b"·id="sidebar">409 ··········<div·class="yui-b"·id="sidebar">
409 ············410 ············
410 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">411 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
411 ········<div·class="sphinxsidebarwrapper">412 ········<div·class="sphinxsidebarwrapper">
412 ··<div>413 ··<div>
413 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>414 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
414 ····<ul>415 ····<ul>
415 <li><a·class="reference·internal"·href="#">Advanced·tutorial:·How·to·write·reusable·apps</a><ul>416 <li><a·class="reference·internal"·href="#">Advanced·tutorial:·How·to·write·reusable·apps</a><ul>
416 <li><a·class="reference·internal"·href="#reusability-matters">Reusability·matters</a></li>417 <li><a·class="reference·internal"·href="#reusability-matters">Reusability·matters</a></li>
417 <li><a·class="reference·internal"·href="#your-project-and-your-reusable-app">Your·project·and·your·reusable·app</a></li>418 <li><a·class="reference·internal"·href="#your-project-and-your-reusable-app">Your·project·and·your·reusable·app</a></li>
418 <li><a·class="reference·internal"·href="#installing-some-prerequisites">Installing·some·prerequisites</a></li>419 <li><a·class="reference·internal"·href="#installing-some-prerequisites">Installing·some·prerequisites</a></li>
419 <li><a·class="reference·internal"·href="#packaging-your-app">Packaging·your·app</a></li>420 <li><a·class="reference·internal"·href="#packaging-your-app">Packaging·your·app</a></li>
420 <li><a·class="reference·internal"·href="#using-your-own-package">Using·your·own·package</a></li>421 <li><a·class="reference·internal"·href="#using-your-own-package">Using·your·own·package</a></li>
Offset 422, 37 lines modifiedOffset 423, 37 lines modified
422 <li><a·class="reference·internal"·href="#installing-python-packages-with-a-virtual-environment">Installing·Python·packages·with·a·virtual·environment</a></li>423 <li><a·class="reference·internal"·href="#installing-python-packages-with-a-virtual-environment">Installing·Python·packages·with·a·virtual·environment</a></li>
423 </ul>424 </ul>
424 </li>425 </li>
425 </ul>426 </ul>
  
426 ··</div>427 ··</div>
427 ··<div>428 ··<div>
428 ····<h4>Previous·topic</h4>429 ····<h4>Eelmine·teema</h4>
429 ····<p·class="topless"><a·href="tutorial08.html"430 ····<p·class="topless"><a·href="tutorial08.html"
430 ··························title="previous·chapter">Writing·your·first·Django·app,·part·8</a></p>431 ··························title="eelmine·jaotis">Writing·your·first·Django·app,·part·8</a></p>
431 ··</div>432 ··</div>
432 ··<div>433 ··<div>
433 ····<h4>Next·topic</h4>434 ····<h4>Järgmine·teema</h4>
434 ····<p·class="topless"><a·href="whatsnext.html"435 ····<p·class="topless"><a·href="whatsnext.html"
435 ··························title="next·chapter">What·to·read·next</a></p>436 ··························title="järgmine·jaotis">What·to·read·next</a></p>
436 ··</div>437 ··</div>
437 <search·id="searchbox"·style="display:·none"·role="search">438 <search·id="searchbox"·style="display:·none"·role="search">
438 ··<h3·id="searchlabel">Quick·search</h3>439 ··<h3·id="searchlabel">Kiirotsing</h3>
439 ····<div·class="searchformwrapper">440 ····<div·class="searchformwrapper">
440 ····<form·class="search"·action="../search.html"·method="get">441 ····<form·class="search"·action="../search.html"·method="get">
441 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>442 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
442 ······<input·type="submit"·value="Go"·/>443 ······<input·type="submit"·value="Otsi"·/>
443 ····</form>444 ····</form>
444 ····</div>445 ····</div>
445 </search>446 </search>
446 <script>document.getElementById('searchbox').style.display·=·"block"</script>447 <script>document.getElementById('searchbox').style.display·=·"block"</script>
447 ········</div>448 ········</div>
448 ······</div>449 ······</div>
449 ··············<h3>Last·update:</h3>450 ··············<h3>Last·update:</h3>
450 ··············<p·class="topless">Nov·05,·2024</p>451 ··············<p·class="topless">nov·05,·2024</p>
451 ··········</div>452 ··········</div>
452 ········453 ········
453 ······454 ······
454 ····</div>455 ····</div>
  
455 ····<div·id="ft">456 ····<div·id="ft">
456 ······<div·class="nav">457 ······<div·class="nav">
Max diff block lines reached; -1/8184 bytes (-0.01%) of diff not shown.
4.24 KB
html2text {}
Max HTML report size reached
29.0 KB
./usr/share/doc/python-django-doc/html/intro/tutorial01.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·your·first·Django·app,·part·1·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·your·first·Django·app,·part·1·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·2"·href="tutorial02.html"·/>15 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·2"·href="tutorial02.html"·/>
15 ····<link·rel="prev"·title="Quick·install·guide"·href="install.html"·/>16 ····<link·rel="prev"·title="Quick·install·guide"·href="install.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 115, 15 lines modifiedOffset 116, 15 lines modified
115 </section>116 </section>
116 <section·class="c-content-win"·id="c-content-0-win">117 <section·class="c-content-win"·id="c-content-0-win">
117 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·-m·django·--version118 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·-m·django·--version
118 </pre></div>119 </pre></div>
119 </section>120 </section>
120 </div>121 </div>
121 <p>If·Django·is·installed,·you·should·see·the·version·of·your·installation.·If·it122 <p>If·Django·is·installed,·you·should·see·the·version·of·your·installation.·If·it
122 isn’t,·you’ll·get·an·error·telling·No·module·named·django.</p>123 isn’t,·you’ll·get·an·error·telling·No·module·named·django.</p>
123 <p>This·tutorial·is·written·for·Django·5.1,·which·supports·Python·3.10·and124 <p>This·tutorial·is·written·for·Django·5.1,·which·supports·Python·3.10·and
124 later.·If·the·Django·version·doesn’t·match,·you·can·refer·to·the·tutorial·for125 later.·If·the·Django·version·doesn’t·match,·you·can·refer·to·the·tutorial·for
125 your·version·of·Django·by·using·the·version·switcher·at·the·bottom·right·corner126 your·version·of·Django·by·using·the·version·switcher·at·the·bottom·right·corner
126 of·this·page,·or·update·Django·to·the·newest·version.·If·you’re·using·an·older127 of·this·page,·or·update·Django·to·the·newest·version.·If·you’re·using·an·older
127 version·of·Python,·check·<a·class="reference·internal"·href="../faq/install.html#faq-python-version-support"><span·class="std·std-ref">What·Python·version·can·I·use·with·Django?</span></a>·to·find·a·compatible128 version·of·Python,·check·<a·class="reference·internal"·href="../faq/install.html#faq-python-version-support"><span·class="std·std-ref">What·Python·version·can·I·use·with·Django?</span></a>·to·find·a·compatible
128 version·of·Django.</p>129 version·of·Django.</p>
129 <p>See·<a·class="reference·internal"·href="../topics/install.html"><span·class="doc">How·to·install·Django</span></a>·for·advice·on·how·to·remove130 <p>See·<a·class="reference·internal"·href="../topics/install.html"><span·class="doc">How·to·install·Django</span></a>·for·advice·on·how·to·remove
Offset 173, 15 lines modifiedOffset 174, 15 lines modified
173 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·django-admin·startproject·mysite·djangotutorial174 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·django-admin·startproject·mysite·djangotutorial
174 </pre></div>175 </pre></div>
175 </section>176 </section>
176 </div>177 </div>
177 <p>This·will·create·a·project·called·<code·class="docutils·literal·notranslate"><span·class="pre">mysite</span></code>·inside·the·<code·class="docutils·literal·notranslate"><span·class="pre">djangotutorial</span></code>178 <p>This·will·create·a·project·called·<code·class="docutils·literal·notranslate"><span·class="pre">mysite</span></code>·inside·the·<code·class="docutils·literal·notranslate"><span·class="pre">djangotutorial</span></code>
178 directory.·If·it·didn’t·work,·see·<a·class="reference·internal"·href="../faq/troubleshooting.html#troubleshooting-django-admin"><span·class="std·std-ref">Problems·running·django-admin</span></a>.</p>179 directory.·If·it·didn’t·work,·see·<a·class="reference·internal"·href="../faq/troubleshooting.html#troubleshooting-django-admin"><span·class="std·std-ref">Problems·running·django-admin</span></a>.</p>
179 <div·class="admonition·note">180 <div·class="admonition·note">
180 <p·class="admonition-title">Note</p>181 <p·class="admonition-title">rkus</p>
181 <p>You’ll·need·to·avoid·naming·projects·after·built-in·Python·or·Django182 <p>You’ll·need·to·avoid·naming·projects·after·built-in·Python·or·Django
182 components.·In·particular,·this·means·you·should·avoid·using·names·like183 components.·In·particular,·this·means·you·should·avoid·using·names·like
183 <code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>·(which·will·conflict·with·Django·itself)·or·<code·class="docutils·literal·notranslate"><span·class="pre">test</span></code>·(which184 <code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>·(which·will·conflict·with·Django·itself)·or·<code·class="docutils·literal·notranslate"><span·class="pre">test</span></code>·(which
184 conflicts·with·a·built-in·Python·package).</p>185 conflicts·with·a·built-in·Python·package).</p>
185 </div>186 </div>
186 <p>Let’s·look·at·what·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-startproject"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startproject</span></code></a>·created:</p>187 <p>Let’s·look·at·what·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-startproject"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startproject</span></code></a>·created:</p>
187 <div·class="highlight-text·notranslate"><div·class="highlight"><pre><span></span>djangotutorial/188 <div·class="highlight-text·notranslate"><div·class="highlight"><pre><span></span>djangotutorial/
Offset 200, 20 lines modifiedOffset 201, 20 lines modified
200 Django·project·in·various·ways.·You·can·read·all·the·details·about201 Django·project·in·various·ways.·You·can·read·all·the·details·about
201 <code·class="file·docutils·literal·notranslate"><span·class="pre">manage.py</span></code>·in·<a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">django-admin·and·manage.py</span></a>.</p></li>202 <code·class="file·docutils·literal·notranslate"><span·class="pre">manage.py</span></code>·in·<a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">django-admin·and·manage.py</span></a>.</p></li>
202 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/</span></code>:·A·directory·that·is·the·actual·Python·package·for·your203 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/</span></code>:·A·directory·that·is·the·actual·Python·package·for·your
203 project.·Its·name·is·the·Python·package·name·you’ll·need·to·use·to·import204 project.·Its·name·is·the·Python·package·name·you’ll·need·to·use·to·import
204 anything·inside·it·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">mysite.urls</span></code>).</p></li>205 anything·inside·it·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">mysite.urls</span></code>).</p></li>
205 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/__init__.py</span></code>:·An·empty·file·that·tells·Python·that·this206 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/__init__.py</span></code>:·An·empty·file·that·tells·Python·that·this
206 directory·should·be·considered·a·Python·package.·If·you’re·a·Python·beginner,207 directory·should·be·considered·a·Python·package.·If·you’re·a·Python·beginner,
207 read·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/modules.html#tut-packages"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">more·about·packages</span></a>·in·the·official·Python·docs.</p></li>208 read·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/modules.html#tut-packages"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">more·about·packages</span></a>·in·the·official·Python·docs.</p></li>
208 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/settings.py</span></code>:·Settings/configuration·for·this·Django209 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/settings.py</span></code>:·Settings/configuration·for·this·Django
209 project.··<a·class="reference·internal"·href="../topics/settings.html"><span·class="doc">Django·settings</span></a>·will·tell·you·all·about·how·settings210 project.··<a·class="reference·internal"·href="../topics/settings.html"><span·class="doc">Django·settings</span></a>·will·tell·you·all·about·how·settings
210 work.</p></li>211 work.</p></li>
211 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/urls.py</span></code>:·The·URL·declarations·for·this·Django·project;·a212 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/urls.py</span></code>:·The·URL·declarations·for·this·Django·project;·a
212 table·of·contents·of·your·Django-powered·site.·You·can·read·more·about213 table·of·contents·of·your·Django-powered·site.·You·can·read·more·about
213 URLs·in·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL·dispatcher</span></a>.</p></li>214 URLs·in·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL·dispatcher</span></a>.</p></li>
214 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/asgi.py</span></code>:·An·entry-point·for·ASGI-compatible·web·servers·to215 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/asgi.py</span></code>:·An·entry-point·for·ASGI-compatible·web·servers·to
215 serve·your·project.·See·<a·class="reference·internal"·href="../howto/deployment/asgi/index.html"><span·class="doc">How·to·deploy·with·ASGI</span></a>·for·more·details.</p></li>216 serve·your·project.·See·<a·class="reference·internal"·href="../howto/deployment/asgi/index.html"><span·class="doc">How·to·deploy·with·ASGI</span></a>·for·more·details.</p></li>
216 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/wsgi.py</span></code>:·An·entry-point·for·WSGI-compatible·web·servers·to217 <li><p><code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/wsgi.py</span></code>:·An·entry-point·for·WSGI-compatible·web·servers·to
217 serve·your·project.·See·<a·class="reference·internal"·href="../howto/deployment/wsgi/index.html"><span·class="doc">How·to·deploy·with·WSGI</span></a>·for·more·details.</p></li>218 serve·your·project.·See·<a·class="reference·internal"·href="../howto/deployment/wsgi/index.html"><span·class="doc">How·to·deploy·with·WSGI</span></a>·for·more·details.</p></li>
218 </ul>219 </ul>
219 </section>220 </section>
Offset 240, 25 lines modifiedOffset 241, 25 lines modified
240 <pre·class="literal-block">Performing·system·checks...241 <pre·class="literal-block">Performing·system·checks...
  
241 System·check·identified·no·issues·(0·silenced).242 System·check·identified·no·issues·(0·silenced).
  
242 You·have·unapplied·migrations;·your·app·may·not·work·properly·until·they·are·applied.243 You·have·unapplied·migrations;·your·app·may·not·work·properly·until·they·are·applied.
243 Run·'python·manage.py·migrate'·to·apply·them.244 Run·'python·manage.py·migrate'·to·apply·them.
  
244 November·05,·2024·-·15:50:53245 november·05,·2024·-·15:50:53
245 Django·version·5.1,·using·settings·'mysite.settings'246 Django·version·5.1,·using·settings·'mysite.settings'
246 Starting·development·server·at·<a·class="reference·external"·href="http://127.0.0.1:8000/">http://127.0.0.1:8000/</a>247 Starting·development·server·at·<a·class="reference·external"·href="http://127.0.0.1:8000/">http://127.0.0.1:8000/</a>
247 Quit·the·server·with·CONTROL-C.</pre>248 Quit·the·server·with·CONTROL-C.</pre>
248 <div·class="admonition·note">249 <div·class="admonition·note">
249 <p·class="admonition-title">Note</p>250 <p·class="admonition-title">rkus</p>
250 <p>Ignore·the·warning·about·unapplied·database·migrations·for·now;·we’ll·deal251 <p>Ignore·the·warning·about·unapplied·database·migrations·for·now;·we’ll·deal
251 with·the·database·shortly.</p>252 with·the·database·shortly.</p>
252 </div>253 </div>
253 <p>Now·that·the·server’s·running,·visit·<a·class="reference·external"·href="http://127.0.0.1:8000/">http://127.0.0.1:8000/</a>·with·your·web254 <p>Now·that·the·server’s·running,·visit·<a·class="reference·external"·href="http://127.0.0.1:8000/">http://127.0.0.1:8000/</a>·with·your·web
254 browser.·You’ll·see·a·Congratulations!·page,·with·a·rocket·taking·off.255 browser.·You’ll·see·a·Congratulations!·page,·with·a·rocket·taking·off.
255 It·worked!</p>256 It·worked!</p>
256 <p>You’ve·started·the·Django·development·server,·a·lightweight·web·server·written257 <p>You’ve·started·the·Django·development·server,·a·lightweight·web·server·written
257 purely·in·Python.·We’ve·included·this·with·Django·so·you·can·develop·things258 purely·in·Python.·We’ve·included·this·with·Django·so·you·can·develop·things
258 rapidly,·without·having·to·deal·with·configuring·a·production·server··such·as259 rapidly,·without·having·to·deal·with·configuring·a·production·server··such·as
259 Apache··until·you’re·ready·for·production.</p>260 Apache··until·you’re·ready·for·production.</p>
260 <p>Now’s·a·good·time·to·note:·<strong>don’t</strong>·use·this·server·in·anything·resembling·a261 <p>Now’s·a·good·time·to·note:·<strong>don’t</strong>·use·this·server·in·anything·resembling·a
261 production·environment.·It’s·intended·only·for·use·while·developing.·(We’re·in262 production·environment.·It’s·intended·only·for·use·while·developing.·(We’re·in
Offset 270, 29 lines modifiedOffset 271, 29 lines modified
270 as·needed.·You·don’t·need·to·restart·the·server·for·code·changes·to·take271 as·needed.·You·don’t·need·to·restart·the·server·for·code·changes·to·take
271 effect.·However,·some·actions·like·adding·files·don’t·trigger·a·restart,272 effect.·However,·some·actions·like·adding·files·don’t·trigger·a·restart,
272 so·you’ll·have·to·restart·the·server·in·these·cases.</p>273 so·you’ll·have·to·restart·the·server·in·these·cases.</p>
273 </div>274 </div>
274 </section>275 </section>
275 <section·id="s-creating-the-polls-app">276 <section·id="s-creating-the-polls-app">
276 <span·id="creating-the-polls-app"></span><h2>Creating·the·Polls·app<a·class="headerlink"·href="#creating-the-polls-app"·title="Link·to·this·heading">¶</a></h2>277 <span·id="creating-the-polls-app"></span><h2>Creating·the·Polls·app<a·class="headerlink"·href="#creating-the-polls-app"·title="Link·to·this·heading">¶</a></h2>
277 <p>Now·that·your·environment··a·project··is·set·up,·you’re·set·to·start278 <p>Now·that·your·environment··a·project··is·set·up,·you’re·set·to·start
Max diff block lines reached; 9047/18817 bytes (48.08%) of diff not shown.
10.5 KB
html2text {}
Max HTML report size reached
29.4 KB
./usr/share/doc/python-django-doc/html/intro/tutorial02.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·your·first·Django·app,·part·2·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·your·first·Django·app,·part·2·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·3"·href="tutorial03.html"·/>15 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·3"·href="tutorial03.html"·/>
15 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·1"·href="tutorial01.html"·/>16 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·1"·href="tutorial01.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 241, 15 lines modifiedOffset 242, 15 lines modified
241 <ul·class="simple">242 <ul·class="simple">
242 <li><p>Create·a·database·schema·(<code·class="docutils·literal·notranslate"><span·class="pre">CREATE</span>·<span·class="pre">TABLE</span></code>·statements)·for·this·app.</p></li>243 <li><p>Create·a·database·schema·(<code·class="docutils·literal·notranslate"><span·class="pre">CREATE</span>·<span·class="pre">TABLE</span></code>·statements)·for·this·app.</p></li>
243 <li><p>Create·a·Python·database-access·API·for·accessing·<code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·objects.</p></li>244 <li><p>Create·a·Python·database-access·API·for·accessing·<code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·objects.</p></li>
244 </ul>245 </ul>
245 <p>But·first·we·need·to·tell·our·project·that·the·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·app·is·installed.</p>246 <p>But·first·we·need·to·tell·our·project·that·the·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·app·is·installed.</p>
246 <div·class="admonition-philosophy·admonition">247 <div·class="admonition-philosophy·admonition">
247 <p·class="admonition-title">Philosophy</p>248 <p·class="admonition-title">Philosophy</p>
248 <p>Django·apps·are·pluggable:·You·can·use·an·app·in·multiple·projects,·and249 <p>Django·apps·are·pluggable:·You·can·use·an·app·in·multiple·projects,·and
249 you·can·distribute·apps,·because·they·don’t·have·to·be·tied·to·a·given250 you·can·distribute·apps,·because·they·don’t·have·to·be·tied·to·a·given
250 Django·installation.</p>251 Django·installation.</p>
251 </div>252 </div>
252 <p>To·include·the·app·in·our·project,·we·need·to·add·a·reference·to·its253 <p>To·include·the·app·in·our·project,·we·need·to·add·a·reference·to·its
253 configuration·class·in·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·setting.·The254 configuration·class·in·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·setting.·The
254 <code·class="docutils·literal·notranslate"><span·class="pre">PollsConfig</span></code>·class·is·in·the·<code·class="file·docutils·literal·notranslate"><span·class="pre">polls/apps.py</span></code>·file,·so·its·dotted·path255 <code·class="docutils·literal·notranslate"><span·class="pre">PollsConfig</span></code>·class·is·in·the·<code·class="file·docutils·literal·notranslate"><span·class="pre">polls/apps.py</span></code>·file,·so·its·dotted·path
255 is·<code·class="docutils·literal·notranslate"><span·class="pre">'polls.apps.PollsConfig'</span></code>.·Edit·the·<code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/settings.py</span></code>·file·and256 is·<code·class="docutils·literal·notranslate"><span·class="pre">'polls.apps.PollsConfig'</span></code>.·Edit·the·<code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/settings.py</span></code>·file·and
Offset 442, 15 lines modifiedOffset 443, 15 lines modified
442 </div>443 </div>
443 </section>444 </section>
444 <section·class="c-content-win"·id="c-content-4-win">445 <section·class="c-content-win"·id="c-content-4-win">
445 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·manage.py·shell446 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·manage.py·shell
446 </pre></div>447 </pre></div>
447 </section>448 </section>
448 </div>449 </div>
449 <p>We’re·using·this·instead·of·simply·typing·python,·because·<code·class="file·docutils·literal·notranslate"><span·class="pre">manage.py</span></code>450 <p>We’re·using·this·instead·of·simply·typing·python,·because·<code·class="file·docutils·literal·notranslate"><span·class="pre">manage.py</span></code>
450 sets·the·<span·class="target"·id="index-0"></span><a·class="reference·internal"·href="../topics/settings.html#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>·environment·variable,·which·gives451 sets·the·<span·class="target"·id="index-0"></span><a·class="reference·internal"·href="../topics/settings.html#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>·environment·variable,·which·gives
451 Django·the·Python·import·path·to·your·<code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/settings.py</span></code>·file.</p>452 Django·the·Python·import·path·to·your·<code·class="file·docutils·literal·notranslate"><span·class="pre">mysite/settings.py</span></code>·file.</p>
452 <p>Once·you’re·in·the·shell,·explore·the·<a·class="reference·internal"·href="../topics/db/queries.html"><span·class="doc">database·API</span></a>:</p>453 <p>Once·you’re·in·the·shell,·explore·the·<a·class="reference·internal"·href="../topics/db/queries.html"><span·class="doc">database·API</span></a>:</p>
453 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">polls.models</span>·<span·class="kn">import</span>·<span·class="n">Choice</span><span·class="p">,</span>·<span·class="n">Question</span>··<span·class="c1">#·Import·the·model·classes·we·just·wrote.</span>454 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">polls.models</span>·<span·class="kn">import</span>·<span·class="n">Choice</span><span·class="p">,</span>·<span·class="n">Question</span>··<span·class="c1">#·Import·the·model·classes·we·just·wrote.</span>
  
454 <span·class="go">#·No·questions·are·in·the·system·yet.</span>455 <span·class="go">#·No·questions·are·in·the·system·yet.</span>
455 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Question</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>456 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Question</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>
Offset 506, 15 lines modifiedOffset 507, 15 lines modified
506 ····<span·class="k">def</span>·<span·class="fm">__str__</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>507 ····<span·class="k">def</span>·<span·class="fm">__str__</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>
507 ········<span·class="k">return</span>·<span·class="bp">self</span><span·class="o">.</span><span·class="n">choice_text</span>508 ········<span·class="k">return</span>·<span·class="bp">self</span><span·class="o">.</span><span·class="n">choice_text</span>
508 </pre></div>509 </pre></div>
509 </div>510 </div>
510 </div>511 </div>
511 <p>It’s·important·to·add·<a·class="reference·internal"·href="../ref/models/instances.html#django.db.models.Model.__str__"·title="django.db.models.Model.__str__"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">__str__()</span></code></a>·methods·to·your512 <p>It’s·important·to·add·<a·class="reference·internal"·href="../ref/models/instances.html#django.db.models.Model.__str__"·title="django.db.models.Model.__str__"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">__str__()</span></code></a>·methods·to·your
512 models,·not·only·for·your·own·convenience·when·dealing·with·the·interactive513 models,·not·only·for·your·own·convenience·when·dealing·with·the·interactive
513 prompt,·but·also·because·objects·representations·are·used·throughout·Django’s514 prompt,·but·also·because·objects·representations·are·used·throughout·Django’s
514 automatically-generated·admin.</p>515 automatically-generated·admin.</p>
515 <p·id="tutorial02-import-timezone">Let’s·also·add·a·custom·method·to·this·model:</p>516 <p·id="tutorial02-import-timezone">Let’s·also·add·a·custom·method·to·this·model:</p>
516 <div·class="literal-block-wrapper·docutils·container"·id="id5">517 <div·class="literal-block-wrapper·docutils·container"·id="id5">
517 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">polls/models.py</span></code></span><a·class="headerlink"·href="#id5"·title="Link·to·this·code">¶</a></div>518 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">polls/models.py</span></code></span><a·class="headerlink"·href="#id5"·title="Link·to·this·code">¶</a></div>
518 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">datetime</span>519 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">datetime</span>
  
519 <span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>520 <span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>
Offset 525, 15 lines modifiedOffset 526, 15 lines modified
525 ····<span·class="c1">#·...</span>526 ····<span·class="c1">#·...</span>
526 ····<span·class="k">def</span>·<span·class="nf">was_published_recently</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>527 ····<span·class="k">def</span>·<span·class="nf">was_published_recently</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>
527 ········<span·class="k">return</span>·<span·class="bp">self</span><span·class="o">.</span><span·class="n">pub_date</span>·<span·class="o">&gt;=</span>·<span·class="n">timezone</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>·<span·class="o">-</span>·<span·class="n">datetime</span><span·class="o">.</span><span·class="n">timedelta</span><span·class="p">(</span><span·class="n">days</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>528 ········<span·class="k">return</span>·<span·class="bp">self</span><span·class="o">.</span><span·class="n">pub_date</span>·<span·class="o">&gt;=</span>·<span·class="n">timezone</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>·<span·class="o">-</span>·<span·class="n">datetime</span><span·class="o">.</span><span·class="n">timedelta</span><span·class="p">(</span><span·class="n">days</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>
528 </pre></div>529 </pre></div>
529 </div>530 </div>
530 </div>531 </div>
531 <p>Note·the·addition·of·<code·class="docutils·literal·notranslate"><span·class="pre">import</span>·<span·class="pre">datetime</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">django.utils</span>·<span·class="pre">import</span>532 <p>Note·the·addition·of·<code·class="docutils·literal·notranslate"><span·class="pre">import</span>·<span·class="pre">datetime</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">django.utils</span>·<span·class="pre">import</span>
532 <span·class="pre">timezone</span></code>,·to·reference·Python’s·standard·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#module-datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·module·and·Django’s533 <span·class="pre">timezone</span></code>,·to·reference·Python’s·standard·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#module-datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·module·and·Django’s
533 time-zone-related·utilities·in·<a·class="reference·internal"·href="../ref/utils.html#module-django.utils.timezone"·title="django.utils.timezone:·Timezone·support."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.utils.timezone</span></code></a>,·respectively.·If534 time-zone-related·utilities·in·<a·class="reference·internal"·href="../ref/utils.html#module-django.utils.timezone"·title="django.utils.timezone:·Timezone·support."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.utils.timezone</span></code></a>,·respectively.·If
534 you·aren’t·familiar·with·time·zone·handling·in·Python,·you·can·learn·more·in535 you·aren’t·familiar·with·time·zone·handling·in·Python,·you·can·learn·more·in
535 the·<a·class="reference·internal"·href="../topics/i18n/timezones.html"><span·class="doc">time·zone·support·docs</span></a>.</p>536 the·<a·class="reference·internal"·href="../topics/i18n/timezones.html"><span·class="doc">time·zone·support·docs</span></a>.</p>
536 <p>Save·these·changes·and·start·a·new·Python·interactive·shell·by·running537 <p>Save·these·changes·and·start·a·new·Python·interactive·shell·by·running
537 <code·class="docutils·literal·notranslate"><span·class="pre">python</span>·<span·class="pre">manage.py</span>·<span·class="pre">shell</span></code>·again:</p>538 <code·class="docutils·literal·notranslate"><span·class="pre">python</span>·<span·class="pre">manage.py</span>·<span·class="pre">shell</span></code>·again:</p>
538 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">polls.models</span>·<span·class="kn">import</span>·<span·class="n">Choice</span><span·class="p">,</span>·<span·class="n">Question</span>539 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">polls.models</span>·<span·class="kn">import</span>·<span·class="n">Choice</span><span·class="p">,</span>·<span·class="n">Question</span>
  
Offset 620, 15 lines modifiedOffset 621, 15 lines modified
620 <span·id="introducing-the-django-admin"></span><h2>Introducing·the·Django·Admin<a·class="headerlink"·href="#introducing-the-django-admin"·title="Link·to·this·heading">¶</a></h2>621 <span·id="introducing-the-django-admin"></span><h2>Introducing·the·Django·Admin<a·class="headerlink"·href="#introducing-the-django-admin"·title="Link·to·this·heading">¶</a></h2>
621 <div·class="admonition-philosophy·admonition">622 <div·class="admonition-philosophy·admonition">
622 <p·class="admonition-title">Philosophy</p>623 <p·class="admonition-title">Philosophy</p>
623 <p>Generating·admin·sites·for·your·staff·or·clients·to·add,·change,·and·delete624 <p>Generating·admin·sites·for·your·staff·or·clients·to·add,·change,·and·delete
624 content·is·tedious·work·that·doesn’t·require·much·creativity.·For·that625 content·is·tedious·work·that·doesn’t·require·much·creativity.·For·that
625 reason,·Django·entirely·automates·creation·of·admin·interfaces·for·models.</p>626 reason,·Django·entirely·automates·creation·of·admin·interfaces·for·models.</p>
626 <p>Django·was·written·in·a·newsroom·environment,·with·a·very·clear·separation627 <p>Django·was·written·in·a·newsroom·environment,·with·a·very·clear·separation
627 between·content·publishers·and·the·public·site.·Site·managers·use·the628 between·content·publishers·and·the·public·site.·Site·managers·use·the
628 system·to·add·news·stories,·events,·sports·scores,·etc.,·and·that·content·is629 system·to·add·news·stories,·events,·sports·scores,·etc.,·and·that·content·is
629 displayed·on·the·public·site.·Django·solves·the·problem·of·creating·a630 displayed·on·the·public·site.·Django·solves·the·problem·of·creating·a
630 unified·interface·for·site·administrators·to·edit·content.</p>631 unified·interface·for·site·administrators·to·edit·content.</p>
631 <p>The·admin·isn’t·intended·to·be·used·by·site·visitors.·It’s·for·site632 <p>The·admin·isn’t·intended·to·be·used·by·site·visitors.·It’s·for·site
632 managers.</p>633 managers.</p>
633 </div>634 </div>
634 <section·id="s-creating-an-admin-user">635 <section·id="s-creating-an-admin-user">
Offset 682, 15 lines modifiedOffset 683, 15 lines modified
682 </div>683 </div>
683 </section>684 </section>
684 <section·class="c-content-win"·id="c-content-6-win">685 <section·class="c-content-win"·id="c-content-6-win">
685 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·manage.py·runserver686 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·manage.py·runserver
686 </pre></div>687 </pre></div>
687 </section>688 </section>
688 </div>689 </div>
Max diff block lines reached; 7593/19246 bytes (39.45%) of diff not shown.
10.5 KB
html2text {}
Max HTML report size reached
33.5 KB
./usr/share/doc/python-django-doc/html/intro/tutorial03.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·your·first·Django·app,·part·3·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·your·first·Django·app,·part·3·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·4"·href="tutorial04.html"·/>15 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·4"·href="tutorial04.html"·/>
15 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·2"·href="tutorial02.html"·/>16 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·2"·href="tutorial02.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 77, 55 lines modifiedOffset 78, 55 lines modified
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="intro-tutorial03">79 ··········<div·class="yui-g"·id="intro-tutorial03">
79 ············80 ············
80 ··<section·id="s-writing-your-first-django-app-part-3">81 ··<section·id="s-writing-your-first-django-app-part-3">
81 <span·id="writing-your-first-django-app-part-3"></span><h1>Writing·your·first·Django·app,·part·3<a·class="headerlink"·href="#writing-your-first-django-app-part-3"·title="Link·to·this·heading">¶</a></h1>82 <span·id="writing-your-first-django-app-part-3"></span><h1>Writing·your·first·Django·app,·part·3<a·class="headerlink"·href="#writing-your-first-django-app-part-3"·title="Link·to·this·heading">¶</a></h1>
82 <p>This·tutorial·begins·where·<a·class="reference·internal"·href="tutorial02.html"><span·class="doc">Tutorial·2</span></a>·left·off.·We’re83 <p>This·tutorial·begins·where·<a·class="reference·internal"·href="tutorial02.html"><span·class="doc">Tutorial·2</span></a>·left·off.·We’re
83 continuing·the·web-poll·application·and·will·focus·on·creating·the·public84 continuing·the·web-poll·application·and·will·focus·on·creating·the·public
84 interface··views.</p>85 interface··views.</p>
85 <div·class="admonition-where-to-get-help·admonition">86 <div·class="admonition-where-to-get-help·admonition">
86 <p·class="admonition-title">Where·to·get·help:</p>87 <p·class="admonition-title">Where·to·get·help:</p>
87 <p>If·you’re·having·trouble·going·through·this·tutorial,·please·head·over·to88 <p>If·you’re·having·trouble·going·through·this·tutorial,·please·head·over·to
88 the·<a·class="reference·internal"·href="../faq/help.html"><span·class="doc">Getting·Help</span></a>·section·of·the·FAQ.</p>89 the·<a·class="reference·internal"·href="../faq/help.html"><span·class="doc">Getting·Help</span></a>·section·of·the·FAQ.</p>
89 </div>90 </div>
90 <section·id="s-overview">91 <section·id="s-overview">
91 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>92 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>
92 <p>A·view·is·a·type·of·web·page·in·your·Django·application·that·generally·serves93 <p>A·view·is·a·type·of·web·page·in·your·Django·application·that·generally·serves
93 a·specific·function·and·has·a·specific·template.·For·example,·in·a·blog94 a·specific·function·and·has·a·specific·template.·For·example,·in·a·blog
94 application,·you·might·have·the·following·views:</p>95 application,·you·might·have·the·following·views:</p>
95 <ul·class="simple">96 <ul·class="simple">
96 <li><p>Blog·homepage··displays·the·latest·few·entries.</p></li>97 <li><p>Blog·homepage··displays·the·latest·few·entries.</p></li>
97 <li><p>Entry·detail·page··permalink·page·for·a·single·entry.</p></li>98 <li><p>Entry·detail·page··permalink·page·for·a·single·entry.</p></li>
98 <li><p>Year-based·archive·page··displays·all·months·with·entries·in·the99 <li><p>Year-based·archive·page··displays·all·months·with·entries·in·the
99 given·year.</p></li>100 given·year.</p></li>
100 <li><p>Month-based·archive·page··displays·all·days·with·entries·in·the101 <li><p>Month-based·archive·page··displays·all·days·with·entries·in·the
101 given·month.</p></li>102 given·month.</p></li>
102 <li><p>Day-based·archive·page··displays·all·entries·in·the·given·day.</p></li>103 <li><p>Day-based·archive·page··displays·all·entries·in·the·given·day.</p></li>
103 <li><p>Comment·action··handles·posting·comments·to·a·given·entry.</p></li>104 <li><p>Comment·action··handles·posting·comments·to·a·given·entry.</p></li>
104 </ul>105 </ul>
105 <p>In·our·poll·application,·we’ll·have·the·following·four·views:</p>106 <p>In·our·poll·application,·we’ll·have·the·following·four·views:</p>
106 <ul·class="simple">107 <ul·class="simple">
107 <li><p>Question·index·page··displays·the·latest·few·questions.</p></li>108 <li><p>Question·index·page··displays·the·latest·few·questions.</p></li>
108 <li><p>Question·detail·page··displays·a·question·text,·with·no·results·but109 <li><p>Question·detail·page··displays·a·question·text,·with·no·results·but
109 with·a·form·to·vote.</p></li>110 with·a·form·to·vote.</p></li>
110 <li><p>Question·results·page··displays·results·for·a·particular·question.</p></li>111 <li><p>Question·results·page··displays·results·for·a·particular·question.</p></li>
111 <li><p>Vote·action··handles·voting·for·a·particular·choice·in·a·particular112 <li><p>Vote·action··handles·voting·for·a·particular·choice·in·a·particular
112 question.</p></li>113 question.</p></li>
113 </ul>114 </ul>
114 <p>In·Django,·web·pages·and·other·content·are·delivered·by·views.·Each·view·is115 <p>In·Django,·web·pages·and·other·content·are·delivered·by·views.·Each·view·is
115 represented·by·a·Python·function·(or·method,·in·the·case·of·class-based·views).116 represented·by·a·Python·function·(or·method,·in·the·case·of·class-based·views).
116 Django·will·choose·a·view·by·examining·the·URL·that’s·requested·(to·be·precise,117 Django·will·choose·a·view·by·examining·the·URL·that’s·requested·(to·be·precise,
117 the·part·of·the·URL·after·the·domain·name).</p>118 the·part·of·the·URL·after·the·domain·name).</p>
118 <p>Now·in·your·time·on·the·web·you·may·have·come·across·such·beauties·as119 <p>Now·in·your·time·on·the·web·you·may·have·come·across·such·beauties·as
119 <code·class="docutils·literal·notranslate"><span·class="pre">ME2/Sites/dirmod.htm?sid=&amp;type=gen&amp;mod=Core+Pages&amp;gid=A6CD4967199A42D9B65B1B</span></code>.120 <code·class="docutils·literal·notranslate"><span·class="pre">ME2/Sites/dirmod.htm?sid=&amp;type=gen&amp;mod=Core+Pages&amp;gid=A6CD4967199A42D9B65B1B</span></code>.
120 You·will·be·pleased·to·know·that·Django·allows·us·much·more·elegant121 You·will·be·pleased·to·know·that·Django·allows·us·much·more·elegant
121 <em>URL·patterns</em>·than·that.</p>122 <em>URL·patterns</em>·than·that.</p>
122 <p>A·URL·pattern·is·the·general·form·of·a·URL·-·for·example:123 <p>A·URL·pattern·is·the·general·form·of·a·URL·-·for·example:
123 <code·class="docutils·literal·notranslate"><span·class="pre">/newsarchive/&lt;year&gt;/&lt;month&gt;/</span></code>.</p>124 <code·class="docutils·literal·notranslate"><span·class="pre">/newsarchive/&lt;year&gt;/&lt;month&gt;/</span></code>.</p>
124 <p>To·get·from·a·URL·to·a·view,·Django·uses·what·are·known·as·URLconfs.·A125 <p>To·get·from·a·URL·to·a·view,·Django·uses·what·are·known·as·URLconfs.·A
125 URLconf·maps·URL·patterns·to·views.</p>126 URLconf·maps·URL·patterns·to·views.</p>
126 <p>This·tutorial·provides·basic·instruction·in·the·use·of·URLconfs,·and·you·can127 <p>This·tutorial·provides·basic·instruction·in·the·use·of·URLconfs,·and·you·can
127 refer·to·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL·dispatcher</span></a>·for·more·information.</p>128 refer·to·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL·dispatcher</span></a>·for·more·information.</p>
128 </section>129 </section>
129 <section·id="s-writing-more-views">130 <section·id="s-writing-more-views">
130 <span·id="writing-more-views"></span><h2>Writing·more·views<a·class="headerlink"·href="#writing-more-views"·title="Link·to·this·heading">¶</a></h2>131 <span·id="writing-more-views"></span><h2>Writing·more·views<a·class="headerlink"·href="#writing-more-views"·title="Link·to·this·heading">¶</a></h2>
131 <p>Now·let’s·add·a·few·more·views·to·<code·class="docutils·literal·notranslate"><span·class="pre">polls/views.py</span></code>.·These·views·are132 <p>Now·let’s·add·a·few·more·views·to·<code·class="docutils·literal·notranslate"><span·class="pre">polls/views.py</span></code>.·These·views·are
Offset 163, 31 lines modifiedOffset 164, 31 lines modified
163 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;&lt;int:question_id&gt;/results/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">results</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;results&quot;</span><span·class="p">),</span>164 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;&lt;int:question_id&gt;/results/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">results</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;results&quot;</span><span·class="p">),</span>
164 ····<span·class="c1">#·ex:·/polls/5/vote/</span>165 ····<span·class="c1">#·ex:·/polls/5/vote/</span>
165 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;&lt;int:question_id&gt;/vote/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">vote</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;vote&quot;</span><span·class="p">),</span>166 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;&lt;int:question_id&gt;/vote/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">vote</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;vote&quot;</span><span·class="p">),</span>
166 <span·class="p">]</span>167 <span·class="p">]</span>
167 </pre></div>168 </pre></div>
168 </div>169 </div>
169 </div>170 </div>
170 <p>Take·a·look·in·your·browser,·at·/polls/34/.·It’ll·run·the·<code·class="docutils·literal·notranslate"><span·class="pre">detail()</span></code>171 <p>Take·a·look·in·your·browser,·at·/polls/34/.·It’ll·run·the·<code·class="docutils·literal·notranslate"><span·class="pre">detail()</span></code>
171 function·and·display·whatever·ID·you·provide·in·the·URL.·Try172 function·and·display·whatever·ID·you·provide·in·the·URL.·Try
172 /polls/34/results/·and·/polls/34/vote/·too··these·will·display·the173 /polls/34/results/·and·/polls/34/vote/·too··these·will·display·the
173 placeholder·results·and·voting·pages.</p>174 placeholder·results·and·voting·pages.</p>
174 <p>When·somebody·requests·a·page·from·your·website··say,·/polls/34/,·Django175 <p>When·somebody·requests·a·page·from·your·website··say,·/polls/34/,·Django
175 will·load·the·<code·class="docutils·literal·notranslate"><span·class="pre">mysite.urls</span></code>·Python·module·because·it’s·pointed·to·by·the176 will·load·the·<code·class="docutils·literal·notranslate"><span·class="pre">mysite.urls</span></code>·Python·module·because·it’s·pointed·to·by·the
176 <a·class="reference·internal"·href="../ref/settings.html#std-setting-ROOT_URLCONF"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ROOT_URLCONF</span></code></a>·setting.·It·finds·the·variable·named·<code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>177 <a·class="reference·internal"·href="../ref/settings.html#std-setting-ROOT_URLCONF"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ROOT_URLCONF</span></code></a>·setting.·It·finds·the·variable·named·<code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>
177 and·traverses·the·patterns·in·order.·After·finding·the·match·at·<code·class="docutils·literal·notranslate"><span·class="pre">'polls/'</span></code>,178 and·traverses·the·patterns·in·order.·After·finding·the·match·at·<code·class="docutils·literal·notranslate"><span·class="pre">'polls/'</span></code>,
178 it·strips·off·the·matching·text·(<code·class="docutils·literal·notranslate"><span·class="pre">&quot;polls/&quot;</span></code>)·and·sends·the·remaining·text·179 it·strips·off·the·matching·text·(<code·class="docutils·literal·notranslate"><span·class="pre">&quot;polls/&quot;</span></code>)·and·sends·the·remaining·text·
179 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;34/&quot;</span></code>··to·the·polls.urls·URLconf·for·further·processing.·There·it180 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;34/&quot;</span></code>··to·the·polls.urls·URLconf·for·further·processing.·There·it
180 matches·<code·class="docutils·literal·notranslate"><span·class="pre">'&lt;int:question_id&gt;/'</span></code>,·resulting·in·a·call·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">detail()</span></code>·view181 matches·<code·class="docutils·literal·notranslate"><span·class="pre">'&lt;int:question_id&gt;/'</span></code>,·resulting·in·a·call·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">detail()</span></code>·view
181 like·so:</p>182 like·so:</p>
182 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="go">detail(request=&lt;HttpRequest·object&gt;,·question_id=34)</span>183 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="go">detail(request=&lt;HttpRequest·object&gt;,·question_id=34)</span>
183 </pre></div>184 </pre></div>
184 </div>185 </div>
185 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">question_id=34</span></code>·part·comes·from·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;int:question_id&gt;</span></code>.·Using·angle186 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">question_id=34</span></code>·part·comes·from·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;int:question_id&gt;</span></code>.·Using·angle
186 brackets·captures·part·of·the·URL·and·sends·it·as·a·keyword·argument·to·the187 brackets·captures·part·of·the·URL·and·sends·it·as·a·keyword·argument·to·the
187 view·function.·The·<code·class="docutils·literal·notranslate"><span·class="pre">question_id</span></code>·part·of·the·string·defines·the·name·that188 view·function.·The·<code·class="docutils·literal·notranslate"><span·class="pre">question_id</span></code>·part·of·the·string·defines·the·name·that
188 will·be·used·to·identify·the·matched·pattern,·and·the·<code·class="docutils·literal·notranslate"><span·class="pre">int</span></code>·part·is·a189 will·be·used·to·identify·the·matched·pattern,·and·the·<code·class="docutils·literal·notranslate"><span·class="pre">int</span></code>·part·is·a
189 converter·that·determines·what·patterns·should·match·this·part·of·the·URL·path.190 converter·that·determines·what·patterns·should·match·this·part·of·the·URL·path.
190 The·colon·(<code·class="docutils·literal·notranslate"><span·class="pre">:</span></code>)·separates·the·converter·and·pattern·name.</p>191 The·colon·(<code·class="docutils·literal·notranslate"><span·class="pre">:</span></code>)·separates·the·converter·and·pattern·name.</p>
191 </section>192 </section>
192 <section·id="s-write-views-that-actually-do-something">193 <section·id="s-write-views-that-actually-do-something">
193 <span·id="write-views-that-actually-do-something"></span><h2>Write·views·that·actually·do·something<a·class="headerlink"·href="#write-views-that-actually-do-something"·title="Link·to·this·heading">¶</a></h2>194 <span·id="write-views-that-actually-do-something"></span><h2>Write·views·that·actually·do·something<a·class="headerlink"·href="#write-views-that-actually-do-something"·title="Link·to·this·heading">¶</a></h2>
Max diff block lines reached; 11235/21997 bytes (51.08%) of diff not shown.
11.9 KB
html2text {}
Max HTML report size reached
19.6 KB
./usr/share/doc/python-django-doc/html/intro/tutorial04.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·your·first·Django·app,·part·4·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·your·first·Django·app,·part·4·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·5"·href="tutorial05.html"·/>15 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·5"·href="tutorial05.html"·/>
15 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·3"·href="tutorial03.html"·/>16 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·3"·href="tutorial03.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 85, 15 lines modifiedOffset 86, 15 lines modified
85 <div·class="admonition-where-to-get-help·admonition">86 <div·class="admonition-where-to-get-help·admonition">
86 <p·class="admonition-title">Where·to·get·help:</p>87 <p·class="admonition-title">Where·to·get·help:</p>
87 <p>If·you’re·having·trouble·going·through·this·tutorial,·please·head·over·to88 <p>If·you’re·having·trouble·going·through·this·tutorial,·please·head·over·to
88 the·<a·class="reference·internal"·href="../faq/help.html"><span·class="doc">Getting·Help</span></a>·section·of·the·FAQ.</p>89 the·<a·class="reference·internal"·href="../faq/help.html"><span·class="doc">Getting·Help</span></a>·section·of·the·FAQ.</p>
89 </div>90 </div>
90 <section·id="s-write-a-minimal-form">91 <section·id="s-write-a-minimal-form">
91 <span·id="write-a-minimal-form"></span><h2>Write·a·minimal·form<a·class="headerlink"·href="#write-a-minimal-form"·title="Link·to·this·heading">¶</a></h2>92 <span·id="write-a-minimal-form"></span><h2>Write·a·minimal·form<a·class="headerlink"·href="#write-a-minimal-form"·title="Link·to·this·heading">¶</a></h2>
92 <p>Let’s·update·our·poll·detail·template·(polls/detail.html)·from·the·last93 <p>Let’s·update·our·poll·detail·template·(polls/detail.html)·from·the·last
93 tutorial,·so·that·the·template·contains·an·HTML·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;form&gt;</span></code>·element:</p>94 tutorial,·so·that·the·template·contains·an·HTML·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;form&gt;</span></code>·element:</p>
94 <div·class="literal-block-wrapper·docutils·container"·id="id1">95 <div·class="literal-block-wrapper·docutils·container"·id="id1">
95 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">polls/templates/polls/detail.html</span></code></span><a·class="headerlink"·href="#id1"·title="Link·to·this·code">¶</a></div>96 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">polls/templates/polls/detail.html</span></code></span><a·class="headerlink"·href="#id1"·title="Link·to·this·code">¶</a></div>
96 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="p">&lt;</span><span·class="nt">form</span>·<span·class="na">action</span><span·class="o">=</span><span·class="s">&quot;</span><span·class="cp">{%</span>·<span·class="k">url</span>·<span·class="s1">&#39;polls:vote&#39;</span>·<span·class="nv">question.id</span>·<span·class="cp">%}</span><span·class="s">&quot;</span>·<span·class="na">method</span><span·class="o">=</span><span·class="s">&quot;post&quot;</span><span·class="p">&gt;</span>97 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="p">&lt;</span><span·class="nt">form</span>·<span·class="na">action</span><span·class="o">=</span><span·class="s">&quot;</span><span·class="cp">{%</span>·<span·class="k">url</span>·<span·class="s1">&#39;polls:vote&#39;</span>·<span·class="nv">question.id</span>·<span·class="cp">%}</span><span·class="s">&quot;</span>·<span·class="na">method</span><span·class="o">=</span><span·class="s">&quot;post&quot;</span><span·class="p">&gt;</span>
97 <span·class="cp">{%</span>·<span·class="k">csrf_token</span>·<span·class="cp">%}</span>98 <span·class="cp">{%</span>·<span·class="k">csrf_token</span>·<span·class="cp">%}</span>
98 <span·class="p">&lt;</span><span·class="nt">fieldset</span><span·class="p">&gt;</span>99 <span·class="p">&lt;</span><span·class="nt">fieldset</span><span·class="p">&gt;</span>
99 ····<span·class="p">&lt;</span><span·class="nt">legend</span><span·class="p">&gt;&lt;</span><span·class="nt">h1</span><span·class="p">&gt;</span><span·class="cp">{{</span>·<span·class="nv">question.question_text</span>·<span·class="cp">}}</span><span·class="p">&lt;/</span><span·class="nt">h1</span><span·class="p">&gt;&lt;/</span><span·class="nt">legend</span><span·class="p">&gt;</span>100 ····<span·class="p">&lt;</span><span·class="nt">legend</span><span·class="p">&gt;&lt;</span><span·class="nt">h1</span><span·class="p">&gt;</span><span·class="cp">{{</span>·<span·class="nv">question.question_text</span>·<span·class="cp">}}</span><span·class="p">&lt;/</span><span·class="nt">h1</span><span·class="p">&gt;&lt;/</span><span·class="nt">legend</span><span·class="p">&gt;</span>
Offset 184, 17 lines modifiedOffset 185, 17 lines modified
184 <code·class="docutils·literal·notranslate"><span·class="pre">request.POST['choice']</span></code>·returns·the·ID·of·the·selected·choice,·as·a185 <code·class="docutils·literal·notranslate"><span·class="pre">request.POST['choice']</span></code>·returns·the·ID·of·the·selected·choice,·as·a
185 string.·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.POST</span></code></a>·values·are186 string.·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.POST</span></code></a>·values·are
186 always·strings.</p>187 always·strings.</p>
187 <p>Note·that·Django·also·provides·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.GET"·title="django.http.HttpRequest.GET"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.GET</span></code></a>·for·accessing·GET·data·in·the·same·way·188 <p>Note·that·Django·also·provides·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.GET"·title="django.http.HttpRequest.GET"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.GET</span></code></a>·for·accessing·GET·data·in·the·same·way·
188 but·we’re·explicitly·using·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.POST</span></code></a>·in·our·code,·to·ensure·that·data·is·only189 but·we’re·explicitly·using·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.POST</span></code></a>·in·our·code,·to·ensure·that·data·is·only
189 altered·via·a·POST·call.</p>190 altered·via·a·POST·call.</p>
190 </li>191 </li>
191 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">request.POST['choice']</span></code>·will·raise·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#KeyError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">KeyError</span></code></a>·if192 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">request.POST['choice']</span></code>·will·raise·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#KeyError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">KeyError</span></code></a>·if
192 <code·class="docutils·literal·notranslate"><span·class="pre">choice</span></code>·wasn’t·provided·in·POST·data.·The·above·code·checks·for193 <code·class="docutils·literal·notranslate"><span·class="pre">choice</span></code>·wasn’t·provided·in·POST·data.·The·above·code·checks·for
193 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#KeyError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">KeyError</span></code></a>·and·redisplays·the·question·form·with·an·error194 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#KeyError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">KeyError</span></code></a>·and·redisplays·the·question·form·with·an·error
194 message·if·<code·class="docutils·literal·notranslate"><span·class="pre">choice</span></code>·isn’t·given.</p></li>195 message·if·<code·class="docutils·literal·notranslate"><span·class="pre">choice</span></code>·isn’t·given.</p></li>
195 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">F(&quot;votes&quot;)</span>·<span·class="pre">+</span>·<span·class="pre">1</span></code>·<a·class="reference·internal"·href="../ref/models/expressions.html#avoiding-race-conditions-using-f"><span·class="std·std-ref">instructs·the·database</span></a>·to·increase·the·vote·count·by·1.</p></li>196 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">F(&quot;votes&quot;)</span>·<span·class="pre">+</span>·<span·class="pre">1</span></code>·<a·class="reference·internal"·href="../ref/models/expressions.html#avoiding-race-conditions-using-f"><span·class="std·std-ref">instructs·the·database</span></a>·to·increase·the·vote·count·by·1.</p></li>
196 <li><p>After·incrementing·the·choice·count,·the·code·returns·an197 <li><p>After·incrementing·the·choice·count,·the·code·returns·an
197 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponseRedirect</span></code></a>·rather·than·a·normal198 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponseRedirect</span></code></a>·rather·than·a·normal
198 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>.199 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>.
199 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponseRedirect</span></code></a>·takes·a·single·argument:·the200 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponseRedirect</span></code></a>·takes·a·single·argument:·the
200 URL·to·which·the·user·will·be·redirected·(see·the·following·point·for·how201 URL·to·which·the·user·will·be·redirected·(see·the·following·point·for·how
Offset 260, 36 lines modifiedOffset 261, 36 lines modified
260 <span·id="use-generic-views-less-code-is-better"></span><h2>Use·generic·views:·Less·code·is·better<a·class="headerlink"·href="#use-generic-views-less-code-is-better"·title="Link·to·this·heading">¶</a></h2>261 <span·id="use-generic-views-less-code-is-better"></span><h2>Use·generic·views:·Less·code·is·better<a·class="headerlink"·href="#use-generic-views-less-code-is-better"·title="Link·to·this·heading">¶</a></h2>
261 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">detail()</span></code>·(from·<a·class="reference·internal"·href="tutorial03.html"><span·class="doc">Tutorial·3</span></a>)·and·<code·class="docutils·literal·notranslate"><span·class="pre">results()</span></code>262 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">detail()</span></code>·(from·<a·class="reference·internal"·href="tutorial03.html"><span·class="doc">Tutorial·3</span></a>)·and·<code·class="docutils·literal·notranslate"><span·class="pre">results()</span></code>
262 views·are·very·short··and,·as·mentioned·above,·redundant.·The·<code·class="docutils·literal·notranslate"><span·class="pre">index()</span></code>263 views·are·very·short··and,·as·mentioned·above,·redundant.·The·<code·class="docutils·literal·notranslate"><span·class="pre">index()</span></code>
263 view,·which·displays·a·list·of·polls,·is·similar.</p>264 view,·which·displays·a·list·of·polls,·is·similar.</p>
264 <p>These·views·represent·a·common·case·of·basic·web·development:·getting·data·from265 <p>These·views·represent·a·common·case·of·basic·web·development:·getting·data·from
265 the·database·according·to·a·parameter·passed·in·the·URL,·loading·a·template·and266 the·database·according·to·a·parameter·passed·in·the·URL,·loading·a·template·and
266 returning·the·rendered·template.·Because·this·is·so·common,·Django·provides·a267 returning·the·rendered·template.·Because·this·is·so·common,·Django·provides·a
267 shortcut,·called·the·generic·views·system.</p>268 shortcut,·called·the·generic·views·system.</p>
268 <p>Generic·views·abstract·common·patterns·to·the·point·where·you·don’t·even·need·to269 <p>Generic·views·abstract·common·patterns·to·the·point·where·you·don’t·even·need·to
269 write·Python·code·to·write·an·app.·For·example,·the270 write·Python·code·to·write·an·app.·For·example,·the
270 <a·class="reference·internal"·href="../ref/class-based-views/generic-display.html#django.views.generic.list.ListView"·title="django.views.generic.list.ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>·and271 <a·class="reference·internal"·href="../ref/class-based-views/generic-display.html#django.views.generic.list.ListView"·title="django.views.generic.list.ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>·and
271 <a·class="reference·internal"·href="../ref/class-based-views/generic-display.html#django.views.generic.detail.DetailView"·title="django.views.generic.detail.DetailView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DetailView</span></code></a>·generic·views272 <a·class="reference·internal"·href="../ref/class-based-views/generic-display.html#django.views.generic.detail.DetailView"·title="django.views.generic.detail.DetailView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DetailView</span></code></a>·generic·views
272 abstract·the·concepts·of·display·a·list·of·objects·and273 abstract·the·concepts·of·display·a·list·of·objects·and
273 display·a·detail·page·for·a·particular·type·of·object·respectively.</p>274 display·a·detail·page·for·a·particular·type·of·object·respectively.</p>
274 <p>Let’s·convert·our·poll·app·to·use·the·generic·views·system,·so·we·can·delete·a275 <p>Let’s·convert·our·poll·app·to·use·the·generic·views·system,·so·we·can·delete·a
275 bunch·of·our·own·code.·We’ll·have·to·take·a·few·steps·to·make·the·conversion.276 bunch·of·our·own·code.·We’ll·have·to·take·a·few·steps·to·make·the·conversion.
276 We·will:</p>277 We·will:</p>
277 <ol·class="arabic·simple">278 <ol·class="arabic·simple">
278 <li><p>Convert·the·URLconf.</p></li>279 <li><p>Convert·the·URLconf.</p></li>
279 <li><p>Delete·some·of·the·old,·unneeded·views.</p></li>280 <li><p>Delete·some·of·the·old,·unneeded·views.</p></li>
280 <li><p>Introduce·new·views·based·on·Django’s·generic·views.</p></li>281 <li><p>Introduce·new·views·based·on·Django’s·generic·views.</p></li>
281 </ol>282 </ol>
282 <p>Read·on·for·details.</p>283 <p>Read·on·for·details.</p>
283 <div·class="admonition-why-the-code-shuffle·admonition">284 <div·class="admonition-why-the-code-shuffle·admonition">
284 <p·class="admonition-title">Why·the·code-shuffle?</p>285 <p·class="admonition-title">Why·the·code-shuffle?</p>
285 <p>Generally,·when·writing·a·Django·app,·you’ll·evaluate·whether·generic·views286 <p>Generally,·when·writing·a·Django·app,·you’ll·evaluate·whether·generic·views
286 are·a·good·fit·for·your·problem,·and·you’ll·use·them·from·the·beginning,287 are·a·good·fit·for·your·problem,·and·you’ll·use·them·from·the·beginning,
287 rather·than·refactoring·your·code·halfway·through.·But·this·tutorial288 rather·than·refactoring·your·code·halfway·through.·But·this·tutorial
288 intentionally·has·focused·on·writing·the·views·the·hard·way·until·now,·to289 intentionally·has·focused·on·writing·the·views·the·hard·way·until·now,·to
289 focus·on·core·concepts.</p>290 focus·on·core·concepts.</p>
290 <p>You·should·know·basic·math·before·you·start·using·a·calculator.</p>291 <p>You·should·know·basic·math·before·you·start·using·a·calculator.</p>
291 </div>292 </div>
292 <section·id="s-amend-urlconf">293 <section·id="s-amend-urlconf">
293 <span·id="amend-urlconf"></span><h3>Amend·URLconf<a·class="headerlink"·href="#amend-urlconf"·title="Link·to·this·heading">¶</a></h3>294 <span·id="amend-urlconf"></span><h3>Amend·URLconf<a·class="headerlink"·href="#amend-urlconf"·title="Link·to·this·heading">¶</a></h3>
294 <p>First,·open·the·<code·class="docutils·literal·notranslate"><span·class="pre">polls/urls.py</span></code>·URLconf·and·change·it·like·so:</p>295 <p>First,·open·the·<code·class="docutils·literal·notranslate"><span·class="pre">polls/urls.py</span></code>·URLconf·and·change·it·like·so:</p>
295 <div·class="literal-block-wrapper·docutils·container"·id="id6">296 <div·class="literal-block-wrapper·docutils·container"·id="id6">
Offset 401, 52 lines modifiedOffset 402, 52 lines modified
401 ······402 ······
402 ········403 ········
403 ··········<div·class="yui-b"·id="sidebar">404 ··········<div·class="yui-b"·id="sidebar">
404 ············405 ············
405 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">406 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
406 ········<div·class="sphinxsidebarwrapper">407 ········<div·class="sphinxsidebarwrapper">
407 ··<div>408 ··<div>
408 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>409 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
409 ····<ul>410 ····<ul>
410 <li><a·class="reference·internal"·href="#">Writing·your·first·Django·app,·part·4</a><ul>411 <li><a·class="reference·internal"·href="#">Writing·your·first·Django·app,·part·4</a><ul>
411 <li><a·class="reference·internal"·href="#write-a-minimal-form">Write·a·minimal·form</a></li>412 <li><a·class="reference·internal"·href="#write-a-minimal-form">Write·a·minimal·form</a></li>
412 <li><a·class="reference·internal"·href="#use-generic-views-less-code-is-better">Use·generic·views:·Less·code·is·better</a><ul>413 <li><a·class="reference·internal"·href="#use-generic-views-less-code-is-better">Use·generic·views:·Less·code·is·better</a><ul>
413 <li><a·class="reference·internal"·href="#amend-urlconf">Amend·URLconf</a></li>414 <li><a·class="reference·internal"·href="#amend-urlconf">Amend·URLconf</a></li>
414 <li><a·class="reference·internal"·href="#amend-views">Amend·views</a></li>415 <li><a·class="reference·internal"·href="#amend-views">Amend·views</a></li>
415 </ul>416 </ul>
416 </li>417 </li>
Max diff block lines reached; 1512/14136 bytes (10.70%) of diff not shown.
5.64 KB
html2text {}
Max HTML report size reached
25.0 KB
./usr/share/doc/python-django-doc/html/intro/tutorial05.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·your·first·Django·app,·part·5·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·your·first·Django·app,·part·5·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·6"·href="tutorial06.html"·/>15 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·6"·href="tutorial06.html"·/>
15 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·4"·href="tutorial04.html"·/>16 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·4"·href="tutorial04.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 126, 19 lines modifiedOffset 127, 19 lines modified
126 working·quite·happily·now;·going·through·the·trouble·of·creating·automated127 working·quite·happily·now;·going·through·the·trouble·of·creating·automated
127 tests·is·not·going·to·make·it·work·any·better.·If·creating·the·polls128 tests·is·not·going·to·make·it·work·any·better.·If·creating·the·polls
128 application·is·the·last·bit·of·Django·programming·you·will·ever·do,·then·true,129 application·is·the·last·bit·of·Django·programming·you·will·ever·do,·then·true,
129 you·don’t·need·to·know·how·to·create·automated·tests.·But,·if·that’s·not·the130 you·don’t·need·to·know·how·to·create·automated·tests.·But,·if·that’s·not·the
130 case,·now·is·an·excellent·time·to·learn.</p>131 case,·now·is·an·excellent·time·to·learn.</p>
131 <section·id="s-tests-will-save-you-time">132 <section·id="s-tests-will-save-you-time">
132 <span·id="tests-will-save-you-time"></span><h4>Tests·will·save·you·time<a·class="headerlink"·href="#tests-will-save-you-time"·title="Link·to·this·heading">¶</a></h4>133 <span·id="tests-will-save-you-time"></span><h4>Tests·will·save·you·time<a·class="headerlink"·href="#tests-will-save-you-time"·title="Link·to·this·heading">¶</a></h4>
133 <p>Up·to·a·certain·point,·checking·that·it·seems·to·work·will·be·a·satisfactory134 <p>Up·to·a·certain·point,·checking·that·it·seems·to·work·will·be·a·satisfactory
134 test.·In·a·more·sophisticated·application,·you·might·have·dozens·of·complex135 test.·In·a·more·sophisticated·application,·you·might·have·dozens·of·complex
135 interactions·between·components.</p>136 interactions·between·components.</p>
136 <p>A·change·in·any·of·those·components·could·have·unexpected·consequences·on·the137 <p>A·change·in·any·of·those·components·could·have·unexpected·consequences·on·the
137 application’s·behavior.·Checking·that·it·still·seems·to·work·could·mean138 application’s·behavior.·Checking·that·it·still·seems·to·work·could·mean
138 running·through·your·code’s·functionality·with·twenty·different·variations·of139 running·through·your·code’s·functionality·with·twenty·different·variations·of
139 your·test·data·to·make·sure·you·haven’t·broken·something·-·not·a·good·use140 your·test·data·to·make·sure·you·haven’t·broken·something·-·not·a·good·use
140 of·your·time.</p>141 of·your·time.</p>
141 <p>That’s·especially·true·when·automated·tests·could·do·this·for·you·in·seconds.142 <p>That’s·especially·true·when·automated·tests·could·do·this·for·you·in·seconds.
142 If·something’s·gone·wrong,·tests·will·also·assist·in·identifying·the·code143 If·something’s·gone·wrong,·tests·will·also·assist·in·identifying·the·code
143 that’s·causing·the·unexpected·behavior.</p>144 that’s·causing·the·unexpected·behavior.</p>
144 <p>Sometimes·it·may·seem·a·chore·to·tear·yourself·away·from·your·productive,145 <p>Sometimes·it·may·seem·a·chore·to·tear·yourself·away·from·your·productive,
Offset 159, 15 lines modifiedOffset 160, 15 lines modified
159 hadn’t·even·realized·it·had·gone·wrong</em>.</p>160 hadn’t·even·realized·it·had·gone·wrong</em>.</p>
160 </section>161 </section>
161 <section·id="s-tests-make-your-code-more-attractive">162 <section·id="s-tests-make-your-code-more-attractive">
162 <span·id="tests-make-your-code-more-attractive"></span><h4>Tests·make·your·code·more·attractive<a·class="headerlink"·href="#tests-make-your-code-more-attractive"·title="Link·to·this·heading">¶</a></h4>163 <span·id="tests-make-your-code-more-attractive"></span><h4>Tests·make·your·code·more·attractive<a·class="headerlink"·href="#tests-make-your-code-more-attractive"·title="Link·to·this·heading">¶</a></h4>
163 <p>You·might·have·created·a·brilliant·piece·of·software,·but·you·will·find·that164 <p>You·might·have·created·a·brilliant·piece·of·software,·but·you·will·find·that
164 many·other·developers·will·refuse·to·look·at·it·because·it·lacks·tests;·without165 many·other·developers·will·refuse·to·look·at·it·because·it·lacks·tests;·without
165 tests,·they·won’t·trust·it.·Jacob·Kaplan-Moss,·one·of·Django’s·original166 tests,·they·won’t·trust·it.·Jacob·Kaplan-Moss,·one·of·Django’s·original
166 developers,·says·Code·without·tests·is·broken·by·design.</p>167 developers,·says·Code·without·tests·is·broken·by·design.</p>
167 <p>That·other·developers·want·to·see·tests·in·your·software·before·they·take·it168 <p>That·other·developers·want·to·see·tests·in·your·software·before·they·take·it
168 seriously·is·yet·another·reason·for·you·to·start·writing·tests.</p>169 seriously·is·yet·another·reason·for·you·to·start·writing·tests.</p>
169 </section>170 </section>
170 <section·id="s-tests-help-teams-work-together">171 <section·id="s-tests-help-teams-work-together">
171 <span·id="tests-help-teams-work-together"></span><h4>Tests·help·teams·work·together<a·class="headerlink"·href="#tests-help-teams-work-together"·title="Link·to·this·heading">¶</a></h4>172 <span·id="tests-help-teams-work-together"></span><h4>Tests·help·teams·work·together<a·class="headerlink"·href="#tests-help-teams-work-together"·title="Link·to·this·heading">¶</a></h4>
172 <p>The·previous·points·are·written·from·the·point·of·view·of·a·single·developer173 <p>The·previous·points·are·written·from·the·point·of·view·of·a·single·developer
173 maintaining·an·application.·Complex·applications·will·be·maintained·by·teams.174 maintaining·an·application.·Complex·applications·will·be·maintained·by·teams.
Offset 176, 15 lines modifiedOffset 177, 15 lines modified
176 Django·programmer,·you·must·be·good·at·writing·tests!</p>177 Django·programmer,·you·must·be·good·at·writing·tests!</p>
177 </section>178 </section>
178 </section>179 </section>
179 </section>180 </section>
180 <section·id="s-basic-testing-strategies">181 <section·id="s-basic-testing-strategies">
181 <span·id="basic-testing-strategies"></span><h2>Basic·testing·strategies<a·class="headerlink"·href="#basic-testing-strategies"·title="Link·to·this·heading">¶</a></h2>182 <span·id="basic-testing-strategies"></span><h2>Basic·testing·strategies<a·class="headerlink"·href="#basic-testing-strategies"·title="Link·to·this·heading">¶</a></h2>
182 <p>There·are·many·ways·to·approach·writing·tests.</p>183 <p>There·are·many·ways·to·approach·writing·tests.</p>
183 <p>Some·programmers·follow·a·discipline·called·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Test-driven_development">test-driven·development</a>;·they184 <p>Some·programmers·follow·a·discipline·called·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Test-driven_development">test-driven·development</a>;·they
184 actually·write·their·tests·before·they·write·their·code.·This·might·seem185 actually·write·their·tests·before·they·write·their·code.·This·might·seem
185 counterintuitive,·but·in·fact·it’s·similar·to·what·most·people·will·often·do186 counterintuitive,·but·in·fact·it’s·similar·to·what·most·people·will·often·do
186 anyway:·they·describe·a·problem,·then·create·some·code·to·solve·it.·Test-driven187 anyway:·they·describe·a·problem,·then·create·some·code·to·solve·it.·Test-driven
187 development·formalizes·the·problem·in·a·Python·test·case.</p>188 development·formalizes·the·problem·in·a·Python·test·case.</p>
188 <p>More·often,·a·newcomer·to·testing·will·create·some·code·and·later·decide·that189 <p>More·often,·a·newcomer·to·testing·will·create·some·code·and·later·decide·that
189 it·should·have·some·tests.·Perhaps·it·would·have·been·better·to·write·some190 it·should·have·some·tests.·Perhaps·it·would·have·been·better·to·write·some
190 tests·earlier,·but·it’s·never·too·late·to·get·started.</p>191 tests·earlier,·but·it’s·never·too·late·to·get·started.</p>
Offset 225, 15 lines modifiedOffset 226, 15 lines modified
225 <span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·create·a·Question·instance·with·pub_date·30·days·in·the·future</span>226 <span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·create·a·Question·instance·with·pub_date·30·days·in·the·future</span>
226 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">future_question</span>·<span·class="o">=</span>·<span·class="n">Question</span><span·class="p">(</span><span·class="n">pub_date</span><span·class="o">=</span><span·class="n">timezone</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>·<span·class="o">+</span>·<span·class="n">datetime</span><span·class="o">.</span><span·class="n">timedelta</span><span·class="p">(</span><span·class="n">days</span><span·class="o">=</span><span·class="mi">30</span><span·class="p">))</span>227 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">future_question</span>·<span·class="o">=</span>·<span·class="n">Question</span><span·class="p">(</span><span·class="n">pub_date</span><span·class="o">=</span><span·class="n">timezone</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>·<span·class="o">+</span>·<span·class="n">datetime</span><span·class="o">.</span><span·class="n">timedelta</span><span·class="p">(</span><span·class="n">days</span><span·class="o">=</span><span·class="mi">30</span><span·class="p">))</span>
227 <span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·was·it·published·recently?</span>228 <span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·was·it·published·recently?</span>
228 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">future_question</span><span·class="o">.</span><span·class="n">was_published_recently</span><span·class="p">()</span>229 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">future_question</span><span·class="o">.</span><span·class="n">was_published_recently</span><span·class="p">()</span>
229 <span·class="go">True</span>230 <span·class="go">True</span>
230 </pre></div>231 </pre></div>
231 </div>232 </div>
232 <p>Since·things·in·the·future·are·not·recent,·this·is·clearly·wrong.</p>233 <p>Since·things·in·the·future·are·not·recent,·this·is·clearly·wrong.</p>
233 </section>234 </section>
234 <section·id="s-create-a-test-to-expose-the-bug">235 <section·id="s-create-a-test-to-expose-the-bug">
235 <span·id="create-a-test-to-expose-the-bug"></span><h3>Create·a·test·to·expose·the·bug<a·class="headerlink"·href="#create-a-test-to-expose-the-bug"·title="Link·to·this·heading">¶</a></h3>236 <span·id="create-a-test-to-expose-the-bug"></span><h3>Create·a·test·to·expose·the·bug<a·class="headerlink"·href="#create-a-test-to-expose-the-bug"·title="Link·to·this·heading">¶</a></h3>
236 <p>What·we’ve·just·done·in·the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-shell"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">shell</span></code></a>·to·test·for·the·problem·is·exactly237 <p>What·we’ve·just·done·in·the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-shell"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">shell</span></code></a>·to·test·for·the·problem·is·exactly
237 what·we·can·do·in·an·automated·test,·so·let’s·turn·that·into·an·automated·test.</p>238 what·we·can·do·in·an·automated·test,·so·let’s·turn·that·into·an·automated·test.</p>
238 <p>A·conventional·place·for·an·application’s·tests·is·in·the·application’s239 <p>A·conventional·place·for·an·application’s·tests·is·in·the·application’s
239 <code·class="docutils·literal·notranslate"><span·class="pre">tests.py</span></code>·file;·the·testing·system·will·automatically·find·tests·in·any·file240 <code·class="docutils·literal·notranslate"><span·class="pre">tests.py</span></code>·file;·the·testing·system·will·automatically·find·tests·in·any·file
Offset 607, 15 lines modifiedOffset 608, 15 lines modified
607 </pre></div>608 </pre></div>
608 </div>609 </div>
609 </div>610 </div>
610 <p>Let’s·look·at·some·of·these·more·closely.</p>611 <p>Let’s·look·at·some·of·these·more·closely.</p>
611 <p>First·is·a·question·shortcut·function,·<code·class="docutils·literal·notranslate"><span·class="pre">create_question</span></code>,·to·take·some612 <p>First·is·a·question·shortcut·function,·<code·class="docutils·literal·notranslate"><span·class="pre">create_question</span></code>,·to·take·some
612 repetition·out·of·the·process·of·creating·questions.</p>613 repetition·out·of·the·process·of·creating·questions.</p>
613 <p><code·class="docutils·literal·notranslate"><span·class="pre">test_no_questions</span></code>·doesn’t·create·any·questions,·but·checks·the·message:614 <p><code·class="docutils·literal·notranslate"><span·class="pre">test_no_questions</span></code>·doesn’t·create·any·questions,·but·checks·the·message:
614 No·polls·are·available.·and·verifies·the·<code·class="docutils·literal·notranslate"><span·class="pre">latest_question_list</span></code>·is·empty.615 No·polls·are·available.·and·verifies·the·<code·class="docutils·literal·notranslate"><span·class="pre">latest_question_list</span></code>·is·empty.
615 Note·that·the·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TestCase"·title="django.test.TestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.TestCase</span></code></a>·class·provides·some·additional616 Note·that·the·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TestCase"·title="django.test.TestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.TestCase</span></code></a>·class·provides·some·additional
616 assertion·methods.·In·these·examples,·we·use617 assertion·methods.·In·these·examples,·we·use
617 <a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertContains"·title="django.test.SimpleTestCase.assertContains"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertContains()</span></code></a>·and618 <a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertContains"·title="django.test.SimpleTestCase.assertContains"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertContains()</span></code></a>·and
618 <a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TransactionTestCase.assertQuerySetEqual"·title="django.test.TransactionTestCase.assertQuerySetEqual"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertQuerySetEqual()</span></code></a>.</p>619 <a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TransactionTestCase.assertQuerySetEqual"·title="django.test.TransactionTestCase.assertQuerySetEqual"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertQuerySetEqual()</span></code></a>.</p>
619 <p>In·<code·class="docutils·literal·notranslate"><span·class="pre">test_past_question</span></code>,·we·create·a·question·and·verify·that·it·appears·in620 <p>In·<code·class="docutils·literal·notranslate"><span·class="pre">test_past_question</span></code>,·we·create·a·question·and·verify·that·it·appears·in
620 the·list.</p>621 the·list.</p>
621 <p>In·<code·class="docutils·literal·notranslate"><span·class="pre">test_future_question</span></code>,·we·create·a·question·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·in·the622 <p>In·<code·class="docutils·literal·notranslate"><span·class="pre">test_future_question</span></code>,·we·create·a·question·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·in·the
Offset 717, 15 lines modifiedOffset 718, 15 lines modified
717 </section>718 </section>
718 <section·id="s-further-testing">719 <section·id="s-further-testing">
719 <span·id="further-testing"></span><h2>Further·testing<a·class="headerlink"·href="#further-testing"·title="Link·to·this·heading">¶</a></h2>720 <span·id="further-testing"></span><h2>Further·testing<a·class="headerlink"·href="#further-testing"·title="Link·to·this·heading">¶</a></h2>
Max diff block lines reached; 3808/14436 bytes (26.38%) of diff not shown.
10.8 KB
html2text {}
Max HTML report size reached
14.9 KB
./usr/share/doc/python-django-doc/html/intro/tutorial06.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·your·first·Django·app,·part·6·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·your·first·Django·app,·part·6·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·7"·href="tutorial07.html"·/>15 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·7"·href="tutorial07.html"·/>
15 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·5"·href="tutorial05.html"·/>16 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·5"·href="tutorial05.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 93, 16 lines modifiedOffset 94, 16 lines modified
93 ··<section·id="s-writing-your-first-django-app-part-6">94 ··<section·id="s-writing-your-first-django-app-part-6">
94 <span·id="writing-your-first-django-app-part-6"></span><h1>Writing·your·first·Django·app,·part·6<a·class="headerlink"·href="#writing-your-first-django-app-part-6"·title="Link·to·this·heading">¶</a></h1>95 <span·id="writing-your-first-django-app-part-6"></span><h1>Writing·your·first·Django·app,·part·6<a·class="headerlink"·href="#writing-your-first-django-app-part-6"·title="Link·to·this·heading">¶</a></h1>
95 <p>This·tutorial·begins·where·<a·class="reference·internal"·href="tutorial05.html"><span·class="doc">Tutorial·5</span></a>·left·off.96 <p>This·tutorial·begins·where·<a·class="reference·internal"·href="tutorial05.html"><span·class="doc">Tutorial·5</span></a>·left·off.
96 We’ve·built·a·tested·web-poll·application,·and·we’ll·now·add·a·stylesheet·and97 We’ve·built·a·tested·web-poll·application,·and·we’ll·now·add·a·stylesheet·and
97 an·image.</p>98 an·image.</p>
98 <p>Aside·from·the·HTML·generated·by·the·server,·web·applications·generally·need99 <p>Aside·from·the·HTML·generated·by·the·server,·web·applications·generally·need
99 to·serve·additional·files··such·as·images,·JavaScript,·or·CSS··necessary·to100 to·serve·additional·files··such·as·images,·JavaScript,·or·CSS··necessary·to
100 render·the·complete·web·page.·In·Django,·we·refer·to·these·files·as·static101 render·the·complete·web·page.·In·Django,·we·refer·to·these·files·as·static
101 files.</p>102 files.</p>
102 <p>For·small·projects,·this·isn’t·a·big·deal,·because·you·can·keep·the·static103 <p>For·small·projects,·this·isn’t·a·big·deal,·because·you·can·keep·the·static
103 files·somewhere·your·web·server·can·find·it.·However,·in·bigger·projects·104 files·somewhere·your·web·server·can·find·it.·However,·in·bigger·projects·
104 especially·those·comprised·of·multiple·apps··dealing·with·the·multiple·sets105 especially·those·comprised·of·multiple·apps··dealing·with·the·multiple·sets
105 of·static·files·provided·by·each·application·starts·to·get·tricky.</p>106 of·static·files·provided·by·each·application·starts·to·get·tricky.</p>
106 <p>That’s·what·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code>·is·for:·it·collects·static·files107 <p>That’s·what·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code>·is·for:·it·collects·static·files
107 from·each·of·your·applications·(and·any·other·places·you·specify)·into·a108 from·each·of·your·applications·(and·any·other·places·you·specify)·into·a
108 single·location·that·can·easily·be·served·in·production.</p>109 single·location·that·can·easily·be·served·in·production.</p>
Offset 115, 15 lines modifiedOffset 116, 15 lines modified
115 <span·id="customize-your-app-s-look-and-feel"></span><h2>Customize·your·<em>app’s</em>·look·and·feel<a·class="headerlink"·href="#customize-your-app-s-look-and-feel"·title="Link·to·this·heading">¶</a></h2>116 <span·id="customize-your-app-s-look-and-feel"></span><h2>Customize·your·<em>app’s</em>·look·and·feel<a·class="headerlink"·href="#customize-your-app-s-look-and-feel"·title="Link·to·this·heading">¶</a></h2>
116 <p>First,·create·a·directory·called·<code·class="docutils·literal·notranslate"><span·class="pre">static</span></code>·in·your·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·directory.·Django117 <p>First,·create·a·directory·called·<code·class="docutils·literal·notranslate"><span·class="pre">static</span></code>·in·your·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·directory.·Django
117 will·look·for·static·files·there,·similarly·to·how·Django·finds·templates118 will·look·for·static·files·there,·similarly·to·how·Django·finds·templates
118 inside·<code·class="docutils·literal·notranslate"><span·class="pre">polls/templates/</span></code>.</p>119 inside·<code·class="docutils·literal·notranslate"><span·class="pre">polls/templates/</span></code>.</p>
119 <p>Django’s·<a·class="reference·internal"·href="../ref/settings.html#std-setting-STATICFILES_FINDERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_FINDERS</span></code></a>·setting·contains·a·list120 <p>Django’s·<a·class="reference·internal"·href="../ref/settings.html#std-setting-STATICFILES_FINDERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_FINDERS</span></code></a>·setting·contains·a·list
120 of·finders·that·know·how·to·discover·static·files·from·various121 of·finders·that·know·how·to·discover·static·files·from·various
121 sources.·One·of·the·defaults·is·<code·class="docutils·literal·notranslate"><span·class="pre">AppDirectoriesFinder</span></code>·which122 sources.·One·of·the·defaults·is·<code·class="docutils·literal·notranslate"><span·class="pre">AppDirectoriesFinder</span></code>·which
122 looks·for·a·static·subdirectory·in·each·of·the123 looks·for·a·static·subdirectory·in·each·of·the
123 <a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>,·like·the·one·in·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·we·just·created.·The·admin124 <a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>,·like·the·one·in·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·we·just·created.·The·admin
124 site·uses·the·same·directory·structure·for·its·static·files.</p>125 site·uses·the·same·directory·structure·for·its·static·files.</p>
125 <p>Within·the·<code·class="docutils·literal·notranslate"><span·class="pre">static</span></code>·directory·you·have·just·created,·create·another·directory126 <p>Within·the·<code·class="docutils·literal·notranslate"><span·class="pre">static</span></code>·directory·you·have·just·created,·create·another·directory
126 called·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·and·within·that·create·a·file·called·<code·class="docutils·literal·notranslate"><span·class="pre">style.css</span></code>.·In·other127 called·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·and·within·that·create·a·file·called·<code·class="docutils·literal·notranslate"><span·class="pre">style.css</span></code>.·In·other
127 words,·your·stylesheet·should·be·at·<code·class="docutils·literal·notranslate"><span·class="pre">polls/static/polls/style.css</span></code>.·Because128 words,·your·stylesheet·should·be·at·<code·class="docutils·literal·notranslate"><span·class="pre">polls/static/polls/style.css</span></code>.·Because
128 of·how·the·<code·class="docutils·literal·notranslate"><span·class="pre">AppDirectoriesFinder</span></code>·staticfile·finder·works,·you·can·refer·to129 of·how·the·<code·class="docutils·literal·notranslate"><span·class="pre">AppDirectoriesFinder</span></code>·staticfile·finder·works,·you·can·refer·to
129 this·static·file·in·Django·as·<code·class="docutils·literal·notranslate"><span·class="pre">polls/style.css</span></code>,·similar·to·how·you·reference130 this·static·file·in·Django·as·<code·class="docutils·literal·notranslate"><span·class="pre">polls/style.css</span></code>,·similar·to·how·you·reference
Offset 196, 15 lines modifiedOffset 197, 15 lines modified
196 <span·class="p">}</span>197 <span·class="p">}</span>
197 </pre></div>198 </pre></div>
198 </div>199 </div>
199 </div>200 </div>
200 <p>Reload·<code·class="docutils·literal·notranslate"><span·class="pre">http://localhost:8000/polls/</span></code>·and·you·should·see·the·background201 <p>Reload·<code·class="docutils·literal·notranslate"><span·class="pre">http://localhost:8000/polls/</span></code>·and·you·should·see·the·background
201 loaded·in·the·top·left·of·the·screen.</p>202 loaded·in·the·top·left·of·the·screen.</p>
202 <div·class="admonition·warning">203 <div·class="admonition·warning">
203 <p·class="admonition-title">Warning</p>204 <p·class="admonition-title">Hoiatus</p>
204 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">static</span>·<span·class="pre">%}</span></code>·template·tag·is·not·available·for·use·in·static·files205 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">static</span>·<span·class="pre">%}</span></code>·template·tag·is·not·available·for·use·in·static·files
205 which·aren’t·generated·by·Django,·like·your·stylesheet.·You·should·always206 which·aren’t·generated·by·Django,·like·your·stylesheet.·You·should·always
206 use·<strong>relative·paths</strong>·to·link·your·static·files·between·each·other,207 use·<strong>relative·paths</strong>·to·link·your·static·files·between·each·other,
207 because·then·you·can·change·<a·class="reference·internal"·href="../ref/settings.html#std-setting-STATIC_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_URL</span></code></a>·(used·by·the208 because·then·you·can·change·<a·class="reference·internal"·href="../ref/settings.html#std-setting-STATIC_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_URL</span></code></a>·(used·by·the
208 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-static"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">static</span></code></a>·template·tag·to·generate·its·URLs)·without·having·to·modify209 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-static"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">static</span></code></a>·template·tag·to·generate·its·URLs)·without·having·to·modify
209 a·bunch·of·paths·in·your·static·files·as·well.</p>210 a·bunch·of·paths·in·your·static·files·as·well.</p>
210 </div>211 </div>
Offset 227, 48 lines modifiedOffset 228, 48 lines modified
227 ······228 ······
228 ········229 ········
229 ··········<div·class="yui-b"·id="sidebar">230 ··········<div·class="yui-b"·id="sidebar">
230 ············231 ············
231 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">232 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
232 ········<div·class="sphinxsidebarwrapper">233 ········<div·class="sphinxsidebarwrapper">
233 ··<div>234 ··<div>
234 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>235 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
235 ····<ul>236 ····<ul>
236 <li><a·class="reference·internal"·href="#">Writing·your·first·Django·app,·part·6</a><ul>237 <li><a·class="reference·internal"·href="#">Writing·your·first·Django·app,·part·6</a><ul>
237 <li><a·class="reference·internal"·href="#customize-your-app-s-look-and-feel">Customize·your·<em>app’s</em>·look·and·feel</a></li>238 <li><a·class="reference·internal"·href="#customize-your-app-s-look-and-feel">Customize·your·<em>app’s</em>·look·and·feel</a></li>
238 <li><a·class="reference·internal"·href="#adding-a-background-image">Adding·a·background-image</a></li>239 <li><a·class="reference·internal"·href="#adding-a-background-image">Adding·a·background-image</a></li>
239 </ul>240 </ul>
240 </li>241 </li>
241 </ul>242 </ul>
  
242 ··</div>243 ··</div>
243 ··<div>244 ··<div>
244 ····<h4>Previous·topic</h4>245 ····<h4>Eelmine·teema</h4>
245 ····<p·class="topless"><a·href="tutorial05.html"246 ····<p·class="topless"><a·href="tutorial05.html"
246 ··························title="previous·chapter">Writing·your·first·Django·app,·part·5</a></p>247 ··························title="eelmine·jaotis">Writing·your·first·Django·app,·part·5</a></p>
247 ··</div>248 ··</div>
248 ··<div>249 ··<div>
249 ····<h4>Next·topic</h4>250 ····<h4>Järgmine·teema</h4>
250 ····<p·class="topless"><a·href="tutorial07.html"251 ····<p·class="topless"><a·href="tutorial07.html"
251 ··························title="next·chapter">Writing·your·first·Django·app,·part·7</a></p>252 ··························title="järgmine·jaotis">Writing·your·first·Django·app,·part·7</a></p>
252 ··</div>253 ··</div>
253 <search·id="searchbox"·style="display:·none"·role="search">254 <search·id="searchbox"·style="display:·none"·role="search">
254 ··<h3·id="searchlabel">Quick·search</h3>255 ··<h3·id="searchlabel">Kiirotsing</h3>
255 ····<div·class="searchformwrapper">256 ····<div·class="searchformwrapper">
256 ····<form·class="search"·action="../search.html"·method="get">257 ····<form·class="search"·action="../search.html"·method="get">
257 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>258 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
258 ······<input·type="submit"·value="Go"·/>259 ······<input·type="submit"·value="Otsi"·/>
259 ····</form>260 ····</form>
260 ····</div>261 ····</div>
261 </search>262 </search>
262 <script>document.getElementById('searchbox').style.display·=·"block"</script>263 <script>document.getElementById('searchbox').style.display·=·"block"</script>
263 ········</div>264 ········</div>
Max diff block lines reached; 233/9577 bytes (2.43%) of diff not shown.
5.42 KB
html2text {}
Max HTML report size reached
30.8 KB
./usr/share/doc/python-django-doc/html/intro/tutorial07.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·your·first·Django·app,·part·7·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·your·first·Django·app,·part·7·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·8"·href="tutorial08.html"·/>15 ····<link·rel="next"·title="Writing·your·first·Django·app,·part·8"·href="tutorial08.html"·/>
15 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·6"·href="tutorial06.html"·/>16 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·6"·href="tutorial06.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 122, 16 lines modifiedOffset 123, 16 lines modified
122 <span·class="n">admin</span><span·class="o">.</span><span·class="n">site</span><span·class="o">.</span><span·class="n">register</span><span·class="p">(</span><span·class="n">Question</span><span·class="p">,</span>·<span·class="n">QuestionAdmin</span><span·class="p">)</span>123 <span·class="n">admin</span><span·class="o">.</span><span·class="n">site</span><span·class="o">.</span><span·class="n">register</span><span·class="p">(</span><span·class="n">Question</span><span·class="p">,</span>·<span·class="n">QuestionAdmin</span><span·class="p">)</span>
123 </pre></div>124 </pre></div>
124 </div>125 </div>
125 </div>126 </div>
126 <p>You’ll·follow·this·pattern··create·a·model·admin·class,·then·pass·it·as·the127 <p>You’ll·follow·this·pattern··create·a·model·admin·class,·then·pass·it·as·the
127 second·argument·to·<code·class="docutils·literal·notranslate"><span·class="pre">admin.site.register()</span></code>··any·time·you·need·to·change·the128 second·argument·to·<code·class="docutils·literal·notranslate"><span·class="pre">admin.site.register()</span></code>··any·time·you·need·to·change·the
128 admin·options·for·a·model.</p>129 admin·options·for·a·model.</p>
129 <p>This·particular·change·above·makes·the·Publication·date·come·before·the130 <p>This·particular·change·above·makes·the·Publication·date·come·before·the
130 Question·field:</p>131 Question·field:</p>
131 <img·alt="Fields·have·been·reordered"·src="../_images/admin07.png"·/>132 <img·alt="Fields·have·been·reordered"·src="../_images/admin07.png"·/>
132 <p>This·isn’t·impressive·with·only·two·fields,·but·for·admin·forms·with·dozens133 <p>This·isn’t·impressive·with·only·two·fields,·but·for·admin·forms·with·dozens
133 of·fields,·choosing·an·intuitive·order·is·an·important·usability·detail.</p>134 of·fields,·choosing·an·intuitive·order·is·an·important·usability·detail.</p>
134 <p>And·speaking·of·forms·with·dozens·of·fields,·you·might·want·to·split·the·form135 <p>And·speaking·of·forms·with·dozens·of·fields,·you·might·want·to·split·the·form
135 up·into·fieldsets:</p>136 up·into·fieldsets:</p>
136 <div·class="literal-block-wrapper·docutils·container"·id="id2">137 <div·class="literal-block-wrapper·docutils·container"·id="id2">
137 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">polls/admin.py</span></code></span><a·class="headerlink"·href="#id2"·title="Link·to·this·code">¶</a></div>138 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">polls/admin.py</span></code></span><a·class="headerlink"·href="#id2"·title="Link·to·this·code">¶</a></div>
Offset 170, 27 lines modifiedOffset 171, 27 lines modified
170 <span·class="kn">from</span>·<span·class="nn">.models</span>·<span·class="kn">import</span>·<span·class="n">Choice</span><span·class="p">,</span>·<span·class="n">Question</span>171 <span·class="kn">from</span>·<span·class="nn">.models</span>·<span·class="kn">import</span>·<span·class="n">Choice</span><span·class="p">,</span>·<span·class="n">Question</span>
  
171 <span·class="c1">#·...</span>172 <span·class="c1">#·...</span>
172 <span·class="n">admin</span><span·class="o">.</span><span·class="n">site</span><span·class="o">.</span><span·class="n">register</span><span·class="p">(</span><span·class="n">Choice</span><span·class="p">)</span>173 <span·class="n">admin</span><span·class="o">.</span><span·class="n">site</span><span·class="o">.</span><span·class="n">register</span><span·class="p">(</span><span·class="n">Choice</span><span·class="p">)</span>
173 </pre></div>174 </pre></div>
174 </div>175 </div>
175 </div>176 </div>
176 <p>Now·Choices·is·an·available·option·in·the·Django·admin.·The·Add·choice·form177 <p>Now·Choices·is·an·available·option·in·the·Django·admin.·The·Add·choice·form
177 looks·like·this:</p>178 looks·like·this:</p>
178 <img·alt="Choice·admin·page"·src="../_images/admin09.png"·/>179 <img·alt="Choice·admin·page"·src="../_images/admin09.png"·/>
179 <p>In·that·form,·the·Question·field·is·a·select·box·containing·every·question·in·the180 <p>In·that·form,·the·Question·field·is·a·select·box·containing·every·question·in·the
180 database.·Django·knows·that·a·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·should·be181 database.·Django·knows·that·a·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·should·be
181 represented·in·the·admin·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;select&gt;</span></code>·box.·In·our·case,·only·one·question182 represented·in·the·admin·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;select&gt;</span></code>·box.·In·our·case,·only·one·question
182 exists·at·this·point.</p>183 exists·at·this·point.</p>
183 <p>Also·note·the·Add·another·question·link·next·to·Question.·Every·object·with184 <p>Also·note·the·Add·another·question·link·next·to·Question.·Every·object·with
184 a·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·relationship·to·another·gets·this·for·free.·When·you·click185 a·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·relationship·to·another·gets·this·for·free.·When·you·click
185 Add·another·question,·you’ll·get·a·popup·window·with·the·Add·question·form.186 Add·another·question,·you’ll·get·a·popup·window·with·the·Add·question·form.
186 If·you·add·a·question·in·that·window·and·click·Save,·Django·will·save·the187 If·you·add·a·question·in·that·window·and·click·Save,·Django·will·save·the
187 question·to·the·database·and·dynamically·add·it·as·the·selected·choice·on·the188 question·to·the·database·and·dynamically·add·it·as·the·selected·choice·on·the
188 Add·choice·form·you’re·looking·at.</p>189 Add·choice·form·you’re·looking·at.</p>
189 <p>But,·really,·this·is·an·inefficient·way·of·adding·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·objects·to·the·system.190 <p>But,·really,·this·is·an·inefficient·way·of·adding·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·objects·to·the·system.
190 It’d·be·better·if·you·could·add·a·bunch·of·Choices·directly·when·you·create·the191 It’d·be·better·if·you·could·add·a·bunch·of·Choices·directly·when·you·create·the
191 <code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>·object.·Let’s·make·that·happen.</p>192 <code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>·object.·Let’s·make·that·happen.</p>
192 <p>Remove·the·<code·class="docutils·literal·notranslate"><span·class="pre">register()</span></code>·call·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·model.·Then,·edit·the·<code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>193 <p>Remove·the·<code·class="docutils·literal·notranslate"><span·class="pre">register()</span></code>·call·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·model.·Then,·edit·the·<code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>
193 registration·code·to·read:</p>194 registration·code·to·read:</p>
194 <div·class="literal-block-wrapper·docutils·container"·id="id4">195 <div·class="literal-block-wrapper·docutils·container"·id="id4">
195 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">polls/admin.py</span></code></span><a·class="headerlink"·href="#id4"·title="Link·to·this·code">¶</a></div>196 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">polls/admin.py</span></code></span><a·class="headerlink"·href="#id4"·title="Link·to·this·code">¶</a></div>
Offset 212, 22 lines modifiedOffset 213, 22 lines modified
212 ····<span·class="n">inlines</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">ChoiceInline</span><span·class="p">]</span>213 ····<span·class="n">inlines</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">ChoiceInline</span><span·class="p">]</span>
  
  
213 <span·class="n">admin</span><span·class="o">.</span><span·class="n">site</span><span·class="o">.</span><span·class="n">register</span><span·class="p">(</span><span·class="n">Question</span><span·class="p">,</span>·<span·class="n">QuestionAdmin</span><span·class="p">)</span>214 <span·class="n">admin</span><span·class="o">.</span><span·class="n">site</span><span·class="o">.</span><span·class="n">register</span><span·class="p">(</span><span·class="n">Question</span><span·class="p">,</span>·<span·class="n">QuestionAdmin</span><span·class="p">)</span>
214 </pre></div>215 </pre></div>
215 </div>216 </div>
216 </div>217 </div>
217 <p>This·tells·Django:·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·objects·are·edited·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>·admin·page.·By218 <p>This·tells·Django:·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·objects·are·edited·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>·admin·page.·By
218 default,·provide·enough·fields·for·3·choices.</p>219 default,·provide·enough·fields·for·3·choices.</p>
219 <p>Load·the·Add·question·page·to·see·how·that·looks:</p>220 <p>Load·the·Add·question·page·to·see·how·that·looks:</p>
220 <img·alt="Add·question·page·now·has·choices·on·it"·src="../_images/admin10t.png"·/>221 <img·alt="Add·question·page·now·has·choices·on·it"·src="../_images/admin10t.png"·/>
221 <p>It·works·like·this:·There·are·three·slots·for·related·Choices··as·specified222 <p>It·works·like·this:·There·are·three·slots·for·related·Choices··as·specified
222 by·<code·class="docutils·literal·notranslate"><span·class="pre">extra</span></code>··and·each·time·you·come·back·to·the·Change·page·for·an223 by·<code·class="docutils·literal·notranslate"><span·class="pre">extra</span></code>··and·each·time·you·come·back·to·the·Change·page·for·an
223 already-created·object,·you·get·another·three·extra·slots.</p>224 already-created·object,·you·get·another·three·extra·slots.</p>
224 <p>At·the·end·of·the·three·current·slots·you·will·find·an·Add·another·Choice225 <p>At·the·end·of·the·three·current·slots·you·will·find·an·Add·another·Choice
225 link.··If·you·click·on·it,·a·new·slot·will·be·added.·If·you·want·to·remove·the226 link.··If·you·click·on·it,·a·new·slot·will·be·added.·If·you·want·to·remove·the
226 added·slot,·you·can·click·on·the·X·to·the·top·right·of·the·added·slot.·This227 added·slot,·you·can·click·on·the·X·to·the·top·right·of·the·added·slot.·This
227 image·shows·an·added·slot:</p>228 image·shows·an·added·slot:</p>
228 <img·alt="Additional·slot·added·dynamically"·src="../_images/admin14t.png"·/>229 <img·alt="Additional·slot·added·dynamically"·src="../_images/admin14t.png"·/>
229 <p>One·small·problem,·though.·It·takes·a·lot·of·screen·space·to·display·all·the230 <p>One·small·problem,·though.·It·takes·a·lot·of·screen·space·to·display·all·the
230 fields·for·entering·related·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·objects.·For·that·reason,·Django·offers·a231 fields·for·entering·related·<code·class="docutils·literal·notranslate"><span·class="pre">Choice</span></code>·objects.·For·that·reason,·Django·offers·a
231 tabular·way·of·displaying·inline·related·objects.·To·use·it,·change·the232 tabular·way·of·displaying·inline·related·objects.·To·use·it,·change·the
Offset 237, 21 lines modifiedOffset 238, 21 lines modified
237 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">ChoiceInline</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">TabularInline</span><span·class="p">):</span>·<span·class="o">...</span>238 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">ChoiceInline</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">TabularInline</span><span·class="p">):</span>·<span·class="o">...</span>
238 </pre></div>239 </pre></div>
239 </div>240 </div>
240 </div>241 </div>
241 <p>With·that·<code·class="docutils·literal·notranslate"><span·class="pre">TabularInline</span></code>·(instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">StackedInline</span></code>),·the242 <p>With·that·<code·class="docutils·literal·notranslate"><span·class="pre">TabularInline</span></code>·(instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">StackedInline</span></code>),·the
242 related·objects·are·displayed·in·a·more·compact,·table-based·format:</p>243 related·objects·are·displayed·in·a·more·compact,·table-based·format:</p>
243 <img·alt="Add·question·page·now·has·more·compact·choices"·src="../_images/admin11t.png"·/>244 <img·alt="Add·question·page·now·has·more·compact·choices"·src="../_images/admin11t.png"·/>
244 <p>Note·that·there·is·an·extra·Delete?·column·that·allows·removing·rows·added245 <p>Note·that·there·is·an·extra·Delete?·column·that·allows·removing·rows·added
245 using·the·Add·another·Choice·button·and·rows·that·have·already·been·saved.</p>246 using·the·Add·another·Choice·button·and·rows·that·have·already·been·saved.</p>
246 </section>247 </section>
247 <section·id="s-customize-the-admin-change-list">248 <section·id="s-customize-the-admin-change-list">
248 <span·id="customize-the-admin-change-list"></span><h2>Customize·the·admin·change·list<a·class="headerlink"·href="#customize-the-admin-change-list"·title="Link·to·this·heading">¶</a></h2>249 <span·id="customize-the-admin-change-list"></span><h2>Customize·the·admin·change·list<a·class="headerlink"·href="#customize-the-admin-change-list"·title="Link·to·this·heading">¶</a></h2>
249 <p>Now·that·the·Question·admin·page·is·looking·good,·let’s·make·some·tweaks·to·the250 <p>Now·that·the·Question·admin·page·is·looking·good,·let’s·make·some·tweaks·to·the
250 change·list·page··the·one·that·displays·all·the·questions·in·the·system.</p>251 change·list·page··the·one·that·displays·all·the·questions·in·the·system.</p>
251 <p>Here’s·what·it·looks·like·at·this·point:</p>252 <p>Here’s·what·it·looks·like·at·this·point:</p>
252 <img·alt="Polls·change·list·page"·src="../_images/admin04t.png"·/>253 <img·alt="Polls·change·list·page"·src="../_images/admin04t.png"·/>
253 <p>By·default,·Django·displays·the·<code·class="docutils·literal·notranslate"><span·class="pre">str()</span></code>·of·each·object.·But·sometimes·it’d·be254 <p>By·default,·Django·displays·the·<code·class="docutils·literal·notranslate"><span·class="pre">str()</span></code>·of·each·object.·But·sometimes·it’d·be
254 more·helpful·if·we·could·display·individual·fields.·To·do·that,·use·the255 more·helpful·if·we·could·display·individual·fields.·To·do·that,·use·the
255 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_display"·title="django.contrib.admin.ModelAdmin.list_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">list_display</span></code></a>·admin·option,·which·is·a256 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_display"·title="django.contrib.admin.ModelAdmin.list_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">list_display</span></code></a>·admin·option,·which·is·a
Max diff block lines reached; 8322/19835 bytes (41.96%) of diff not shown.
11.3 KB
html2text {}
Max HTML report size reached
13.7 KB
./usr/share/doc/python-django-doc/html/intro/tutorial08.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·your·first·Django·app,·part·8·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·your·first·Django·app,·part·8·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Advanced·tutorial:·How·to·write·reusable·apps"·href="reusable-apps.html"·/>15 ····<link·rel="next"·title="Advanced·tutorial:·How·to·write·reusable·apps"·href="reusable-apps.html"·/>
15 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·7"·href="tutorial07.html"·/>16 ····<link·rel="prev"·title="Writing·your·first·Django·app,·part·7"·href="tutorial07.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 133, 15 lines modifiedOffset 134, 15 lines modified
133 setup·to·integrate·them·with·your·project.·Often·you·will·need·to·add·the134 setup·to·integrate·them·with·your·project.·Often·you·will·need·to·add·the
134 package’s·Django·app·to·your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·setting.·Some·packages135 package’s·Django·app·to·your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·setting.·Some·packages
135 need·other·changes,·like·additions·to·your·URLconf·(<code·class="docutils·literal·notranslate"><span·class="pre">urls.py</span></code>).</p>136 need·other·changes,·like·additions·to·your·URLconf·(<code·class="docutils·literal·notranslate"><span·class="pre">urls.py</span></code>).</p>
136 <p>Django·Debug·Toolbar·requires·several·setup·steps.·Follow·them·in·<a·class="reference·external"·href="https://django-debug-toolbar.readthedocs.io/en/latest/installation.html">its137 <p>Django·Debug·Toolbar·requires·several·setup·steps.·Follow·them·in·<a·class="reference·external"·href="https://django-debug-toolbar.readthedocs.io/en/latest/installation.html">its
137 installation·guide</a>.138 installation·guide</a>.
138 The·steps·are·not·duplicated·in·this·tutorial,·because·as·a·third-party139 The·steps·are·not·duplicated·in·this·tutorial,·because·as·a·third-party
139 package,·it·may·change·separately·to·Django’s·schedule.</p>140 package,·it·may·change·separately·to·Django’s·schedule.</p>
140 <p>Once·installed,·you·should·be·able·to·see·the·DjDT·handle·on·the·right·side141 <p>Once·installed,·you·should·be·able·to·see·the·DjDT·handle·on·the·right·side
141 of·the·browser·window·when·you·browse·to·<code·class="docutils·literal·notranslate"><span·class="pre">http://localhost:8000/admin/</span></code>.142 of·the·browser·window·when·you·browse·to·<code·class="docutils·literal·notranslate"><span·class="pre">http://localhost:8000/admin/</span></code>.
142 Click·it·to·open·the·debug·toolbar·and·use·the·tools·in·each·panel.·See·the143 Click·it·to·open·the·debug·toolbar·and·use·the·tools·in·each·panel.·See·the
143 <a·class="reference·external"·href="https://django-debug-toolbar.readthedocs.io/en/latest/panels.html">panels·documentation·page</a>·for·more·information·on·what·the·panels·show.</p>144 <a·class="reference·external"·href="https://django-debug-toolbar.readthedocs.io/en/latest/panels.html">panels·documentation·page</a>·for·more·information·on·what·the·panels·show.</p>
144 </section>145 </section>
145 <section·id="s-getting-help-from-others">146 <section·id="s-getting-help-from-others">
146 <span·id="getting-help-from-others"></span><h2>Getting·help·from·others<a·class="headerlink"·href="#getting-help-from-others"·title="Link·to·this·heading">¶</a></h2>147 <span·id="getting-help-from-others"></span><h2>Getting·help·from·others<a·class="headerlink"·href="#getting-help-from-others"·title="Link·to·this·heading">¶</a></h2>
147 <p>At·some·point·you·will·run·into·a·problem,·for·example·the148 <p>At·some·point·you·will·run·into·a·problem,·for·example·the
Offset 163, 26 lines modifiedOffset 164, 26 lines modified
163 <span·id="installing-other-third-party-packages"></span><h2>Installing·other·third-party·packages<a·class="headerlink"·href="#installing-other-third-party-packages"·title="Link·to·this·heading">¶</a></h2>164 <span·id="installing-other-third-party-packages"></span><h2>Installing·other·third-party·packages<a·class="headerlink"·href="#installing-other-third-party-packages"·title="Link·to·this·heading">¶</a></h2>
164 <p>There·are·many·more·third-party·packages,·which·you·can·find·using·the165 <p>There·are·many·more·third-party·packages,·which·you·can·find·using·the
165 fantastic·Django·resource,·<a·class="reference·external"·href="https://djangopackages.org/">Django·Packages</a>.</p>166 fantastic·Django·resource,·<a·class="reference·external"·href="https://djangopackages.org/">Django·Packages</a>.</p>
166 <p>It·can·be·difficult·to·know·what·third-party·packages·you·should·use.·This167 <p>It·can·be·difficult·to·know·what·third-party·packages·you·should·use.·This
167 depends·on·your·needs·and·goals.·Sometimes·it’s·fine·to·use·a·package·that’s168 depends·on·your·needs·and·goals.·Sometimes·it’s·fine·to·use·a·package·that’s
168 in·its·alpha·state.·Other·times,·you·need·to·know·it’s·production·ready.169 in·its·alpha·state.·Other·times,·you·need·to·know·it’s·production·ready.
169 <a·class="reference·external"·href="https://adamj.eu/tech/2021/11/04/the-well-maintained-test/">Adam·Johnson·has·a·blog·post</a>·that·outlines170 <a·class="reference·external"·href="https://adamj.eu/tech/2021/11/04/the-well-maintained-test/">Adam·Johnson·has·a·blog·post</a>·that·outlines
170 a·set·of·characteristics·that·qualifies·a·package·as·well·maintained.171 a·set·of·characteristics·that·qualifies·a·package·as·well·maintained.
171 Django·Packages·shows·data·for·some·of·these·characteristics,·such·as·when·the172 Django·Packages·shows·data·for·some·of·these·characteristics,·such·as·when·the
172 package·was·last·updated.</p>173 package·was·last·updated.</p>
173 <p>As·Adam·points·out·in·his·post,·when·the·answer·to·one·of·the·questions·is174 <p>As·Adam·points·out·in·his·post,·when·the·answer·to·one·of·the·questions·is
174 no,·that’s·an·opportunity·to·contribute.</p>175 no,·that’s·an·opportunity·to·contribute.</p>
175 </section>176 </section>
176 <section·id="s-what-s-next">177 <section·id="s-what-s-next">
177 <span·id="what-s-next"></span><h2>What’s·next?<a·class="headerlink"·href="#what-s-next"·title="Link·to·this·heading">¶</a></h2>178 <span·id="what-s-next"></span><h2>What’s·next?<a·class="headerlink"·href="#what-s-next"·title="Link·to·this·heading">¶</a></h2>
178 <p>The·beginner·tutorial·ends·here.·In·the·meantime,·you·might·want·to·check·out179 <p>The·beginner·tutorial·ends·here.·In·the·meantime,·you·might·want·to·check·out
179 some·pointers·on·<a·class="reference·internal"·href="whatsnext.html"><span·class="doc">where·to·go·from·here</span></a>.</p>180 some·pointers·on·<a·class="reference·internal"·href="whatsnext.html"><span·class="doc">where·to·go·from·here</span></a>.</p>
180 <p>If·you·are·familiar·with·Python·packaging·and·interested·in·learning·how·to181 <p>If·you·are·familiar·with·Python·packaging·and·interested·in·learning·how·to
181 turn·polls·into·a·reusable·app,·check·out·<a·class="reference·internal"·href="reusable-apps.html"><span·class="doc">Advanced·tutorial:·How·to182 turn·polls·into·a·reusable·app,·check·out·<a·class="reference·internal"·href="reusable-apps.html"><span·class="doc">Advanced·tutorial:·How·to
182 write·reusable·apps</span></a>.</p>183 write·reusable·apps</span></a>.</p>
183 </section>184 </section>
184 </section>185 </section>
  
  
185 ··········</div>186 ··········</div>
186 ········</div>187 ········</div>
Offset 190, 50 lines modifiedOffset 191, 50 lines modified
190 ······191 ······
191 ········192 ········
192 ··········<div·class="yui-b"·id="sidebar">193 ··········<div·class="yui-b"·id="sidebar">
193 ············194 ············
194 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">195 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
195 ········<div·class="sphinxsidebarwrapper">196 ········<div·class="sphinxsidebarwrapper">
196 ··<div>197 ··<div>
197 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>198 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
198 ····<ul>199 ····<ul>
199 <li><a·class="reference·internal"·href="#">Writing·your·first·Django·app,·part·8</a><ul>200 <li><a·class="reference·internal"·href="#">Writing·your·first·Django·app,·part·8</a><ul>
200 <li><a·class="reference·internal"·href="#installing-django-debug-toolbar">Installing·Django·Debug·Toolbar</a></li>201 <li><a·class="reference·internal"·href="#installing-django-debug-toolbar">Installing·Django·Debug·Toolbar</a></li>
201 <li><a·class="reference·internal"·href="#getting-help-from-others">Getting·help·from·others</a></li>202 <li><a·class="reference·internal"·href="#getting-help-from-others">Getting·help·from·others</a></li>
202 <li><a·class="reference·internal"·href="#installing-other-third-party-packages">Installing·other·third-party·packages</a></li>203 <li><a·class="reference·internal"·href="#installing-other-third-party-packages">Installing·other·third-party·packages</a></li>
203 <li><a·class="reference·internal"·href="#what-s-next">What’s·next?</a></li>204 <li><a·class="reference·internal"·href="#what-s-next">What’s·next?</a></li>
204 </ul>205 </ul>
205 </li>206 </li>
206 </ul>207 </ul>
  
207 ··</div>208 ··</div>
208 ··<div>209 ··<div>
209 ····<h4>Previous·topic</h4>210 ····<h4>Eelmine·teema</h4>
210 ····<p·class="topless"><a·href="tutorial07.html"211 ····<p·class="topless"><a·href="tutorial07.html"
211 ··························title="previous·chapter">Writing·your·first·Django·app,·part·7</a></p>212 ··························title="eelmine·jaotis">Writing·your·first·Django·app,·part·7</a></p>
212 ··</div>213 ··</div>
213 ··<div>214 ··<div>
214 ····<h4>Next·topic</h4>215 ····<h4>Järgmine·teema</h4>
215 ····<p·class="topless"><a·href="reusable-apps.html"216 ····<p·class="topless"><a·href="reusable-apps.html"
216 ··························title="next·chapter">Advanced·tutorial:·How·to·write·reusable·apps</a></p>217 ··························title="järgmine·jaotis">Advanced·tutorial:·How·to·write·reusable·apps</a></p>
217 ··</div>218 ··</div>
218 <search·id="searchbox"·style="display:·none"·role="search">219 <search·id="searchbox"·style="display:·none"·role="search">
219 ··<h3·id="searchlabel">Quick·search</h3>220 ··<h3·id="searchlabel">Kiirotsing</h3>
220 ····<div·class="searchformwrapper">221 ····<div·class="searchformwrapper">
221 ····<form·class="search"·action="../search.html"·method="get">222 ····<form·class="search"·action="../search.html"·method="get">
222 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>223 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
223 ······<input·type="submit"·value="Go"·/>224 ······<input·type="submit"·value="Otsi"·/>
224 ····</form>225 ····</form>
225 ····</div>226 ····</div>
226 </search>227 </search>
227 <script>document.getElementById('searchbox').style.display·=·"block"</script>228 <script>document.getElementById('searchbox').style.display·=·"block"</script>
228 ········</div>229 ········</div>
229 ······</div>230 ······</div>
230 ··············<h3>Last·update:</h3>231 ··············<h3>Last·update:</h3>
231 ··············<p·class="topless">Nov·05,·2024</p>232 ··············<p·class="topless">nov·05,·2024</p>
232 ··········</div>233 ··········</div>
Max diff block lines reached; 66/8427 bytes (0.78%) of diff not shown.
5.38 KB
html2text {}
Max HTML report size reached
25.8 KB
./usr/share/doc/python-django-doc/html/intro/whatsnext.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>What·to·read·next·&#8212;·Django·5.1.3·documentation</title>6 ····<title>What·to·read·next·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Writing·your·first·contribution·for·Django"·href="contributing.html"·/>15 ····<link·rel="next"·title="Writing·your·first·contribution·for·Django"·href="contributing.html"·/>
15 ····<link·rel="prev"·title="Advanced·tutorial:·How·to·write·reusable·apps"·href="reusable-apps.html"·/>16 ····<link·rel="prev"·title="Advanced·tutorial:·How·to·write·reusable·apps"·href="reusable-apps.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 105, 52 lines modifiedOffset 106, 52 lines modified
105 documentation·works·so·that·you·can·get·the·most·out·of·it.</p>106 documentation·works·so·that·you·can·get·the·most·out·of·it.</p>
106 <p>(Yes,·this·is·documentation·about·documentation.·Rest·assured·we·have·no·plans107 <p>(Yes,·this·is·documentation·about·documentation.·Rest·assured·we·have·no·plans
107 to·write·a·document·about·how·to·read·the·document·about·documentation.)</p>108 to·write·a·document·about·how·to·read·the·document·about·documentation.)</p>
108 <section·id="s-finding-documentation">109 <section·id="s-finding-documentation">
109 <span·id="finding-documentation"></span><h2>Finding·documentation<a·class="headerlink"·href="#finding-documentation"·title="Link·to·this·heading">¶</a></h2>110 <span·id="finding-documentation"></span><h2>Finding·documentation<a·class="headerlink"·href="#finding-documentation"·title="Link·to·this·heading">¶</a></h2>
110 <p>Django’s·got·a·<em>lot</em>·of·documentation··almost·450,000·words·and·counting·111 <p>Django’s·got·a·<em>lot</em>·of·documentation··almost·450,000·words·and·counting·
111 so·finding·what·you·need·can·sometimes·be·tricky.·A·good·place·to·start112 so·finding·what·you·need·can·sometimes·be·tricky.·A·good·place·to·start
112 is·the·<a·class="reference·internal"·href="../genindex.html"><span·class="std·std-ref">Index</span></a>.·We·also·recommend·using·the·builtin·search·feature.</p>113 is·the·<a·class="reference·internal"·href="../genindex.html"><span·class="std·std-ref">Indeks</span></a>.·We·also·recommend·using·the·builtin·search·feature.</p>
113 <p>Or·you·can·just·browse·around!</p>114 <p>Or·you·can·just·browse·around!</p>
114 </section>115 </section>
115 <section·id="s-how-the-documentation-is-organized">116 <section·id="s-how-the-documentation-is-organized">
116 <span·id="how-the-documentation-is-organized"></span><h2>How·the·documentation·is·organized<a·class="headerlink"·href="#how-the-documentation-is-organized"·title="Link·to·this·heading">¶</a></h2>117 <span·id="how-the-documentation-is-organized"></span><h2>How·the·documentation·is·organized<a·class="headerlink"·href="#how-the-documentation-is-organized"·title="Link·to·this·heading">¶</a></h2>
117 <p>Django’s·main·documentation·is·broken·up·into·chunks·designed·to·fill118 <p>Django’s·main·documentation·is·broken·up·into·chunks·designed·to·fill
118 different·needs:</p>119 different·needs:</p>
119 <ul>120 <ul>
120 <li><p>The·<a·class="reference·internal"·href="index.html"><span·class="doc">introductory·material</span></a>·is·designed·for·people·new121 <li><p>The·<a·class="reference·internal"·href="index.html"><span·class="doc">introductory·material</span></a>·is·designed·for·people·new
121 to·Django··or·to·web·development·in·general.·It·doesn’t·cover·anything122 to·Django··or·to·web·development·in·general.·It·doesn’t·cover·anything
122 in·depth,·but·instead·gives·a·high-level·overview·of·how·developing·in123 in·depth,·but·instead·gives·a·high-level·overview·of·how·developing·in
123 Django·feels.</p></li>124 Django·feels.</p></li>
124 <li><p>The·<a·class="reference·internal"·href="../topics/index.html"><span·class="doc">topic·guides</span></a>,·on·the·other·hand,·dive·deep·into125 <li><p>The·<a·class="reference·internal"·href="../topics/index.html"><span·class="doc">topic·guides</span></a>,·on·the·other·hand,·dive·deep·into
125 individual·parts·of·Django.·There·are·complete·guides·to·Django’s126 individual·parts·of·Django.·There·are·complete·guides·to·Django’s
126 <a·class="reference·internal"·href="../topics/db/index.html"><span·class="doc">model·system</span></a>,·<a·class="reference·internal"·href="../topics/templates.html"><span·class="doc">template·engine</span></a>,·<a·class="reference·internal"·href="../topics/forms/index.html"><span·class="doc">forms·framework</span></a>,·and·much127 <a·class="reference·internal"·href="../topics/db/index.html"><span·class="doc">model·system</span></a>,·<a·class="reference·internal"·href="../topics/templates.html"><span·class="doc">template·engine</span></a>,·<a·class="reference·internal"·href="../topics/forms/index.html"><span·class="doc">forms·framework</span></a>,·and·much
127 more.</p>128 more.</p>
128 <p>This·is·probably·where·you’ll·want·to·spend·most·of·your·time;·if·you·work129 <p>This·is·probably·where·you’ll·want·to·spend·most·of·your·time;·if·you·work
129 your·way·through·these·guides·you·should·come·out·knowing·pretty·much130 your·way·through·these·guides·you·should·come·out·knowing·pretty·much
130 everything·there·is·to·know·about·Django.</p>131 everything·there·is·to·know·about·Django.</p>
131 </li>132 </li>
132 <li><p>Web·development·is·often·broad,·not·deep··problems·span·many·domains.133 <li><p>Web·development·is·often·broad,·not·deep··problems·span·many·domains.
133 We’ve·written·a·set·of·<a·class="reference·internal"·href="../howto/index.html"><span·class="doc">how-to·guides</span></a>·that·answer134 We’ve·written·a·set·of·<a·class="reference·internal"·href="../howto/index.html"><span·class="doc">how-to·guides</span></a>·that·answer
134 common·How·do·I·…?·questions.·Here·you’ll·find·information·about135 common·How·do·I·…?·questions.·Here·you’ll·find·information·about
135 <a·class="reference·internal"·href="../howto/outputting-pdf.html"><span·class="doc">generating·PDFs·with·Django</span></a>,·<a·class="reference·internal"·href="../howto/custom-template-tags.html"><span·class="doc">writing136 <a·class="reference·internal"·href="../howto/outputting-pdf.html"><span·class="doc">generating·PDFs·with·Django</span></a>,·<a·class="reference·internal"·href="../howto/custom-template-tags.html"><span·class="doc">writing
136 custom·template·tags</span></a>,·and·more.</p>137 custom·template·tags</span></a>,·and·more.</p>
137 <p>Answers·to·really·common·questions·can·also·be·found·in·the·<a·class="reference·internal"·href="../faq/index.html"><span·class="doc">FAQ</span></a>.</p>138 <p>Answers·to·really·common·questions·can·also·be·found·in·the·<a·class="reference·internal"·href="../faq/index.html"><span·class="doc">FAQ</span></a>.</p>
138 </li>139 </li>
139 <li><p>The·guides·and·how-to’s·don’t·cover·every·single·class,·function,·and140 <li><p>The·guides·and·how-to’s·don’t·cover·every·single·class,·function,·and
140 method·available·in·Django··that·would·be·overwhelming·when·you’re141 method·available·in·Django··that·would·be·overwhelming·when·you’re
141 trying·to·learn.·Instead,·details·about·individual·classes,·functions,142 trying·to·learn.·Instead,·details·about·individual·classes,·functions,
142 methods,·and·modules·are·kept·in·the·<a·class="reference·internal"·href="../ref/index.html"><span·class="doc">reference</span></a>.·This·is143 methods,·and·modules·are·kept·in·the·<a·class="reference·internal"·href="../ref/index.html"><span·class="doc">reference</span></a>.·This·is
143 where·you’ll·turn·to·find·the·details·of·a·particular·function·or144 where·you’ll·turn·to·find·the·details·of·a·particular·function·or
144 whatever·you·need.</p></li>145 whatever·you·need.</p></li>
145 <li><p>If·you·are·interested·in·deploying·a·project·for·public·use,·our·docs·have146 <li><p>If·you·are·interested·in·deploying·a·project·for·public·use,·our·docs·have
146 <a·class="reference·internal"·href="../howto/deployment/index.html"><span·class="doc">several·guides</span></a>·for·various·deployment147 <a·class="reference·internal"·href="../howto/deployment/index.html"><span·class="doc">several·guides</span></a>·for·various·deployment
147 setups·as·well·as·a·<a·class="reference·internal"·href="../howto/deployment/checklist.html"><span·class="doc">deployment·checklist</span></a>148 setups·as·well·as·a·<a·class="reference·internal"·href="../howto/deployment/checklist.html"><span·class="doc">deployment·checklist</span></a>
148 for·some·things·you’ll·need·to·think·about.</p></li>149 for·some·things·you’ll·need·to·think·about.</p></li>
149 <li><p>Finally,·there’s·some·specialized·documentation·not·usually·relevant·to150 <li><p>Finally,·there’s·some·specialized·documentation·not·usually·relevant·to
150 most·developers.·This·includes·the·<a·class="reference·internal"·href="../releases/index.html"><span·class="doc">release·notes</span></a>·and151 most·developers.·This·includes·the·<a·class="reference·internal"·href="../releases/index.html"><span·class="doc">release·notes</span></a>·and
151 <a·class="reference·internal"·href="../internals/index.html"><span·class="doc">internals·documentation</span></a>·for·those·who·want·to·add152 <a·class="reference·internal"·href="../internals/index.html"><span·class="doc">internals·documentation</span></a>·for·those·who·want·to·add
152 code·to·Django·itself,·and·a·<a·class="reference·internal"·href="../misc/index.html"><span·class="doc">few·other·things·that·don’t·fit·elsewhere</span></a>.</p></li>153 code·to·Django·itself,·and·a·<a·class="reference·internal"·href="../misc/index.html"><span·class="doc">few·other·things·that·don’t·fit·elsewhere</span></a>.</p></li>
153 </ul>154 </ul>
154 </section>155 </section>
155 <section·id="s-how-documentation-is-updated">156 <section·id="s-how-documentation-is-updated">
156 <span·id="how-documentation-is-updated"></span><h2>How·documentation·is·updated<a·class="headerlink"·href="#how-documentation-is-updated"·title="Link·to·this·heading">¶</a></h2>157 <span·id="how-documentation-is-updated"></span><h2>How·documentation·is·updated<a·class="headerlink"·href="#how-documentation-is-updated"·title="Link·to·this·heading">¶</a></h2>
Offset 175, 15 lines modifiedOffset 176, 15 lines modified
175 <p>You·can·read·Django·documentation·in·several·ways.·They·are,·in·order·of176 <p>You·can·read·Django·documentation·in·several·ways.·They·are,·in·order·of
176 preference:</p>177 preference:</p>
177 <section·id="s-on-the-web">178 <section·id="s-on-the-web">
178 <span·id="on-the-web"></span><h3>On·the·web<a·class="headerlink"·href="#on-the-web"·title="Link·to·this·heading">¶</a></h3>179 <span·id="on-the-web"></span><h3>On·the·web<a·class="headerlink"·href="#on-the-web"·title="Link·to·this·heading">¶</a></h3>
179 <p>The·most·recent·version·of·the·Django·documentation·lives·at180 <p>The·most·recent·version·of·the·Django·documentation·lives·at
180 <a·class="reference·external"·href="https://docs.djangoproject.com/en/dev/">https://docs.djangoproject.com/en/dev/</a>.·These·HTML·pages·are·generated181 <a·class="reference·external"·href="https://docs.djangoproject.com/en/dev/">https://docs.djangoproject.com/en/dev/</a>.·These·HTML·pages·are·generated
181 automatically·from·the·text·files·in·source·control.·That·means·they·reflect·the182 automatically·from·the·text·files·in·source·control.·That·means·they·reflect·the
182 latest·and·greatest·in·Django··they·include·the·very·latest·corrections·and183 latest·and·greatest·in·Django··they·include·the·very·latest·corrections·and
183 additions,·and·they·discuss·the·latest·Django·features,·which·may·only·be184 additions,·and·they·discuss·the·latest·Django·features,·which·may·only·be
184 available·to·users·of·the·Django·development·version.·(See185 available·to·users·of·the·Django·development·version.·(See
185 <a·class="reference·internal"·href="#differences-between-doc-versions"><span·class="std·std-ref">Differences·between·versions</span></a>·below.)</p>186 <a·class="reference·internal"·href="#differences-between-doc-versions"><span·class="std·std-ref">Differences·between·versions</span></a>·below.)</p>
186 <p>We·encourage·you·to·help·improve·the·docs·by·submitting·changes,·corrections·and187 <p>We·encourage·you·to·help·improve·the·docs·by·submitting·changes,·corrections·and
187 suggestions·in·the·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·system</a>.·The·Django·developers·actively·monitor·the188 suggestions·in·the·<a·class="reference·external"·href="https://code.djangoproject.com/">ticket·system</a>.·The·Django·developers·actively·monitor·the
188 ticket·system·and·use·your·feedback·to·improve·the·documentation·for·everybody.</p>189 ticket·system·and·use·your·feedback·to·improve·the·documentation·for·everybody.</p>
189 <p>Note,·however,·that·tickets·should·explicitly·relate·to·the·documentation,190 <p>Note,·however,·that·tickets·should·explicitly·relate·to·the·documentation,
Offset 199, 15 lines modifiedOffset 200, 15 lines modified
199 the·code·includes·a·<code·class="docutils·literal·notranslate"><span·class="pre">docs/</span></code>·directory,·which·contains·all·the·documentation200 the·code·includes·a·<code·class="docutils·literal·notranslate"><span·class="pre">docs/</span></code>·directory,·which·contains·all·the·documentation
200 for·that·release.</p>201 for·that·release.</p>
201 <p>If·you’re·using·the·development·version·of·Django·(aka·the·main·branch),·the202 <p>If·you’re·using·the·development·version·of·Django·(aka·the·main·branch),·the
202 <code·class="docutils·literal·notranslate"><span·class="pre">docs/</span></code>·directory·contains·all·of·the·documentation.·You·can·update·your203 <code·class="docutils·literal·notranslate"><span·class="pre">docs/</span></code>·directory·contains·all·of·the·documentation.·You·can·update·your
203 Git·checkout·to·get·the·latest·changes.</p>204 Git·checkout·to·get·the·latest·changes.</p>
204 <p>One·low-tech·way·of·taking·advantage·of·the·text·documentation·is·by·using·the205 <p>One·low-tech·way·of·taking·advantage·of·the·text·documentation·is·by·using·the
205 Unix·<code·class="docutils·literal·notranslate"><span·class="pre">grep</span></code>·utility·to·search·for·a·phrase·in·all·of·the·documentation.·For206 Unix·<code·class="docutils·literal·notranslate"><span·class="pre">grep</span></code>·utility·to·search·for·a·phrase·in·all·of·the·documentation.·For
206 example,·this·will·show·you·each·mention·of·the·phrase·max_length·in·any207 example,·this·will·show·you·each·mention·of·the·phrase·max_length·in·any
207 Django·document:</p>208 Django·document:</p>
208 <div·class="console-block"·id="console-block-0">209 <div·class="console-block"·id="console-block-0">
209 <input·class="c-tab-unix"·id="c-tab-0-unix"·type="radio"·name="console-0"·checked>210 <input·class="c-tab-unix"·id="c-tab-0-unix"·type="radio"·name="console-0"·checked>
210 <label·for="c-tab-0-unix"·title="Linux/macOS">&#xf17c/&#xf179</label>211 <label·for="c-tab-0-unix"·title="Linux/macOS">&#xf17c/&#xf179</label>
211 <input·class="c-tab-win"·id="c-tab-0-win"·type="radio"·name="console-0">212 <input·class="c-tab-win"·id="c-tab-0-win"·type="radio"·name="console-0">
212 <label·for="c-tab-0-win"·title="Windows">&#xf17a</label>213 <label·for="c-tab-0-win"·title="Windows">&#xf17a</label>
213 <section·class="c-content-unix"·id="c-content-0-unix">214 <section·class="c-content-unix"·id="c-content-0-unix">
Offset 259, 28 lines modifiedOffset 260, 28 lines modified
259 <li><p>The·HTML·documentation·will·be·placed·in·<code·class="docutils·literal·notranslate"><span·class="pre">docs/_build/html</span></code>.</p></li>260 <li><p>The·HTML·documentation·will·be·placed·in·<code·class="docutils·literal·notranslate"><span·class="pre">docs/_build/html</span></code>.</p></li>
260 </ul>261 </ul>
Max diff block lines reached; 5036/15157 bytes (33.23%) of diff not shown.
10.9 KB
html2text {}
Max HTML report size reached
14.0 KB
./usr/share/doc/python-django-doc/html/misc/api-stability.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>API·stability·&#8212;·Django·5.1.3·documentation</title>6 ····<title>API·stability·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Design·philosophies"·href="design-philosophies.html"·/>15 ····<link·rel="next"·title="Design·philosophies"·href="design-philosophies.html"·/>
15 ····<link·rel="prev"·title="Meta-documentation·and·miscellany"·href="index.html"·/>16 ····<link·rel="prev"·title="Meta-documentation·and·miscellany"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 78, 34 lines modifiedOffset 79, 34 lines modified
78 ··········<div·class="yui-g"·id="misc-api-stability">79 ··········<div·class="yui-g"·id="misc-api-stability">
79 ············80 ············
80 ··<section·id="s-api-stability">81 ··<section·id="s-api-stability">
81 <span·id="api-stability"></span><h1>API·stability<a·class="headerlink"·href="#api-stability"·title="Link·to·this·heading">¶</a></h1>82 <span·id="api-stability"></span><h1>API·stability<a·class="headerlink"·href="#api-stability"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django·is·committed·to·API·stability·and·forwards-compatibility.·In·a·nutshell,83 <p>Django·is·committed·to·API·stability·and·forwards-compatibility.·In·a·nutshell,
83 this·means·that·code·you·develop·against·a·version·of·Django·will·continue·to84 this·means·that·code·you·develop·against·a·version·of·Django·will·continue·to
84 work·with·future·releases.·You·may·need·to·make·minor·changes·when·upgrading85 work·with·future·releases.·You·may·need·to·make·minor·changes·when·upgrading
85 the·version·of·Django·your·project·uses:·see·the·Backwards·incompatible86 the·version·of·Django·your·project·uses:·see·the·Backwards·incompatible
86 changes·section·of·the·<a·class="reference·internal"·href="../releases/index.html"><span·class="doc">release·note</span></a>·for·the·version87 changes·section·of·the·<a·class="reference·internal"·href="../releases/index.html"><span·class="doc">release·note</span></a>·for·the·version
87 or·versions·to·which·you·are·upgrading.</p>88 or·versions·to·which·you·are·upgrading.</p>
88 <p>At·the·same·time·as·making·API·stability·a·very·high·priority,·Django·is·also89 <p>At·the·same·time·as·making·API·stability·a·very·high·priority,·Django·is·also
89 committed·to·continual·improvement,·along·with·aiming·for·one·way·to·do·it90 committed·to·continual·improvement,·along·with·aiming·for·one·way·to·do·it
90 (eventually)·in·the·APIs·we·provide.·This·means·that·when·we·discover·clearly91 (eventually)·in·the·APIs·we·provide.·This·means·that·when·we·discover·clearly
91 superior·ways·to·do·things,·we·will·deprecate·and·eventually·remove·the·old92 superior·ways·to·do·things,·we·will·deprecate·and·eventually·remove·the·old
92 ways.·Our·aim·is·to·provide·a·modern,·dependable·web·framework·of·the·highest93 ways.·Our·aim·is·to·provide·a·modern,·dependable·web·framework·of·the·highest
93 quality·that·encourages·best·practices·in·all·projects·that·use·it.·By·using94 quality·that·encourages·best·practices·in·all·projects·that·use·it.·By·using
94 incremental·improvements,·we·try·to·avoid·both·stagnation·and·large·breaking95 incremental·improvements,·we·try·to·avoid·both·stagnation·and·large·breaking
95 upgrades.</p>96 upgrades.</p>
96 <section·id="s-what-stable-means">97 <section·id="s-what-stable-means">
97 <span·id="what-stable-means"></span><h2>What·stable·means<a·class="headerlink"·href="#what-stable-means"·title="Link·to·this·heading">¶</a></h2>98 <span·id="what-stable-means"></span><h2>What·stable·means<a·class="headerlink"·href="#what-stable-means"·title="Link·to·this·heading">¶</a></h2>
98 <p>In·this·context,·stable·means:</p>99 <p>In·this·context,·stable·means:</p>
99 <ul>100 <ul>
100 <li><p>All·the·public·APIs·(everything·in·this·documentation)·will·not·be·moved101 <li><p>All·the·public·APIs·(everything·in·this·documentation)·will·not·be·moved
101 or·renamed·without·providing·backwards-compatible·aliases.</p></li>102 or·renamed·without·providing·backwards-compatible·aliases.</p></li>
102 <li><p>If·new·features·are·added·to·these·APIs··which·is·quite·possible·103 <li><p>If·new·features·are·added·to·these·APIs··which·is·quite·possible·
103 they·will·not·break·or·change·the·meaning·of·existing·methods.·In·other104 they·will·not·break·or·change·the·meaning·of·existing·methods.·In·other
104 words,·stable·does·not·(necessarily)·mean·complete.</p></li>105 words,·stable·does·not·(necessarily)·mean·complete.</p></li>
105 <li><p>If,·for·some·reason,·an·API·declared·stable·must·be·removed·or·replaced,·it106 <li><p>If,·for·some·reason,·an·API·declared·stable·must·be·removed·or·replaced,·it
106 will·be·declared·deprecated·but·will·remain·in·the·API·for·at·least·two107 will·be·declared·deprecated·but·will·remain·in·the·API·for·at·least·two
107 feature·releases.·Warnings·will·be·issued·when·the·deprecated·method·is108 feature·releases.·Warnings·will·be·issued·when·the·deprecated·method·is
108 called.</p>109 called.</p>
109 <p>See·<a·class="reference·internal"·href="../internals/release-process.html#official-releases"><span·class="std·std-ref">Official·releases</span></a>·for·more·details·on·how·Django’s·version110 <p>See·<a·class="reference·internal"·href="../internals/release-process.html#official-releases"><span·class="std·std-ref">Official·releases</span></a>·for·more·details·on·how·Django’s·version
110 numbering·scheme·works,·and·how·features·will·be·deprecated.</p>111 numbering·scheme·works,·and·how·features·will·be·deprecated.</p>
111 </li>112 </li>
Offset 127, 15 lines modifiedOffset 128, 15 lines modified
127 <p>If·we·become·aware·of·a·security·problem··hopefully·by·someone·following·our128 <p>If·we·become·aware·of·a·security·problem··hopefully·by·someone·following·our
128 <a·class="reference·internal"·href="../internals/security.html#reporting-security-issues"><span·class="std·std-ref">security·reporting·policy</span></a>··we’ll·do129 <a·class="reference·internal"·href="../internals/security.html#reporting-security-issues"><span·class="std·std-ref">security·reporting·policy</span></a>··we’ll·do
129 everything·necessary·to·fix·it.·This·might·mean·breaking·backwards130 everything·necessary·to·fix·it.·This·might·mean·breaking·backwards
130 compatibility;·security·trumps·the·compatibility·guarantee.</p>131 compatibility;·security·trumps·the·compatibility·guarantee.</p>
131 </section>132 </section>
132 <section·id="s-apis-marked-as-internal">133 <section·id="s-apis-marked-as-internal">
133 <span·id="apis-marked-as-internal"></span><h3>APIs·marked·as·internal<a·class="headerlink"·href="#apis-marked-as-internal"·title="Link·to·this·heading">¶</a></h3>134 <span·id="apis-marked-as-internal"></span><h3>APIs·marked·as·internal<a·class="headerlink"·href="#apis-marked-as-internal"·title="Link·to·this·heading">¶</a></h3>
134 <p>Certain·APIs·are·explicitly·marked·as·internal·in·a·couple·of·ways:</p>135 <p>Certain·APIs·are·explicitly·marked·as·internal·in·a·couple·of·ways:</p>
135 <ul·class="simple">136 <ul·class="simple">
136 <li><p>Some·documentation·refers·to·internals·and·mentions·them·as·such.·If·the137 <li><p>Some·documentation·refers·to·internals·and·mentions·them·as·such.·If·the
137 documentation·says·that·something·is·internal,·we·reserve·the·right·to138 documentation·says·that·something·is·internal,·we·reserve·the·right·to
138 change·it.</p></li>139 change·it.</p></li>
139 <li><p>Functions,·methods,·and·other·objects·prefixed·by·a·leading·underscore140 <li><p>Functions,·methods,·and·other·objects·prefixed·by·a·leading·underscore
140 (<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>).·This·is·the·standard·Python·way·of·indicating·that·something·is141 (<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>).·This·is·the·standard·Python·way·of·indicating·that·something·is
141 private;·if·any·method·starts·with·a·single·<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>,·it’s·an·internal·API.</p></li>142 private;·if·any·method·starts·with·a·single·<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>,·it’s·an·internal·API.</p></li>
Offset 151, 53 lines modifiedOffset 152, 53 lines modified
151 ······152 ······
152 ········153 ········
153 ··········<div·class="yui-b"·id="sidebar">154 ··········<div·class="yui-b"·id="sidebar">
154 ············155 ············
155 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">156 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
156 ········<div·class="sphinxsidebarwrapper">157 ········<div·class="sphinxsidebarwrapper">
157 ··<div>158 ··<div>
158 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>159 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
159 ····<ul>160 ····<ul>
160 <li><a·class="reference·internal"·href="#">API·stability</a><ul>161 <li><a·class="reference·internal"·href="#">API·stability</a><ul>
161 <li><a·class="reference·internal"·href="#what-stable-means">What·stable·means</a></li>162 <li><a·class="reference·internal"·href="#what-stable-means">What·stable·means</a></li>
162 <li><a·class="reference·internal"·href="#stable-apis">Stable·APIs</a></li>163 <li><a·class="reference·internal"·href="#stable-apis">Stable·APIs</a></li>
163 <li><a·class="reference·internal"·href="#exceptions">Exceptions</a><ul>164 <li><a·class="reference·internal"·href="#exceptions">Exceptions</a><ul>
164 <li><a·class="reference·internal"·href="#security-fixes">Security·fixes</a></li>165 <li><a·class="reference·internal"·href="#security-fixes">Security·fixes</a></li>
165 <li><a·class="reference·internal"·href="#apis-marked-as-internal">APIs·marked·as·internal</a></li>166 <li><a·class="reference·internal"·href="#apis-marked-as-internal">APIs·marked·as·internal</a></li>
166 </ul>167 </ul>
167 </li>168 </li>
168 </ul>169 </ul>
169 </li>170 </li>
170 </ul>171 </ul>
  
171 ··</div>172 ··</div>
172 ··<div>173 ··<div>
173 ····<h4>Previous·topic</h4>174 ····<h4>Eelmine·teema</h4>
174 ····<p·class="topless"><a·href="index.html"175 ····<p·class="topless"><a·href="index.html"
175 ··························title="previous·chapter">Meta-documentation·and·miscellany</a></p>176 ··························title="eelmine·jaotis">Meta-documentation·and·miscellany</a></p>
176 ··</div>177 ··</div>
177 ··<div>178 ··<div>
178 ····<h4>Next·topic</h4>179 ····<h4>Järgmine·teema</h4>
179 ····<p·class="topless"><a·href="design-philosophies.html"180 ····<p·class="topless"><a·href="design-philosophies.html"
180 ··························title="next·chapter">Design·philosophies</a></p>181 ··························title="järgmine·jaotis">Design·philosophies</a></p>
181 ··</div>182 ··</div>
182 <search·id="searchbox"·style="display:·none"·role="search">183 <search·id="searchbox"·style="display:·none"·role="search">
183 ··<h3·id="searchlabel">Quick·search</h3>184 ··<h3·id="searchlabel">Kiirotsing</h3>
184 ····<div·class="searchformwrapper">185 ····<div·class="searchformwrapper">
185 ····<form·class="search"·action="../search.html"·method="get">186 ····<form·class="search"·action="../search.html"·method="get">
Max diff block lines reached; 464/8831 bytes (5.25%) of diff not shown.
5.28 KB
html2text {}
Max HTML report size reached
22.7 KB
./usr/share/doc/python-django-doc/html/misc/design-philosophies.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Design·philosophies·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Design·philosophies·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Third-party·distributions·of·Django"·href="distributions.html"·/>15 ····<link·rel="next"·title="Third-party·distributions·of·Django"·href="distributions.html"·/>
15 ····<link·rel="prev"·title="API·stability"·href="api-stability.html"·/>16 ····<link·rel="prev"·title="API·stability"·href="api-stability.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 83, 15 lines modifiedOffset 84, 15 lines modified
83 have·used·in·creating·the·framework.·Its·goal·is·to·explain·the·past·and·guide84 have·used·in·creating·the·framework.·Its·goal·is·to·explain·the·past·and·guide
84 the·future.</p>85 the·future.</p>
85 <section·id="s-overall">86 <section·id="s-overall">
86 <span·id="overall"></span><h2>Overall<a·class="headerlink"·href="#overall"·title="Link·to·this·heading">¶</a></h2>87 <span·id="overall"></span><h2>Overall<a·class="headerlink"·href="#overall"·title="Link·to·this·heading">¶</a></h2>
87 <section·id="s-loose-coupling">88 <section·id="s-loose-coupling">
88 <span·id="s-id1"></span><span·id="loose-coupling"></span><span·id="id1"></span><h3>Loose·coupling<a·class="headerlink"·href="#loose-coupling"·title="Link·to·this·heading">¶</a></h3>89 <span·id="s-id1"></span><span·id="loose-coupling"></span><span·id="id1"></span><h3>Loose·coupling<a·class="headerlink"·href="#loose-coupling"·title="Link·to·this·heading">¶</a></h3>
89 <p·id="index-0">A·fundamental·goal·of·Django’s·stack·is·<a·class="reference·external"·href="https://wiki.c2.com/?CouplingAndCohesion">loose·coupling·and·tight·cohesion</a>.90 <p·id="index-0">A·fundamental·goal·of·Django’s·stack·is·<a·class="reference·external"·href="https://wiki.c2.com/?CouplingAndCohesion">loose·coupling·and·tight·cohesion</a>.
90 The·various·layers·of·the·framework·shouldn’t·know·about·each·other·unless91 The·various·layers·of·the·framework·shouldn’t·know·about·each·other·unless
91 absolutely·necessary.</p>92 absolutely·necessary.</p>
92 <p>For·example,·the·template·system·knows·nothing·about·web·requests,·the·database93 <p>For·example,·the·template·system·knows·nothing·about·web·requests,·the·database
93 layer·knows·nothing·about·data·display·and·the·view·system·doesn’t·care·which94 layer·knows·nothing·about·data·display·and·the·view·system·doesn’t·care·which
94 template·system·a·programmer·uses.</p>95 template·system·a·programmer·uses.</p>
95 <p>Although·Django·comes·with·a·full·stack·for·convenience,·the·pieces·of·the96 <p>Although·Django·comes·with·a·full·stack·for·convenience,·the·pieces·of·the
96 stack·are·independent·of·another·wherever·possible.</p>97 stack·are·independent·of·another·wherever·possible.</p>
97 </section>98 </section>
Offset 110, 45 lines modifiedOffset 111, 45 lines modified
110 <section·id="s-don-t-repeat-yourself-dry">111 <section·id="s-don-t-repeat-yourself-dry">
111 <span·id="s-dry"></span><span·id="don-t-repeat-yourself-dry"></span><span·id="dry"></span><h3>Don’t·repeat·yourself·(DRY)<a·class="headerlink"·href="#don-t-repeat-yourself-dry"·title="Link·to·this·heading">¶</a></h3>112 <span·id="s-dry"></span><span·id="don-t-repeat-yourself-dry"></span><span·id="dry"></span><h3>Don’t·repeat·yourself·(DRY)<a·class="headerlink"·href="#don-t-repeat-yourself-dry"·title="Link·to·this·heading">¶</a></h3>
112 <p·id="index-1">Every·distinct·concept·and/or·piece·of·data·should·live·in·one,·and·only·one,113 <p·id="index-1">Every·distinct·concept·and/or·piece·of·data·should·live·in·one,·and·only·one,
113 place.·Redundancy·is·bad.·Normalization·is·good.</p>114 place.·Redundancy·is·bad.·Normalization·is·good.</p>
114 <p>The·framework,·within·reason,·should·deduce·as·much·as·possible·from·as·little115 <p>The·framework,·within·reason,·should·deduce·as·much·as·possible·from·as·little
115 as·possible.</p>116 as·possible.</p>
116 <div·class="admonition·seealso">117 <div·class="admonition·seealso">
117 <p·class="admonition-title">See·also</p>118 <p·class="admonition-title">Vaata·ka</p>
118 <p>The·<a·class="reference·external"·href="https://wiki.c2.com/?DontRepeatYourself">discussion·of·DRY·on·the·Portland·Pattern·Repository</a></p>119 <p>The·<a·class="reference·external"·href="https://wiki.c2.com/?DontRepeatYourself">discussion·of·DRY·on·the·Portland·Pattern·Repository</a></p>
119 </div>120 </div>
120 </section>121 </section>
121 <section·id="s-explicit-is-better-than-implicit">122 <section·id="s-explicit-is-better-than-implicit">
122 <span·id="s-id5"></span><span·id="explicit-is-better-than-implicit"></span><span·id="id5"></span><h3>Explicit·is·better·than·implicit<a·class="headerlink"·href="#explicit-is-better-than-implicit"·title="Link·to·this·heading">¶</a></h3>123 <span·id="s-id5"></span><span·id="explicit-is-better-than-implicit"></span><span·id="id5"></span><h3>Explicit·is·better·than·implicit<a·class="headerlink"·href="#explicit-is-better-than-implicit"·title="Link·to·this·heading">¶</a></h3>
123 <p>This·is·a·core·Python·principle·listed·in·<span·class="target"·id="index-2"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0020/"><strong>PEP·20</strong></a>,·and·it·means·Django124 <p>This·is·a·core·Python·principle·listed·in·<span·class="target"·id="index-2"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0020/"><strong>PEP·20</strong></a>,·and·it·means·Django
124 shouldn’t·do·too·much·magic.·Magic·shouldn’t·happen·unless·there’s·a·really125 shouldn’t·do·too·much·magic.·Magic·shouldn’t·happen·unless·there’s·a·really
125 good·reason·for·it.·Magic·is·worth·using·only·if·it·creates·a·huge·convenience126 good·reason·for·it.·Magic·is·worth·using·only·if·it·creates·a·huge·convenience
126 unattainable·in·other·ways,·and·it·isn’t·implemented·in·a·way·that·confuses127 unattainable·in·other·ways,·and·it·isn’t·implemented·in·a·way·that·confuses
127 developers·who·are·trying·to·learn·how·to·use·the·feature.</p>128 developers·who·are·trying·to·learn·how·to·use·the·feature.</p>
128 </section>129 </section>
129 <section·id="s-consistency">130 <section·id="s-consistency">
130 <span·id="s-id6"></span><span·id="consistency"></span><span·id="id6"></span><h3>Consistency<a·class="headerlink"·href="#consistency"·title="Link·to·this·heading">¶</a></h3>131 <span·id="s-id6"></span><span·id="consistency"></span><span·id="id6"></span><h3>Consistency<a·class="headerlink"·href="#consistency"·title="Link·to·this·heading">¶</a></h3>
131 <p>The·framework·should·be·consistent·at·all·levels.·Consistency·applies·to132 <p>The·framework·should·be·consistent·at·all·levels.·Consistency·applies·to
132 everything·from·low-level·(the·Python·coding·style·used)·to·high-level·(the133 everything·from·low-level·(the·Python·coding·style·used)·to·high-level·(the
133 experience·of·using·Django).</p>134 experience·of·using·Django).</p>
134 </section>135 </section>
135 </section>136 </section>
136 <section·id="s-models">137 <section·id="s-models">
137 <span·id="models"></span><h2>Models<a·class="headerlink"·href="#models"·title="Link·to·this·heading">¶</a></h2>138 <span·id="models"></span><h2>Models<a·class="headerlink"·href="#models"·title="Link·to·this·heading">¶</a></h2>
138 <section·id="s-id7">139 <section·id="s-id7">
139 <span·id="id7"></span><h3>Explicit·is·better·than·implicit<a·class="headerlink"·href="#id7"·title="Link·to·this·heading">¶</a></h3>140 <span·id="id7"></span><h3>Explicit·is·better·than·implicit<a·class="headerlink"·href="#id7"·title="Link·to·this·heading">¶</a></h3>
140 <p>Fields·shouldn’t·assume·certain·behaviors·based·solely·on·the·name·of·the141 <p>Fields·shouldn’t·assume·certain·behaviors·based·solely·on·the·name·of·the
141 field.·This·requires·too·much·knowledge·of·the·system·and·is·prone·to·errors.142 field.·This·requires·too·much·knowledge·of·the·system·and·is·prone·to·errors.
142 Instead,·behaviors·should·be·based·on·keyword·arguments·and,·in·some·cases,·on143 Instead,·behaviors·should·be·based·on·keyword·arguments·and,·in·some·cases,·on
143 the·type·of·the·field.</p>144 the·type·of·the·field.</p>
144 </section>145 </section>
145 <section·id="s-include-all-relevant-domain-logic">146 <section·id="s-include-all-relevant-domain-logic">
146 <span·id="include-all-relevant-domain-logic"></span><h3>Include·all·relevant·domain·logic<a·class="headerlink"·href="#include-all-relevant-domain-logic"·title="Link·to·this·heading">¶</a></h3>147 <span·id="include-all-relevant-domain-logic"></span><h3>Include·all·relevant·domain·logic<a·class="headerlink"·href="#include-all-relevant-domain-logic"·title="Link·to·this·heading">¶</a></h3>
147 <p>Models·should·encapsulate·every·aspect·of·an·object,·following·Martin148 <p>Models·should·encapsulate·every·aspect·of·an·object,·following·Martin
148 Fowler’s·<a·class="reference·external"·href="https://www.martinfowler.com/eaaCatalog/activeRecord.html">Active·Record</a>·design·pattern.</p>149 Fowler’s·<a·class="reference·external"·href="https://www.martinfowler.com/eaaCatalog/activeRecord.html">Active·Record</a>·design·pattern.</p>
149 <p>This·is·why·both·the·data·represented·by·a·model·and·information·about150 <p>This·is·why·both·the·data·represented·by·a·model·and·information·about
150 it·(its·human-readable·name,·options·like·default·ordering,·etc.)·are151 it·(its·human-readable·name,·options·like·default·ordering,·etc.)·are
151 defined·in·the·model·class;·all·the·information·needed·to·understand·a152 defined·in·the·model·class;·all·the·information·needed·to·understand·a
152 given·model·should·be·stored·<em>in</em>·the·model.</p>153 given·model·should·be·stored·<em>in</em>·the·model.</p>
153 </section>154 </section>
154 </section>155 </section>
Offset 158, 16 lines modifiedOffset 159, 16 lines modified
158 <section·id="s-sql-efficiency">159 <section·id="s-sql-efficiency">
159 <span·id="sql-efficiency"></span><h3>SQL·efficiency<a·class="headerlink"·href="#sql-efficiency"·title="Link·to·this·heading">¶</a></h3>160 <span·id="sql-efficiency"></span><h3>SQL·efficiency<a·class="headerlink"·href="#sql-efficiency"·title="Link·to·this·heading">¶</a></h3>
160 <p>It·should·execute·SQL·statements·as·few·times·as·possible,·and·it·should161 <p>It·should·execute·SQL·statements·as·few·times·as·possible,·and·it·should
161 optimize·statements·internally.</p>162 optimize·statements·internally.</p>
162 <p>This·is·why·developers·need·to·call·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·explicitly,·rather·than·the163 <p>This·is·why·developers·need·to·call·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·explicitly,·rather·than·the
163 framework·saving·things·behind·the·scenes·silently.</p>164 framework·saving·things·behind·the·scenes·silently.</p>
164 <p>This·is·also·why·the·<code·class="docutils·literal·notranslate"><span·class="pre">select_related()</span></code>·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·method·exists.·It’s·an165 <p>This·is·also·why·the·<code·class="docutils·literal·notranslate"><span·class="pre">select_related()</span></code>·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·method·exists.·It’s·an
165 optional·performance·booster·for·the·common·case·of·selecting·every·related166 optional·performance·booster·for·the·common·case·of·selecting·every·related
166 object.</p>167 object.</p>
167 </section>168 </section>
168 <section·id="s-terse-powerful-syntax">169 <section·id="s-terse-powerful-syntax">
169 <span·id="terse-powerful-syntax"></span><h3>Terse,·powerful·syntax<a·class="headerlink"·href="#terse-powerful-syntax"·title="Link·to·this·heading">¶</a></h3>170 <span·id="terse-powerful-syntax"></span><h3>Terse,·powerful·syntax<a·class="headerlink"·href="#terse-powerful-syntax"·title="Link·to·this·heading">¶</a></h3>
170 <p>The·database·API·should·allow·rich,·expressive·statements·in·as·little·syntax171 <p>The·database·API·should·allow·rich,·expressive·statements·in·as·little·syntax
171 as·possible.·It·should·not·rely·on·importing·other·modules·or·helper·objects.</p>172 as·possible.·It·should·not·rely·on·importing·other·modules·or·helper·objects.</p>
172 <p>Joins·should·be·performed·automatically,·behind·the·scenes,·when·necessary.</p>173 <p>Joins·should·be·performed·automatically,·behind·the·scenes,·when·necessary.</p>
173 <p>Every·object·should·be·able·to·access·every·related·object,·systemwide.·This174 <p>Every·object·should·be·able·to·access·every·related·object,·systemwide.·This
Offset 202, 15 lines modifiedOffset 203, 15 lines modified
202 <p>File·extensions·in·web-page·URLs·should·be·avoided.</p>203 <p>File·extensions·in·web-page·URLs·should·be·avoided.</p>
203 <p>Vignette-style·commas·in·URLs·deserve·severe·punishment.</p>204 <p>Vignette-style·commas·in·URLs·deserve·severe·punishment.</p>
204 </section>205 </section>
205 <section·id="s-definitive-urls">206 <section·id="s-definitive-urls">
206 <span·id="s-id9"></span><span·id="definitive-urls"></span><span·id="id9"></span><h3>Definitive·URLs<a·class="headerlink"·href="#definitive-urls"·title="Link·to·this·heading">¶</a></h3>207 <span·id="s-id9"></span><span·id="definitive-urls"></span><span·id="id9"></span><h3>Definitive·URLs<a·class="headerlink"·href="#definitive-urls"·title="Link·to·this·heading">¶</a></h3>
207 <p·id="index-3">Technically,·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar/</span></code>·are·two·different·URLs,·and208 <p·id="index-3">Technically,·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar/</span></code>·are·two·different·URLs,·and
208 search-engine·robots·(and·some·web·traffic-analyzing·tools)·would·treat·them·as209 search-engine·robots·(and·some·web·traffic-analyzing·tools)·would·treat·them·as
209 separate·pages.·Django·should·make·an·effort·to·normalize·URLs·so·that210 separate·pages.·Django·should·make·an·effort·to·normalize·URLs·so·that
Max diff block lines reached; 3792/13029 bytes (29.10%) of diff not shown.
9.88 KB
html2text {}
Max HTML report size reached
6.65 KB
./usr/share/doc/python-django-doc/html/misc/distributions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Third-party·distributions·of·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Third-party·distributions·of·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Glossary"·href="../glossary.html"·/>15 ····<link·rel="next"·title="Glossary"·href="../glossary.html"·/>
15 ····<link·rel="prev"·title="Design·philosophies"·href="design-philosophies.html"·/>16 ····<link·rel="prev"·title="Design·philosophies"·href="design-philosophies.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 109, 47 lines modifiedOffset 110, 47 lines modified
109 ······110 ······
110 ········111 ········
111 ··········<div·class="yui-b"·id="sidebar">112 ··········<div·class="yui-b"·id="sidebar">
112 ············113 ············
113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
114 ········<div·class="sphinxsidebarwrapper">115 ········<div·class="sphinxsidebarwrapper">
115 ··<div>116 ··<div>
116 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>117 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
117 ····<ul>118 ····<ul>
118 <li><a·class="reference·internal"·href="#">Third-party·distributions·of·Django</a><ul>119 <li><a·class="reference·internal"·href="#">Third-party·distributions·of·Django</a><ul>
119 <li><a·class="reference·internal"·href="#for-distributors">For·distributors</a></li>120 <li><a·class="reference·internal"·href="#for-distributors">For·distributors</a></li>
120 </ul>121 </ul>
121 </li>122 </li>
122 </ul>123 </ul>
  
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Previous·topic</h4>126 ····<h4>Eelmine·teema</h4>
126 ····<p·class="topless"><a·href="design-philosophies.html"127 ····<p·class="topless"><a·href="design-philosophies.html"
127 ··························title="previous·chapter">Design·philosophies</a></p>128 ··························title="eelmine·jaotis">Design·philosophies</a></p>
128 ··</div>129 ··</div>
129 ··<div>130 ··<div>
130 ····<h4>Next·topic</h4>131 ····<h4>Järgmine·teema</h4>
131 ····<p·class="topless"><a·href="../glossary.html"132 ····<p·class="topless"><a·href="../glossary.html"
132 ··························title="next·chapter">Glossary</a></p>133 ··························title="järgmine·jaotis">Glossary</a></p>
133 ··</div>134 ··</div>
134 <search·id="searchbox"·style="display:·none"·role="search">135 <search·id="searchbox"·style="display:·none"·role="search">
135 ··<h3·id="searchlabel">Quick·search</h3>136 ··<h3·id="searchlabel">Kiirotsing</h3>
136 ····<div·class="searchformwrapper">137 ····<div·class="searchformwrapper">
137 ····<form·class="search"·action="../search.html"·method="get">138 ····<form·class="search"·action="../search.html"·method="get">
138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
139 ······<input·type="submit"·value="Go"·/>140 ······<input·type="submit"·value="Otsi"·/>
140 ····</form>141 ····</form>
141 ····</div>142 ····</div>
142 </search>143 </search>
143 <script>document.getElementById('searchbox').style.display·=·"block"</script>144 <script>document.getElementById('searchbox').style.display·=·"block"</script>
144 ········</div>145 ········</div>
145 ······</div>146 ······</div>
146 ··············<h3>Last·update:</h3>147 ··············<h3>Last·update:</h3>
147 ··············<p·class="topless">Nov·05,·2024</p>148 ··············<p·class="topless">nov·05,·2024</p>
148 ··········</div>149 ··········</div>
149 ········150 ········
150 ······151 ······
151 ····</div>152 ····</div>
  
152 ····<div·id="ft">153 ····<div·id="ft">
153 ······<div·class="nav">154 ······<div·class="nav">
2.52 KB
html2text {}
Max HTML report size reached
8.21 KB
./usr/share/doc/python-django-doc/html/misc/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Meta-documentation·and·miscellany·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Meta-documentation·and·miscellany·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="API·stability"·href="api-stability.html"·/>15 ····<link·rel="next"·title="API·stability"·href="api-stability.html"·/>
15 ····<link·rel="prev"·title="Built-in·Views"·href="../ref/views.html"·/>16 ····<link·rel="prev"·title="Built-in·Views"·href="../ref/views.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="../ref/views.html"·title="Built-in·Views">previous</a>67 ····&laquo;·<a·href="../ref/views.html"·title="Built-in·Views">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="api-stability.html"·title="API·stability">next</a>·&raquo;</div>71 ····<a·href="api-stability.html"·title="API·stability">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 80, 15 lines modifiedOffset 81, 15 lines modified
80 ··<section·id="s-meta-documentation-and-miscellany">81 ··<section·id="s-meta-documentation-and-miscellany">
81 <span·id="meta-documentation-and-miscellany"></span><h1>Meta-documentation·and·miscellany<a·class="headerlink"·href="#meta-documentation-and-miscellany"·title="Link·to·this·heading">¶</a></h1>82 <span·id="meta-documentation-and-miscellany"></span><h1>Meta-documentation·and·miscellany<a·class="headerlink"·href="#meta-documentation-and-miscellany"·title="Link·to·this·heading">¶</a></h1>
82 <p>Documentation·that·we·can’t·find·a·more·organized·place·for.·Like·that·drawer·in83 <p>Documentation·that·we·can’t·find·a·more·organized·place·for.·Like·that·drawer·in
83 your·kitchen·with·the·scissors,·batteries,·duct·tape,·and·other·junk.</p>84 your·kitchen·with·the·scissors,·batteries,·duct·tape,·and·other·junk.</p>
84 <div·class="toctree-wrapper·compound">85 <div·class="toctree-wrapper·compound">
85 <ul>86 <ul>
86 <li·class="toctree-l1"><a·class="reference·internal"·href="api-stability.html">API·stability</a><ul>87 <li·class="toctree-l1"><a·class="reference·internal"·href="api-stability.html">API·stability</a><ul>
87 <li·class="toctree-l2"><a·class="reference·internal"·href="api-stability.html#what-stable-means">What·stable·means</a></li>88 <li·class="toctree-l2"><a·class="reference·internal"·href="api-stability.html#what-stable-means">What·stable·means</a></li>
88 <li·class="toctree-l2"><a·class="reference·internal"·href="api-stability.html#stable-apis">Stable·APIs</a></li>89 <li·class="toctree-l2"><a·class="reference·internal"·href="api-stability.html#stable-apis">Stable·APIs</a></li>
89 <li·class="toctree-l2"><a·class="reference·internal"·href="api-stability.html#exceptions">Exceptions</a></li>90 <li·class="toctree-l2"><a·class="reference·internal"·href="api-stability.html#exceptions">Exceptions</a></li>
90 </ul>91 </ul>
91 </li>92 </li>
92 <li·class="toctree-l1"><a·class="reference·internal"·href="design-philosophies.html">Design·philosophies</a><ul>93 <li·class="toctree-l1"><a·class="reference·internal"·href="design-philosophies.html">Design·philosophies</a><ul>
93 <li·class="toctree-l2"><a·class="reference·internal"·href="design-philosophies.html#overall">Overall</a></li>94 <li·class="toctree-l2"><a·class="reference·internal"·href="design-philosophies.html#overall">Overall</a></li>
94 <li·class="toctree-l2"><a·class="reference·internal"·href="design-philosophies.html#models">Models</a></li>95 <li·class="toctree-l2"><a·class="reference·internal"·href="design-philosophies.html#models">Models</a></li>
Offset 114, 47 lines modifiedOffset 115, 47 lines modified
114 ······115 ······
115 ········116 ········
116 ··········<div·class="yui-b"·id="sidebar">117 ··········<div·class="yui-b"·id="sidebar">
117 ············118 ············
118 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">119 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
119 ········<div·class="sphinxsidebarwrapper">120 ········<div·class="sphinxsidebarwrapper">
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="../ref/views.html"123 ····<p·class="topless"><a·href="../ref/views.html"
123 ··························title="previous·chapter">Built-in·Views</a></p>124 ··························title="eelmine·jaotis">Built-in·Views</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="api-stability.html"128 ····<p·class="topless"><a·href="api-stability.html"
128 ··························title="next·chapter">API·stability</a></p>129 ··························title="järgmine·jaotis">API·stability</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
150 ····&laquo;·<a·href="../ref/views.html"·title="Built-in·Views">previous</a>151 ····&laquo;·<a·href="../ref/views.html"·title="Built-in·Views">previous</a>
151 ·····|152 ·····|
152 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>153 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
153 ···|154 ···|
154 ····<a·href="api-stability.html"·title="API·stability">next</a>·&raquo;</div>155 ····<a·href="api-stability.html"·title="API·stability">next</a>·&raquo;</div>
155 ····</div>156 ····</div>
156 ··</div>157 ··</div>
  
157 ······<div·class="clearer"></div>158 ······<div·class="clearer"></div>
158 ····</div>159 ····</div>
2.25 KB
html2text {}
Max HTML report size reached
820 KB
./usr/share/doc/python-django-doc/html/objects.inv
820 KB
Sphinx inventory
Max HTML report size reached
5.59 KB
./usr/share/doc/python-django-doc/html/py-modindex.html
    
Offset 1, 21 lines modifiedOffset 1, 22 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="./">2 <html·lang="et"·data-content_root="./">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/>
6 ····<title>Python·Module·Index·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Pythoni·moodulite·indeks·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>
9 ····<script·src="_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="search.html"·/>
  
  
  
  
14 ·15 ·
15 <script·src="templatebuiltins.js"></script>16 <script·src="templatebuiltins.js"></script>
16 <script>17 <script>
Offset 53, 32 lines modifiedOffset 54, 32 lines modified
  
  
53 ··</head><body>54 ··</head><body>
  
54 ····<div·class="document">55 ····<div·class="document">
55 ··<div·id="custom-doc"·class="yui-t6">56 ··<div·id="custom-doc"·class="yui-t6">
56 ····<div·id="hd">57 ····<div·id="hd">
57 ······<h1><a·href="index.html">Django·5.1.3·documentation</a></h1>58 ······<h1><a·href="index.html">Django·5.1.3·dokumentatsioon</a></h1>
58 ······<div·id="global-nav">59 ······<div·id="global-nav">
59 ········<a·title="Home·page"·href="index.html">Home</a>··|60 ········<a·title="Home·page"·href="index.html">Home</a>··|
60 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|61 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|
61 ········<a·title="Global·index"·href="genindex.html">Index</a>··|62 ········<a·title="Global·index"·href="genindex.html">Index</a>··|
62 ········<a·title="Module·index"·href="#">Modules</a>63 ········<a·title="Module·index"·href="#">Modules</a>
63 ······</div>64 ······</div>
64 ······<div·class="nav">65 ······<div·class="nav">
65 ····<a·title="Django·5.1.3·documentation"·href="index.html"·accesskey="U">up</a></div>66 ····<a·title="Django·5.1.3·dokumentatsioon"·href="index.html"·accesskey="U">up</a></div>
66 ····</div>67 ····</div>
  
67 ····<div·id="bd">68 ····<div·id="bd">
68 ······<div·id="yui-main">69 ······<div·id="yui-main">
69 ········<div·class="yui-b">70 ········<div·class="yui-b">
70 ··········<div·class="yui-g"·id="py-modindex">71 ··········<div·class="yui-g"·id="py-modindex">
71 ············72 ············
  
72 ···<h1>Python·Module·Index</h1>73 ···<h1>Pythoni·moodulite·indeks</h1>
  
73 ···<div·class="modindex-jumpbox">74 ···<div·class="modindex-jumpbox">
74 ···<a·href="#cap-a"><strong>a</strong></a>·|·75 ···<a·href="#cap-a"><strong>a</strong></a>·|·
75 ···<a·href="#cap-c"><strong>c</strong></a>·|·76 ···<a·href="#cap-c"><strong>c</strong></a>·|·
76 ···<a·href="#cap-d"><strong>d</strong></a>·|·77 ···<a·href="#cap-d"><strong>d</strong></a>·|·
77 ···<a·href="#cap-f"><strong>f</strong></a>·|·78 ···<a·href="#cap-f"><strong>f</strong></a>·|·
78 ···<a·href="#cap-h"><strong>h</strong></a>·|·79 ···<a·href="#cap-h"><strong>h</strong></a>·|·
Offset 828, 35 lines modifiedOffset 829, 35 lines modified
828 ······829 ······
829 ········830 ········
830 ··········<div·class="yui-b"·id="sidebar">831 ··········<div·class="yui-b"·id="sidebar">
831 ············832 ············
832 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">833 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
833 ········<div·class="sphinxsidebarwrapper">834 ········<div·class="sphinxsidebarwrapper">
834 <search·id="searchbox"·style="display:·none"·role="search">835 <search·id="searchbox"·style="display:·none"·role="search">
835 ··<h3·id="searchlabel">Quick·search</h3>836 ··<h3·id="searchlabel">Kiirotsing</h3>
836 ····<div·class="searchformwrapper">837 ····<div·class="searchformwrapper">
837 ····<form·class="search"·action="search.html"·method="get">838 ····<form·class="search"·action="search.html"·method="get">
838 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>839 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
839 ······<input·type="submit"·value="Go"·/>840 ······<input·type="submit"·value="Otsi"·/>
840 ····</form>841 ····</form>
841 ····</div>842 ····</div>
842 </search>843 </search>
843 <script>document.getElementById('searchbox').style.display·=·"block"</script>844 <script>document.getElementById('searchbox').style.display·=·"block"</script>
844 ········</div>845 ········</div>
845 ······</div>846 ······</div>
846 ··············<h3>Last·update:</h3>847 ··············<h3>Last·update:</h3>
847 ··············<p·class="topless">Nov·05,·2024</p>848 ··············<p·class="topless">nov·05,·2024</p>
848 ··········</div>849 ··········</div>
849 ········850 ········
850 ······851 ······
851 ····</div>852 ····</div>
  
852 ····<div·id="ft">853 ····<div·id="ft">
853 ······<div·class="nav">854 ······<div·class="nav">
854 ····<a·title="Django·5.1.3·documentation"·href="index.html"·accesskey="U">up</a></div>855 ····<a·title="Django·5.1.3·dokumentatsioon"·href="index.html"·accesskey="U">up</a></div>
855 ····</div>856 ····</div>
856 ··</div>857 ··</div>
  
857 ······<div·class="clearer"></div>858 ······<div·class="clearer"></div>
858 ····</div>859 ····</div>
859 ··</body>860 ··</body>
860 </html>861 </html>
1.75 KB
html2text {}
    
Offset 1, 11 lines modifiedOffset 1, 11 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 _\x8u_\x8p3 _\x8u_\x8p
4 *\x8**\x8**\x8**\x8**\x8**\x8*·P\x8Py\x8yt\x8th\x8ho\x8on\x8n·M.Mo.od.du.ul.le.e·I.In.nd.de.ex.x·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·P\x8Py\x8yt\x8th\x8ho\x8on\x8ni.i·m.mo.oo.od.du.ul.li.it.te.e·i.in.nd.de.ek.ks.s·*\x8**\x8**\x8**\x8**\x8**\x8*
5 _\x8a\x8a·|·_\x8c\x8c·|·_\x8d\x8d·|·_\x8f\x8f·|·_\x8h\x8h·|·_\x8m\x8m·|·_\x8s\x8s·|·_\x8t\x8t·|·_\x8u\x8u·|·_\x8v\x8v5 _\x8a\x8a·|·_\x8c\x8c·|·_\x8d\x8d·|·_\x8f\x8f·|·_\x8h\x8h·|·_\x8m\x8m·|·_\x8s\x8s·|·_\x8t\x8t·|·_\x8u\x8u·|·_\x8v\x8v
6 ···· 6 ···· 
7 ····a\x8a7 ····a\x8a
8 ····_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8a_\x8p_\x8p_\x8s8 ····_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8a_\x8p_\x8p_\x8s
9 ···· 9 ···· 
10 ····c\x8c10 ····c\x8c
11 [-]·django.conf11 [-]·django.conf
Offset 219, 12 lines modifiedOffset 219, 12 lines modified
219 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8c_\x8o_\x8m_\x8m_\x8o_\x8n219 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8c_\x8o_\x8m_\x8m_\x8o_\x8n
220 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8c_\x8s_\x8r_\x8f220 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8c_\x8s_\x8r_\x8f
221 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8g_\x8z_\x8i_\x8p221 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8g_\x8z_\x8i_\x8p
222 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8h_\x8t_\x8t_\x8p222 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8h_\x8t_\x8t_\x8p
223 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8v_\x8a_\x8r_\x8y223 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s_\x8._\x8v_\x8a_\x8r_\x8y
224 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8g_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8._\x8d_\x8a_\x8t_\x8e_\x8s224 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8g_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8._\x8d_\x8a_\x8t_\x8e_\x8s
225 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8i_\x81_\x88_\x8n225 ····   ·_\x8d_\x8j_\x8a_\x8n_\x8g_\x8o_\x8._\x8v_\x8i_\x8e_\x8w_\x8s_\x8._\x8i_\x81_\x88_\x8n
226 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*226 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
227 [q···················][Go]227 [q···················][Otsi]
228 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*228 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
229 Nov·05,·2024229 nov·05,·2024
230 _\x8u_\x8p230 _\x8u_\x8p
55.7 KB
./usr/share/doc/python-django-doc/html/ref/applications.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Applications·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Applications·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="System·check·framework"·href="checks.html"·/>15 ····<link·rel="next"·title="System·check·framework"·href="checks.html"·/>
15 ····<link·rel="prev"·title="API·Reference"·href="index.html"·/>16 ····<link·rel="prev"·title="API·Reference"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 137, 15 lines modifiedOffset 138, 15 lines modified
137 ····<span·class="s2">&quot;polls.apps.PollsAppConfig&quot;</span><span·class="p">,</span>138 ····<span·class="s2">&quot;polls.apps.PollsAppConfig&quot;</span><span·class="p">,</span>
138 ····<span·class="o">...</span><span·class="p">,</span>139 ····<span·class="o">...</span><span·class="p">,</span>
139 <span·class="p">]</span>140 <span·class="p">]</span>
140 </pre></div>141 </pre></div>
141 </div>142 </div>
142 <section·id="s-for-application-authors">143 <section·id="s-for-application-authors">
143 <span·id="for-application-authors"></span><h3>For·application·authors<a·class="headerlink"·href="#for-application-authors"·title="Link·to·this·heading">¶</a></h3>144 <span·id="for-application-authors"></span><h3>For·application·authors<a·class="headerlink"·href="#for-application-authors"·title="Link·to·this·heading">¶</a></h3>
144 <p>If·you’re·creating·a·pluggable·app·called·Rock·’n’·roll,·here’s·how·you145 <p>If·you’re·creating·a·pluggable·app·called·Rock·’n’·roll,·here’s·how·you
145 would·provide·a·proper·name·for·the·admin:</p>146 would·provide·a·proper·name·for·the·admin:</p>
146 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·rock_n_roll/apps.py</span>147 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·rock_n_roll/apps.py</span>
  
147 <span·class="kn">from</span>·<span·class="nn">django.apps</span>·<span·class="kn">import</span>·<span·class="n">AppConfig</span>148 <span·class="kn">from</span>·<span·class="nn">django.apps</span>·<span·class="kn">import</span>·<span·class="n">AppConfig</span>
  
  
148 <span·class="k">class</span>·<span·class="nc">RockNRollConfig</span><span·class="p">(</span><span·class="n">AppConfig</span><span·class="p">):</span>149 <span·class="k">class</span>·<span·class="nc">RockNRollConfig</span><span·class="p">(</span><span·class="n">AppConfig</span><span·class="p">):</span>
Offset 165, 28 lines modifiedOffset 166, 28 lines modified
165 configuration·applies·to.·You·can·define·any·other·attribute·documented·in·the166 configuration·applies·to.·You·can·define·any·other·attribute·documented·in·the
166 <a·class="reference·internal"·href="#django.apps.AppConfig"·title="django.apps.AppConfig"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AppConfig</span></code></a>·API·reference.</p>167 <a·class="reference·internal"·href="#django.apps.AppConfig"·title="django.apps.AppConfig"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AppConfig</span></code></a>·API·reference.</p>
167 <p><a·class="reference·internal"·href="#django.apps.AppConfig"·title="django.apps.AppConfig"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AppConfig</span></code></a>·subclasses·may·be·defined·anywhere.·The·<code·class="docutils·literal·notranslate"><span·class="pre">apps.py</span></code>168 <p><a·class="reference·internal"·href="#django.apps.AppConfig"·title="django.apps.AppConfig"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AppConfig</span></code></a>·subclasses·may·be·defined·anywhere.·The·<code·class="docutils·literal·notranslate"><span·class="pre">apps.py</span></code>
168 convention·merely·allows·Django·to·load·them·automatically·when169 convention·merely·allows·Django·to·load·them·automatically·when
169 <a·class="reference·internal"·href="settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·contains·the·path·to·an·application·module·rather170 <a·class="reference·internal"·href="settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·contains·the·path·to·an·application·module·rather
170 than·the·path·to·a·configuration·class.</p>171 than·the·path·to·a·configuration·class.</p>
171 <div·class="admonition·note">172 <div·class="admonition·note">
172 <p·class="admonition-title">Note</p>173 <p·class="admonition-title">rkus</p>
173 <p>If·your·code·imports·the·application·registry·in·an·application’s174 <p>If·your·code·imports·the·application·registry·in·an·application’s
174 <code·class="docutils·literal·notranslate"><span·class="pre">__init__.py</span></code>,·the·name·<code·class="docutils·literal·notranslate"><span·class="pre">apps</span></code>·will·clash·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">apps</span></code>·submodule.175 <code·class="docutils·literal·notranslate"><span·class="pre">__init__.py</span></code>,·the·name·<code·class="docutils·literal·notranslate"><span·class="pre">apps</span></code>·will·clash·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">apps</span></code>·submodule.
175 The·best·practice·is·to·move·that·code·to·a·submodule·and·import·it.·A176 The·best·practice·is·to·move·that·code·to·a·submodule·and·import·it.·A
176 workaround·is·to·import·the·registry·under·a·different·name:</p>177 workaround·is·to·import·the·registry·under·a·different·name:</p>
177 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.apps</span>·<span·class="kn">import</span>·<span·class="n">apps</span>·<span·class="k">as</span>·<span·class="n">django_apps</span>178 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.apps</span>·<span·class="kn">import</span>·<span·class="n">apps</span>·<span·class="k">as</span>·<span·class="n">django_apps</span>
178 </pre></div>179 </pre></div>
179 </div>180 </div>
180 </div>181 </div>
181 </section>182 </section>
182 <section·id="s-for-application-users">183 <section·id="s-for-application-users">
183 <span·id="for-application-users"></span><h3>For·application·users<a·class="headerlink"·href="#for-application-users"·title="Link·to·this·heading">¶</a></h3>184 <span·id="for-application-users"></span><h3>For·application·users<a·class="headerlink"·href="#for-application-users"·title="Link·to·this·heading">¶</a></h3>
184 <p>If·you’re·using·Rock·’n’·roll·in·a·project·called·<code·class="docutils·literal·notranslate"><span·class="pre">anthology</span></code>,·but·you185 <p>If·you’re·using·Rock·’n’·roll·in·a·project·called·<code·class="docutils·literal·notranslate"><span·class="pre">anthology</span></code>,·but·you
185 want·it·to·show·up·as·Jazz·Manouche·instead,·you·can·provide·your·own186 want·it·to·show·up·as·Jazz·Manouche·instead,·you·can·provide·your·own
186 configuration:</p>187 configuration:</p>
187 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·anthology/apps.py</span>188 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·anthology/apps.py</span>
  
188 <span·class="kn">from</span>·<span·class="nn">rock_n_roll.apps</span>·<span·class="kn">import</span>·<span·class="n">RockNRollConfig</span>189 <span·class="kn">from</span>·<span·class="nn">rock_n_roll.apps</span>·<span·class="kn">import</span>·<span·class="n">RockNRollConfig</span>
  
  
189 <span·class="k">class</span>·<span·class="nc">JazzManoucheConfig</span><span·class="p">(</span><span·class="n">RockNRollConfig</span><span·class="p">):</span>190 <span·class="k">class</span>·<span·class="nc">JazzManoucheConfig</span><span·class="p">(</span><span·class="n">RockNRollConfig</span><span·class="p">):</span>
Offset 209, 15 lines modifiedOffset 210, 15 lines modified
209 cannot·be·automatically·detected.</p>210 cannot·be·automatically·detected.</p>
210 </section>211 </section>
211 </section>212 </section>
212 <section·id="s-application-configuration">213 <section·id="s-application-configuration">
213 <span·id="application-configuration"></span><h2>Application·configuration<a·class="headerlink"·href="#application-configuration"·title="Link·to·this·heading">¶</a></h2>214 <span·id="application-configuration"></span><h2>Application·configuration<a·class="headerlink"·href="#application-configuration"·title="Link·to·this·heading">¶</a></h2>
214 <dl·class="py·class">215 <dl·class="py·class">
215 <dt·class="sig·sig-object·py"·id="django.apps.AppConfig">216 <dt·class="sig·sig-object·py"·id="django.apps.AppConfig">
216 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AppConfig</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/apps/config.py#L13"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.apps.AppConfig"·title="Link·to·this·definition">¶</a></dt>217 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AppConfig</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/apps/config.py#L13"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.apps.AppConfig"·title="Link·to·this·definition">¶</a></dt>
217 <dd><p>Application·configuration·objects·store·metadata·for·an·application.·Some218 <dd><p>Application·configuration·objects·store·metadata·for·an·application.·Some
218 attributes·can·be·configured·in·<a·class="reference·internal"·href="#django.apps.AppConfig"·title="django.apps.AppConfig"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AppConfig</span></code></a>219 attributes·can·be·configured·in·<a·class="reference·internal"·href="#django.apps.AppConfig"·title="django.apps.AppConfig"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AppConfig</span></code></a>
219 subclasses.·Others·are·set·by·Django·and·read-only.</p>220 subclasses.·Others·are·set·by·Django·and·read-only.</p>
220 </dd></dl>221 </dd></dl>
  
221 <section·id="s-configurable-attributes">222 <section·id="s-configurable-attributes">
222 <span·id="configurable-attributes"></span><h3>Configurable·attributes<a·class="headerlink"·href="#configurable-attributes"·title="Link·to·this·heading">¶</a></h3>223 <span·id="configurable-attributes"></span><h3>Configurable·attributes<a·class="headerlink"·href="#configurable-attributes"·title="Link·to·this·heading">¶</a></h3>
Offset 235, 27 lines modifiedOffset 236, 27 lines modified
235 <span·class="sig-prename·descclassname"><span·class="pre">AppConfig.</span></span><span·class="sig-name·descname"><span·class="pre">label</span></span><a·class="headerlink"·href="#django.apps.AppConfig.label"·title="Link·to·this·definition">¶</a></dt>236 <span·class="sig-prename·descclassname"><span·class="pre">AppConfig.</span></span><span·class="sig-name·descname"><span·class="pre">label</span></span><a·class="headerlink"·href="#django.apps.AppConfig.label"·title="Link·to·this·definition">¶</a></dt>
236 <dd><p>Short·name·for·the·application,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">'admin'</span></code></p>237 <dd><p>Short·name·for·the·application,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">'admin'</span></code></p>
237 <p>This·attribute·allows·relabeling·an·application·when·two·applications238 <p>This·attribute·allows·relabeling·an·application·when·two·applications
238 have·conflicting·labels.·It·defaults·to·the·last·component·of·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>.239 have·conflicting·labels.·It·defaults·to·the·last·component·of·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>.
239 It·should·be·a·valid·Python·identifier.</p>240 It·should·be·a·valid·Python·identifier.</p>
240 <p>It·must·be·unique·across·a·Django·project.</p>241 <p>It·must·be·unique·across·a·Django·project.</p>
241 <div·class="admonition·warning">242 <div·class="admonition·warning">
242 <p·class="admonition-title">Warning</p>243 <p·class="admonition-title">Hoiatus</p>
243 <p>Changing·this·attribute·after·migrations·have·been·applied·for·an244 <p>Changing·this·attribute·after·migrations·have·been·applied·for·an
244 application·will·result·in·breaking·changes·to·a·project·or,·in·the245 application·will·result·in·breaking·changes·to·a·project·or,·in·the
245 case·of·a·reusable·app,·any·existing·installs·of·that·app.·This·is246 case·of·a·reusable·app,·any·existing·installs·of·that·app.·This·is
246 because·<code·class="docutils·literal·notranslate"><span·class="pre">AppConfig.label</span></code>·is·used·in·database·tables·and·migration247 because·<code·class="docutils·literal·notranslate"><span·class="pre">AppConfig.label</span></code>·is·used·in·database·tables·and·migration
247 files·when·referencing·an·app·in·the·dependencies·list.</p>248 files·when·referencing·an·app·in·the·dependencies·list.</p>
248 </div>249 </div>
249 </dd></dl>250 </dd></dl>
  
250 <dl·class="py·attribute">251 <dl·class="py·attribute">
251 <dt·class="sig·sig-object·py"·id="django.apps.AppConfig.verbose_name">252 <dt·class="sig·sig-object·py"·id="django.apps.AppConfig.verbose_name">
252 <span·class="sig-prename·descclassname"><span·class="pre">AppConfig.</span></span><span·class="sig-name·descname"><span·class="pre">verbose_name</span></span><a·class="headerlink"·href="#django.apps.AppConfig.verbose_name"·title="Link·to·this·definition">¶</a></dt>253 <span·class="sig-prename·descclassname"><span·class="pre">AppConfig.</span></span><span·class="sig-name·descname"><span·class="pre">verbose_name</span></span><a·class="headerlink"·href="#django.apps.AppConfig.verbose_name"·title="Link·to·this·definition">¶</a></dt>
253 <dd><p>Human-readable·name·for·the·application,·e.g.·Administration.</p>254 <dd><p>Human-readable·name·for·the·application,·e.g.·Administration.</p>
254 <p>This·attribute·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">label.title()</span></code>.</p>255 <p>This·attribute·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">label.title()</span></code>.</p>
255 </dd></dl>256 </dd></dl>
  
256 <dl·class="py·attribute">257 <dl·class="py·attribute">
257 <dt·class="sig·sig-object·py"·id="django.apps.AppConfig.path">258 <dt·class="sig·sig-object·py"·id="django.apps.AppConfig.path">
258 <span·class="sig-prename·descclassname"><span·class="pre">AppConfig.</span></span><span·class="sig-name·descname"><span·class="pre">path</span></span><a·class="headerlink"·href="#django.apps.AppConfig.path"·title="Link·to·this·definition">¶</a></dt>259 <span·class="sig-prename·descclassname"><span·class="pre">AppConfig.</span></span><span·class="sig-name·descname"><span·class="pre">path</span></span><a·class="headerlink"·href="#django.apps.AppConfig.path"·title="Link·to·this·definition">¶</a></dt>
Max diff block lines reached; 29732/40045 bytes (74.25%) of diff not shown.
16.5 KB
html2text {}
Max HTML report size reached
28.7 KB
./usr/share/doc/python-django-doc/html/ref/checks.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>System·check·framework·&#8212;·Django·5.1.3·documentation</title>6 ····<title>System·check·framework·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Built-in·class-based·views·API"·href="class-based-views/index.html"·/>15 ····<link·rel="next"·title="Built-in·class-based·views·API"·href="class-based-views/index.html"·/>
15 ····<link·rel="prev"·title="Applications"·href="applications.html"·/>16 ····<link·rel="prev"·title="Applications"·href="applications.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 86, 15 lines modifiedOffset 87, 15 lines modified
86 system·checks,·see·the·<a·class="reference·internal"·href="../topics/checks.html"><span·class="doc">System·check·topic·guide</span></a>.</p>87 system·checks,·see·the·<a·class="reference·internal"·href="../topics/checks.html"><span·class="doc">System·check·topic·guide</span></a>.</p>
87 <section·id="s-api-reference">88 <section·id="s-api-reference">
88 <span·id="api-reference"></span><h2>API·reference<a·class="headerlink"·href="#api-reference"·title="Link·to·this·heading">¶</a></h2>89 <span·id="api-reference"></span><h2>API·reference<a·class="headerlink"·href="#api-reference"·title="Link·to·this·heading">¶</a></h2>
89 <section·id="s-checkmessage">90 <section·id="s-checkmessage">
90 <span·id="checkmessage"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">CheckMessage</span></code><a·class="headerlink"·href="#checkmessage"·title="Link·to·this·heading">¶</a></h3>91 <span·id="checkmessage"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">CheckMessage</span></code><a·class="headerlink"·href="#checkmessage"·title="Link·to·this·heading">¶</a></h3>
91 <dl·class="py·class">92 <dl·class="py·class">
92 <dt·class="sig·sig-object·py"·id="django.core.checks.CheckMessage">93 <dt·class="sig·sig-object·py"·id="django.core.checks.CheckMessage">
93 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CheckMessage</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">level</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L9"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.checks.CheckMessage"·title="Link·to·this·definition">¶</a></dt>94 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CheckMessage</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">level</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L9"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.checks.CheckMessage"·title="Link·to·this·definition">¶</a></dt>
94 <dd></dd></dl>95 <dd></dd></dl>
  
95 <p>The·warnings·and·errors·raised·by·system·checks·must·be·instances·of96 <p>The·warnings·and·errors·raised·by·system·checks·must·be·instances·of
96 <code·class="docutils·literal·notranslate"><span·class="pre">CheckMessage</span></code>.·An·instance·encapsulates·a·single·reportable·error·or97 <code·class="docutils·literal·notranslate"><span·class="pre">CheckMessage</span></code>.·An·instance·encapsulates·a·single·reportable·error·or
97 warning.·It·also·provides·context·and·hints·applicable·to·the·message,·and·a98 warning.·It·also·provides·context·and·hints·applicable·to·the·message,·and·a
98 unique·identifier·that·is·used·for·filtering·purposes.</p>99 unique·identifier·that·is·used·for·filtering·purposes.</p>
99 <p>Constructor·arguments·are:</p>100 <p>Constructor·arguments·are:</p>
Offset 126, 35 lines modifiedOffset 127, 35 lines modified
126 </dd>127 </dd>
127 </dl>128 </dl>
128 <p>There·are·subclasses·to·make·creating·messages·with·common·levels·easier.·When129 <p>There·are·subclasses·to·make·creating·messages·with·common·levels·easier.·When
129 using·them·you·can·omit·the·<code·class="docutils·literal·notranslate"><span·class="pre">level</span></code>·argument·because·it·is·implied·by·the130 using·them·you·can·omit·the·<code·class="docutils·literal·notranslate"><span·class="pre">level</span></code>·argument·because·it·is·implied·by·the
130 class·name.</p>131 class·name.</p>
131 <dl·class="py·class">132 <dl·class="py·class">
132 <dt·class="sig·sig-object·py"·id="django.core.checks.Debug">133 <dt·class="sig·sig-object·py"·id="django.core.checks.Debug">
133 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Debug</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L59"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.checks.Debug"·title="Link·to·this·definition">¶</a></dt>134 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Debug</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L59"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.checks.Debug"·title="Link·to·this·definition">¶</a></dt>
134 <dd></dd></dl>135 <dd></dd></dl>
  
135 <dl·class="py·class">136 <dl·class="py·class">
136 <dt·class="sig·sig-object·py"·id="django.core.checks.Info">137 <dt·class="sig·sig-object·py"·id="django.core.checks.Info">
137 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Info</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L64"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.checks.Info"·title="Link·to·this·definition">¶</a></dt>138 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Info</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L64"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.checks.Info"·title="Link·to·this·definition">¶</a></dt>
138 <dd></dd></dl>139 <dd></dd></dl>
  
139 <dl·class="py·class">140 <dl·class="py·class">
140 <dt·class="sig·sig-object·py"·id="django.core.checks.Warning">141 <dt·class="sig·sig-object·py"·id="django.core.checks.Warning">
141 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Warning</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint=None</span>·<span·class="pre">obj=None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id=None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L69"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.checks.Warning"·title="Link·to·this·definition">¶</a></dt>142 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Warning</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint=None</span>·<span·class="pre">obj=None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id=None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L69"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.checks.Warning"·title="Link·to·this·definition">¶</a></dt>
142 <dd></dd></dl>143 <dd></dd></dl>
  
143 <dl·class="py·class">144 <dl·class="py·class">
144 <dt·class="sig·sig-object·py"·id="django.core.checks.Error">145 <dt·class="sig·sig-object·py"·id="django.core.checks.Error">
145 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Error</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L74"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.checks.Error"·title="Link·to·this·definition">¶</a></dt>146 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Error</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L74"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.checks.Error"·title="Link·to·this·definition">¶</a></dt>
146 <dd></dd></dl>147 <dd></dd></dl>
  
147 <dl·class="py·class">148 <dl·class="py·class">
148 <dt·class="sig·sig-object·py"·id="django.core.checks.Critical">149 <dt·class="sig·sig-object·py"·id="django.core.checks.Critical">
149 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Critical</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L79"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.checks.Critical"·title="Link·to·this·definition">¶</a></dt>150 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Critical</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">msg</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">id</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/checks/messages.py#L79"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.checks.Critical"·title="Link·to·this·definition">¶</a></dt>
150 <dd></dd></dl>151 <dd></dd></dl>
  
151 </section>152 </section>
152 </section>153 </section>
153 <section·id="s-builtin-tags">154 <section·id="s-builtin-tags">
154 <span·id="s-system-check-builtin-tags"></span><span·id="builtin-tags"></span><span·id="system-check-builtin-tags"></span><h2>Builtin·tags<a·class="headerlink"·href="#builtin-tags"·title="Link·to·this·heading">¶</a></h2>155 <span·id="s-system-check-builtin-tags"></span><span·id="builtin-tags"></span><span·id="system-check-builtin-tags"></span><h2>Builtin·tags<a·class="headerlink"·href="#builtin-tags"·title="Link·to·this·heading">¶</a></h2>
155 <p>Django’s·system·checks·are·organized·using·the·following·tags:</p>156 <p>Django’s·system·checks·are·organized·using·the·following·tags:</p>
Offset 416, 15 lines modifiedOffset 417, 15 lines modified
416 <li><p><strong>fields.W342</strong>:·Setting·<code·class="docutils·literal·notranslate"><span·class="pre">unique=True</span></code>·on·a·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·has·the·same417 <li><p><strong>fields.W342</strong>:·Setting·<code·class="docutils·literal·notranslate"><span·class="pre">unique=True</span></code>·on·a·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·has·the·same
417 effect·as·using·a·<code·class="docutils·literal·notranslate"><span·class="pre">OneToOneField</span></code>.</p></li>418 effect·as·using·a·<code·class="docutils·literal·notranslate"><span·class="pre">OneToOneField</span></code>.</p></li>
418 <li><p><strong>fields.W343</strong>:·<code·class="docutils·literal·notranslate"><span·class="pre">limit_choices_to</span></code>·has·no·effect·on·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>419 <li><p><strong>fields.W343</strong>:·<code·class="docutils·literal·notranslate"><span·class="pre">limit_choices_to</span></code>·has·no·effect·on·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>
419 with·a·<code·class="docutils·literal·notranslate"><span·class="pre">through</span></code>·model.·<em>This·check·appeared·before·Django·4.0.</em></p></li>420 with·a·<code·class="docutils·literal·notranslate"><span·class="pre">through</span></code>·model.·<em>This·check·appeared·before·Django·4.0.</em></p></li>
420 <li><p><strong>fields.W344</strong>:·The·field’s·intermediary·table·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;table</span>·<span·class="pre">name&gt;</span></code>·clashes·with421 <li><p><strong>fields.W344</strong>:·The·field’s·intermediary·table·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;table</span>·<span·class="pre">name&gt;</span></code>·clashes·with
421 the·table·name·of·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;model&gt;</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">&lt;model&gt;.&lt;field</span>·<span·class="pre">name&gt;</span></code>.</p></li>422 the·table·name·of·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;model&gt;</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">&lt;model&gt;.&lt;field</span>·<span·class="pre">name&gt;</span></code>.</p></li>
422 <li><p><strong>fields.W345</strong>:·<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·has·no·effect·on·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>·with·a423 <li><p><strong>fields.W345</strong>:·<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·has·no·effect·on·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>·with·a
423 symmetrical·relationship,·e.g.·to·self.</p></li>424 symmetrical·relationship,·e.g.·to·self.</p></li>
424 <li><p><strong>fields.W346</strong>:·<code·class="docutils·literal·notranslate"><span·class="pre">db_comment</span></code>·has·no·effect·on·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>.</p></li>425 <li><p><strong>fields.W346</strong>:·<code·class="docutils·literal·notranslate"><span·class="pre">db_comment</span></code>·has·no·effect·on·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>.</p></li>
425 </ul>426 </ul>
426 </section>427 </section>
427 </section>428 </section>
428 <section·id="s-models">429 <section·id="s-models">
429 <span·id="models"></span><h3>Models<a·class="headerlink"·href="#models"·title="Link·to·this·heading">¶</a></h3>430 <span·id="models"></span><h3>Models<a·class="headerlink"·href="#models"·title="Link·to·this·heading">¶</a></h3>
430 <ul·class="simple">431 <ul·class="simple">
Offset 1032, 15 lines modifiedOffset 1033, 15 lines modified
1032 ······1033 ······
1033 ········1034 ········
1034 ··········<div·class="yui-b"·id="sidebar">1035 ··········<div·class="yui-b"·id="sidebar">
1035 ············1036 ············
1036 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">1037 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
1037 ········<div·class="sphinxsidebarwrapper">1038 ········<div·class="sphinxsidebarwrapper">
1038 ··<div>1039 ··<div>
1039 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>1040 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
1040 ····<ul>1041 ····<ul>
1041 <li><a·class="reference·internal"·href="#">System·check·framework</a><ul>1042 <li><a·class="reference·internal"·href="#">System·check·framework</a><ul>
1042 <li><a·class="reference·internal"·href="#api-reference">API·reference</a><ul>1043 <li><a·class="reference·internal"·href="#api-reference">API·reference</a><ul>
1043 <li><a·class="reference·internal"·href="#checkmessage"><code·class="docutils·literal·notranslate"><span·class="pre">CheckMessage</span></code></a></li>1044 <li><a·class="reference·internal"·href="#checkmessage"><code·class="docutils·literal·notranslate"><span·class="pre">CheckMessage</span></code></a></li>
1044 </ul>1045 </ul>
1045 </li>1046 </li>
1046 <li><a·class="reference·internal"·href="#builtin-tags">Builtin·tags</a></li>1047 <li><a·class="reference·internal"·href="#builtin-tags">Builtin·tags</a></li>
Offset 1083, 37 lines modifiedOffset 1084, 37 lines modified
1083 </li>1084 </li>
1084 </ul>1085 </ul>
1085 </li>1086 </li>
Max diff block lines reached; 1449/21307 bytes (6.80%) of diff not shown.
7.77 KB
html2text {}
Max HTML report size reached
7.05 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/base.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Base·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Base·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Generic·display·views"·href="generic-display.html"·/>15 ····<link·rel="next"·title="Generic·display·views"·href="generic-display.html"·/>
15 ····<link·rel="prev"·title="Built-in·class-based·views·API"·href="index.html"·/>16 ····<link·rel="prev"·title="Built-in·class-based·views·API"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 385, 49 lines modifiedOffset 386, 49 lines modified
385 ······386 ······
386 ········387 ········
387 ··········<div·class="yui-b"·id="sidebar">388 ··········<div·class="yui-b"·id="sidebar">
388 ············389 ············
389 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">390 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
390 ········<div·class="sphinxsidebarwrapper">391 ········<div·class="sphinxsidebarwrapper">
391 ··<div>392 ··<div>
392 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>393 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
393 ····<ul>394 ····<ul>
394 <li><a·class="reference·internal"·href="#">Base·views</a><ul>395 <li><a·class="reference·internal"·href="#">Base·views</a><ul>
395 <li><a·class="reference·internal"·href="#view"><code·class="docutils·literal·notranslate"><span·class="pre">View</span></code></a></li>396 <li><a·class="reference·internal"·href="#view"><code·class="docutils·literal·notranslate"><span·class="pre">View</span></code></a></li>
396 <li><a·class="reference·internal"·href="#templateview"><code·class="docutils·literal·notranslate"><span·class="pre">TemplateView</span></code></a></li>397 <li><a·class="reference·internal"·href="#templateview"><code·class="docutils·literal·notranslate"><span·class="pre">TemplateView</span></code></a></li>
397 <li><a·class="reference·internal"·href="#redirectview"><code·class="docutils·literal·notranslate"><span·class="pre">RedirectView</span></code></a></li>398 <li><a·class="reference·internal"·href="#redirectview"><code·class="docutils·literal·notranslate"><span·class="pre">RedirectView</span></code></a></li>
398 </ul>399 </ul>
399 </li>400 </li>
400 </ul>401 </ul>
  
401 ··</div>402 ··</div>
402 ··<div>403 ··<div>
403 ····<h4>Previous·topic</h4>404 ····<h4>Eelmine·teema</h4>
404 ····<p·class="topless"><a·href="index.html"405 ····<p·class="topless"><a·href="index.html"
405 ··························title="previous·chapter">Built-in·class-based·views·API</a></p>406 ··························title="eelmine·jaotis">Built-in·class-based·views·API</a></p>
406 ··</div>407 ··</div>
407 ··<div>408 ··<div>
408 ····<h4>Next·topic</h4>409 ····<h4>Järgmine·teema</h4>
409 ····<p·class="topless"><a·href="generic-display.html"410 ····<p·class="topless"><a·href="generic-display.html"
410 ··························title="next·chapter">Generic·display·views</a></p>411 ··························title="järgmine·jaotis">Generic·display·views</a></p>
411 ··</div>412 ··</div>
412 <search·id="searchbox"·style="display:·none"·role="search">413 <search·id="searchbox"·style="display:·none"·role="search">
413 ··<h3·id="searchlabel">Quick·search</h3>414 ··<h3·id="searchlabel">Kiirotsing</h3>
414 ····<div·class="searchformwrapper">415 ····<div·class="searchformwrapper">
415 ····<form·class="search"·action="../../search.html"·method="get">416 ····<form·class="search"·action="../../search.html"·method="get">
416 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>417 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
417 ······<input·type="submit"·value="Go"·/>418 ······<input·type="submit"·value="Otsi"·/>
418 ····</form>419 ····</form>
419 ····</div>420 ····</div>
420 </search>421 </search>
421 <script>document.getElementById('searchbox').style.display·=·"block"</script>422 <script>document.getElementById('searchbox').style.display·=·"block"</script>
422 ········</div>423 ········</div>
423 ······</div>424 ······</div>
424 ··············<h3>Last·update:</h3>425 ··············<h3>Last·update:</h3>
425 ··············<p·class="topless">Nov·05,·2024</p>426 ··············<p·class="topless">nov·05,·2024</p>
426 ··········</div>427 ··········</div>
427 ········428 ········
428 ······429 ······
429 ····</div>430 ····</div>
  
430 ····<div·id="ft">431 ····<div·id="ft">
431 ······<div·class="nav">432 ······<div·class="nav">
2.51 KB
html2text {}
Max HTML report size reached
9.75 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/flattened-index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Class-based·generic·views·-·flattened·index·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Class-based·generic·views·-·flattened·index·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Clickjacking·Protection"·href="../clickjacking.html"·/>15 ····<link·rel="next"·title="Clickjacking·Protection"·href="../clickjacking.html"·/>
15 ····<link·rel="prev"·title="Date-based·mixins"·href="mixins-date-based.html"·/>16 ····<link·rel="prev"·title="Date-based·mixins"·href="mixins-date-based.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="class-based-generic-views-flattened-index"></span><h1>Class-based·generic·views·-·flattened·index<a·class="headerlink"·href="#class-based-generic-views-flattened-index"·title="Link·to·this·heading">¶</a></h1>82 <span·id="class-based-generic-views-flattened-index"></span><h1>Class-based·generic·views·-·flattened·index<a·class="headerlink"·href="#class-based-generic-views-flattened-index"·title="Link·to·this·heading">¶</a></h1>
82 <p>This·index·provides·an·alternate·organization·of·the·reference·documentation83 <p>This·index·provides·an·alternate·organization·of·the·reference·documentation
83 for·class-based·views.·For·each·view,·the·effective·attributes·and·methods·from84 for·class-based·views.·For·each·view,·the·effective·attributes·and·methods·from
84 the·class·tree·are·represented·under·that·view.·For·the·reference85 the·class·tree·are·represented·under·that·view.·For·the·reference
85 documentation·organized·by·the·class·which·defines·the·behavior,·see86 documentation·organized·by·the·class·which·defines·the·behavior,·see
86 <a·class="reference·internal"·href="index.html"><span·class="doc">Class-based·views</span></a>.</p>87 <a·class="reference·internal"·href="index.html"><span·class="doc">Class-based·views</span></a>.</p>
87 <div·class="admonition·seealso">88 <div·class="admonition·seealso">
88 <p·class="admonition-title">See·also</p>89 <p·class="admonition-title">Vaata·ka</p>
89 <p><a·class="reference·external"·href="https://ccbv.co.uk/">Classy·Class-Based·Views</a>·provides·a·nice·interface90 <p><a·class="reference·external"·href="https://ccbv.co.uk/">Classy·Class-Based·Views</a>·provides·a·nice·interface
90 to·navigate·the·class·hierarchy·of·the·built-in·class-based·views.</p>91 to·navigate·the·class·hierarchy·of·the·built-in·class-based·views.</p>
91 </div>92 </div>
92 <section·id="s-simple-generic-views">93 <section·id="s-simple-generic-views">
93 <span·id="simple-generic-views"></span><h2>Simple·generic·views<a·class="headerlink"·href="#simple-generic-views"·title="Link·to·this·heading">¶</a></h2>94 <span·id="simple-generic-views"></span><h2>Simple·generic·views<a·class="headerlink"·href="#simple-generic-views"·title="Link·to·this·heading">¶</a></h2>
94 <section·id="s-view">95 <section·id="s-view">
95 <span·id="view"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">View</span></code><a·class="headerlink"·href="#view"·title="Link·to·this·heading">¶</a></h3>96 <span·id="view"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">View</span></code><a·class="headerlink"·href="#view"·title="Link·to·this·heading">¶</a></h3>
Offset 789, 15 lines modifiedOffset 790, 15 lines modified
789 ······790 ······
790 ········791 ········
791 ··········<div·class="yui-b"·id="sidebar">792 ··········<div·class="yui-b"·id="sidebar">
792 ············793 ············
793 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">794 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
794 ········<div·class="sphinxsidebarwrapper">795 ········<div·class="sphinxsidebarwrapper">
795 ··<div>796 ··<div>
796 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>797 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
797 ····<ul>798 ····<ul>
798 <li><a·class="reference·internal"·href="#">Class-based·generic·views·-·flattened·index</a><ul>799 <li><a·class="reference·internal"·href="#">Class-based·generic·views·-·flattened·index</a><ul>
799 <li><a·class="reference·internal"·href="#simple-generic-views">Simple·generic·views</a><ul>800 <li><a·class="reference·internal"·href="#simple-generic-views">Simple·generic·views</a><ul>
800 <li><a·class="reference·internal"·href="#view"><code·class="docutils·literal·notranslate"><span·class="pre">View</span></code></a></li>801 <li><a·class="reference·internal"·href="#view"><code·class="docutils·literal·notranslate"><span·class="pre">View</span></code></a></li>
801 <li><a·class="reference·internal"·href="#templateview"><code·class="docutils·literal·notranslate"><span·class="pre">TemplateView</span></code></a></li>802 <li><a·class="reference·internal"·href="#templateview"><code·class="docutils·literal·notranslate"><span·class="pre">TemplateView</span></code></a></li>
802 <li><a·class="reference·internal"·href="#redirectview"><code·class="docutils·literal·notranslate"><span·class="pre">RedirectView</span></code></a></li>803 <li><a·class="reference·internal"·href="#redirectview"><code·class="docutils·literal·notranslate"><span·class="pre">RedirectView</span></code></a></li>
803 </ul>804 </ul>
Offset 829, 37 lines modifiedOffset 830, 37 lines modified
829 </li>830 </li>
830 </ul>831 </ul>
831 </li>832 </li>
832 </ul>833 </ul>
  
833 ··</div>834 ··</div>
834 ··<div>835 ··<div>
835 ····<h4>Previous·topic</h4>836 ····<h4>Eelmine·teema</h4>
836 ····<p·class="topless"><a·href="mixins-date-based.html"837 ····<p·class="topless"><a·href="mixins-date-based.html"
837 ··························title="previous·chapter">Date-based·mixins</a></p>838 ··························title="eelmine·jaotis">Date-based·mixins</a></p>
838 ··</div>839 ··</div>
839 ··<div>840 ··<div>
840 ····<h4>Next·topic</h4>841 ····<h4>Järgmine·teema</h4>
841 ····<p·class="topless"><a·href="../clickjacking.html"842 ····<p·class="topless"><a·href="../clickjacking.html"
842 ··························title="next·chapter">Clickjacking·Protection</a></p>843 ··························title="järgmine·jaotis">Clickjacking·Protection</a></p>
843 ··</div>844 ··</div>
844 <search·id="searchbox"·style="display:·none"·role="search">845 <search·id="searchbox"·style="display:·none"·role="search">
845 ··<h3·id="searchlabel">Quick·search</h3>846 ··<h3·id="searchlabel">Kiirotsing</h3>
846 ····<div·class="searchformwrapper">847 ····<div·class="searchformwrapper">
847 ····<form·class="search"·action="../../search.html"·method="get">848 ····<form·class="search"·action="../../search.html"·method="get">
848 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>849 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
849 ······<input·type="submit"·value="Go"·/>850 ······<input·type="submit"·value="Otsi"·/>
850 ····</form>851 ····</form>
851 ····</div>852 ····</div>
852 </search>853 </search>
853 <script>document.getElementById('searchbox').style.display·=·"block"</script>854 <script>document.getElementById('searchbox').style.display·=·"block"</script>
854 ········</div>855 ········</div>
855 ······</div>856 ······</div>
856 ··············<h3>Last·update:</h3>857 ··············<h3>Last·update:</h3>
857 ··············<p·class="topless">Nov·05,·2024</p>858 ··············<p·class="topless">nov·05,·2024</p>
858 ··········</div>859 ··········</div>
859 ········860 ········
860 ······861 ······
861 ····</div>862 ····</div>
  
862 ····<div·id="ft">863 ····<div·id="ft">
863 ······<div·class="nav">864 ······<div·class="nav">
3.66 KB
html2text {}
Max HTML report size reached
75.7 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-date-based.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Generic·date·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Generic·date·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Class-based·views·mixins"·href="mixins.html"·/>15 ····<link·rel="next"·title="Class-based·views·mixins"·href="mixins.html"·/>
15 ····<link·rel="prev"·title="Generic·editing·views"·href="generic-editing.html"·/>16 ····<link·rel="prev"·title="Generic·editing·views"·href="generic-editing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 78, 15 lines modifiedOffset 79, 15 lines modified
78 ··········<div·class="yui-g"·id="ref-class-based-views-generic-date-based">79 ··········<div·class="yui-g"·id="ref-class-based-views-generic-date-based">
79 ············80 ············
80 ··<section·id="s-module-django.views.generic.dates">81 ··<section·id="s-module-django.views.generic.dates">
81 <span·id="s-generic-date-views"></span><span·id="module-django.views.generic.dates"></span><span·id="generic-date-views"></span><h1>Generic·date·views<a·class="headerlink"·href="#module-django.views.generic.dates"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-generic-date-views"></span><span·id="module-django.views.generic.dates"></span><span·id="generic-date-views"></span><h1>Generic·date·views<a·class="headerlink"·href="#module-django.views.generic.dates"·title="Link·to·this·heading">¶</a></h1>
82 <p>Date-based·generic·views,·provided·in·<a·class="reference·internal"·href="#module-django.views.generic.dates"·title="django.views.generic.dates"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.views.generic.dates</span></code></a>,·are83 <p>Date-based·generic·views,·provided·in·<a·class="reference·internal"·href="#module-django.views.generic.dates"·title="django.views.generic.dates"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.views.generic.dates</span></code></a>,·are
83 views·for·displaying·drilldown·pages·for·date-based·data.</p>84 views·for·displaying·drilldown·pages·for·date-based·data.</p>
84 <div·class="admonition·note">85 <div·class="admonition·note">
85 <p·class="admonition-title">Note</p>86 <p·class="admonition-title">rkus</p>
86 <p>Some·of·the·examples·on·this·page·assume·that·an·<code·class="docutils·literal·notranslate"><span·class="pre">Article</span></code>·model·has·been87 <p>Some·of·the·examples·on·this·page·assume·that·an·<code·class="docutils·literal·notranslate"><span·class="pre">Article</span></code>·model·has·been
87 defined·as·follows·in·<code·class="docutils·literal·notranslate"><span·class="pre">myapp/models.py</span></code>:</p>88 defined·as·follows·in·<code·class="docutils·literal·notranslate"><span·class="pre">myapp/models.py</span></code>:</p>
88 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>89 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>
89 <span·class="kn">from</span>·<span·class="nn">django.urls</span>·<span·class="kn">import</span>·<span·class="n">reverse</span>90 <span·class="kn">from</span>·<span·class="nn">django.urls</span>·<span·class="kn">import</span>·<span·class="n">reverse</span>
  
  
90 <span·class="k">class</span>·<span·class="nc">Article</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>91 <span·class="k">class</span>·<span·class="nc">Article</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>
Offset 98, 16 lines modifiedOffset 99, 16 lines modified
98 </pre></div>99 </pre></div>
99 </div>100 </div>
100 </div>101 </div>
101 <section·id="s-archiveindexview">102 <section·id="s-archiveindexview">
102 <span·id="archiveindexview"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ArchiveIndexView</span></code><a·class="headerlink"·href="#archiveindexview"·title="Link·to·this·heading">¶</a></h2>103 <span·id="archiveindexview"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ArchiveIndexView</span></code><a·class="headerlink"·href="#archiveindexview"·title="Link·to·this·heading">¶</a></h2>
103 <dl·class="py·class">104 <dl·class="py·class">
104 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.ArchiveIndexView">105 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.ArchiveIndexView">
105 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ArchiveIndexView</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L407"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.ArchiveIndexView"·title="Link·to·this·definition">¶</a></dt>106 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ArchiveIndexView</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L407"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.ArchiveIndexView"·title="Link·to·this·definition">¶</a></dt>
106 <dd><p>A·top-level·index·page·showing·the·latest·objects,·by·date.·Objects·with107 <dd><p>A·top-level·index·page·showing·the·latest·objects,·by·date.·Objects·with
107 a·date·in·the·<em>future</em>·are·not·included·unless·you·set·<code·class="docutils·literal·notranslate"><span·class="pre">allow_future</span></code>·to108 a·date·in·the·<em>future</em>·are·not·included·unless·you·set·<code·class="docutils·literal·notranslate"><span·class="pre">allow_future</span></code>·to
108 <code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>109 <code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>
109 <p><strong>Ancestors·(MRO)</strong></p>110 <p><strong>Ancestors·(MRO)</strong></p>
110 <ul·class="simple">111 <ul·class="simple">
111 <li><p><a·class="reference·internal"·href="mixins-multiple-object.html#django.views.generic.list.MultipleObjectTemplateResponseMixin"·title="django.views.generic.list.MultipleObjectTemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.list.MultipleObjectTemplateResponseMixin</span></code></a></p></li>112 <li><p><a·class="reference·internal"·href="mixins-multiple-object.html#django.views.generic.list.MultipleObjectTemplateResponseMixin"·title="django.views.generic.list.MultipleObjectTemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.list.MultipleObjectTemplateResponseMixin</span></code></a></p></li>
112 <li><p><a·class="reference·internal"·href="mixins-simple.html#django.views.generic.base.TemplateResponseMixin"·title="django.views.generic.base.TemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.base.TemplateResponseMixin</span></code></a></p></li>113 <li><p><a·class="reference·internal"·href="mixins-simple.html#django.views.generic.base.TemplateResponseMixin"·title="django.views.generic.base.TemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.base.TemplateResponseMixin</span></code></a></p></li>
113 <li><p><a·class="reference·internal"·href="#django.views.generic.dates.BaseArchiveIndexView"·title="django.views.generic.dates.BaseArchiveIndexView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.dates.BaseArchiveIndexView</span></code></a></p></li>114 <li><p><a·class="reference·internal"·href="#django.views.generic.dates.BaseArchiveIndexView"·title="django.views.generic.dates.BaseArchiveIndexView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.dates.BaseArchiveIndexView</span></code></a></p></li>
Offset 120, 15 lines modifiedOffset 121, 15 lines modified
120 <p>In·addition·to·the·context·provided·by121 <p>In·addition·to·the·context·provided·by
121 <a·class="reference·internal"·href="mixins-multiple-object.html#django.views.generic.list.MultipleObjectMixin"·title="django.views.generic.list.MultipleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.list.MultipleObjectMixin</span></code></a>·(via122 <a·class="reference·internal"·href="mixins-multiple-object.html#django.views.generic.list.MultipleObjectMixin"·title="django.views.generic.list.MultipleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.list.MultipleObjectMixin</span></code></a>·(via
122 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.BaseDateListView"·title="django.views.generic.dates.BaseDateListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.dates.BaseDateListView</span></code></a>),·the·template’s123 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.BaseDateListView"·title="django.views.generic.dates.BaseDateListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.dates.BaseDateListView</span></code></a>),·the·template’s
123 context·will·be:</p>124 context·will·be:</p>
124 <ul·class="simple">125 <ul·class="simple">
125 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">date_list</span></code>:·A·<a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.dates"·title="django.db.models.query.QuerySet.dates"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>126 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">date_list</span></code>:·A·<a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.dates"·title="django.db.models.query.QuerySet.dates"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>
126 object·containing·all·years·that·have·objects·available·according·to127 object·containing·all·years·that·have·objects·available·according·to
127 <code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>,·represented·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.datetime</span></code></a>·objects,·in128 <code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>,·represented·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.datetime</span></code></a>·objects,·in
128 descending·order.</p></li>129 descending·order.</p></li>
129 </ul>130 </ul>
130 <p><strong>Notes</strong></p>131 <p><strong>Notes</strong></p>
131 <ul·class="simple">132 <ul·class="simple">
132 <li><p>Uses·a·default·<code·class="docutils·literal·notranslate"><span·class="pre">context_object_name</span></code>·of·<code·class="docutils·literal·notranslate"><span·class="pre">latest</span></code>.</p></li>133 <li><p>Uses·a·default·<code·class="docutils·literal·notranslate"><span·class="pre">context_object_name</span></code>·of·<code·class="docutils·literal·notranslate"><span·class="pre">latest</span></code>.</p></li>
133 <li><p>Uses·a·default·<code·class="docutils·literal·notranslate"><span·class="pre">template_name_suffix</span></code>·of·<code·class="docutils·literal·notranslate"><span·class="pre">_archive</span></code>.</p></li>134 <li><p>Uses·a·default·<code·class="docutils·literal·notranslate"><span·class="pre">template_name_suffix</span></code>·of·<code·class="docutils·literal·notranslate"><span·class="pre">_archive</span></code>.</p></li>
134 <li><p>Defaults·to·providing·<code·class="docutils·literal·notranslate"><span·class="pre">date_list</span></code>·by·year,·but·this·can·be·altered·to135 <li><p>Defaults·to·providing·<code·class="docutils·literal·notranslate"><span·class="pre">date_list</span></code>·by·year,·but·this·can·be·altered·to
Offset 162, 15 lines modifiedOffset 163, 15 lines modified
162 </dd></dl>163 </dd></dl>
  
163 </section>164 </section>
164 <section·id="s-yeararchiveview">165 <section·id="s-yeararchiveview">
165 <span·id="yeararchiveview"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">YearArchiveView</span></code><a·class="headerlink"·href="#yeararchiveview"·title="Link·to·this·heading">¶</a></h2>166 <span·id="yeararchiveview"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">YearArchiveView</span></code><a·class="headerlink"·href="#yeararchiveview"·title="Link·to·this·heading">¶</a></h2>
166 <dl·class="py·class">167 <dl·class="py·class">
167 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearArchiveView">168 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearArchiveView">
168 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">YearArchiveView</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L459"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearArchiveView"·title="Link·to·this·definition">¶</a></dt>169 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">YearArchiveView</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L459"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearArchiveView"·title="Link·to·this·definition">¶</a></dt>
169 <dd><p>A·yearly·archive·page·showing·all·available·months·in·a·given·year.·Objects170 <dd><p>A·yearly·archive·page·showing·all·available·months·in·a·given·year.·Objects
170 with·a·date·in·the·<em>future</em>·are·not·displayed·unless·you·set171 with·a·date·in·the·<em>future</em>·are·not·displayed·unless·you·set
171 <code·class="docutils·literal·notranslate"><span·class="pre">allow_future</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>172 <code·class="docutils·literal·notranslate"><span·class="pre">allow_future</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>
172 <p><strong>Ancestors·(MRO)</strong></p>173 <p><strong>Ancestors·(MRO)</strong></p>
173 <ul·class="simple">174 <ul·class="simple">
174 <li><p><a·class="reference·internal"·href="mixins-multiple-object.html#django.views.generic.list.MultipleObjectTemplateResponseMixin"·title="django.views.generic.list.MultipleObjectTemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.list.MultipleObjectTemplateResponseMixin</span></code></a></p></li>175 <li><p><a·class="reference·internal"·href="mixins-multiple-object.html#django.views.generic.list.MultipleObjectTemplateResponseMixin"·title="django.views.generic.list.MultipleObjectTemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.list.MultipleObjectTemplateResponseMixin</span></code></a></p></li>
175 <li><p><a·class="reference·internal"·href="mixins-simple.html#django.views.generic.base.TemplateResponseMixin"·title="django.views.generic.base.TemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.base.TemplateResponseMixin</span></code></a></p></li>176 <li><p><a·class="reference·internal"·href="mixins-simple.html#django.views.generic.base.TemplateResponseMixin"·title="django.views.generic.base.TemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.base.TemplateResponseMixin</span></code></a></p></li>
Offset 202, 23 lines modifiedOffset 203, 23 lines modified
202 <p>In·addition·to·the·context·provided·by203 <p>In·addition·to·the·context·provided·by
203 <a·class="reference·internal"·href="mixins-multiple-object.html#django.views.generic.list.MultipleObjectMixin"·title="django.views.generic.list.MultipleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.list.MultipleObjectMixin</span></code></a>·(via204 <a·class="reference·internal"·href="mixins-multiple-object.html#django.views.generic.list.MultipleObjectMixin"·title="django.views.generic.list.MultipleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.list.MultipleObjectMixin</span></code></a>·(via
204 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.BaseDateListView"·title="django.views.generic.dates.BaseDateListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.dates.BaseDateListView</span></code></a>),·the·template’s205 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.BaseDateListView"·title="django.views.generic.dates.BaseDateListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.dates.BaseDateListView</span></code></a>),·the·template’s
205 context·will·be:</p>206 context·will·be:</p>
206 <ul·class="simple">207 <ul·class="simple">
207 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">date_list</span></code>:·A·<a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.dates"·title="django.db.models.query.QuerySet.dates"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>208 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">date_list</span></code>:·A·<a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.dates"·title="django.db.models.query.QuerySet.dates"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>
208 object·containing·all·months·that·have·objects·available·according·to209 object·containing·all·months·that·have·objects·available·according·to
209 <code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>,·represented·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.datetime</span></code></a>·objects,·in210 <code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>,·represented·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.datetime</span></code></a>·objects,·in
210 ascending·order.</p></li>211 ascending·order.</p></li>
211 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">year</span></code>:·A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.date"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">date</span></code></a>·object212 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">year</span></code>:·A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.date"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">date</span></code></a>·object
212 representing·the·given·year.</p></li>213 representing·the·given·year.</p></li>
213 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">next_year</span></code>:·A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.date"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">date</span></code></a>·object214 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">next_year</span></code>:·A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.date"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">date</span></code></a>·object
214 representing·the·first·day·of·the·next·year,·according·to215 representing·the·first·day·of·the·next·year,·according·to
215 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.BaseDateListView.allow_empty"·title="django.views.generic.dates.BaseDateListView.allow_empty"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_empty</span></code></a>·and216 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.BaseDateListView.allow_empty"·title="django.views.generic.dates.BaseDateListView.allow_empty"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_empty</span></code></a>·and
216 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.DateMixin.allow_future"·title="django.views.generic.dates.DateMixin.allow_future"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_future</span></code></a>.</p></li>217 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.DateMixin.allow_future"·title="django.views.generic.dates.DateMixin.allow_future"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_future</span></code></a>.</p></li>
217 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">previous_year</span></code>:·A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.date"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">date</span></code></a>·object218 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">previous_year</span></code>:·A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.date"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">date</span></code></a>·object
218 representing·the·first·day·of·the·previous·year,·according·to219 representing·the·first·day·of·the·previous·year,·according·to
219 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.BaseDateListView.allow_empty"·title="django.views.generic.dates.BaseDateListView.allow_empty"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_empty</span></code></a>·and220 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.BaseDateListView.allow_empty"·title="django.views.generic.dates.BaseDateListView.allow_empty"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_empty</span></code></a>·and
220 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.DateMixin.allow_future"·title="django.views.generic.dates.DateMixin.allow_future"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_future</span></code></a>.</p></li>221 <a·class="reference·internal"·href="mixins-date-based.html#django.views.generic.dates.DateMixin.allow_future"·title="django.views.generic.dates.DateMixin.allow_future"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_future</span></code></a>.</p></li>
221 </ul>222 </ul>
222 <p><strong>Notes</strong></p>223 <p><strong>Notes</strong></p>
223 <ul·class="simple">224 <ul·class="simple">
Max diff block lines reached; 46857/64043 bytes (73.16%) of diff not shown.
13.0 KB
html2text {}
Max HTML report size reached
6.87 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-display.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Generic·display·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Generic·display·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Generic·editing·views"·href="generic-editing.html"·/>15 ····<link·rel="next"·title="Generic·editing·views"·href="generic-editing.html"·/>
15 ····<link·rel="prev"·title="Base·views"·href="base.html"·/>16 ····<link·rel="prev"·title="Base·views"·href="base.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 278, 48 lines modifiedOffset 279, 48 lines modified
278 ······279 ······
279 ········280 ········
280 ··········<div·class="yui-b"·id="sidebar">281 ··········<div·class="yui-b"·id="sidebar">
281 ············282 ············
282 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">283 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
283 ········<div·class="sphinxsidebarwrapper">284 ········<div·class="sphinxsidebarwrapper">
284 ··<div>285 ··<div>
285 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>286 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
286 ····<ul>287 ····<ul>
287 <li><a·class="reference·internal"·href="#">Generic·display·views</a><ul>288 <li><a·class="reference·internal"·href="#">Generic·display·views</a><ul>
288 <li><a·class="reference·internal"·href="#detailview"><code·class="docutils·literal·notranslate"><span·class="pre">DetailView</span></code></a></li>289 <li><a·class="reference·internal"·href="#detailview"><code·class="docutils·literal·notranslate"><span·class="pre">DetailView</span></code></a></li>
289 <li><a·class="reference·internal"·href="#listview"><code·class="docutils·literal·notranslate"><span·class="pre">ListView</span></code></a></li>290 <li><a·class="reference·internal"·href="#listview"><code·class="docutils·literal·notranslate"><span·class="pre">ListView</span></code></a></li>
290 </ul>291 </ul>
291 </li>292 </li>
292 </ul>293 </ul>
  
293 ··</div>294 ··</div>
294 ··<div>295 ··<div>
295 ····<h4>Previous·topic</h4>296 ····<h4>Eelmine·teema</h4>
296 ····<p·class="topless"><a·href="base.html"297 ····<p·class="topless"><a·href="base.html"
297 ··························title="previous·chapter">Base·views</a></p>298 ··························title="eelmine·jaotis">Base·views</a></p>
298 ··</div>299 ··</div>
299 ··<div>300 ··<div>
300 ····<h4>Next·topic</h4>301 ····<h4>Järgmine·teema</h4>
301 ····<p·class="topless"><a·href="generic-editing.html"302 ····<p·class="topless"><a·href="generic-editing.html"
302 ··························title="next·chapter">Generic·editing·views</a></p>303 ··························title="järgmine·jaotis">Generic·editing·views</a></p>
303 ··</div>304 ··</div>
304 <search·id="searchbox"·style="display:·none"·role="search">305 <search·id="searchbox"·style="display:·none"·role="search">
305 ··<h3·id="searchlabel">Quick·search</h3>306 ··<h3·id="searchlabel">Kiirotsing</h3>
306 ····<div·class="searchformwrapper">307 ····<div·class="searchformwrapper">
307 ····<form·class="search"·action="../../search.html"·method="get">308 ····<form·class="search"·action="../../search.html"·method="get">
308 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>309 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
309 ······<input·type="submit"·value="Go"·/>310 ······<input·type="submit"·value="Otsi"·/>
310 ····</form>311 ····</form>
311 ····</div>312 ····</div>
312 </search>313 </search>
313 <script>document.getElementById('searchbox').style.display·=·"block"</script>314 <script>document.getElementById('searchbox').style.display·=·"block"</script>
314 ········</div>315 ········</div>
315 ······</div>316 ······</div>
316 ··············<h3>Last·update:</h3>317 ··············<h3>Last·update:</h3>
317 ··············<p·class="topless">Nov·05,·2024</p>318 ··············<p·class="topless">nov·05,·2024</p>
318 ··········</div>319 ··········</div>
319 ········320 ········
320 ······321 ······
321 ····</div>322 ····</div>
  
322 ····<div·id="ft">323 ····<div·id="ft">
323 ······<div·class="nav">324 ······<div·class="nav">
2.48 KB
html2text {}
Max HTML report size reached
10.7 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/generic-editing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Generic·editing·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Generic·editing·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Generic·date·views"·href="generic-date-based.html"·/>15 ····<link·rel="next"·title="Generic·date·views"·href="generic-date-based.html"·/>
15 ····<link·rel="prev"·title="Generic·display·views"·href="generic-display.html"·/>16 ····<link·rel="prev"·title="Generic·display·views"·href="generic-display.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 21 lines modifiedOffset 85, 21 lines modified
84 <ul·class="simple">85 <ul·class="simple">
85 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.FormView"·title="django.views.generic.edit.FormView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.FormView</span></code></a></p></li>86 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.FormView"·title="django.views.generic.edit.FormView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.FormView</span></code></a></p></li>
86 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.CreateView"·title="django.views.generic.edit.CreateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.CreateView</span></code></a></p></li>87 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.CreateView"·title="django.views.generic.edit.CreateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.CreateView</span></code></a></p></li>
87 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.UpdateView"·title="django.views.generic.edit.UpdateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.UpdateView</span></code></a></p></li>88 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.UpdateView"·title="django.views.generic.edit.UpdateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.UpdateView</span></code></a></p></li>
88 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.DeleteView"·title="django.views.generic.edit.DeleteView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.DeleteView</span></code></a></p></li>89 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.DeleteView"·title="django.views.generic.edit.DeleteView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.DeleteView</span></code></a></p></li>
89 </ul>90 </ul>
90 <div·class="admonition·seealso">91 <div·class="admonition·seealso">
91 <p·class="admonition-title">See·also</p>92 <p·class="admonition-title">Vaata·ka</p>
92 <p>The·<a·class="reference·internal"·href="../contrib/messages.html"><span·class="doc">messages·framework</span></a>·contains93 <p>The·<a·class="reference·internal"·href="../contrib/messages.html"><span·class="doc">messages·framework</span></a>·contains
93 <a·class="reference·internal"·href="../contrib/messages.html#django.contrib.messages.views.SuccessMessageMixin"·title="django.contrib.messages.views.SuccessMessageMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SuccessMessageMixin</span></code></a>,·which94 <a·class="reference·internal"·href="../contrib/messages.html#django.contrib.messages.views.SuccessMessageMixin"·title="django.contrib.messages.views.SuccessMessageMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SuccessMessageMixin</span></code></a>,·which
94 facilitates·presenting·messages·about·successful·form·submissions.</p>95 facilitates·presenting·messages·about·successful·form·submissions.</p>
95 </div>96 </div>
96 <div·class="admonition·note">97 <div·class="admonition·note">
97 <p·class="admonition-title">Note</p>98 <p·class="admonition-title">rkus</p>
98 <p>Some·of·the·examples·on·this·page·assume·that·an·<code·class="docutils·literal·notranslate"><span·class="pre">Author</span></code>·model·has·been99 <p>Some·of·the·examples·on·this·page·assume·that·an·<code·class="docutils·literal·notranslate"><span·class="pre">Author</span></code>·model·has·been
99 defined·as·follows·in·<code·class="docutils·literal·notranslate"><span·class="pre">myapp/models.py</span></code>:</p>100 defined·as·follows·in·<code·class="docutils·literal·notranslate"><span·class="pre">myapp/models.py</span></code>:</p>
100 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>101 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>
101 <span·class="kn">from</span>·<span·class="nn">django.urls</span>·<span·class="kn">import</span>·<span·class="n">reverse</span>102 <span·class="kn">from</span>·<span·class="nn">django.urls</span>·<span·class="kn">import</span>·<span·class="n">reverse</span>
  
  
102 <span·class="k">class</span>·<span·class="nc">Author</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>103 <span·class="k">class</span>·<span·class="nc">Author</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>
Offset 442, 50 lines modifiedOffset 443, 50 lines modified
442 ······443 ······
443 ········444 ········
444 ··········<div·class="yui-b"·id="sidebar">445 ··········<div·class="yui-b"·id="sidebar">
445 ············446 ············
446 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">447 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
447 ········<div·class="sphinxsidebarwrapper">448 ········<div·class="sphinxsidebarwrapper">
448 ··<div>449 ··<div>
449 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>450 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
450 ····<ul>451 ····<ul>
451 <li><a·class="reference·internal"·href="#">Generic·editing·views</a><ul>452 <li><a·class="reference·internal"·href="#">Generic·editing·views</a><ul>
452 <li><a·class="reference·internal"·href="#formview"><code·class="docutils·literal·notranslate"><span·class="pre">FormView</span></code></a></li>453 <li><a·class="reference·internal"·href="#formview"><code·class="docutils·literal·notranslate"><span·class="pre">FormView</span></code></a></li>
453 <li><a·class="reference·internal"·href="#createview"><code·class="docutils·literal·notranslate"><span·class="pre">CreateView</span></code></a></li>454 <li><a·class="reference·internal"·href="#createview"><code·class="docutils·literal·notranslate"><span·class="pre">CreateView</span></code></a></li>
454 <li><a·class="reference·internal"·href="#updateview"><code·class="docutils·literal·notranslate"><span·class="pre">UpdateView</span></code></a></li>455 <li><a·class="reference·internal"·href="#updateview"><code·class="docutils·literal·notranslate"><span·class="pre">UpdateView</span></code></a></li>
455 <li><a·class="reference·internal"·href="#deleteview"><code·class="docutils·literal·notranslate"><span·class="pre">DeleteView</span></code></a></li>456 <li><a·class="reference·internal"·href="#deleteview"><code·class="docutils·literal·notranslate"><span·class="pre">DeleteView</span></code></a></li>
456 </ul>457 </ul>
457 </li>458 </li>
458 </ul>459 </ul>
  
459 ··</div>460 ··</div>
460 ··<div>461 ··<div>
461 ····<h4>Previous·topic</h4>462 ····<h4>Eelmine·teema</h4>
462 ····<p·class="topless"><a·href="generic-display.html"463 ····<p·class="topless"><a·href="generic-display.html"
463 ··························title="previous·chapter">Generic·display·views</a></p>464 ··························title="eelmine·jaotis">Generic·display·views</a></p>
464 ··</div>465 ··</div>
465 ··<div>466 ··<div>
466 ····<h4>Next·topic</h4>467 ····<h4>Järgmine·teema</h4>
467 ····<p·class="topless"><a·href="generic-date-based.html"468 ····<p·class="topless"><a·href="generic-date-based.html"
468 ··························title="next·chapter">Generic·date·views</a></p>469 ··························title="järgmine·jaotis">Generic·date·views</a></p>
469 ··</div>470 ··</div>
470 <search·id="searchbox"·style="display:·none"·role="search">471 <search·id="searchbox"·style="display:·none"·role="search">
471 ··<h3·id="searchlabel">Quick·search</h3>472 ··<h3·id="searchlabel">Kiirotsing</h3>
472 ····<div·class="searchformwrapper">473 ····<div·class="searchformwrapper">
473 ····<form·class="search"·action="../../search.html"·method="get">474 ····<form·class="search"·action="../../search.html"·method="get">
474 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>475 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
475 ······<input·type="submit"·value="Go"·/>476 ······<input·type="submit"·value="Otsi"·/>
476 ····</form>477 ····</form>
477 ····</div>478 ····</div>
478 </search>479 </search>
479 <script>document.getElementById('searchbox').style.display·=·"block"</script>480 <script>document.getElementById('searchbox').style.display·=·"block"</script>
480 ········</div>481 ········</div>
481 ······</div>482 ······</div>
482 ··············<h3>Last·update:</h3>483 ··············<h3>Last·update:</h3>
483 ··············<p·class="topless">Nov·05,·2024</p>484 ··············<p·class="topless">nov·05,·2024</p>
484 ··········</div>485 ··········</div>
485 ········486 ········
486 ······487 ······
487 ····</div>488 ····</div>
  
488 ····<div·id="ft">489 ····<div·id="ft">
489 ······<div·class="nav">490 ······<div·class="nav">
3.4 KB
html2text {}
Max HTML report size reached
6.71 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Built-in·class-based·views·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Built-in·class-based·views·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Base·views"·href="base.html"·/>15 ····<link·rel="next"·title="Base·views"·href="base.html"·/>
15 ····<link·rel="prev"·title="System·check·framework"·href="../checks.html"·/>16 ····<link·rel="prev"·title="System·check·framework"·href="../checks.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 231, 48 lines modifiedOffset 232, 48 lines modified
231 ······232 ······
232 ········233 ········
233 ··········<div·class="yui-b"·id="sidebar">234 ··········<div·class="yui-b"·id="sidebar">
234 ············235 ············
235 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">236 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
236 ········<div·class="sphinxsidebarwrapper">237 ········<div·class="sphinxsidebarwrapper">
237 ··<div>238 ··<div>
238 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>239 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
239 ····<ul>240 ····<ul>
240 <li><a·class="reference·internal"·href="#">Built-in·class-based·views·API</a><ul>241 <li><a·class="reference·internal"·href="#">Built-in·class-based·views·API</a><ul>
241 <li><a·class="reference·internal"·href="#specification">Specification</a></li>242 <li><a·class="reference·internal"·href="#specification">Specification</a></li>
242 <li><a·class="reference·internal"·href="#base-vs-generic-views">Base·vs·Generic·views</a></li>243 <li><a·class="reference·internal"·href="#base-vs-generic-views">Base·vs·Generic·views</a></li>
243 </ul>244 </ul>
244 </li>245 </li>
245 </ul>246 </ul>
  
246 ··</div>247 ··</div>
247 ··<div>248 ··<div>
248 ····<h4>Previous·topic</h4>249 ····<h4>Eelmine·teema</h4>
249 ····<p·class="topless"><a·href="../checks.html"250 ····<p·class="topless"><a·href="../checks.html"
250 ··························title="previous·chapter">System·check·framework</a></p>251 ··························title="eelmine·jaotis">System·check·framework</a></p>
251 ··</div>252 ··</div>
252 ··<div>253 ··<div>
253 ····<h4>Next·topic</h4>254 ····<h4>Järgmine·teema</h4>
254 ····<p·class="topless"><a·href="base.html"255 ····<p·class="topless"><a·href="base.html"
255 ··························title="next·chapter">Base·views</a></p>256 ··························title="järgmine·jaotis">Base·views</a></p>
256 ··</div>257 ··</div>
257 <search·id="searchbox"·style="display:·none"·role="search">258 <search·id="searchbox"·style="display:·none"·role="search">
258 ··<h3·id="searchlabel">Quick·search</h3>259 ··<h3·id="searchlabel">Kiirotsing</h3>
259 ····<div·class="searchformwrapper">260 ····<div·class="searchformwrapper">
260 ····<form·class="search"·action="../../search.html"·method="get">261 ····<form·class="search"·action="../../search.html"·method="get">
261 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>262 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
262 ······<input·type="submit"·value="Go"·/>263 ······<input·type="submit"·value="Otsi"·/>
263 ····</form>264 ····</form>
264 ····</div>265 ····</div>
265 </search>266 </search>
266 <script>document.getElementById('searchbox').style.display·=·"block"</script>267 <script>document.getElementById('searchbox').style.display·=·"block"</script>
267 ········</div>268 ········</div>
268 ······</div>269 ······</div>
269 ··············<h3>Last·update:</h3>270 ··············<h3>Last·update:</h3>
270 ··············<p·class="topless">Nov·05,·2024</p>271 ··············<p·class="topless">nov·05,·2024</p>
271 ··········</div>272 ··········</div>
272 ········273 ········
273 ······274 ······
274 ····</div>275 ····</div>
  
275 ····<div·id="ft">276 ····<div·id="ft">
276 ······<div·class="nav">277 ······<div·class="nav">
2.43 KB
html2text {}
Max HTML report size reached
81.0 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-date-based.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Date-based·mixins·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Date-based·mixins·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Class-based·generic·views·-·flattened·index"·href="flattened-index.html"·/>15 ····<link·rel="next"·title="Class-based·generic·views·-·flattened·index"·href="flattened-index.html"·/>
15 ····<link·rel="prev"·title="Editing·mixins"·href="mixins-editing.html"·/>16 ····<link·rel="prev"·title="Editing·mixins"·href="mixins-editing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 261 lines modifiedOffset 77, 261 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-class-based-views-mixins-date-based">79 ··········<div·class="yui-g"·id="ref-class-based-views-mixins-date-based">
79 ············80 ············
80 ··<section·id="s-date-based-mixins">81 ··<section·id="s-date-based-mixins">
81 <span·id="date-based-mixins"></span><h1>Date-based·mixins<a·class="headerlink"·href="#date-based-mixins"·title="Link·to·this·heading">¶</a></h1>82 <span·id="date-based-mixins"></span><h1>Date-based·mixins<a·class="headerlink"·href="#date-based-mixins"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·note">83 <div·class="admonition·note">
83 <p·class="admonition-title">Note</p>84 <p·class="admonition-title">rkus</p>
84 <p>All·the·date·formatting·attributes·in·these·mixins·use85 <p>All·the·date·formatting·attributes·in·these·mixins·use
85 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/time.html#time.strftime"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">strftime()</span></code></a>·format·characters.·Do·not·try·to·use·the·format86 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/time.html#time.strftime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">strftime()</span></code></a>·format·characters.·Do·not·try·to·use·the·format
86 characters·from·the·<a·class="reference·internal"·href="../templates/builtins.html#std-templatetag-now"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">now</span></code></a>·template·tag·as·they·are·not·compatible.</p>87 characters·from·the·<a·class="reference·internal"·href="../templates/builtins.html#std-templatetag-now"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">now</span></code></a>·template·tag·as·they·are·not·compatible.</p>
87 </div>88 </div>
88 <section·id="s-yearmixin">89 <section·id="s-yearmixin">
89 <span·id="yearmixin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">YearMixin</span></code><a·class="headerlink"·href="#yearmixin"·title="Link·to·this·heading">¶</a></h2>90 <span·id="yearmixin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">YearMixin</span></code><a·class="headerlink"·href="#yearmixin"·title="Link·to·this·heading">¶</a></h2>
90 <dl·class="py·class">91 <dl·class="py·class">
91 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin">92 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin">
92 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">YearMixin</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L21"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin"·title="Link·to·this·definition">¶</a></dt>93 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">YearMixin</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L21"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin"·title="Link·to·this·definition">¶</a></dt>
93 <dd><p>A·mixin·that·can·be·used·to·retrieve·and·provide·parsing·information·for·a94 <dd><p>A·mixin·that·can·be·used·to·retrieve·and·provide·parsing·information·for·a
94 year·component·of·a·date.</p>95 year·component·of·a·date.</p>
95 <p><strong>Methods·and·Attributes</strong></p>96 <p><strong>Methods·and·Attributes</strong></p>
96 <dl·class="py·attribute">97 <dl·class="py·attribute">
97 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.year_format">98 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.year_format">
98 <span·class="sig-name·descname"><span·class="pre">year_format</span></span><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.year_format"·title="Link·to·this·definition">¶</a></dt>99 <span·class="sig-name·descname"><span·class="pre">year_format</span></span><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.year_format"·title="Link·to·this·definition">¶</a></dt>
99 <dd><p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/time.html#time.strftime"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">strftime()</span></code></a>·format·to·use·when·parsing·the·year.100 <dd><p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/time.html#time.strftime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">strftime()</span></code></a>·format·to·use·when·parsing·the·year.
100 By·default,·this·is·<code·class="docutils·literal·notranslate"><span·class="pre">'%Y'</span></code>.</p>101 By·default,·this·is·<code·class="docutils·literal·notranslate"><span·class="pre">'%Y'</span></code>.</p>
101 </dd></dl>102 </dd></dl>
  
102 <dl·class="py·attribute">103 <dl·class="py·attribute">
103 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.year">104 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.year">
104 <span·class="sig-name·descname"><span·class="pre">year</span></span><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.year"·title="Link·to·this·definition">¶</a></dt>105 <span·class="sig-name·descname"><span·class="pre">year</span></span><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.year"·title="Link·to·this·definition">¶</a></dt>
105 <dd><p><strong>Optional</strong>·The·value·for·the·year,·as·a·string.·By·default,·set·to106 <dd><p><strong>Optional</strong>·The·value·for·the·year,·as·a·string.·By·default,·set·to
106 <code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·which·means·the·year·will·be·determined·using·other·means.</p>107 <code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·which·means·the·year·will·be·determined·using·other·means.</p>
107 </dd></dl>108 </dd></dl>
  
108 <dl·class="py·method">109 <dl·class="py·method">
109 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.get_year_format">110 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.get_year_format">
110 <span·class="sig-name·descname"><span·class="pre">get_year_format</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L27"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.get_year_format"·title="Link·to·this·definition">¶</a></dt>111 <span·class="sig-name·descname"><span·class="pre">get_year_format</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L27"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.get_year_format"·title="Link·to·this·definition">¶</a></dt>
111 <dd><p>Returns·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/time.html#time.strftime"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">strftime()</span></code></a>·format·to·use·when·parsing·the112 <dd><p>Returns·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/time.html#time.strftime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">strftime()</span></code></a>·format·to·use·when·parsing·the
112 year.·Returns·<a·class="reference·internal"·href="#django.views.generic.dates.YearMixin.year_format"·title="django.views.generic.dates.YearMixin.year_format"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">year_format</span></code></a>·by·default.</p>113 year.·Returns·<a·class="reference·internal"·href="#django.views.generic.dates.YearMixin.year_format"·title="django.views.generic.dates.YearMixin.year_format"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">year_format</span></code></a>·by·default.</p>
113 </dd></dl>114 </dd></dl>
  
114 <dl·class="py·method">115 <dl·class="py·method">
115 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.get_year">116 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.get_year">
116 <span·class="sig-name·descname"><span·class="pre">get_year</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L34"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.get_year"·title="Link·to·this·definition">¶</a></dt>117 <span·class="sig-name·descname"><span·class="pre">get_year</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L34"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.get_year"·title="Link·to·this·definition">¶</a></dt>
117 <dd><p>Returns·the·year·for·which·this·view·will·display·data,·as·a·string.118 <dd><p>Returns·the·year·for·which·this·view·will·display·data,·as·a·string.
118 Tries·the·following·sources,·in·order:</p>119 Tries·the·following·sources,·in·order:</p>
119 <ul·class="simple">120 <ul·class="simple">
120 <li><p>The·value·of·the·<a·class="reference·internal"·href="#django.views.generic.dates.YearMixin.year"·title="django.views.generic.dates.YearMixin.year"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">YearMixin.year</span></code></a>·attribute.</p></li>121 <li><p>The·value·of·the·<a·class="reference·internal"·href="#django.views.generic.dates.YearMixin.year"·title="django.views.generic.dates.YearMixin.year"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">YearMixin.year</span></code></a>·attribute.</p></li>
121 <li><p>The·value·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">year</span></code>·argument·captured·in·the·URL·pattern.</p></li>122 <li><p>The·value·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">year</span></code>·argument·captured·in·the·URL·pattern.</p></li>
122 <li><p>The·value·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">year</span></code>·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·query·argument.</p></li>123 <li><p>The·value·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">year</span></code>·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·query·argument.</p></li>
123 </ul>124 </ul>
124 <p>Raises·a·404·if·no·valid·year·specification·can·be·found.</p>125 <p>Raises·a·404·if·no·valid·year·specification·can·be·found.</p>
125 </dd></dl>126 </dd></dl>
  
126 <dl·class="py·method">127 <dl·class="py·method">
127 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.get_next_year">128 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.get_next_year">
128 <span·class="sig-name·descname"><span·class="pre">get_next_year</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">date</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L47"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.get_next_year"·title="Link·to·this·definition">¶</a></dt>129 <span·class="sig-name·descname"><span·class="pre">get_next_year</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">date</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L47"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.get_next_year"·title="Link·to·this·definition">¶</a></dt>
129 <dd><p>Returns·a·date·object·containing·the·first·day·of·the·year·after·the130 <dd><p>Returns·a·date·object·containing·the·first·day·of·the·year·after·the
130 date·provided.·This·function·can·also·return·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·or·raise·an131 date·provided.·This·function·can·also·return·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·or·raise·an
131 <a·class="reference·internal"·href="../../topics/http/views.html#django.http.Http404"·title="django.http.Http404"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Http404</span></code></a>·exception,·depending·on·the·values·of132 <a·class="reference·internal"·href="../../topics/http/views.html#django.http.Http404"·title="django.http.Http404"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Http404</span></code></a>·exception,·depending·on·the·values·of
132 <a·class="reference·internal"·href="#django.views.generic.dates.BaseDateListView.allow_empty"·title="django.views.generic.dates.BaseDateListView.allow_empty"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_empty</span></code></a>·and133 <a·class="reference·internal"·href="#django.views.generic.dates.BaseDateListView.allow_empty"·title="django.views.generic.dates.BaseDateListView.allow_empty"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_empty</span></code></a>·and
133 <a·class="reference·internal"·href="#django.views.generic.dates.DateMixin.allow_future"·title="django.views.generic.dates.DateMixin.allow_future"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_future</span></code></a>.</p>134 <a·class="reference·internal"·href="#django.views.generic.dates.DateMixin.allow_future"·title="django.views.generic.dates.DateMixin.allow_future"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_future</span></code></a>.</p>
134 </dd></dl>135 </dd></dl>
  
135 <dl·class="py·method">136 <dl·class="py·method">
136 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.get_previous_year">137 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.YearMixin.get_previous_year">
137 <span·class="sig-name·descname"><span·class="pre">get_previous_year</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">date</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L51"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.get_previous_year"·title="Link·to·this·definition">¶</a></dt>138 <span·class="sig-name·descname"><span·class="pre">get_previous_year</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">date</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L51"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.YearMixin.get_previous_year"·title="Link·to·this·definition">¶</a></dt>
138 <dd><p>Returns·a·date·object·containing·the·first·day·of·the·year·before·the139 <dd><p>Returns·a·date·object·containing·the·first·day·of·the·year·before·the
139 date·provided.·This·function·can·also·return·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·or·raise·an140 date·provided.·This·function·can·also·return·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·or·raise·an
140 <a·class="reference·internal"·href="../../topics/http/views.html#django.http.Http404"·title="django.http.Http404"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Http404</span></code></a>·exception,·depending·on·the·values·of141 <a·class="reference·internal"·href="../../topics/http/views.html#django.http.Http404"·title="django.http.Http404"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Http404</span></code></a>·exception,·depending·on·the·values·of
141 <a·class="reference·internal"·href="#django.views.generic.dates.BaseDateListView.allow_empty"·title="django.views.generic.dates.BaseDateListView.allow_empty"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_empty</span></code></a>·and142 <a·class="reference·internal"·href="#django.views.generic.dates.BaseDateListView.allow_empty"·title="django.views.generic.dates.BaseDateListView.allow_empty"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_empty</span></code></a>·and
142 <a·class="reference·internal"·href="#django.views.generic.dates.DateMixin.allow_future"·title="django.views.generic.dates.DateMixin.allow_future"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_future</span></code></a>.</p>143 <a·class="reference·internal"·href="#django.views.generic.dates.DateMixin.allow_future"·title="django.views.generic.dates.DateMixin.allow_future"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allow_future</span></code></a>.</p>
143 </dd></dl>144 </dd></dl>
  
144 </dd></dl>145 </dd></dl>
  
145 </section>146 </section>
146 <section·id="s-monthmixin">147 <section·id="s-monthmixin">
147 <span·id="monthmixin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">MonthMixin</span></code><a·class="headerlink"·href="#monthmixin"·title="Link·to·this·heading">¶</a></h2>148 <span·id="monthmixin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">MonthMixin</span></code><a·class="headerlink"·href="#monthmixin"·title="Link·to·this·heading">¶</a></h2>
148 <dl·class="py·class">149 <dl·class="py·class">
149 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.MonthMixin">150 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.MonthMixin">
150 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MonthMixin</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L71"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.MonthMixin"·title="Link·to·this·definition">¶</a></dt>151 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MonthMixin</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/generic/dates.py#L71"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.generic.dates.MonthMixin"·title="Link·to·this·definition">¶</a></dt>
151 <dd><p>A·mixin·that·can·be·used·to·retrieve·and·provide·parsing·information·for·a152 <dd><p>A·mixin·that·can·be·used·to·retrieve·and·provide·parsing·information·for·a
152 month·component·of·a·date.</p>153 month·component·of·a·date.</p>
153 <p><strong>Methods·and·Attributes</strong></p>154 <p><strong>Methods·and·Attributes</strong></p>
154 <dl·class="py·attribute">155 <dl·class="py·attribute">
155 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.MonthMixin.month_format">156 <dt·class="sig·sig-object·py"·id="django.views.generic.dates.MonthMixin.month_format">
Max diff block lines reached; 49263/65253 bytes (75.50%) of diff not shown.
17.1 KB
html2text {}
Max HTML report size reached
14.9 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-editing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Editing·mixins·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Editing·mixins·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Date-based·mixins"·href="mixins-date-based.html"·/>15 ····<link·rel="next"·title="Date-based·mixins"·href="mixins-date-based.html"·/>
15 ····<link·rel="prev"·title="Multiple·object·mixins"·href="mixins-multiple-object.html"·/>16 ····<link·rel="prev"·title="Multiple·object·mixins"·href="mixins-multiple-object.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 83, 15 lines modifiedOffset 84, 15 lines modified
83 <ul·class="simple">84 <ul·class="simple">
84 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.FormMixin"·title="django.views.generic.edit.FormMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.FormMixin</span></code></a></p></li>85 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.FormMixin"·title="django.views.generic.edit.FormMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.FormMixin</span></code></a></p></li>
85 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.ModelFormMixin"·title="django.views.generic.edit.ModelFormMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.ModelFormMixin</span></code></a></p></li>86 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.ModelFormMixin"·title="django.views.generic.edit.ModelFormMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.ModelFormMixin</span></code></a></p></li>
86 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.ProcessFormView"·title="django.views.generic.edit.ProcessFormView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.ProcessFormView</span></code></a></p></li>87 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.ProcessFormView"·title="django.views.generic.edit.ProcessFormView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.ProcessFormView</span></code></a></p></li>
87 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.DeletionMixin"·title="django.views.generic.edit.DeletionMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.DeletionMixin</span></code></a></p></li>88 <li><p><a·class="reference·internal"·href="#django.views.generic.edit.DeletionMixin"·title="django.views.generic.edit.DeletionMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.edit.DeletionMixin</span></code></a></p></li>
88 </ul>89 </ul>
89 <div·class="admonition·note">90 <div·class="admonition·note">
90 <p·class="admonition-title">Note</p>91 <p·class="admonition-title">rkus</p>
91 <p>Examples·of·how·these·are·combined·into·editing·views·can·be·found·at92 <p>Examples·of·how·these·are·combined·into·editing·views·can·be·found·at
92 the·documentation·on·<a·class="reference·internal"·href="generic-editing.html"><span·class="doc">Generic·editing·views</span></a>.</p>93 the·documentation·on·<a·class="reference·internal"·href="generic-editing.html"><span·class="doc">Generic·editing·views</span></a>.</p>
93 </div>94 </div>
94 <section·id="s-formmixin">95 <section·id="s-formmixin">
95 <span·id="formmixin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">FormMixin</span></code><a·class="headerlink"·href="#formmixin"·title="Link·to·this·heading">¶</a></h2>96 <span·id="formmixin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">FormMixin</span></code><a·class="headerlink"·href="#formmixin"·title="Link·to·this·heading">¶</a></h2>
96 <dl·class="py·class">97 <dl·class="py·class">
97 <dt·class="sig·sig-object·py"·id="django.views.generic.edit.FormMixin">98 <dt·class="sig·sig-object·py"·id="django.views.generic.edit.FormMixin">
Offset 185, 15 lines modifiedOffset 186, 15 lines modified
185 <dd><p>Renders·a·response,·providing·the·invalid·form·as·context.</p>186 <dd><p>Renders·a·response,·providing·the·invalid·form·as·context.</p>
186 </dd></dl>187 </dd></dl>
  
187 <dl·class="py·method">188 <dl·class="py·method">
188 <dt·class="sig·sig-object·py"·id="django.views.generic.edit.FormMixin.get_context_data">189 <dt·class="sig·sig-object·py"·id="django.views.generic.edit.FormMixin.get_context_data">
189 <span·class="sig-name·descname"><span·class="pre">get_context_data</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="headerlink"·href="#django.views.generic.edit.FormMixin.get_context_data"·title="Link·to·this·definition">¶</a></dt>190 <span·class="sig-name·descname"><span·class="pre">get_context_data</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="headerlink"·href="#django.views.generic.edit.FormMixin.get_context_data"·title="Link·to·this·definition">¶</a></dt>
190 <dd><p>Calls·<a·class="reference·internal"·href="#django.views.generic.edit.FormMixin.get_form"·title="django.views.generic.edit.FormMixin.get_form"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_form()</span></code></a>·and·adds·the·result·to·the·context·data·with·the191 <dd><p>Calls·<a·class="reference·internal"·href="#django.views.generic.edit.FormMixin.get_form"·title="django.views.generic.edit.FormMixin.get_form"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_form()</span></code></a>·and·adds·the·result·to·the·context·data·with·the
191 name·form.</p>192 name·form.</p>
192 </dd></dl>193 </dd></dl>
  
193 </dd></dl>194 </dd></dl>
  
194 </section>195 </section>
195 <section·id="s-modelformmixin">196 <section·id="s-modelformmixin">
196 <span·id="modelformmixin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ModelFormMixin</span></code><a·class="headerlink"·href="#modelformmixin"·title="Link·to·this·heading">¶</a></h2>197 <span·id="modelformmixin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ModelFormMixin</span></code><a·class="headerlink"·href="#modelformmixin"·title="Link·to·this·heading">¶</a></h2>
Offset 296, 16 lines modifiedOffset 297, 16 lines modified
296 <section·id="s-processformview">297 <section·id="s-processformview">
297 <span·id="processformview"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ProcessFormView</span></code><a·class="headerlink"·href="#processformview"·title="Link·to·this·heading">¶</a></h2>298 <span·id="processformview"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ProcessFormView</span></code><a·class="headerlink"·href="#processformview"·title="Link·to·this·heading">¶</a></h2>
298 <dl·class="py·class">299 <dl·class="py·class">
299 <dt·class="sig·sig-object·py"·id="django.views.generic.edit.ProcessFormView">300 <dt·class="sig·sig-object·py"·id="django.views.generic.edit.ProcessFormView">
300 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">django.views.generic.edit.</span></span><span·class="sig-name·descname"><span·class="pre">ProcessFormView</span></span><a·class="headerlink"·href="#django.views.generic.edit.ProcessFormView"·title="Link·to·this·definition">¶</a></dt>301 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">django.views.generic.edit.</span></span><span·class="sig-name·descname"><span·class="pre">ProcessFormView</span></span><a·class="headerlink"·href="#django.views.generic.edit.ProcessFormView"·title="Link·to·this·definition">¶</a></dt>
301 <dd><p>A·mixin·that·provides·basic·HTTP·GET·and·POST·workflow.</p>302 <dd><p>A·mixin·that·provides·basic·HTTP·GET·and·POST·workflow.</p>
302 <div·class="admonition·note">303 <div·class="admonition·note">
303 <p·class="admonition-title">Note</p>304 <p·class="admonition-title">rkus</p>
304 <p>This·is·named·ProcessFormView·and·inherits·directly·from305 <p>This·is·named·ProcessFormView·and·inherits·directly·from
305 <a·class="reference·internal"·href="base.html#django.views.generic.base.View"·title="django.views.generic.base.View"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.base.View</span></code></a>,·but·breaks·if·used306 <a·class="reference·internal"·href="base.html#django.views.generic.base.View"·title="django.views.generic.base.View"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.base.View</span></code></a>,·but·breaks·if·used
306 independently,·so·it·is·more·of·a·mixin.</p>307 independently,·so·it·is·more·of·a·mixin.</p>
307 </div>308 </div>
308 <p><strong>Extends</strong></p>309 <p><strong>Extends</strong></p>
309 <ul·class="simple">310 <ul·class="simple">
310 <li><p><a·class="reference·internal"·href="base.html#django.views.generic.base.View"·title="django.views.generic.base.View"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.base.View</span></code></a></p></li>311 <li><p><a·class="reference·internal"·href="base.html#django.views.generic.base.View"·title="django.views.generic.base.View"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.generic.base.View</span></code></a></p></li>
311 </ul>312 </ul>
Offset 380, 50 lines modifiedOffset 381, 50 lines modified
380 ······381 ······
381 ········382 ········
382 ··········<div·class="yui-b"·id="sidebar">383 ··········<div·class="yui-b"·id="sidebar">
383 ············384 ············
384 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">385 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
385 ········<div·class="sphinxsidebarwrapper">386 ········<div·class="sphinxsidebarwrapper">
386 ··<div>387 ··<div>
387 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>388 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
388 ····<ul>389 ····<ul>
389 <li><a·class="reference·internal"·href="#">Editing·mixins</a><ul>390 <li><a·class="reference·internal"·href="#">Editing·mixins</a><ul>
390 <li><a·class="reference·internal"·href="#formmixin"><code·class="docutils·literal·notranslate"><span·class="pre">FormMixin</span></code></a></li>391 <li><a·class="reference·internal"·href="#formmixin"><code·class="docutils·literal·notranslate"><span·class="pre">FormMixin</span></code></a></li>
391 <li><a·class="reference·internal"·href="#modelformmixin"><code·class="docutils·literal·notranslate"><span·class="pre">ModelFormMixin</span></code></a></li>392 <li><a·class="reference·internal"·href="#modelformmixin"><code·class="docutils·literal·notranslate"><span·class="pre">ModelFormMixin</span></code></a></li>
392 <li><a·class="reference·internal"·href="#processformview"><code·class="docutils·literal·notranslate"><span·class="pre">ProcessFormView</span></code></a></li>393 <li><a·class="reference·internal"·href="#processformview"><code·class="docutils·literal·notranslate"><span·class="pre">ProcessFormView</span></code></a></li>
393 <li><a·class="reference·internal"·href="#deletionmixin"><code·class="docutils·literal·notranslate"><span·class="pre">DeletionMixin</span></code></a></li>394 <li><a·class="reference·internal"·href="#deletionmixin"><code·class="docutils·literal·notranslate"><span·class="pre">DeletionMixin</span></code></a></li>
394 </ul>395 </ul>
395 </li>396 </li>
396 </ul>397 </ul>
  
397 ··</div>398 ··</div>
398 ··<div>399 ··<div>
399 ····<h4>Previous·topic</h4>400 ····<h4>Eelmine·teema</h4>
400 ····<p·class="topless"><a·href="mixins-multiple-object.html"401 ····<p·class="topless"><a·href="mixins-multiple-object.html"
401 ··························title="previous·chapter">Multiple·object·mixins</a></p>402 ··························title="eelmine·jaotis">Multiple·object·mixins</a></p>
402 ··</div>403 ··</div>
403 ··<div>404 ··<div>
404 ····<h4>Next·topic</h4>405 ····<h4>Järgmine·teema</h4>
405 ····<p·class="topless"><a·href="mixins-date-based.html"406 ····<p·class="topless"><a·href="mixins-date-based.html"
406 ··························title="next·chapter">Date-based·mixins</a></p>407 ··························title="järgmine·jaotis">Date-based·mixins</a></p>
407 ··</div>408 ··</div>
408 <search·id="searchbox"·style="display:·none"·role="search">409 <search·id="searchbox"·style="display:·none"·role="search">
409 ··<h3·id="searchlabel">Quick·search</h3>410 ··<h3·id="searchlabel">Kiirotsing</h3>
410 ····<div·class="searchformwrapper">411 ····<div·class="searchformwrapper">
411 ····<form·class="search"·action="../../search.html"·method="get">412 ····<form·class="search"·action="../../search.html"·method="get">
412 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>413 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
413 ······<input·type="submit"·value="Go"·/>414 ······<input·type="submit"·value="Otsi"·/>
414 ····</form>415 ····</form>
415 ····</div>416 ····</div>
416 </search>417 </search>
Max diff block lines reached; 263/9386 bytes (2.80%) of diff not shown.
5.57 KB
html2text {}
Max HTML report size reached
15.0 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-multiple-object.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Multiple·object·mixins·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Multiple·object·mixins·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Editing·mixins"·href="mixins-editing.html"·/>15 ····<link·rel="next"·title="Editing·mixins"·href="mixins-editing.html"·/>
15 ····<link·rel="prev"·title="Single·object·mixins"·href="mixins-single-object.html"·/>16 ····<link·rel="prev"·title="Single·object·mixins"·href="mixins-single-object.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 138, 15 lines modifiedOffset 139, 15 lines modified
  
138 <dl·class="py·attribute">139 <dl·class="py·attribute">
139 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.queryset">140 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.queryset">
140 <span·class="sig-name·descname"><span·class="pre">queryset</span></span><a·class="headerlink"·href="#django.views.generic.list.MultipleObjectMixin.queryset"·title="Link·to·this·definition">¶</a></dt>141 <span·class="sig-name·descname"><span·class="pre">queryset</span></span><a·class="headerlink"·href="#django.views.generic.list.MultipleObjectMixin.queryset"·title="Link·to·this·definition">¶</a></dt>
141 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·that·represents·the·objects.·If·provided,·the·value·of142 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·that·represents·the·objects.·If·provided,·the·value·of
142 <code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·supersedes·the·value·provided·for·<a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.model"·title="django.views.generic.list.MultipleObjectMixin.model"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">model</span></code></a>.</p>143 <code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·supersedes·the·value·provided·for·<a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.model"·title="django.views.generic.list.MultipleObjectMixin.model"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">model</span></code></a>.</p>
143 <div·class="admonition·warning">144 <div·class="admonition·warning">
144 <p·class="admonition-title">Warning</p>145 <p·class="admonition-title">Hoiatus</p>
145 <p><code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·is·a·class·attribute·with·a·<em>mutable</em>·value·so·care146 <p><code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·is·a·class·attribute·with·a·<em>mutable</em>·value·so·care
146 must·be·taken·when·using·it·directly.·Before·using·it,·either·call147 must·be·taken·when·using·it·directly.·Before·using·it,·either·call
147 its·<a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.all"·title="django.db.models.query.QuerySet.all"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">all()</span></code></a>·method·or148 its·<a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.all"·title="django.db.models.query.QuerySet.all"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">all()</span></code></a>·method·or
148 retrieve·it·with·<a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.get_queryset"·title="django.views.generic.list.MultipleObjectMixin.get_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code></a>·which·takes·care·of·the149 retrieve·it·with·<a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.get_queryset"·title="django.views.generic.list.MultipleObjectMixin.get_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code></a>·which·takes·care·of·the
149 cloning·behind·the·scenes.</p>150 cloning·behind·the·scenes.</p>
150 </div>151 </div>
151 </dd></dl>152 </dd></dl>
Offset 167, 15 lines modifiedOffset 168, 15 lines modified
167 expect·either·a·<code·class="docutils·literal·notranslate"><span·class="pre">page</span></code>·query·string·parameter·(via·<code·class="docutils·literal·notranslate"><span·class="pre">request.GET</span></code>)168 expect·either·a·<code·class="docutils·literal·notranslate"><span·class="pre">page</span></code>·query·string·parameter·(via·<code·class="docutils·literal·notranslate"><span·class="pre">request.GET</span></code>)
168 or·a·<code·class="docutils·literal·notranslate"><span·class="pre">page</span></code>·variable·specified·in·the·URLconf.</p>169 or·a·<code·class="docutils·literal·notranslate"><span·class="pre">page</span></code>·variable·specified·in·the·URLconf.</p>
169 </dd></dl>170 </dd></dl>
  
170 <dl·class="py·attribute">171 <dl·class="py·attribute">
171 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.paginate_orphans">172 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.paginate_orphans">
172 <span·class="sig-name·descname"><span·class="pre">paginate_orphans</span></span><a·class="headerlink"·href="#django.views.generic.list.MultipleObjectMixin.paginate_orphans"·title="Link·to·this·definition">¶</a></dt>173 <span·class="sig-name·descname"><span·class="pre">paginate_orphans</span></span><a·class="headerlink"·href="#django.views.generic.list.MultipleObjectMixin.paginate_orphans"·title="Link·to·this·definition">¶</a></dt>
173 <dd><p>An·integer·specifying·the·number·of·overflow·objects·the·last·page174 <dd><p>An·integer·specifying·the·number·of·overflow·objects·the·last·page
174 can·contain.·This·extends·the·<a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.paginate_by"·title="django.views.generic.list.MultipleObjectMixin.paginate_by"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">paginate_by</span></code></a>·limit·on·the·last175 can·contain.·This·extends·the·<a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.paginate_by"·title="django.views.generic.list.MultipleObjectMixin.paginate_by"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">paginate_by</span></code></a>·limit·on·the·last
175 page·by·up·to·<code·class="docutils·literal·notranslate"><span·class="pre">paginate_orphans</span></code>,·in·order·to·keep·the·last·page·from176 page·by·up·to·<code·class="docutils·literal·notranslate"><span·class="pre">paginate_orphans</span></code>,·in·order·to·keep·the·last·page·from
176 having·a·very·small·number·of·objects.</p>177 having·a·very·small·number·of·objects.</p>
177 </dd></dl>178 </dd></dl>
  
178 <dl·class="py·attribute">179 <dl·class="py·attribute">
179 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.page_kwarg">180 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.page_kwarg">
Offset 241, 15 lines modifiedOffset 242, 15 lines modified
241 <dd><p>Returns·an·instance·of·the·paginator·to·use·for·this·view.·By·default,242 <dd><p>Returns·an·instance·of·the·paginator·to·use·for·this·view.·By·default,
242 instantiates·an·instance·of·<a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.paginator_class"·title="django.views.generic.list.MultipleObjectMixin.paginator_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">paginator_class</span></code></a>.</p>243 instantiates·an·instance·of·<a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.paginator_class"·title="django.views.generic.list.MultipleObjectMixin.paginator_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">paginator_class</span></code></a>.</p>
243 </dd></dl>244 </dd></dl>
  
244 <dl·class="py·method">245 <dl·class="py·method">
245 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.get_paginate_orphans">246 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.get_paginate_orphans">
246 <span·class="sig-name·descname"><span·class="pre">get_paginate_orphans</span></span>()<a·class="headerlink"·href="#django.views.generic.list.MultipleObjectMixin.get_paginate_orphans"·title="Link·to·this·definition">¶</a></dt>247 <span·class="sig-name·descname"><span·class="pre">get_paginate_orphans</span></span>()<a·class="headerlink"·href="#django.views.generic.list.MultipleObjectMixin.get_paginate_orphans"·title="Link·to·this·definition">¶</a></dt>
247 <dd><p>An·integer·specifying·the·number·of·overflow·objects·the·last·page248 <dd><p>An·integer·specifying·the·number·of·overflow·objects·the·last·page
248 can·contain.·By·default·this·returns·the·value·of249 can·contain.·By·default·this·returns·the·value·of
249 <a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.paginate_orphans"·title="django.views.generic.list.MultipleObjectMixin.paginate_orphans"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">paginate_orphans</span></code></a>.</p>250 <a·class="reference·internal"·href="#django.views.generic.list.MultipleObjectMixin.paginate_orphans"·title="django.views.generic.list.MultipleObjectMixin.paginate_orphans"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">paginate_orphans</span></code></a>.</p>
250 </dd></dl>251 </dd></dl>
  
251 <dl·class="py·method">252 <dl·class="py·method">
252 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.get_allow_empty">253 <dt·class="sig·sig-object·py"·id="django.views.generic.list.MultipleObjectMixin.get_allow_empty">
253 <span·class="sig-name·descname"><span·class="pre">get_allow_empty</span></span>()<a·class="headerlink"·href="#django.views.generic.list.MultipleObjectMixin.get_allow_empty"·title="Link·to·this·definition">¶</a></dt>254 <span·class="sig-name·descname"><span·class="pre">get_allow_empty</span></span>()<a·class="headerlink"·href="#django.views.generic.list.MultipleObjectMixin.get_allow_empty"·title="Link·to·this·definition">¶</a></dt>
Offset 341, 48 lines modifiedOffset 342, 48 lines modified
341 ······342 ······
342 ········343 ········
343 ··········<div·class="yui-b"·id="sidebar">344 ··········<div·class="yui-b"·id="sidebar">
344 ············345 ············
345 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">346 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
346 ········<div·class="sphinxsidebarwrapper">347 ········<div·class="sphinxsidebarwrapper">
347 ··<div>348 ··<div>
348 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>349 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
349 ····<ul>350 ····<ul>
350 <li><a·class="reference·internal"·href="#">Multiple·object·mixins</a><ul>351 <li><a·class="reference·internal"·href="#">Multiple·object·mixins</a><ul>
351 <li><a·class="reference·internal"·href="#multipleobjectmixin"><code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectMixin</span></code></a></li>352 <li><a·class="reference·internal"·href="#multipleobjectmixin"><code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectMixin</span></code></a></li>
352 <li><a·class="reference·internal"·href="#multipleobjecttemplateresponsemixin"><code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectTemplateResponseMixin</span></code></a></li>353 <li><a·class="reference·internal"·href="#multipleobjecttemplateresponsemixin"><code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectTemplateResponseMixin</span></code></a></li>
353 </ul>354 </ul>
354 </li>355 </li>
355 </ul>356 </ul>
  
356 ··</div>357 ··</div>
357 ··<div>358 ··<div>
358 ····<h4>Previous·topic</h4>359 ····<h4>Eelmine·teema</h4>
359 ····<p·class="topless"><a·href="mixins-single-object.html"360 ····<p·class="topless"><a·href="mixins-single-object.html"
360 ··························title="previous·chapter">Single·object·mixins</a></p>361 ··························title="eelmine·jaotis">Single·object·mixins</a></p>
361 ··</div>362 ··</div>
362 ··<div>363 ··<div>
363 ····<h4>Next·topic</h4>364 ····<h4>Järgmine·teema</h4>
364 ····<p·class="topless"><a·href="mixins-editing.html"365 ····<p·class="topless"><a·href="mixins-editing.html"
365 ··························title="next·chapter">Editing·mixins</a></p>366 ··························title="järgmine·jaotis">Editing·mixins</a></p>
366 ··</div>367 ··</div>
367 <search·id="searchbox"·style="display:·none"·role="search">368 <search·id="searchbox"·style="display:·none"·role="search">
368 ··<h3·id="searchlabel">Quick·search</h3>369 ··<h3·id="searchlabel">Kiirotsing</h3>
369 ····<div·class="searchformwrapper">370 ····<div·class="searchformwrapper">
370 ····<form·class="search"·action="../../search.html"·method="get">371 ····<form·class="search"·action="../../search.html"·method="get">
371 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>372 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
372 ······<input·type="submit"·value="Go"·/>373 ······<input·type="submit"·value="Otsi"·/>
373 ····</form>374 ····</form>
374 ····</div>375 ····</div>
375 </search>376 </search>
376 <script>document.getElementById('searchbox').style.display·=·"block"</script>377 <script>document.getElementById('searchbox').style.display·=·"block"</script>
377 ········</div>378 ········</div>
378 ······</div>379 ······</div>
Max diff block lines reached; 196/9419 bytes (2.08%) of diff not shown.
5.64 KB
html2text {}
Max HTML report size reached
6.82 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-simple.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Simple·mixins·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Simple·mixins·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Single·object·mixins"·href="mixins-single-object.html"·/>15 ····<link·rel="next"·title="Single·object·mixins"·href="mixins-single-object.html"·/>
15 ····<link·rel="prev"·title="Class-based·views·mixins"·href="mixins.html"·/>16 ····<link·rel="prev"·title="Class-based·views·mixins"·href="mixins.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 204, 48 lines modifiedOffset 205, 48 lines modified
204 ······205 ······
205 ········206 ········
206 ··········<div·class="yui-b"·id="sidebar">207 ··········<div·class="yui-b"·id="sidebar">
207 ············208 ············
208 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">209 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
209 ········<div·class="sphinxsidebarwrapper">210 ········<div·class="sphinxsidebarwrapper">
210 ··<div>211 ··<div>
211 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>212 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
212 ····<ul>213 ····<ul>
213 <li><a·class="reference·internal"·href="#">Simple·mixins</a><ul>214 <li><a·class="reference·internal"·href="#">Simple·mixins</a><ul>
214 <li><a·class="reference·internal"·href="#contextmixin"><code·class="docutils·literal·notranslate"><span·class="pre">ContextMixin</span></code></a></li>215 <li><a·class="reference·internal"·href="#contextmixin"><code·class="docutils·literal·notranslate"><span·class="pre">ContextMixin</span></code></a></li>
215 <li><a·class="reference·internal"·href="#templateresponsemixin"><code·class="docutils·literal·notranslate"><span·class="pre">TemplateResponseMixin</span></code></a></li>216 <li><a·class="reference·internal"·href="#templateresponsemixin"><code·class="docutils·literal·notranslate"><span·class="pre">TemplateResponseMixin</span></code></a></li>
216 </ul>217 </ul>
217 </li>218 </li>
218 </ul>219 </ul>
  
219 ··</div>220 ··</div>
220 ··<div>221 ··<div>
221 ····<h4>Previous·topic</h4>222 ····<h4>Eelmine·teema</h4>
222 ····<p·class="topless"><a·href="mixins.html"223 ····<p·class="topless"><a·href="mixins.html"
223 ··························title="previous·chapter">Class-based·views·mixins</a></p>224 ··························title="eelmine·jaotis">Class-based·views·mixins</a></p>
224 ··</div>225 ··</div>
225 ··<div>226 ··<div>
226 ····<h4>Next·topic</h4>227 ····<h4>Järgmine·teema</h4>
227 ····<p·class="topless"><a·href="mixins-single-object.html"228 ····<p·class="topless"><a·href="mixins-single-object.html"
228 ··························title="next·chapter">Single·object·mixins</a></p>229 ··························title="järgmine·jaotis">Single·object·mixins</a></p>
229 ··</div>230 ··</div>
230 <search·id="searchbox"·style="display:·none"·role="search">231 <search·id="searchbox"·style="display:·none"·role="search">
231 ··<h3·id="searchlabel">Quick·search</h3>232 ··<h3·id="searchlabel">Kiirotsing</h3>
232 ····<div·class="searchformwrapper">233 ····<div·class="searchformwrapper">
233 ····<form·class="search"·action="../../search.html"·method="get">234 ····<form·class="search"·action="../../search.html"·method="get">
234 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>235 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
235 ······<input·type="submit"·value="Go"·/>236 ······<input·type="submit"·value="Otsi"·/>
236 ····</form>237 ····</form>
237 ····</div>238 ····</div>
238 </search>239 </search>
239 <script>document.getElementById('searchbox').style.display·=·"block"</script>240 <script>document.getElementById('searchbox').style.display·=·"block"</script>
240 ········</div>241 ········</div>
241 ······</div>242 ······</div>
242 ··············<h3>Last·update:</h3>243 ··············<h3>Last·update:</h3>
243 ··············<p·class="topless">Nov·05,·2024</p>244 ··············<p·class="topless">nov·05,·2024</p>
244 ··········</div>245 ··········</div>
245 ········246 ········
246 ······247 ······
247 ····</div>248 ····</div>
  
248 ····<div·id="ft">249 ····<div·id="ft">
249 ······<div·class="nav">250 ······<div·class="nav">
2.38 KB
html2text {}
Max HTML report size reached
9.66 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins-single-object.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Single·object·mixins·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Single·object·mixins·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Multiple·object·mixins"·href="mixins-multiple-object.html"·/>15 ····<link·rel="next"·title="Multiple·object·mixins"·href="mixins-multiple-object.html"·/>
15 ····<link·rel="prev"·title="Simple·mixins"·href="mixins-simple.html"·/>16 ····<link·rel="prev"·title="Simple·mixins"·href="mixins-simple.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 15 lines modifiedOffset 99, 15 lines modified
  
98 <dl·class="py·attribute">99 <dl·class="py·attribute">
99 <dt·class="sig·sig-object·py"·id="django.views.generic.detail.SingleObjectMixin.queryset">100 <dt·class="sig·sig-object·py"·id="django.views.generic.detail.SingleObjectMixin.queryset">
100 <span·class="sig-name·descname"><span·class="pre">queryset</span></span><a·class="headerlink"·href="#django.views.generic.detail.SingleObjectMixin.queryset"·title="Link·to·this·definition">¶</a></dt>101 <span·class="sig-name·descname"><span·class="pre">queryset</span></span><a·class="headerlink"·href="#django.views.generic.detail.SingleObjectMixin.queryset"·title="Link·to·this·definition">¶</a></dt>
101 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·that·represents·the·objects.·If·provided,·the·value·of102 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·that·represents·the·objects.·If·provided,·the·value·of
102 <code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·supersedes·the·value·provided·for·<a·class="reference·internal"·href="#django.views.generic.detail.SingleObjectMixin.model"·title="django.views.generic.detail.SingleObjectMixin.model"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">model</span></code></a>.</p>103 <code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·supersedes·the·value·provided·for·<a·class="reference·internal"·href="#django.views.generic.detail.SingleObjectMixin.model"·title="django.views.generic.detail.SingleObjectMixin.model"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">model</span></code></a>.</p>
103 <div·class="admonition·warning">104 <div·class="admonition·warning">
104 <p·class="admonition-title">Warning</p>105 <p·class="admonition-title">Hoiatus</p>
105 <p><code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·is·a·class·attribute·with·a·<em>mutable</em>·value·so·care106 <p><code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·is·a·class·attribute·with·a·<em>mutable</em>·value·so·care
106 must·be·taken·when·using·it·directly.·Before·using·it,·either·call107 must·be·taken·when·using·it·directly.·Before·using·it,·either·call
107 its·<a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.all"·title="django.db.models.query.QuerySet.all"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">all()</span></code></a>·method·or108 its·<a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.all"·title="django.db.models.query.QuerySet.all"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">all()</span></code></a>·method·or
108 retrieve·it·with·<a·class="reference·internal"·href="#django.views.generic.detail.SingleObjectMixin.get_queryset"·title="django.views.generic.detail.SingleObjectMixin.get_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code></a>·which·takes·care·of·the109 retrieve·it·with·<a·class="reference·internal"·href="#django.views.generic.detail.SingleObjectMixin.get_queryset"·title="django.views.generic.detail.SingleObjectMixin.get_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code></a>·which·takes·care·of·the
109 cloning·behind·the·scenes.</p>110 cloning·behind·the·scenes.</p>
110 </div>111 </div>
111 </dd></dl>112 </dd></dl>
Offset 283, 48 lines modifiedOffset 284, 48 lines modified
283 ······284 ······
284 ········285 ········
285 ··········<div·class="yui-b"·id="sidebar">286 ··········<div·class="yui-b"·id="sidebar">
286 ············287 ············
287 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">288 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
288 ········<div·class="sphinxsidebarwrapper">289 ········<div·class="sphinxsidebarwrapper">
289 ··<div>290 ··<div>
290 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>291 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
291 ····<ul>292 ····<ul>
292 <li><a·class="reference·internal"·href="#">Single·object·mixins</a><ul>293 <li><a·class="reference·internal"·href="#">Single·object·mixins</a><ul>
293 <li><a·class="reference·internal"·href="#singleobjectmixin"><code·class="docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code></a></li>294 <li><a·class="reference·internal"·href="#singleobjectmixin"><code·class="docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code></a></li>
294 <li><a·class="reference·internal"·href="#singleobjecttemplateresponsemixin"><code·class="docutils·literal·notranslate"><span·class="pre">SingleObjectTemplateResponseMixin</span></code></a></li>295 <li><a·class="reference·internal"·href="#singleobjecttemplateresponsemixin"><code·class="docutils·literal·notranslate"><span·class="pre">SingleObjectTemplateResponseMixin</span></code></a></li>
295 </ul>296 </ul>
296 </li>297 </li>
297 </ul>298 </ul>
  
298 ··</div>299 ··</div>
299 ··<div>300 ··<div>
300 ····<h4>Previous·topic</h4>301 ····<h4>Eelmine·teema</h4>
301 ····<p·class="topless"><a·href="mixins-simple.html"302 ····<p·class="topless"><a·href="mixins-simple.html"
302 ··························title="previous·chapter">Simple·mixins</a></p>303 ··························title="eelmine·jaotis">Simple·mixins</a></p>
303 ··</div>304 ··</div>
304 ··<div>305 ··<div>
305 ····<h4>Next·topic</h4>306 ····<h4>Järgmine·teema</h4>
306 ····<p·class="topless"><a·href="mixins-multiple-object.html"307 ····<p·class="topless"><a·href="mixins-multiple-object.html"
307 ··························title="next·chapter">Multiple·object·mixins</a></p>308 ··························title="järgmine·jaotis">Multiple·object·mixins</a></p>
308 ··</div>309 ··</div>
309 <search·id="searchbox"·style="display:·none"·role="search">310 <search·id="searchbox"·style="display:·none"·role="search">
310 ··<h3·id="searchlabel">Quick·search</h3>311 ··<h3·id="searchlabel">Kiirotsing</h3>
311 ····<div·class="searchformwrapper">312 ····<div·class="searchformwrapper">
312 ····<form·class="search"·action="../../search.html"·method="get">313 ····<form·class="search"·action="../../search.html"·method="get">
313 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>314 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
314 ······<input·type="submit"·value="Go"·/>315 ······<input·type="submit"·value="Otsi"·/>
315 ····</form>316 ····</form>
316 ····</div>317 ····</div>
317 </search>318 </search>
318 <script>document.getElementById('searchbox').style.display·=·"block"</script>319 <script>document.getElementById('searchbox').style.display·=·"block"</script>
319 ········</div>320 ········</div>
320 ······</div>321 ······</div>
321 ··············<h3>Last·update:</h3>322 ··············<h3>Last·update:</h3>
322 ··············<p·class="topless">Nov·05,·2024</p>323 ··············<p·class="topless">nov·05,·2024</p>
323 ··········</div>324 ··········</div>
324 ········325 ········
325 ······326 ······
326 ····</div>327 ····</div>
  
327 ····<div·id="ft">328 ····<div·id="ft">
328 ······<div·class="nav">329 ······<div·class="nav">
3.38 KB
html2text {}
Max HTML report size reached
5.6 KB
./usr/share/doc/python-django-doc/html/ref/class-based-views/mixins.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Class-based·views·mixins·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Class-based·views·mixins·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Simple·mixins"·href="mixins-simple.html"·/>15 ····<link·rel="next"·title="Simple·mixins"·href="mixins-simple.html"·/>
15 ····<link·rel="prev"·title="Generic·date·views"·href="generic-date-based.html"·/>16 ····<link·rel="prev"·title="Generic·date·views"·href="generic-date-based.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 37 lines modifiedOffset 99, 37 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h4>Previous·topic</h4>106 ····<h4>Eelmine·teema</h4>
106 ····<p·class="topless"><a·href="generic-date-based.html"107 ····<p·class="topless"><a·href="generic-date-based.html"
107 ··························title="previous·chapter">Generic·date·views</a></p>108 ··························title="eelmine·jaotis">Generic·date·views</a></p>
108 ··</div>109 ··</div>
109 ··<div>110 ··<div>
110 ····<h4>Next·topic</h4>111 ····<h4>Järgmine·teema</h4>
111 ····<p·class="topless"><a·href="mixins-simple.html"112 ····<p·class="topless"><a·href="mixins-simple.html"
112 ··························title="next·chapter">Simple·mixins</a></p>113 ··························title="järgmine·jaotis">Simple·mixins</a></p>
113 ··</div>114 ··</div>
114 <search·id="searchbox"·style="display:·none"·role="search">115 <search·id="searchbox"·style="display:·none"·role="search">
115 ··<h3·id="searchlabel">Quick·search</h3>116 ··<h3·id="searchlabel">Kiirotsing</h3>
116 ····<div·class="searchformwrapper">117 ····<div·class="searchformwrapper">
117 ····<form·class="search"·action="../../search.html"·method="get">118 ····<form·class="search"·action="../../search.html"·method="get">
118 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>119 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
119 ······<input·type="submit"·value="Go"·/>120 ······<input·type="submit"·value="Otsi"·/>
120 ····</form>121 ····</form>
121 ····</div>122 ····</div>
122 </search>123 </search>
123 <script>document.getElementById('searchbox').style.display·=·"block"</script>124 <script>document.getElementById('searchbox').style.display·=·"block"</script>
124 ········</div>125 ········</div>
125 ······</div>126 ······</div>
126 ··············<h3>Last·update:</h3>127 ··············<h3>Last·update:</h3>
127 ··············<p·class="topless">Nov·05,·2024</p>128 ··············<p·class="topless">nov·05,·2024</p>
128 ··········</div>129 ··········</div>
129 ········130 ········
130 ······131 ······
131 ····</div>132 ····</div>
  
132 ····<div·id="ft">133 ····<div·id="ft">
133 ······<div·class="nav">134 ······<div·class="nav">
1.74 KB
html2text {}
    
Offset 1, 20 lines modifiedOffset 1, 20 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·C\x8Cl\x8la\x8as\x8ss\x8s-\x8-b\x8ba\x8as\x8se\x8ed\x8d·v\x8vi\x8ie\x8ew\x8ws\x8s·m\x8mi\x8ix\x8xi\x8in\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·C\x8Cl\x8la\x8as\x8ss\x8s-\x8-b\x8ba\x8as\x8se\x8ed\x8d·v\x8vi\x8ie\x8ew\x8ws\x8s·m\x8mi\x8ix\x8xi\x8in\x8ns\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 Class-based·views·API·reference.·For·introductory·material,·see·_\x8U_\x8s_\x8i_\x8n_\x8g_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s5 Class-based·views·API·reference.·For·introductory·material,·see·_\x8U_\x8s_\x8i_\x8n_\x8g_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s
6 _\x8w_\x8i_\x8t_\x8h_\x8·_\x8c_\x8l_\x8a_\x8s_\x8s_\x8-_\x8b_\x8a_\x8s_\x8e_\x8d_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s.6 _\x8w_\x8i_\x8t_\x8h_\x8·_\x8c_\x8l_\x8a_\x8s_\x8s_\x8-_\x8b_\x8a_\x8s_\x8e_\x8d_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s.
7 ····*·_\x8S_\x8i_\x8m_\x8p_\x8l_\x8e_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s7 ····*·_\x8S_\x8i_\x8m_\x8p_\x8l_\x8e_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s
8 ····*·_\x8S_\x8i_\x8n_\x8g_\x8l_\x8e_\x8·_\x8o_\x8b_\x8j_\x8e_\x8c_\x8t_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s8 ····*·_\x8S_\x8i_\x8n_\x8g_\x8l_\x8e_\x8·_\x8o_\x8b_\x8j_\x8e_\x8c_\x8t_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s
9 ····*·_\x8M_\x8u_\x8l_\x8t_\x8i_\x8p_\x8l_\x8e_\x8·_\x8o_\x8b_\x8j_\x8e_\x8c_\x8t_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s9 ····*·_\x8M_\x8u_\x8l_\x8t_\x8i_\x8p_\x8l_\x8e_\x8·_\x8o_\x8b_\x8j_\x8e_\x8c_\x8t_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s
10 ····*·_\x8E_\x8d_\x8i_\x8t_\x8i_\x8n_\x8g_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s10 ····*·_\x8E_\x8d_\x8i_\x8t_\x8i_\x8n_\x8g_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s
11 ····*·_\x8D_\x8a_\x8t_\x8e_\x8-_\x8b_\x8a_\x8s_\x8e_\x8d_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s11 ····*·_\x8D_\x8a_\x8t_\x8e_\x8-_\x8b_\x8a_\x8s_\x8e_\x8d_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s
12 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*12 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
13 _\x8G_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8·_\x8d_\x8a_\x8t_\x8e_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s13 _\x8G_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8·_\x8d_\x8a_\x8t_\x8e_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s
14 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*14 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
15 _\x8S_\x8i_\x8m_\x8p_\x8l_\x8e_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s15 _\x8S_\x8i_\x8m_\x8p_\x8l_\x8e_\x8·_\x8m_\x8i_\x8x_\x8i_\x8n_\x8s
16 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*16 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
17 [q···················][Go]17 [q···················][Otsi]
18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
19 Nov·05,·202419 nov·05,·2024
20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
14.2 KB
./usr/share/doc/python-django-doc/html/ref/clickjacking.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Clickjacking·Protection·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Clickjacking·Protection·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="contrib·packages"·href="contrib/index.html"·/>15 ····<link·rel="next"·title="contrib·packages"·href="contrib/index.html"·/>
15 ····<link·rel="prev"·title="Class-based·generic·views·-·flattened·index"·href="class-based-views/flattened-index.html"·/>16 ····<link·rel="prev"·title="Class-based·generic·views·-·flattened·index"·href="class-based-views/flattened-index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 21 lines modifiedOffset 82, 21 lines modified
81 <span·id="s-clickjacking-protection"></span><span·id="module-django.middleware.clickjacking"></span><span·id="clickjacking-protection"></span><h1>Clickjacking·Protection<a·class="headerlink"·href="#module-django.middleware.clickjacking"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-clickjacking-protection"></span><span·id="module-django.middleware.clickjacking"></span><span·id="clickjacking-protection"></span><h1>Clickjacking·Protection<a·class="headerlink"·href="#module-django.middleware.clickjacking"·title="Link·to·this·heading">¶</a></h1>
82 <p>The·clickjacking·middleware·and·decorators·provide·easy-to-use·protection83 <p>The·clickjacking·middleware·and·decorators·provide·easy-to-use·protection
83 against·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Clickjacking">clickjacking</a>.··This·type·of·attack·occurs·when·a·malicious·site84 against·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Clickjacking">clickjacking</a>.··This·type·of·attack·occurs·when·a·malicious·site
84 tricks·a·user·into·clicking·on·a·concealed·element·of·another·site·which·they85 tricks·a·user·into·clicking·on·a·concealed·element·of·another·site·which·they
85 have·loaded·in·a·hidden·frame·or·iframe.</p>86 have·loaded·in·a·hidden·frame·or·iframe.</p>
86 <section·id="s-an-example-of-clickjacking">87 <section·id="s-an-example-of-clickjacking">
87 <span·id="an-example-of-clickjacking"></span><h2>An·example·of·clickjacking<a·class="headerlink"·href="#an-example-of-clickjacking"·title="Link·to·this·heading">¶</a></h2>88 <span·id="an-example-of-clickjacking"></span><h2>An·example·of·clickjacking<a·class="headerlink"·href="#an-example-of-clickjacking"·title="Link·to·this·heading">¶</a></h2>
88 <p>Suppose·an·online·store·has·a·page·where·a·logged·in·user·can·click·Buy·Now·to89 <p>Suppose·an·online·store·has·a·page·where·a·logged·in·user·can·click·Buy·Now·to
89 purchase·an·item.·A·user·has·chosen·to·stay·logged·into·the·store·all·the·time90 purchase·an·item.·A·user·has·chosen·to·stay·logged·into·the·store·all·the·time
90 for·convenience.·An·attacker·site·might·create·an·I·Like·Ponies·button·on·one91 for·convenience.·An·attacker·site·might·create·an·I·Like·Ponies·button·on·one
91 of·their·own·pages,·and·load·the·store’s·page·in·a·transparent·iframe·such·that92 of·their·own·pages,·and·load·the·store’s·page·in·a·transparent·iframe·such·that
92 the·Buy·Now·button·is·invisibly·overlaid·on·the·I·Like·Ponies·button.·If·the93 the·Buy·Now·button·is·invisibly·overlaid·on·the·I·Like·Ponies·button.·If·the
93 user·visits·the·attacker’s·site,·clicking·I·Like·Ponies·will·cause·an94 user·visits·the·attacker’s·site,·clicking·I·Like·Ponies·will·cause·an
94 inadvertent·click·on·the·Buy·Now·button·and·an·unknowing·purchase·of·the·item.</p>95 inadvertent·click·on·the·Buy·Now·button·and·an·unknowing·purchase·of·the·item.</p>
95 </section>96 </section>
96 <section·id="s-preventing-clickjacking">97 <section·id="s-preventing-clickjacking">
97 <span·id="s-clickjacking-prevention"></span><span·id="preventing-clickjacking"></span><span·id="clickjacking-prevention"></span><h2>Preventing·clickjacking<a·class="headerlink"·href="#preventing-clickjacking"·title="Link·to·this·heading">¶</a></h2>98 <span·id="s-clickjacking-prevention"></span><span·id="preventing-clickjacking"></span><span·id="clickjacking-prevention"></span><h2>Preventing·clickjacking<a·class="headerlink"·href="#preventing-clickjacking"·title="Link·to·this·heading">¶</a></h2>
98 <p>Modern·browsers·honor·the·<a·class="reference·external"·href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options">X-Frame-Options</a>·HTTP·header·that·indicates·whether99 <p>Modern·browsers·honor·the·<a·class="reference·external"·href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options">X-Frame-Options</a>·HTTP·header·that·indicates·whether
99 or·not·a·resource·is·allowed·to·load·within·a·frame·or·iframe.·If·the·response100 or·not·a·resource·is·allowed·to·load·within·a·frame·or·iframe.·If·the·response
100 contains·the·header·with·a·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">SAMEORIGIN</span></code>·then·the·browser·will·only101 contains·the·header·with·a·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">SAMEORIGIN</span></code>·then·the·browser·will·only
101 load·the·resource·in·a·frame·if·the·request·originated·from·the·same·site.·If102 load·the·resource·in·a·frame·if·the·request·originated·from·the·same·site.·If
Offset 141, 15 lines modifiedOffset 142, 15 lines modified
  
141 <span·class="nd">@xframe_options_exempt</span>142 <span·class="nd">@xframe_options_exempt</span>
142 <span·class="k">def</span>·<span·class="nf">ok_to_load_in_a_frame</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>143 <span·class="k">def</span>·<span·class="nf">ok_to_load_in_a_frame</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>
143 ····<span·class="k">return</span>·<span·class="n">HttpResponse</span><span·class="p">(</span><span·class="s2">&quot;This·page·is·safe·to·load·in·a·frame·on·any·site.&quot;</span><span·class="p">)</span>144 ····<span·class="k">return</span>·<span·class="n">HttpResponse</span><span·class="p">(</span><span·class="s2">&quot;This·page·is·safe·to·load·in·a·frame·on·any·site.&quot;</span><span·class="p">)</span>
144 </pre></div>145 </pre></div>
145 </div>146 </div>
146 <div·class="admonition·note">147 <div·class="admonition·note">
147 <p·class="admonition-title">Note</p>148 <p·class="admonition-title">rkus</p>
148 <p>If·you·want·to·submit·a·form·or·access·a·session·cookie·within·a·frame·or149 <p>If·you·want·to·submit·a·form·or·access·a·session·cookie·within·a·frame·or
149 iframe,·you·may·need·to·modify·the·<a·class="reference·internal"·href="settings.html#std-setting-CSRF_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_SAMESITE</span></code></a>·or150 iframe,·you·may·need·to·modify·the·<a·class="reference·internal"·href="settings.html#std-setting-CSRF_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_SAMESITE</span></code></a>·or
150 <a·class="reference·internal"·href="settings.html#std-setting-SESSION_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_SAMESITE</span></code></a>·settings.</p>151 <a·class="reference·internal"·href="settings.html#std-setting-SESSION_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_SAMESITE</span></code></a>·settings.</p>
151 </div>152 </div>
152 <div·class="versionchanged">153 <div·class="versionchanged">
153 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·wrapping·asynchronous·view·functions·was·added·to·the154 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·wrapping·asynchronous·view·functions·was·added·to·the
154 <code·class="docutils·literal·notranslate"><span·class="pre">&#64;xframe_options_exempt</span></code>·decorator.</p>155 <code·class="docutils·literal·notranslate"><span·class="pre">&#64;xframe_options_exempt</span></code>·decorator.</p>
Offset 196, 15 lines modifiedOffset 197, 15 lines modified
196 ······197 ······
197 ········198 ········
198 ··········<div·class="yui-b"·id="sidebar">199 ··········<div·class="yui-b"·id="sidebar">
199 ············200 ············
200 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">201 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
201 ········<div·class="sphinxsidebarwrapper">202 ········<div·class="sphinxsidebarwrapper">
202 ··<div>203 ··<div>
203 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>204 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
204 ····<ul>205 ····<ul>
205 <li><a·class="reference·internal"·href="#">Clickjacking·Protection</a><ul>206 <li><a·class="reference·internal"·href="#">Clickjacking·Protection</a><ul>
206 <li><a·class="reference·internal"·href="#an-example-of-clickjacking">An·example·of·clickjacking</a></li>207 <li><a·class="reference·internal"·href="#an-example-of-clickjacking">An·example·of·clickjacking</a></li>
207 <li><a·class="reference·internal"·href="#preventing-clickjacking">Preventing·clickjacking</a></li>208 <li><a·class="reference·internal"·href="#preventing-clickjacking">Preventing·clickjacking</a></li>
208 <li><a·class="reference·internal"·href="#how-to-use-it">How·to·use·it</a><ul>209 <li><a·class="reference·internal"·href="#how-to-use-it">How·to·use·it</a><ul>
209 <li><a·class="reference·internal"·href="#setting-x-frame-options-for-all-responses">Setting·<code·class="docutils·literal·notranslate"><span·class="pre">X-Frame-Options</span></code>·for·all·responses</a></li>210 <li><a·class="reference·internal"·href="#setting-x-frame-options-for-all-responses">Setting·<code·class="docutils·literal·notranslate"><span·class="pre">X-Frame-Options</span></code>·for·all·responses</a></li>
210 <li><a·class="reference·internal"·href="#setting-x-frame-options-per-view">Setting·<code·class="docutils·literal·notranslate"><span·class="pre">X-Frame-Options</span></code>·per·view</a></li>211 <li><a·class="reference·internal"·href="#setting-x-frame-options-per-view">Setting·<code·class="docutils·literal·notranslate"><span·class="pre">X-Frame-Options</span></code>·per·view</a></li>
Offset 213, 37 lines modifiedOffset 214, 37 lines modified
213 <li><a·class="reference·internal"·href="#limitations">Limitations</a></li>214 <li><a·class="reference·internal"·href="#limitations">Limitations</a></li>
214 </ul>215 </ul>
215 </li>216 </li>
216 </ul>217 </ul>
  
217 ··</div>218 ··</div>
218 ··<div>219 ··<div>
219 ····<h4>Previous·topic</h4>220 ····<h4>Eelmine·teema</h4>
220 ····<p·class="topless"><a·href="class-based-views/flattened-index.html"221 ····<p·class="topless"><a·href="class-based-views/flattened-index.html"
221 ··························title="previous·chapter">Class-based·generic·views·-·flattened·index</a></p>222 ··························title="eelmine·jaotis">Class-based·generic·views·-·flattened·index</a></p>
222 ··</div>223 ··</div>
223 ··<div>224 ··<div>
224 ····<h4>Next·topic</h4>225 ····<h4>Järgmine·teema</h4>
225 ····<p·class="topless"><a·href="contrib/index.html"226 ····<p·class="topless"><a·href="contrib/index.html"
226 ··························title="next·chapter"><code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>·packages</a></p>227 ··························title="järgmine·jaotis"><code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>·packages</a></p>
227 ··</div>228 ··</div>
228 <search·id="searchbox"·style="display:·none"·role="search">229 <search·id="searchbox"·style="display:·none"·role="search">
229 ··<h3·id="searchlabel">Quick·search</h3>230 ··<h3·id="searchlabel">Kiirotsing</h3>
230 ····<div·class="searchformwrapper">231 ····<div·class="searchformwrapper">
231 ····<form·class="search"·action="../search.html"·method="get">232 ····<form·class="search"·action="../search.html"·method="get">
232 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>233 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
233 ······<input·type="submit"·value="Go"·/>234 ······<input·type="submit"·value="Otsi"·/>
234 ····</form>235 ····</form>
235 ····</div>236 ····</div>
236 </search>237 </search>
237 <script>document.getElementById('searchbox').style.display·=·"block"</script>238 <script>document.getElementById('searchbox').style.display·=·"block"</script>
238 ········</div>239 ········</div>
239 ······</div>240 ······</div>
240 ··············<h3>Last·update:</h3>241 ··············<h3>Last·update:</h3>
241 ··············<p·class="topless">Nov·05,·2024</p>242 ··············<p·class="topless">nov·05,·2024</p>
242 ··········</div>243 ··········</div>
243 ········244 ········
244 ······245 ······
Max diff block lines reached; 46/9095 bytes (0.51%) of diff not shown.
5.18 KB
html2text {}
Max HTML report size reached
41.6 KB
./usr/share/doc/python-django-doc/html/ref/contrib/admin/actions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Admin·actions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Admin·actions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="ModelAdmin·List·Filters"·href="filters.html"·/>15 ····<link·rel="next"·title="ModelAdmin·List·Filters"·href="filters.html"·/>
15 ····<link·rel="prev"·title="The·Django·admin·site"·href="index.html"·/>16 ····<link·rel="prev"·title="The·Django·admin·site"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 29 lines modifiedOffset 76, 29 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-contrib-admin-actions">79 ··········<div·class="yui-g"·id="ref-contrib-admin-actions">
79 ············80 ············
80 ··<section·id="s-admin-actions">81 ··<section·id="s-admin-actions">
81 <span·id="admin-actions"></span><h1>Admin·actions<a·class="headerlink"·href="#admin-actions"·title="Link·to·this·heading">¶</a></h1>82 <span·id="admin-actions"></span><h1>Admin·actions<a·class="headerlink"·href="#admin-actions"·title="Link·to·this·heading">¶</a></h1>
82 <p>The·basic·workflow·of·Django’s·admin·is,·in·a·nutshell,·select·an·object,83 <p>The·basic·workflow·of·Django’s·admin·is,·in·a·nutshell,·select·an·object,
83 then·change·it.·This·works·well·for·a·majority·of·use·cases.·However,·if·you84 then·change·it.·This·works·well·for·a·majority·of·use·cases.·However,·if·you
84 need·to·make·the·same·change·to·many·objects·at·once,·this·workflow·can·be85 need·to·make·the·same·change·to·many·objects·at·once,·this·workflow·can·be
85 quite·tedious.</p>86 quite·tedious.</p>
86 <p>In·these·cases,·Django’s·admin·lets·you·write·and·register·actions·87 <p>In·these·cases,·Django’s·admin·lets·you·write·and·register·actions·
87 functions·that·get·called·with·a·list·of·objects·selected·on·the·change·list88 functions·that·get·called·with·a·list·of·objects·selected·on·the·change·list
88 page.</p>89 page.</p>
89 <p>If·you·look·at·any·change·list·in·the·admin,·you’ll·see·this·feature·in90 <p>If·you·look·at·any·change·list·in·the·admin,·you’ll·see·this·feature·in
90 action;·Django·ships·with·a·delete·selected·objects·action·available·to·all91 action;·Django·ships·with·a·delete·selected·objects·action·available·to·all
91 models.·For·example,·here’s·the·user·module·from·Django’s·built-in92 models.·For·example,·here’s·the·user·module·from·Django’s·built-in
92 <a·class="reference·internal"·href="../../../topics/auth/index.html#module-django.contrib.auth"·title="django.contrib.auth:·Django's·authentication·framework."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code></a>·app:</p>93 <a·class="reference·internal"·href="../../../topics/auth/index.html#module-django.contrib.auth"·title="django.contrib.auth:·Django's·authentication·framework."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code></a>·app:</p>
93 <img·alt="../../../_images/admin-actions.png"·src="../../../_images/admin-actions.png"·/>94 <img·alt="../../../_images/admin-actions.png"·src="../../../_images/admin-actions.png"·/>
94 <div·class="admonition·warning">95 <div·class="admonition·warning">
95 <p·class="admonition-title">Warning</p>96 <p·class="admonition-title">Hoiatus</p>
96 <p>The·delete·selected·objects·action·uses·<a·class="reference·internal"·href="../../models/querysets.html#django.db.models.query.QuerySet.delete"·title="django.db.models.query.QuerySet.delete"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.delete()</span></code></a>·for·efficiency·reasons,·which97 <p>The·delete·selected·objects·action·uses·<a·class="reference·internal"·href="../../models/querysets.html#django.db.models.query.QuerySet.delete"·title="django.db.models.query.QuerySet.delete"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.delete()</span></code></a>·for·efficiency·reasons,·which
97 has·an·important·caveat:·your·model’s·<code·class="docutils·literal·notranslate"><span·class="pre">delete()</span></code>·method·will·not·be98 has·an·important·caveat:·your·model’s·<code·class="docutils·literal·notranslate"><span·class="pre">delete()</span></code>·method·will·not·be
98 called.</p>99 called.</p>
99 <p>If·you·wish·to·override·this·behavior,·you·can·override100 <p>If·you·wish·to·override·this·behavior,·you·can·override
100 <a·class="reference·internal"·href="index.html#django.contrib.admin.ModelAdmin.delete_queryset"·title="django.contrib.admin.ModelAdmin.delete_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.delete_queryset()</span></code></a>·or·write·a·custom·action·which·does101 <a·class="reference·internal"·href="index.html#django.contrib.admin.ModelAdmin.delete_queryset"·title="django.contrib.admin.ModelAdmin.delete_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.delete_queryset()</span></code></a>·or·write·a·custom·action·which·does
101 deletion·in·your·preferred·manner··for·example,·by·calling102 deletion·in·your·preferred·manner··for·example,·by·calling
102 <code·class="docutils·literal·notranslate"><span·class="pre">Model.delete()</span></code>·for·each·of·the·selected·items.</p>103 <code·class="docutils·literal·notranslate"><span·class="pre">Model.delete()</span></code>·for·each·of·the·selected·items.</p>
103 <p>For·more·background·on·bulk·deletion,·see·the·documentation·on·<a·class="reference·internal"·href="../../../topics/db/queries.html#topics-db-queries-delete"><span·class="std·std-ref">object104 <p>For·more·background·on·bulk·deletion,·see·the·documentation·on·<a·class="reference·internal"·href="../../../topics/db/queries.html#topics-db-queries-delete"><span·class="std·std-ref">object
Offset 124, 18 lines modifiedOffset 125, 18 lines modified
124 ····<span·class="n">status</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">max_length</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="n">choices</span><span·class="o">=</span><span·class="n">STATUS_CHOICES</span><span·class="p">)</span>125 ····<span·class="n">status</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">max_length</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">,</span>·<span·class="n">choices</span><span·class="o">=</span><span·class="n">STATUS_CHOICES</span><span·class="p">)</span>
  
125 ····<span·class="k">def</span>·<span·class="fm">__str__</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>126 ····<span·class="k">def</span>·<span·class="fm">__str__</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>
126 ········<span·class="k">return</span>·<span·class="bp">self</span><span·class="o">.</span><span·class="n">title</span>127 ········<span·class="k">return</span>·<span·class="bp">self</span><span·class="o">.</span><span·class="n">title</span>
127 </pre></div>128 </pre></div>
128 </div>129 </div>
129 <p>A·common·task·we·might·perform·with·a·model·like·this·is·to·update·an130 <p>A·common·task·we·might·perform·with·a·model·like·this·is·to·update·an
130 article’s·status·from·draft·to·published.·We·could·easily·do·this·in·the131 article’s·status·from·draft·to·published.·We·could·easily·do·this·in·the
131 admin·one·article·at·a·time,·but·if·we·wanted·to·bulk-publish·a·group·of132 admin·one·article·at·a·time,·but·if·we·wanted·to·bulk-publish·a·group·of
132 articles,·it’d·be·tedious.·So,·let’s·write·an·action·that·lets·us·change·an133 articles,·it’d·be·tedious.·So,·let’s·write·an·action·that·lets·us·change·an
133 article’s·status·to·published.</p>134 article’s·status·to·published.</p>
134 <section·id="s-writing-action-functions">135 <section·id="s-writing-action-functions">
135 <span·id="writing-action-functions"></span><h3>Writing·action·functions<a·class="headerlink"·href="#writing-action-functions"·title="Link·to·this·heading">¶</a></h3>136 <span·id="writing-action-functions"></span><h3>Writing·action·functions<a·class="headerlink"·href="#writing-action-functions"·title="Link·to·this·heading">¶</a></h3>
136 <p>First,·we’ll·need·to·write·a·function·that·gets·called·when·the·action·is137 <p>First,·we’ll·need·to·write·a·function·that·gets·called·when·the·action·is
137 triggered·from·the·admin.·Action·functions·are·regular·functions·that·take138 triggered·from·the·admin.·Action·functions·are·regular·functions·that·take
138 three·arguments:</p>139 three·arguments:</p>
139 <ul·class="simple">140 <ul·class="simple">
140 <li><p>The·current·<a·class="reference·internal"·href="index.html#django.contrib.admin.ModelAdmin"·title="django.contrib.admin.ModelAdmin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code></a></p></li>141 <li><p>The·current·<a·class="reference·internal"·href="index.html#django.contrib.admin.ModelAdmin"·title="django.contrib.admin.ModelAdmin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code></a></p></li>
Offset 146, 26 lines modifiedOffset 147, 26 lines modified
146 <p>Our·publish-these-articles·function·won’t·need·the·<a·class="reference·internal"·href="index.html#django.contrib.admin.ModelAdmin"·title="django.contrib.admin.ModelAdmin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code></a>·or·the147 <p>Our·publish-these-articles·function·won’t·need·the·<a·class="reference·internal"·href="index.html#django.contrib.admin.ModelAdmin"·title="django.contrib.admin.ModelAdmin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code></a>·or·the
147 request·object,·but·we·will·use·the·queryset:</p>148 request·object,·but·we·will·use·the·queryset:</p>
148 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">def</span>·<span·class="nf">make_published</span><span·class="p">(</span><span·class="n">modeladmin</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">,</span>·<span·class="n">queryset</span><span·class="p">):</span>149 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">def</span>·<span·class="nf">make_published</span><span·class="p">(</span><span·class="n">modeladmin</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">,</span>·<span·class="n">queryset</span><span·class="p">):</span>
149 ····<span·class="n">queryset</span><span·class="o">.</span><span·class="n">update</span><span·class="p">(</span><span·class="n">status</span><span·class="o">=</span><span·class="s2">&quot;p&quot;</span><span·class="p">)</span>150 ····<span·class="n">queryset</span><span·class="o">.</span><span·class="n">update</span><span·class="p">(</span><span·class="n">status</span><span·class="o">=</span><span·class="s2">&quot;p&quot;</span><span·class="p">)</span>
150 </pre></div>151 </pre></div>
151 </div>152 </div>
152 <div·class="admonition·note">153 <div·class="admonition·note">
153 <p·class="admonition-title">Note</p>154 <p·class="admonition-title">rkus</p>
154 <p>For·the·best·performance,·we’re·using·the·queryset’s·<a·class="reference·internal"·href="../../../topics/db/queries.html#topics-db-queries-update"><span·class="std·std-ref">update·method</span></a>.·Other·types·of·actions·might·need·to·deal155 <p>For·the·best·performance,·we’re·using·the·queryset’s·<a·class="reference·internal"·href="../../../topics/db/queries.html#topics-db-queries-update"><span·class="std·std-ref">update·method</span></a>.·Other·types·of·actions·might·need·to·deal
155 with·each·object·individually;·in·these·cases·we’d·iterate·over·the156 with·each·object·individually;·in·these·cases·we’d·iterate·over·the
156 queryset:</p>157 queryset:</p>
157 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">for</span>·<span·class="n">obj</span>·<span·class="ow">in</span>·<span·class="n">queryset</span><span·class="p">:</span>158 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">for</span>·<span·class="n">obj</span>·<span·class="ow">in</span>·<span·class="n">queryset</span><span·class="p">:</span>
158 ····<span·class="n">do_something_with</span><span·class="p">(</span><span·class="n">obj</span><span·class="p">)</span>159 ····<span·class="n">do_something_with</span><span·class="p">(</span><span·class="n">obj</span><span·class="p">)</span>
159 </pre></div>160 </pre></div>
160 </div>161 </div>
161 </div>162 </div>
162 <p>That’s·actually·all·there·is·to·writing·an·action!·However,·we’ll·take·one163 <p>That’s·actually·all·there·is·to·writing·an·action!·However,·we’ll·take·one
163 more·optional-but-useful·step·and·give·the·action·a·nice·title·in·the·admin.164 more·optional-but-useful·step·and·give·the·action·a·nice·title·in·the·admin.
164 By·default,·this·action·would·appear·in·the·action·list·as·Make·published·165 By·default,·this·action·would·appear·in·the·action·list·as·Make·published·
165 the·function·name,·with·underscores·replaced·by·spaces.·That’s·fine,·but·we166 the·function·name,·with·underscores·replaced·by·spaces.·That’s·fine,·but·we
166 can·provide·a·better,·more·human-friendly·name·by·using·the167 can·provide·a·better,·more·human-friendly·name·by·using·the
167 <a·class="reference·internal"·href="#django.contrib.admin.action"·title="django.contrib.admin.action"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">action()</span></code></a>·decorator·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">make_published</span></code>168 <a·class="reference·internal"·href="#django.contrib.admin.action"·title="django.contrib.admin.action"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">action()</span></code></a>·decorator·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">make_published</span></code>
168 function:</p>169 function:</p>
169 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib</span>·<span·class="kn">import</span>·<span·class="n">admin</span>170 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib</span>·<span·class="kn">import</span>·<span·class="n">admin</span>
  
170 <span·class="o">...</span>171 <span·class="o">...</span>
Offset 173, 15 lines modifiedOffset 174, 15 lines modified
  
173 <span·class="nd">@admin</span><span·class="o">.</span><span·class="n">action</span><span·class="p">(</span><span·class="n">description</span><span·class="o">=</span><span·class="s2">&quot;Mark·selected·stories·as·published&quot;</span><span·class="p">)</span>174 <span·class="nd">@admin</span><span·class="o">.</span><span·class="n">action</span><span·class="p">(</span><span·class="n">description</span><span·class="o">=</span><span·class="s2">&quot;Mark·selected·stories·as·published&quot;</span><span·class="p">)</span>
174 <span·class="k">def</span>·<span·class="nf">make_published</span><span·class="p">(</span><span·class="n">modeladmin</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">,</span>·<span·class="n">queryset</span><span·class="p">):</span>175 <span·class="k">def</span>·<span·class="nf">make_published</span><span·class="p">(</span><span·class="n">modeladmin</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">,</span>·<span·class="n">queryset</span><span·class="p">):</span>
175 ····<span·class="n">queryset</span><span·class="o">.</span><span·class="n">update</span><span·class="p">(</span><span·class="n">status</span><span·class="o">=</span><span·class="s2">&quot;p&quot;</span><span·class="p">)</span>176 ····<span·class="n">queryset</span><span·class="o">.</span><span·class="n">update</span><span·class="p">(</span><span·class="n">status</span><span·class="o">=</span><span·class="s2">&quot;p&quot;</span><span·class="p">)</span>
176 </pre></div>177 </pre></div>
177 </div>178 </div>
178 <div·class="admonition·note">179 <div·class="admonition·note">
179 <p·class="admonition-title">Note</p>180 <p·class="admonition-title">rkus</p>
180 <p>This·might·look·familiar;·the·admin’s181 <p>This·might·look·familiar;·the·admin’s
181 <a·class="reference·internal"·href="index.html#django.contrib.admin.ModelAdmin.list_display"·title="django.contrib.admin.ModelAdmin.list_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">list_display</span></code></a>·option·uses·a·similar182 <a·class="reference·internal"·href="index.html#django.contrib.admin.ModelAdmin.list_display"·title="django.contrib.admin.ModelAdmin.list_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">list_display</span></code></a>·option·uses·a·similar
182 technique·with·the·<a·class="reference·internal"·href="index.html#django.contrib.admin.display"·title="django.contrib.admin.display"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">display()</span></code></a>·decorator·to183 technique·with·the·<a·class="reference·internal"·href="index.html#django.contrib.admin.display"·title="django.contrib.admin.display"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">display()</span></code></a>·decorator·to
Max diff block lines reached; 17050/28880 bytes (59.04%) of diff not shown.
13.3 KB
html2text {}
Max HTML report size reached
10.4 KB
./usr/share/doc/python-django-doc/html/ref/contrib/admin/admindocs.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·Django·admin·documentation·generator·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·Django·admin·documentation·generator·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="JavaScript·customizations·in·the·admin"·href="javascript.html"·/>15 ····<link·rel="next"·title="JavaScript·customizations·in·the·admin"·href="javascript.html"·/>
15 ····<link·rel="prev"·title="ModelAdmin·List·Filters"·href="filters.html"·/>16 ····<link·rel="prev"·title="ModelAdmin·List·Filters"·href="filters.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 94, 15 lines modifiedOffset 95, 15 lines modified
94 <code·class="docutils·literal·notranslate"><span·class="pre">'admin/'</span></code>·entry,·so·that·requests·to·<code·class="docutils·literal·notranslate"><span·class="pre">/admin/doc/</span></code>·don’t·get95 <code·class="docutils·literal·notranslate"><span·class="pre">'admin/'</span></code>·entry,·so·that·requests·to·<code·class="docutils·literal·notranslate"><span·class="pre">/admin/doc/</span></code>·don’t·get
95 handled·by·the·latter·entry.</p></li>96 handled·by·the·latter·entry.</p></li>
96 <li><p>Install·the·<a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/docutils/">docutils</a>·0.19+·package.</p></li>97 <li><p>Install·the·<a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/docutils/">docutils</a>·0.19+·package.</p></li>
97 <li><p><strong>Optional:</strong>·Using·the·admindocs·bookmarklets·requires98 <li><p><strong>Optional:</strong>·Using·the·admindocs·bookmarklets·requires
98 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admindocs.middleware.XViewMiddleware</span></code>·to·be·installed.</p></li>99 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admindocs.middleware.XViewMiddleware</span></code>·to·be·installed.</p></li>
99 </ul>100 </ul>
100 <p>Once·those·steps·are·complete,·you·can·start·browsing·the·documentation·by101 <p>Once·those·steps·are·complete,·you·can·start·browsing·the·documentation·by
101 going·to·your·admin·interface·and·clicking·the·Documentation·link·in·the102 going·to·your·admin·interface·and·clicking·the·Documentation·link·in·the
102 upper·right·of·the·page.</p>103 upper·right·of·the·page.</p>
103 </section>104 </section>
104 <section·id="s-documentation-helpers">105 <section·id="s-documentation-helpers">
105 <span·id="documentation-helpers"></span><h2>Documentation·helpers<a·class="headerlink"·href="#documentation-helpers"·title="Link·to·this·heading">¶</a></h2>106 <span·id="documentation-helpers"></span><h2>Documentation·helpers<a·class="headerlink"·href="#documentation-helpers"·title="Link·to·this·heading">¶</a></h2>
106 <p>The·following·special·markup·can·be·used·in·your·docstrings·to·easily·create107 <p>The·following·special·markup·can·be·used·in·your·docstrings·to·easily·create
107 hyperlinks·to·other·components:</p>108 hyperlinks·to·other·components:</p>
108 <table·class="docutils">109 <table·class="docutils">
Offset 231, 15 lines modifiedOffset 232, 15 lines modified
231 ······232 ······
232 ········233 ········
233 ··········<div·class="yui-b"·id="sidebar">234 ··········<div·class="yui-b"·id="sidebar">
234 ············235 ············
235 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">236 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
236 ········<div·class="sphinxsidebarwrapper">237 ········<div·class="sphinxsidebarwrapper">
237 ··<div>238 ··<div>
238 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>239 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
239 ····<ul>240 ····<ul>
240 <li><a·class="reference·internal"·href="#">The·Django·admin·documentation·generator</a><ul>241 <li><a·class="reference·internal"·href="#">The·Django·admin·documentation·generator</a><ul>
241 <li><a·class="reference·internal"·href="#overview">Overview</a></li>242 <li><a·class="reference·internal"·href="#overview">Overview</a></li>
242 <li><a·class="reference·internal"·href="#documentation-helpers">Documentation·helpers</a></li>243 <li><a·class="reference·internal"·href="#documentation-helpers">Documentation·helpers</a></li>
243 <li><a·class="reference·internal"·href="#model-reference">Model·reference</a></li>244 <li><a·class="reference·internal"·href="#model-reference">Model·reference</a></li>
244 <li><a·class="reference·internal"·href="#view-reference">View·reference</a></li>245 <li><a·class="reference·internal"·href="#view-reference">View·reference</a></li>
245 <li><a·class="reference·internal"·href="#template-tags-and-filters-reference">Template·tags·and·filters·reference</a></li>246 <li><a·class="reference·internal"·href="#template-tags-and-filters-reference">Template·tags·and·filters·reference</a></li>
Offset 247, 37 lines modifiedOffset 248, 37 lines modified
247 <li><a·class="reference·internal"·href="#included-bookmarklets">Included·Bookmarklets</a></li>248 <li><a·class="reference·internal"·href="#included-bookmarklets">Included·Bookmarklets</a></li>
248 </ul>249 </ul>
249 </li>250 </li>
250 </ul>251 </ul>
  
251 ··</div>252 ··</div>
252 ··<div>253 ··<div>
253 ····<h4>Previous·topic</h4>254 ····<h4>Eelmine·teema</h4>
254 ····<p·class="topless"><a·href="filters.html"255 ····<p·class="topless"><a·href="filters.html"
255 ··························title="previous·chapter"><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·List·Filters</a></p>256 ··························title="eelmine·jaotis"><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·List·Filters</a></p>
256 ··</div>257 ··</div>
257 ··<div>258 ··<div>
258 ····<h4>Next·topic</h4>259 ····<h4>Järgmine·teema</h4>
259 ····<p·class="topless"><a·href="javascript.html"260 ····<p·class="topless"><a·href="javascript.html"
260 ··························title="next·chapter">JavaScript·customizations·in·the·admin</a></p>261 ··························title="järgmine·jaotis">JavaScript·customizations·in·the·admin</a></p>
261 ··</div>262 ··</div>
262 <search·id="searchbox"·style="display:·none"·role="search">263 <search·id="searchbox"·style="display:·none"·role="search">
263 ··<h3·id="searchlabel">Quick·search</h3>264 ··<h3·id="searchlabel">Kiirotsing</h3>
264 ····<div·class="searchformwrapper">265 ····<div·class="searchformwrapper">
265 ····<form·class="search"·action="../../../search.html"·method="get">266 ····<form·class="search"·action="../../../search.html"·method="get">
266 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>267 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
267 ······<input·type="submit"·value="Go"·/>268 ······<input·type="submit"·value="Otsi"·/>
268 ····</form>269 ····</form>
269 ····</div>270 ····</div>
270 </search>271 </search>
271 <script>document.getElementById('searchbox').style.display·=·"block"</script>272 <script>document.getElementById('searchbox').style.display·=·"block"</script>
272 ········</div>273 ········</div>
273 ······</div>274 ······</div>
274 ··············<h3>Last·update:</h3>275 ··············<h3>Last·update:</h3>
275 ··············<p·class="topless">Nov·05,·2024</p>276 ··············<p·class="topless">nov·05,·2024</p>
276 ··········</div>277 ··········</div>
277 ········278 ········
278 ······279 ······
279 ····</div>280 ····</div>
  
280 ····<div·id="ft">281 ····<div·id="ft">
281 ······<div·class="nav">282 ······<div·class="nav">
4.17 KB
html2text {}
Max HTML report size reached
12.4 KB
./usr/share/doc/python-django-doc/html/ref/contrib/admin/filters.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>ModelAdmin·List·Filters·&#8212;·Django·5.1.3·documentation</title>6 ····<title>ModelAdmin·List·Filters·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="The·Django·admin·documentation·generator"·href="admindocs.html"·/>15 ····<link·rel="next"·title="The·Django·admin·documentation·generator"·href="admindocs.html"·/>
15 ····<link·rel="prev"·title="Admin·actions"·href="actions.html"·/>16 ····<link·rel="prev"·title="Admin·actions"·href="actions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 164, 15 lines modifiedOffset 165, 15 lines modified
  
  
164 <span·class="k">class</span>·<span·class="nc">PersonAdmin</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">ModelAdmin</span><span·class="p">):</span>165 <span·class="k">class</span>·<span·class="nc">PersonAdmin</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">ModelAdmin</span><span·class="p">):</span>
165 ····<span·class="n">list_filter</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">DecadeBornListFilter</span><span·class="p">]</span>166 ····<span·class="n">list_filter</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">DecadeBornListFilter</span><span·class="p">]</span>
166 </pre></div>167 </pre></div>
167 </div>168 </div>
168 <div·class="admonition·note">169 <div·class="admonition·note">
169 <p·class="admonition-title">Note</p>170 <p·class="admonition-title">rkus</p>
170 <p>As·a·convenience,·the·<code·class="docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code>·object·is·passed·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">lookups</span></code>171 <p>As·a·convenience,·the·<code·class="docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code>·object·is·passed·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">lookups</span></code>
171 and·<code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·methods,·for·example:</p>172 and·<code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·methods,·for·example:</p>
172 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">AuthDecadeBornListFilter</span><span·class="p">(</span><span·class="n">DecadeBornListFilter</span><span·class="p">):</span>173 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">AuthDecadeBornListFilter</span><span·class="p">(</span><span·class="n">DecadeBornListFilter</span><span·class="p">):</span>
173 ····<span·class="k">def</span>·<span·class="nf">lookups</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">,</span>·<span·class="n">model_admin</span><span·class="p">):</span>174 ····<span·class="k">def</span>·<span·class="nf">lookups</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">,</span>·<span·class="n">model_admin</span><span·class="p">):</span>
174 ········<span·class="k">if</span>·<span·class="n">request</span><span·class="o">.</span><span·class="n">user</span><span·class="o">.</span><span·class="n">is_superuser</span><span·class="p">:</span>175 ········<span·class="k">if</span>·<span·class="n">request</span><span·class="o">.</span><span·class="n">user</span><span·class="o">.</span><span·class="n">is_superuser</span><span·class="p">:</span>
175 ············<span·class="k">return</span>·<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">lookups</span><span·class="p">(</span><span·class="n">request</span><span·class="p">,</span>·<span·class="n">model_admin</span><span·class="p">)</span>176 ············<span·class="k">return</span>·<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">lookups</span><span·class="p">(</span><span·class="n">request</span><span·class="p">,</span>·<span·class="n">model_admin</span><span·class="p">)</span>
  
Offset 258, 15 lines modifiedOffset 259, 15 lines modified
258 ········<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="fm">__init__</span><span·class="p">(</span><span·class="n">field</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">,</span>·<span·class="n">params</span><span·class="p">,</span>·<span·class="n">model</span><span·class="p">,</span>·<span·class="n">model_admin</span><span·class="p">,</span>·<span·class="n">field_path</span><span·class="p">)</span>259 ········<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="fm">__init__</span><span·class="p">(</span><span·class="n">field</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">,</span>·<span·class="n">params</span><span·class="p">,</span>·<span·class="n">model</span><span·class="p">,</span>·<span·class="n">model_admin</span><span·class="p">,</span>·<span·class="n">field_path</span><span·class="p">)</span>
  
259 ····<span·class="k">def</span>·<span·class="nf">expected_parameters</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>260 ····<span·class="k">def</span>·<span·class="nf">expected_parameters</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>
260 ········<span·class="k">return</span>·<span·class="p">[</span><span·class="bp">self</span><span·class="o">.</span><span·class="n">lookup_kwarg</span><span·class="p">]</span>261 ········<span·class="k">return</span>·<span·class="p">[</span><span·class="bp">self</span><span·class="o">.</span><span·class="n">lookup_kwarg</span><span·class="p">]</span>
261 </pre></div>262 </pre></div>
262 </div>263 </div>
263 <div·class="admonition·note">264 <div·class="admonition·note">
264 <p·class="admonition-title">Note</p>265 <p·class="admonition-title">rkus</p>
265 <p>The·<a·class="reference·internal"·href="../contenttypes.html#django.contrib.contenttypes.fields.GenericForeignKey"·title="django.contrib.contenttypes.fields.GenericForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GenericForeignKey</span></code></a>·field·is266 <p>The·<a·class="reference·internal"·href="../contenttypes.html#django.contrib.contenttypes.fields.GenericForeignKey"·title="django.contrib.contenttypes.fields.GenericForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GenericForeignKey</span></code></a>·field·is
266 not·supported.</p>267 not·supported.</p>
267 </div>268 </div>
268 <p>List·filters·typically·appear·only·if·the·filter·has·more·than·one·choice.·A269 <p>List·filters·typically·appear·only·if·the·filter·has·more·than·one·choice.·A
269 filter’s·<code·class="docutils·literal·notranslate"><span·class="pre">has_output()</span></code>·method·controls·whether·or·not·it·appears.</p>270 filter’s·<code·class="docutils·literal·notranslate"><span·class="pre">has_output()</span></code>·method·controls·whether·or·not·it·appears.</p>
270 <p>It·is·possible·to·specify·a·custom·template·for·rendering·a·list·filter:</p>271 <p>It·is·possible·to·specify·a·custom·template·for·rendering·a·list·filter:</p>
271 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">FilterWithCustomTemplate</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">SimpleListFilter</span><span·class="p">):</span>272 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">FilterWithCustomTemplate</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">SimpleListFilter</span><span·class="p">):</span>
Offset 293, 50 lines modifiedOffset 294, 50 lines modified
293 ······294 ······
294 ········295 ········
295 ··········<div·class="yui-b"·id="sidebar">296 ··········<div·class="yui-b"·id="sidebar">
296 ············297 ············
297 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">298 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
298 ········<div·class="sphinxsidebarwrapper">299 ········<div·class="sphinxsidebarwrapper">
299 ··<div>300 ··<div>
300 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>301 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
301 ····<ul>302 ····<ul>
302 <li><a·class="reference·internal"·href="#"><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·List·Filters</a><ul>303 <li><a·class="reference·internal"·href="#"><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·List·Filters</a><ul>
303 <li><a·class="reference·internal"·href="#using-a-field-name">Using·a·field·name</a></li>304 <li><a·class="reference·internal"·href="#using-a-field-name">Using·a·field·name</a></li>
304 <li><a·class="reference·internal"·href="#using-a-simplelistfilter">Using·a·<code·class="docutils·literal·notranslate"><span·class="pre">SimpleListFilter</span></code></a></li>305 <li><a·class="reference·internal"·href="#using-a-simplelistfilter">Using·a·<code·class="docutils·literal·notranslate"><span·class="pre">SimpleListFilter</span></code></a></li>
305 <li><a·class="reference·internal"·href="#using-a-field-name-and-an-explicit-fieldlistfilter">Using·a·field·name·and·an·explicit·<code·class="docutils·literal·notranslate"><span·class="pre">FieldListFilter</span></code></a></li>306 <li><a·class="reference·internal"·href="#using-a-field-name-and-an-explicit-fieldlistfilter">Using·a·field·name·and·an·explicit·<code·class="docutils·literal·notranslate"><span·class="pre">FieldListFilter</span></code></a></li>
306 <li><a·class="reference·internal"·href="#facets">Facets</a></li>307 <li><a·class="reference·internal"·href="#facets">Facets</a></li>
307 </ul>308 </ul>
308 </li>309 </li>
309 </ul>310 </ul>
  
310 ··</div>311 ··</div>
311 ··<div>312 ··<div>
312 ····<h4>Previous·topic</h4>313 ····<h4>Eelmine·teema</h4>
313 ····<p·class="topless"><a·href="actions.html"314 ····<p·class="topless"><a·href="actions.html"
314 ··························title="previous·chapter">Admin·actions</a></p>315 ··························title="eelmine·jaotis">Admin·actions</a></p>
315 ··</div>316 ··</div>
316 ··<div>317 ··<div>
317 ····<h4>Next·topic</h4>318 ····<h4>Järgmine·teema</h4>
318 ····<p·class="topless"><a·href="admindocs.html"319 ····<p·class="topless"><a·href="admindocs.html"
319 ··························title="next·chapter">The·Django·admin·documentation·generator</a></p>320 ··························title="järgmine·jaotis">The·Django·admin·documentation·generator</a></p>
320 ··</div>321 ··</div>
321 <search·id="searchbox"·style="display:·none"·role="search">322 <search·id="searchbox"·style="display:·none"·role="search">
322 ··<h3·id="searchlabel">Quick·search</h3>323 ··<h3·id="searchlabel">Kiirotsing</h3>
323 ····<div·class="searchformwrapper">324 ····<div·class="searchformwrapper">
324 ····<form·class="search"·action="../../../search.html"·method="get">325 ····<form·class="search"·action="../../../search.html"·method="get">
325 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>326 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
326 ······<input·type="submit"·value="Go"·/>327 ······<input·type="submit"·value="Otsi"·/>
327 ····</form>328 ····</form>
328 ····</div>329 ····</div>
329 </search>330 </search>
330 <script>document.getElementById('searchbox').style.display·=·"block"</script>331 <script>document.getElementById('searchbox').style.display·=·"block"</script>
331 ········</div>332 ········</div>
332 ······</div>333 ······</div>
333 ··············<h3>Last·update:</h3>334 ··············<h3>Last·update:</h3>
334 ··············<p·class="topless">Nov·05,·2024</p>335 ··············<p·class="topless">nov·05,·2024</p>
335 ··········</div>336 ··········</div>
336 ········337 ········
337 ······338 ······
338 ····</div>339 ····</div>
  
339 ····<div·id="ft">340 ····<div·id="ft">
340 ······<div·class="nav">341 ······<div·class="nav">
3.92 KB
html2text {}
Max HTML report size reached
260 KB
./usr/share/doc/python-django-doc/html/ref/contrib/admin/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·Django·admin·site·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·Django·admin·site·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Admin·actions"·href="actions.html"·/>15 ····<link·rel="next"·title="Admin·actions"·href="actions.html"·/>
15 ····<link·rel="prev"·title="contrib·packages"·href="../index.html"·/>16 ····<link·rel="prev"·title="contrib·packages"·href="../index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 128, 26 lines modifiedOffset 129, 26 lines modified
128 <li·class="toctree-l1"><a·class="reference·internal"·href="actions.html">Admin·actions</a></li>129 <li·class="toctree-l1"><a·class="reference·internal"·href="actions.html">Admin·actions</a></li>
129 <li·class="toctree-l1"><a·class="reference·internal"·href="filters.html"><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·List·Filters</a></li>130 <li·class="toctree-l1"><a·class="reference·internal"·href="filters.html"><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·List·Filters</a></li>
130 <li·class="toctree-l1"><a·class="reference·internal"·href="admindocs.html">The·Django·admin·documentation·generator</a></li>131 <li·class="toctree-l1"><a·class="reference·internal"·href="admindocs.html">The·Django·admin·documentation·generator</a></li>
131 <li·class="toctree-l1"><a·class="reference·internal"·href="javascript.html">JavaScript·customizations·in·the·admin</a></li>132 <li·class="toctree-l1"><a·class="reference·internal"·href="javascript.html">JavaScript·customizations·in·the·admin</a></li>
132 </ul>133 </ul>
133 </div>134 </div>
134 <div·class="admonition·seealso">135 <div·class="admonition·seealso">
135 <p·class="admonition-title">See·also</p>136 <p·class="admonition-title">Vaata·ka</p>
136 <p>For·information·about·serving·the·static·files·(images,·JavaScript,·and137 <p>For·information·about·serving·the·static·files·(images,·JavaScript,·and
137 CSS)·associated·with·the·admin·in·production,·see·<a·class="reference·internal"·href="../../../howto/deployment/wsgi/modwsgi.html#serving-files"><span·class="std·std-ref">Serving·files</span></a>.</p>138 CSS)·associated·with·the·admin·in·production,·see·<a·class="reference·internal"·href="../../../howto/deployment/wsgi/modwsgi.html#serving-files"><span·class="std·std-ref">Serving·files</span></a>.</p>
138 <p>Having·problems?··Try·<a·class="reference·internal"·href="../../../faq/admin.html"><span·class="doc">FAQ:·The·admin</span></a>.</p>139 <p>Having·problems?··Try·<a·class="reference·internal"·href="../../../faq/admin.html"><span·class="doc">FAQ:·The·admin</span></a>.</p>
139 </div>140 </div>
140 </section>141 </section>
141 </section>142 </section>
142 <section·id="s-modeladmin-objects">143 <section·id="s-modeladmin-objects">
143 <span·id="modeladmin-objects"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·objects<a·class="headerlink"·href="#modeladmin-objects"·title="Link·to·this·heading">¶</a></h2>144 <span·id="modeladmin-objects"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·objects<a·class="headerlink"·href="#modeladmin-objects"·title="Link·to·this·heading">¶</a></h2>
144 <dl·class="py·class">145 <dl·class="py·class">
145 <dt·class="sig·sig-object·py"·id="django.contrib.admin.ModelAdmin">146 <dt·class="sig·sig-object·py"·id="django.contrib.admin.ModelAdmin">
146 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ModelAdmin</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/admin/options.py#L643"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.admin.ModelAdmin"·title="Link·to·this·definition">¶</a></dt>147 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ModelAdmin</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/admin/options.py#L643"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.admin.ModelAdmin"·title="Link·to·this·definition">¶</a></dt>
147 <dd><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·class·is·the·representation·of·a·model·in·the·admin148 <dd><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·class·is·the·representation·of·a·model·in·the·admin
148 interface.·Usually,·these·are·stored·in·a·file·named·<code·class="docutils·literal·notranslate"><span·class="pre">admin.py</span></code>·in·your149 interface.·Usually,·these·are·stored·in·a·file·named·<code·class="docutils·literal·notranslate"><span·class="pre">admin.py</span></code>·in·your
149 application.·Let’s·take·a·look·at·an·example·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>:</p>150 application.·Let’s·take·a·look·at·an·example·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>:</p>
150 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib</span>·<span·class="kn">import</span>·<span·class="n">admin</span>151 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib</span>·<span·class="kn">import</span>·<span·class="n">admin</span>
151 <span·class="kn">from</span>·<span·class="nn">myapp.models</span>·<span·class="kn">import</span>·<span·class="n">Author</span>152 <span·class="kn">from</span>·<span·class="nn">myapp.models</span>·<span·class="kn">import</span>·<span·class="n">Author</span>
  
  
Offset 175, 15 lines modifiedOffset 176, 15 lines modified
175 </div>176 </div>
176 </dd></dl>177 </dd></dl>
  
177 <section·id="s-the-register-decorator">178 <section·id="s-the-register-decorator">
178 <span·id="the-register-decorator"></span><h3>The·<code·class="docutils·literal·notranslate"><span·class="pre">register</span></code>·decorator<a·class="headerlink"·href="#the-register-decorator"·title="Link·to·this·heading">¶</a></h3>179 <span·id="the-register-decorator"></span><h3>The·<code·class="docutils·literal·notranslate"><span·class="pre">register</span></code>·decorator<a·class="headerlink"·href="#the-register-decorator"·title="Link·to·this·heading">¶</a></h3>
179 <dl·class="py·function">180 <dl·class="py·function">
180 <dt·class="sig·sig-object·py"·id="django.contrib.admin.register">181 <dt·class="sig·sig-object·py"·id="django.contrib.admin.register">
181 <span·class="sig-name·descname"><span·class="pre">register</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">models</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">site</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">django.contrib.admin.sites.site</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/admin/decorators.py#L80"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.admin.register"·title="Link·to·this·definition">¶</a></dt>182 <span·class="sig-name·descname"><span·class="pre">register</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">models</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">site</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">django.contrib.admin.sites.site</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/admin/decorators.py#L80"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.admin.register"·title="Link·to·this·definition">¶</a></dt>
182 <dd><p>There·is·also·a·decorator·for·registering·your·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·classes:</p>183 <dd><p>There·is·also·a·decorator·for·registering·your·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·classes:</p>
183 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib</span>·<span·class="kn">import</span>·<span·class="n">admin</span>184 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib</span>·<span·class="kn">import</span>·<span·class="n">admin</span>
184 <span·class="kn">from</span>·<span·class="nn">.models</span>·<span·class="kn">import</span>·<span·class="n">Author</span>185 <span·class="kn">from</span>·<span·class="nn">.models</span>·<span·class="kn">import</span>·<span·class="n">Author</span>
  
  
185 <span·class="nd">@admin</span><span·class="o">.</span><span·class="n">register</span><span·class="p">(</span><span·class="n">Author</span><span·class="p">)</span>186 <span·class="nd">@admin</span><span·class="o">.</span><span·class="n">register</span><span·class="p">(</span><span·class="n">Author</span><span·class="p">)</span>
186 <span·class="k">class</span>·<span·class="nc">AuthorAdmin</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">ModelAdmin</span><span·class="p">):</span>187 <span·class="k">class</span>·<span·class="nc">AuthorAdmin</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">ModelAdmin</span><span·class="p">):</span>
Offset 236, 15 lines modifiedOffset 237, 15 lines modified
236 <a·class="reference·internal"·href="#overriding-default-admin-site"><span·class="std·std-ref">Overriding·the·default·admin·site</span></a>·for·usage.</p>237 <a·class="reference·internal"·href="#overriding-default-admin-site"><span·class="std·std-ref">Overriding·the·default·admin·site</span></a>·for·usage.</p>
237 </dd></dl>238 </dd></dl>
  
238 </dd></dl>239 </dd></dl>
  
239 <dl·class="py·function">240 <dl·class="py·function">
240 <dt·class="sig·sig-object·py"·id="django.contrib.admin.autodiscover">241 <dt·class="sig·sig-object·py"·id="django.contrib.admin.autodiscover">
241 <span·class="sig-name·descname"><span·class="pre">autodiscover</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/admin/__init__.py#L51"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.admin.autodiscover"·title="Link·to·this·definition">¶</a></dt>242 <span·class="sig-name·descname"><span·class="pre">autodiscover</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/admin/__init__.py#L51"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.admin.autodiscover"·title="Link·to·this·definition">¶</a></dt>
242 <dd><p>This·function·attempts·to·import·an·<code·class="docutils·literal·notranslate"><span·class="pre">admin</span></code>·module·in·each·installed243 <dd><p>This·function·attempts·to·import·an·<code·class="docutils·literal·notranslate"><span·class="pre">admin</span></code>·module·in·each·installed
243 application.·Such·modules·are·expected·to·register·models·with·the·admin.</p>244 application.·Such·modules·are·expected·to·register·models·with·the·admin.</p>
244 <p>Typically·you·won’t·need·to·call·this·function·directly·as245 <p>Typically·you·won’t·need·to·call·this·function·directly·as
245 <a·class="reference·internal"·href="#django.contrib.admin.apps.AdminConfig"·title="django.contrib.admin.apps.AdminConfig"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AdminConfig</span></code></a>·calls·it·when·Django·starts.</p>246 <a·class="reference·internal"·href="#django.contrib.admin.apps.AdminConfig"·title="django.contrib.admin.apps.AdminConfig"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AdminConfig</span></code></a>·calls·it·when·Django·starts.</p>
246 </dd></dl>247 </dd></dl>
  
247 <p>If·you·are·using·a·custom·<code·class="docutils·literal·notranslate"><span·class="pre">AdminSite</span></code>,·it·is·common·to·import·all·of·the248 <p>If·you·are·using·a·custom·<code·class="docutils·literal·notranslate"><span·class="pre">AdminSite</span></code>,·it·is·common·to·import·all·of·the
Offset 308, 15 lines modifiedOffset 309, 15 lines modified
308 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">date_hierarchy</span>·<span·class="o">=</span>·<span·class="s2">&quot;author__pub_date&quot;</span>309 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">date_hierarchy</span>·<span·class="o">=</span>·<span·class="s2">&quot;author__pub_date&quot;</span>
309 </pre></div>310 </pre></div>
310 </div>311 </div>
311 <p>This·will·intelligently·populate·itself·based·on·available·data,312 <p>This·will·intelligently·populate·itself·based·on·available·data,
312 e.g.·if·all·the·dates·are·in·one·month,·it’ll·show·the·day-level313 e.g.·if·all·the·dates·are·in·one·month,·it’ll·show·the·day-level
313 drill-down·only.</p>314 drill-down·only.</p>
314 <div·class="admonition·note">315 <div·class="admonition·note">
315 <p·class="admonition-title">Note</p>316 <p·class="admonition-title">rkus</p>
316 <p><code·class="docutils·literal·notranslate"><span·class="pre">date_hierarchy</span></code>·uses·<a·class="reference·internal"·href="../../models/querysets.html#django.db.models.query.QuerySet.datetimes"·title="django.db.models.query.QuerySet.datetimes"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.datetimes()</span></code></a>·internally.·Please·refer317 <p><code·class="docutils·literal·notranslate"><span·class="pre">date_hierarchy</span></code>·uses·<a·class="reference·internal"·href="../../models/querysets.html#django.db.models.query.QuerySet.datetimes"·title="django.db.models.query.QuerySet.datetimes"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.datetimes()</span></code></a>·internally.·Please·refer
317 to·its·documentation·for·some·caveats·when·time·zone·support·is318 to·its·documentation·for·some·caveats·when·time·zone·support·is
318 enabled·(<a·class="reference·internal"·href="../../settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span>·<span·class="pre">=</span>·<span·class="pre">True</span></code></a>).</p>319 enabled·(<a·class="reference·internal"·href="../../settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span>·<span·class="pre">=</span>·<span·class="pre">True</span></code></a>).</p>
319 </div>320 </div>
320 </dd></dl>321 </dd></dl>
  
321 <dl·class="py·attribute">322 <dl·class="py·attribute">
Offset 381, 15 lines modifiedOffset 382, 15 lines modified
381 contain·exactly·the·same·fields.</p>382 contain·exactly·the·same·fields.</p>
382 </dd></dl>383 </dd></dl>
  
383 <dl·class="py·attribute">384 <dl·class="py·attribute">
384 <dt·class="sig·sig-object·py"·id="django.contrib.admin.ModelAdmin.fields">385 <dt·class="sig·sig-object·py"·id="django.contrib.admin.ModelAdmin.fields">
385 <span·class="sig-prename·descclassname"><span·class="pre">ModelAdmin.</span></span><span·class="sig-name·descname"><span·class="pre">fields</span></span><a·class="headerlink"·href="#django.contrib.admin.ModelAdmin.fields"·title="Link·to·this·definition">¶</a></dt>386 <span·class="sig-prename·descclassname"><span·class="pre">ModelAdmin.</span></span><span·class="sig-name·descname"><span·class="pre">fields</span></span><a·class="headerlink"·href="#django.contrib.admin.ModelAdmin.fields"·title="Link·to·this·definition">¶</a></dt>
386 <dd><p>Use·the·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·option·to·make·simple·layout·changes·in·the·forms·on387 <dd><p>Use·the·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·option·to·make·simple·layout·changes·in·the·forms·on
387 the·add·and·change·pages·such·as·showing·only·a·subset·of·available388 the·add·and·change·pages·such·as·showing·only·a·subset·of·available
388 fields,·modifying·their·order,·or·grouping·them·into·rows.·For·example,·you389 fields,·modifying·their·order,·or·grouping·them·into·rows.·For·example,·you
389 could·define·a·simpler·version·of·the·admin·form·for·the390 could·define·a·simpler·version·of·the·admin·form·for·the
390 <a·class="reference·internal"·href="../flatpages.html#django.contrib.flatpages.models.FlatPage"·title="django.contrib.flatpages.models.FlatPage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.flatpages.models.FlatPage</span></code></a>·model·as·follows:</p>391 <a·class="reference·internal"·href="../flatpages.html#django.contrib.flatpages.models.FlatPage"·title="django.contrib.flatpages.models.FlatPage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.flatpages.models.FlatPage</span></code></a>·model·as·follows:</p>
391 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">FlatPageAdmin</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">ModelAdmin</span><span·class="p">):</span>392 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">FlatPageAdmin</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">ModelAdmin</span><span·class="p">):</span>
Max diff block lines reached; 176523/189480 bytes (93.16%) of diff not shown.
74.5 KB
html2text {}
Max HTML report size reached
7.15 KB
./usr/share/doc/python-django-doc/html/ref/contrib/admin/javascript.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>JavaScript·customizations·in·the·admin·&#8212;·Django·5.1.3·documentation</title>6 ····<title>JavaScript·customizations·in·the·admin·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="django.contrib.auth"·href="../auth.html"·/>15 ····<link·rel="next"·title="django.contrib.auth"·href="../auth.html"·/>
15 ····<link·rel="prev"·title="The·Django·admin·documentation·generator"·href="admindocs.html"·/>16 ····<link·rel="prev"·title="The·Django·admin·documentation·generator"·href="admindocs.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 150, 50 lines modifiedOffset 151, 50 lines modified
150 ······151 ······
151 ········152 ········
152 ··········<div·class="yui-b"·id="sidebar">153 ··········<div·class="yui-b"·id="sidebar">
153 ············154 ············
154 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">155 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
155 ········<div·class="sphinxsidebarwrapper">156 ········<div·class="sphinxsidebarwrapper">
156 ··<div>157 ··<div>
157 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>158 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
158 ····<ul>159 ····<ul>
159 <li><a·class="reference·internal"·href="#">JavaScript·customizations·in·the·admin</a><ul>160 <li><a·class="reference·internal"·href="#">JavaScript·customizations·in·the·admin</a><ul>
160 <li><a·class="reference·internal"·href="#inline-form-events">Inline·form·events</a><ul>161 <li><a·class="reference·internal"·href="#inline-form-events">Inline·form·events</a><ul>
161 <li><a·class="reference·internal"·href="#supporting-versions-of-django-older-than-4-1">Supporting·versions·of·Django·older·than·4.1</a></li>162 <li><a·class="reference·internal"·href="#supporting-versions-of-django-older-than-4-1">Supporting·versions·of·Django·older·than·4.1</a></li>
162 </ul>163 </ul>
163 </li>164 </li>
164 </ul>165 </ul>
165 </li>166 </li>
166 </ul>167 </ul>
  
167 ··</div>168 ··</div>
168 ··<div>169 ··<div>
169 ····<h4>Previous·topic</h4>170 ····<h4>Eelmine·teema</h4>
170 ····<p·class="topless"><a·href="admindocs.html"171 ····<p·class="topless"><a·href="admindocs.html"
171 ··························title="previous·chapter">The·Django·admin·documentation·generator</a></p>172 ··························title="eelmine·jaotis">The·Django·admin·documentation·generator</a></p>
172 ··</div>173 ··</div>
173 ··<div>174 ··<div>
174 ····<h4>Next·topic</h4>175 ····<h4>Järgmine·teema</h4>
175 ····<p·class="topless"><a·href="../auth.html"176 ····<p·class="topless"><a·href="../auth.html"
176 ··························title="next·chapter"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code></a></p>177 ··························title="järgmine·jaotis"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code></a></p>
177 ··</div>178 ··</div>
178 <search·id="searchbox"·style="display:·none"·role="search">179 <search·id="searchbox"·style="display:·none"·role="search">
179 ··<h3·id="searchlabel">Quick·search</h3>180 ··<h3·id="searchlabel">Kiirotsing</h3>
180 ····<div·class="searchformwrapper">181 ····<div·class="searchformwrapper">
181 ····<form·class="search"·action="../../../search.html"·method="get">182 ····<form·class="search"·action="../../../search.html"·method="get">
182 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>183 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
183 ······<input·type="submit"·value="Go"·/>184 ······<input·type="submit"·value="Otsi"·/>
184 ····</form>185 ····</form>
185 ····</div>186 ····</div>
186 </search>187 </search>
187 <script>document.getElementById('searchbox').style.display·=·"block"</script>188 <script>document.getElementById('searchbox').style.display·=·"block"</script>
188 ········</div>189 ········</div>
189 ······</div>190 ······</div>
190 ··············<h3>Last·update:</h3>191 ··············<h3>Last·update:</h3>
191 ··············<p·class="topless">Nov·05,·2024</p>192 ··············<p·class="topless">nov·05,·2024</p>
192 ··········</div>193 ··········</div>
193 ········194 ········
194 ······195 ······
195 ····</div>196 ····</div>
  
196 ····<div·id="ft">197 ····<div·id="ft">
197 ······<div·class="nav">198 ······<div·class="nav">
2.49 KB
html2text {}
Max HTML report size reached
75.2 KB
./usr/share/doc/python-django-doc/html/ref/contrib/auth.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>django.contrib.auth·&#8212;·Django·5.1.3·documentation</title>6 ····<title>django.contrib.auth·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·contenttypes·framework"·href="contenttypes.html"·/>15 ····<link·rel="next"·title="The·contenttypes·framework"·href="contenttypes.html"·/>
15 ····<link·rel="prev"·title="JavaScript·customizations·in·the·admin"·href="admin/javascript.html"·/>16 ····<link·rel="prev"·title="JavaScript·customizations·in·the·admin"·href="admin/javascript.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 469, 15 lines modifiedOffset 470, 15 lines modified
469 <li><p><a·class="reference·internal"·href="#django.contrib.auth.models.User.is_active"·title="django.contrib.auth.models.User.is_active"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_active</span></code></a>·is·always·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p></li>470 <li><p><a·class="reference·internal"·href="#django.contrib.auth.models.User.is_active"·title="django.contrib.auth.models.User.is_active"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_active</span></code></a>·is·always·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p></li>
470 <li><p><a·class="reference·internal"·href="#django.contrib.auth.models.User.groups"·title="django.contrib.auth.models.User.groups"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">groups</span></code></a>·and471 <li><p><a·class="reference·internal"·href="#django.contrib.auth.models.User.groups"·title="django.contrib.auth.models.User.groups"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">groups</span></code></a>·and
471 <a·class="reference·internal"·href="#django.contrib.auth.models.User.user_permissions"·title="django.contrib.auth.models.User.user_permissions"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">user_permissions</span></code></a>·are·always472 <a·class="reference·internal"·href="#django.contrib.auth.models.User.user_permissions"·title="django.contrib.auth.models.User.user_permissions"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">user_permissions</span></code></a>·are·always
472 empty.</p></li>473 empty.</p></li>
473 <li><p><a·class="reference·internal"·href="#django.contrib.auth.models.User.set_password"·title="django.contrib.auth.models.User.set_password"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">set_password()</span></code></a>,474 <li><p><a·class="reference·internal"·href="#django.contrib.auth.models.User.set_password"·title="django.contrib.auth.models.User.set_password"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">set_password()</span></code></a>,
474 <a·class="reference·internal"·href="#django.contrib.auth.models.User.check_password"·title="django.contrib.auth.models.User.check_password"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">check_password()</span></code></a>,475 <a·class="reference·internal"·href="#django.contrib.auth.models.User.check_password"·title="django.contrib.auth.models.User.check_password"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">check_password()</span></code></a>,
475 <a·class="reference·internal"·href="../models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·and476 <a·class="reference·internal"·href="../models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·and
476 <a·class="reference·internal"·href="../models/instances.html#django.db.models.Model.delete"·title="django.db.models.Model.delete"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">delete()</span></code></a>·raise·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#NotImplementedError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">NotImplementedError</span></code></a>.</p></li>477 <a·class="reference·internal"·href="../models/instances.html#django.db.models.Model.delete"·title="django.db.models.Model.delete"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">delete()</span></code></a>·raise·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#NotImplementedError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">NotImplementedError</span></code></a>.</p></li>
477 </ul>478 </ul>
478 </dd></dl>479 </dd></dl>
  
479 <p>In·practice,·you·probably·won’t·need·to·use480 <p>In·practice,·you·probably·won’t·need·to·use
480 <a·class="reference·internal"·href="#django.contrib.auth.models.AnonymousUser"·title="django.contrib.auth.models.AnonymousUser"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AnonymousUser</span></code></a>·objects·on·your·own,·but481 <a·class="reference·internal"·href="#django.contrib.auth.models.AnonymousUser"·title="django.contrib.auth.models.AnonymousUser"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AnonymousUser</span></code></a>·objects·on·your·own,·but
481 they’re·used·by·web·requests,·as·explained·in·the·next·section.</p>482 they’re·used·by·web·requests,·as·explained·in·the·next·section.</p>
482 </section>483 </section>
Offset 616, 15 lines modifiedOffset 617, 15 lines modified
616 <span·class="sig-name·descname"><span·class="pre">user_login_failed</span></span><a·class="headerlink"·href="#django.contrib.auth.signals.user_login_failed"·title="Link·to·this·definition">¶</a></dt>617 <span·class="sig-name·descname"><span·class="pre">user_login_failed</span></span><a·class="headerlink"·href="#django.contrib.auth.signals.user_login_failed"·title="Link·to·this·definition">¶</a></dt>
617 <dd><p>Sent·when·the·user·failed·to·login·successfully</p>618 <dd><p>Sent·when·the·user·failed·to·login·successfully</p>
618 <dl·class="simple">619 <dl·class="simple">
619 <dt><code·class="docutils·literal·notranslate"><span·class="pre">sender</span></code></dt><dd><p>The·name·of·the·module·used·for·authentication.</p>620 <dt><code·class="docutils·literal·notranslate"><span·class="pre">sender</span></code></dt><dd><p>The·name·of·the·module·used·for·authentication.</p>
620 </dd>621 </dd>
621 <dt><code·class="docutils·literal·notranslate"><span·class="pre">credentials</span></code></dt><dd><p>A·dictionary·of·keyword·arguments·containing·the·user·credentials·that·were622 <dt><code·class="docutils·literal·notranslate"><span·class="pre">credentials</span></code></dt><dd><p>A·dictionary·of·keyword·arguments·containing·the·user·credentials·that·were
622 passed·to·<a·class="reference·internal"·href="../../topics/auth/default.html#django.contrib.auth.authenticate"·title="django.contrib.auth.authenticate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">authenticate()</span></code></a>·or·your·own·custom623 passed·to·<a·class="reference·internal"·href="../../topics/auth/default.html#django.contrib.auth.authenticate"·title="django.contrib.auth.authenticate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">authenticate()</span></code></a>·or·your·own·custom
623 authentication·backend.·Credentials·matching·a·set·of·sensitive·patterns,624 authentication·backend.·Credentials·matching·a·set·of·sensitive·patterns,
624 (including·password)·will·not·be·sent·in·the·clear·as·part·of·the·signal.</p>625 (including·password)·will·not·be·sent·in·the·clear·as·part·of·the·signal.</p>
625 </dd>626 </dd>
626 <dt><code·class="docutils·literal·notranslate"><span·class="pre">request</span></code></dt><dd><p>The·<a·class="reference·internal"·href="../request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·object,·if·one·was·provided·to627 <dt><code·class="docutils·literal·notranslate"><span·class="pre">request</span></code></dt><dd><p>The·<a·class="reference·internal"·href="../request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·object,·if·one·was·provided·to
627 <a·class="reference·internal"·href="../../topics/auth/default.html#django.contrib.auth.authenticate"·title="django.contrib.auth.authenticate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">authenticate()</span></code></a>.</p>628 <a·class="reference·internal"·href="../../topics/auth/default.html#django.contrib.auth.authenticate"·title="django.contrib.auth.authenticate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">authenticate()</span></code></a>.</p>
628 </dd>629 </dd>
629 </dl>630 </dl>
630 </dd></dl>631 </dd></dl>
Offset 636, 48 lines modifiedOffset 637, 48 lines modified
636 information·on·how·to·use·them·and·how·to·write·your·own·authentication637 information·on·how·to·use·them·and·how·to·write·your·own·authentication
637 backends,·see·the·<a·class="reference·internal"·href="../../topics/auth/customizing.html#authentication-backends"><span·class="std·std-ref">Other·authentication·sources·section</span></a>·of·the·<a·class="reference·internal"·href="../../topics/auth/index.html"><span·class="doc">User·authentication·guide</span></a>.</p>638 backends,·see·the·<a·class="reference·internal"·href="../../topics/auth/customizing.html#authentication-backends"><span·class="std·std-ref">Other·authentication·sources·section</span></a>·of·the·<a·class="reference·internal"·href="../../topics/auth/index.html"><span·class="doc">User·authentication·guide</span></a>.</p>
638 <section·id="s-available-authentication-backends">639 <section·id="s-available-authentication-backends">
639 <span·id="available-authentication-backends"></span><h3>Available·authentication·backends<a·class="headerlink"·href="#available-authentication-backends"·title="Link·to·this·heading">¶</a></h3>640 <span·id="available-authentication-backends"></span><h3>Available·authentication·backends<a·class="headerlink"·href="#available-authentication-backends"·title="Link·to·this·heading">¶</a></h3>
640 <p>The·following·backends·are·available·in·<a·class="reference·internal"·href="#module-django.contrib.auth.backends"·title="django.contrib.auth.backends:·Django's·built-in·authentication·backend·classes."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth.backends</span></code></a>:</p>641 <p>The·following·backends·are·available·in·<a·class="reference·internal"·href="#module-django.contrib.auth.backends"·title="django.contrib.auth.backends:·Django's·built-in·authentication·backend·classes."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth.backends</span></code></a>:</p>
641 <dl·class="py·class">642 <dl·class="py·class">
642 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend">643 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend">
643 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseBackend</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L8"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend"·title="Link·to·this·definition">¶</a></dt>644 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseBackend</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L8"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend"·title="Link·to·this·definition">¶</a></dt>
644 <dd><p>A·base·class·that·provides·default·implementations·for·all·required645 <dd><p>A·base·class·that·provides·default·implementations·for·all·required
645 methods.·By·default,·it·will·reject·any·user·and·provide·no·permissions.</p>646 methods.·By·default,·it·will·reject·any·user·and·provide·no·permissions.</p>
646 <dl·class="py·method">647 <dl·class="py·method">
647 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend.get_user_permissions">648 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend.get_user_permissions">
648 <span·class="sig-name·descname"><span·class="pre">get_user_permissions</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">user_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L15"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend.get_user_permissions"·title="Link·to·this·definition">¶</a></dt>649 <span·class="sig-name·descname"><span·class="pre">get_user_permissions</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">user_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L15"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend.get_user_permissions"·title="Link·to·this·definition">¶</a></dt>
649 <dd><p>Returns·an·empty·set.</p>650 <dd><p>Returns·an·empty·set.</p>
650 </dd></dl>651 </dd></dl>
  
651 <dl·class="py·method">652 <dl·class="py·method">
652 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend.get_group_permissions">653 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend.get_group_permissions">
653 <span·class="sig-name·descname"><span·class="pre">get_group_permissions</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">user_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L18"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend.get_group_permissions"·title="Link·to·this·definition">¶</a></dt>654 <span·class="sig-name·descname"><span·class="pre">get_group_permissions</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">user_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L18"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend.get_group_permissions"·title="Link·to·this·definition">¶</a></dt>
654 <dd><p>Returns·an·empty·set.</p>655 <dd><p>Returns·an·empty·set.</p>
655 </dd></dl>656 </dd></dl>
  
656 <dl·class="py·method">657 <dl·class="py·method">
657 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend.get_all_permissions">658 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend.get_all_permissions">
658 <span·class="sig-name·descname"><span·class="pre">get_all_permissions</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">user_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L21"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend.get_all_permissions"·title="Link·to·this·definition">¶</a></dt>659 <span·class="sig-name·descname"><span·class="pre">get_all_permissions</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">user_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L21"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend.get_all_permissions"·title="Link·to·this·definition">¶</a></dt>
659 <dd><p>Uses·<a·class="reference·internal"·href="#django.contrib.auth.backends.BaseBackend.get_user_permissions"·title="django.contrib.auth.backends.BaseBackend.get_user_permissions"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_user_permissions()</span></code></a>·and·<a·class="reference·internal"·href="#django.contrib.auth.backends.BaseBackend.get_group_permissions"·title="django.contrib.auth.backends.BaseBackend.get_group_permissions"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_group_permissions()</span></code></a>·to660 <dd><p>Uses·<a·class="reference·internal"·href="#django.contrib.auth.backends.BaseBackend.get_user_permissions"·title="django.contrib.auth.backends.BaseBackend.get_user_permissions"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_user_permissions()</span></code></a>·and·<a·class="reference·internal"·href="#django.contrib.auth.backends.BaseBackend.get_group_permissions"·title="django.contrib.auth.backends.BaseBackend.get_group_permissions"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_group_permissions()</span></code></a>·to
660 get·the·set·of·permission·strings·the·<code·class="docutils·literal·notranslate"><span·class="pre">user_obj</span></code>·has.</p>661 get·the·set·of·permission·strings·the·<code·class="docutils·literal·notranslate"><span·class="pre">user_obj</span></code>·has.</p>
661 </dd></dl>662 </dd></dl>
  
662 <dl·class="py·method">663 <dl·class="py·method">
663 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend.has_perm">664 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.BaseBackend.has_perm">
664 <span·class="sig-name·descname"><span·class="pre">has_perm</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">user_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">perm</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L27"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend.has_perm"·title="Link·to·this·definition">¶</a></dt>665 <span·class="sig-name·descname"><span·class="pre">has_perm</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">user_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">perm</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L27"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.BaseBackend.has_perm"·title="Link·to·this·definition">¶</a></dt>
665 <dd><p>Uses·<a·class="reference·internal"·href="#django.contrib.auth.backends.BaseBackend.get_all_permissions"·title="django.contrib.auth.backends.BaseBackend.get_all_permissions"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_all_permissions()</span></code></a>·to·check·if·<code·class="docutils·literal·notranslate"><span·class="pre">user_obj</span></code>·has·the666 <dd><p>Uses·<a·class="reference·internal"·href="#django.contrib.auth.backends.BaseBackend.get_all_permissions"·title="django.contrib.auth.backends.BaseBackend.get_all_permissions"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_all_permissions()</span></code></a>·to·check·if·<code·class="docutils·literal·notranslate"><span·class="pre">user_obj</span></code>·has·the
666 permission·string·<code·class="docutils·literal·notranslate"><span·class="pre">perm</span></code>.</p>667 permission·string·<code·class="docutils·literal·notranslate"><span·class="pre">perm</span></code>.</p>
667 </dd></dl>668 </dd></dl>
  
668 </dd></dl>669 </dd></dl>
  
669 <dl·class="py·class">670 <dl·class="py·class">
670 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.ModelBackend">671 <dt·class="sig·sig-object·py"·id="django.contrib.auth.backends.ModelBackend">
671 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ModelBackend</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L31"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.ModelBackend"·title="Link·to·this·definition">¶</a></dt>672 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ModelBackend</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/backends.py#L31"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.backends.ModelBackend"·title="Link·to·this·definition">¶</a></dt>
672 <dd><p>This·is·the·default·authentication·backend·used·by·Django.··It673 <dd><p>This·is·the·default·authentication·backend·used·by·Django.··It
673 authenticates·using·credentials·consisting·of·a·user·identifier·and674 authenticates·using·credentials·consisting·of·a·user·identifier·and
674 password.··For·Django’s·default·user·model,·the·user·identifier·is·the675 password.··For·Django’s·default·user·model,·the·user·identifier·is·the
675 username,·for·custom·user·models·it·is·the·field·specified·by676 username,·for·custom·user·models·it·is·the·field·specified·by
676 USERNAME_FIELD·(see·<a·class="reference·internal"·href="../../topics/auth/customizing.html"><span·class="doc">Customizing·Users·and·authentication</span></a>).</p>677 USERNAME_FIELD·(see·<a·class="reference·internal"·href="../../topics/auth/customizing.html"><span·class="doc">Customizing·Users·and·authentication</span></a>).</p>
677 <p>It·also·handles·the·default·permissions·model·as·defined·for678 <p>It·also·handles·the·default·permissions·model·as·defined·for
678 <a·class="reference·internal"·href="#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·and679 <a·class="reference·internal"·href="#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·and
Offset 687, 81 lines modifiedOffset 688, 81 lines modified
687 parameter·for·object-specific·permissions,·but·this·backend·does·not688 parameter·for·object-specific·permissions,·but·this·backend·does·not
688 implement·them·other·than·returning·an·empty·set·of·permissions·if689 implement·them·other·than·returning·an·empty·set·of·permissions·if
689 <code·class="docutils·literal·notranslate"><span·class="pre">obj</span>·<span·class="pre">is</span>·<span·class="pre">not</span>·<span·class="pre">None</span></code>.</p>690 <code·class="docutils·literal·notranslate"><span·class="pre">obj</span>·<span·class="pre">is</span>·<span·class="pre">not</span>·<span·class="pre">None</span></code>.</p>
690 <p><a·class="reference·internal"·href="#django.contrib.auth.backends.ModelBackend.with_perm"·title="django.contrib.auth.backends.ModelBackend.with_perm"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">with_perm()</span></code></a>·also·allows·an·object·to·be·passed·as·a·parameter,·but691 <p><a·class="reference·internal"·href="#django.contrib.auth.backends.ModelBackend.with_perm"·title="django.contrib.auth.backends.ModelBackend.with_perm"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">with_perm()</span></code></a>·also·allows·an·object·to·be·passed·as·a·parameter,·but
691 unlike·others·methods·it·returns·an·empty·queryset·if·<code·class="docutils·literal·notranslate"><span·class="pre">obj</span>·<span·class="pre">is</span>·<span·class="pre">not</span>·<span·class="pre">None</span></code>.</p>692 unlike·others·methods·it·returns·an·empty·queryset·if·<code·class="docutils·literal·notranslate"><span·class="pre">obj</span>·<span·class="pre">is</span>·<span·class="pre">not</span>·<span·class="pre">None</span></code>.</p>
692 <dl·class="py·method">693 <dl·class="py·method">
Max diff block lines reached; 39874/59417 bytes (67.11%) of diff not shown.
17.1 KB
html2text {}
Max HTML report size reached
87.7 KB
./usr/share/doc/python-django-doc/html/ref/contrib/contenttypes.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·contenttypes·framework·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·contenttypes·framework·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·flatpages·app"·href="flatpages.html"·/>15 ····<link·rel="next"·title="The·flatpages·app"·href="flatpages.html"·/>
15 ····<link·rel="prev"·title="django.contrib.auth"·href="auth.html"·/>16 ····<link·rel="prev"·title="django.contrib.auth"·href="auth.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 15 lines modifiedOffset 97, 15 lines modified
96 from·those·models.·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>97 from·those·models.·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>
97 also·has·a·<a·class="reference·internal"·href="../../topics/db/managers.html#custom-managers"><span·class="std·std-ref">custom·manager</span></a>·that·adds·methods·for98 also·has·a·<a·class="reference·internal"·href="../../topics/db/managers.html#custom-managers"><span·class="std·std-ref">custom·manager</span></a>·that·adds·methods·for
98 working·with·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·and·for99 working·with·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·and·for
99 obtaining·instances·of·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>100 obtaining·instances·of·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>
100 for·a·particular·model.</p>101 for·a·particular·model.</p>
101 <p>Relations·between·your·models·and102 <p>Relations·between·your·models·and
102 <a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·can·also·be·used·to103 <a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·can·also·be·used·to
103 enable·generic·relationships·between·an·instance·of·one·of·your104 enable·generic·relationships·between·an·instance·of·one·of·your
104 models·and·instances·of·any·model·you·have·installed.</p>105 models·and·instances·of·any·model·you·have·installed.</p>
105 </section>106 </section>
106 <section·id="s-installing-the-contenttypes-framework">107 <section·id="s-installing-the-contenttypes-framework">
107 <span·id="installing-the-contenttypes-framework"></span><h2>Installing·the·contenttypes·framework<a·class="headerlink"·href="#installing-the-contenttypes-framework"·title="Link·to·this·heading">¶</a></h2>108 <span·id="installing-the-contenttypes-framework"></span><h2>Installing·the·contenttypes·framework<a·class="headerlink"·href="#installing-the-contenttypes-framework"·title="Link·to·this·heading">¶</a></h2>
108 <p>The·contenttypes·framework·is·included·in·the·default109 <p>The·contenttypes·framework·is·included·in·the·default
109 <a·class="reference·internal"·href="../settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·list·created·by·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span>·<span·class="pre">startproject</span></code>,110 <a·class="reference·internal"·href="../settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·list·created·by·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span>·<span·class="pre">startproject</span></code>,
110 but·if·you’ve·removed·it·or·if·you·manually·set·up·your111 but·if·you’ve·removed·it·or·if·you·manually·set·up·your
Offset 119, 15 lines modifiedOffset 120, 15 lines modified
119 to·tie·user·permissions·to·specific·models.</p></li>120 to·tie·user·permissions·to·specific·models.</p></li>
120 </ul>121 </ul>
121 </section>122 </section>
122 <section·id="s-the-contenttype-model">123 <section·id="s-the-contenttype-model">
123 <span·id="the-contenttype-model"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">ContentType</span></code>·model<a·class="headerlink"·href="#the-contenttype-model"·title="Link·to·this·heading">¶</a></h2>124 <span·id="the-contenttype-model"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">ContentType</span></code>·model<a·class="headerlink"·href="#the-contenttype-model"·title="Link·to·this·heading">¶</a></h2>
124 <dl·class="py·class">125 <dl·class="py·class">
125 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType">126 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType">
126 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ContentType</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/contenttypes/models.py#L134"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType"·title="Link·to·this·definition">¶</a></dt>127 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ContentType</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/contenttypes/models.py#L134"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType"·title="Link·to·this·definition">¶</a></dt>
127 <dd><p>Each·instance·of·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>128 <dd><p>Each·instance·of·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>
128 has·two·fields·which,·taken·together,·uniquely·describe·an·installed129 has·two·fields·which,·taken·together,·uniquely·describe·an·installed
129 model:</p>130 model:</p>
130 <dl·class="py·attribute">131 <dl·class="py·attribute">
131 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType.app_label">132 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType.app_label">
132 <span·class="sig-name·descname"><span·class="pre">app_label</span></span><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.app_label"·title="Link·to·this·definition">¶</a></dt>133 <span·class="sig-name·descname"><span·class="pre">app_label</span></span><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.app_label"·title="Link·to·this·definition">¶</a></dt>
133 <dd><p>The·name·of·the·application·the·model·is·part·of.·This·is·taken·from134 <dd><p>The·name·of·the·application·the·model·is·part·of.·This·is·taken·from
Offset 142, 15 lines modifiedOffset 143, 15 lines modified
142 <span·class="sig-name·descname"><span·class="pre">model</span></span><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.model"·title="Link·to·this·definition">¶</a></dt>143 <span·class="sig-name·descname"><span·class="pre">model</span></span><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.model"·title="Link·to·this·definition">¶</a></dt>
143 <dd><p>The·name·of·the·model·class.</p>144 <dd><p>The·name·of·the·model·class.</p>
144 </dd></dl>145 </dd></dl>
  
145 <p>Additionally,·the·following·property·is·available:</p>146 <p>Additionally,·the·following·property·is·available:</p>
146 <dl·class="py·attribute">147 <dl·class="py·attribute">
147 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType.name">148 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType.name">
148 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/contenttypes/models.py#L149"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.name"·title="Link·to·this·definition">¶</a></dt>149 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/contenttypes/models.py#L149"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.name"·title="Link·to·this·definition">¶</a></dt>
149 <dd><p>The·human-readable·name·of·the·content·type.·This·is·taken·from·the150 <dd><p>The·human-readable·name·of·the·content·type.·This·is·taken·from·the
150 <a·class="reference·internal"·href="../models/fields.html#django.db.models.Field.verbose_name"·title="django.db.models.Field.verbose_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">verbose_name</span></code></a>151 <a·class="reference·internal"·href="../models/fields.html#django.db.models.Field.verbose_name"·title="django.db.models.Field.verbose_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">verbose_name</span></code></a>
151 attribute·of·the·model.</p>152 attribute·of·the·model.</p>
152 </dd></dl>153 </dd></dl>
  
153 </dd></dl>154 </dd></dl>
  
Offset 174, 29 lines modifiedOffset 175, 29 lines modified
174 <span·id="methods-on-contenttype-instances"></span><h2>Methods·on·<code·class="docutils·literal·notranslate"><span·class="pre">ContentType</span></code>·instances<a·class="headerlink"·href="#methods-on-contenttype-instances"·title="Link·to·this·heading">¶</a></h2>175 <span·id="methods-on-contenttype-instances"></span><h2>Methods·on·<code·class="docutils·literal·notranslate"><span·class="pre">ContentType</span></code>·instances<a·class="headerlink"·href="#methods-on-contenttype-instances"·title="Link·to·this·heading">¶</a></h2>
175 <p>Each·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·instance·has176 <p>Each·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·instance·has
176 methods·that·allow·you·to·get·from·a177 methods·that·allow·you·to·get·from·a
177 <a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·instance·to·the178 <a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·instance·to·the
178 model·it·represents,·or·to·retrieve·objects·from·that·model:</p>179 model·it·represents,·or·to·retrieve·objects·from·that·model:</p>
179 <dl·class="py·method">180 <dl·class="py·method">
180 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType.get_object_for_this_type">181 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType.get_object_for_this_type">
181 <span·class="sig-prename·descclassname"><span·class="pre">ContentType.</span></span><span·class="sig-name·descname"><span·class="pre">get_object_for_this_type</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/contenttypes/models.py#L172"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.get_object_for_this_type"·title="Link·to·this·definition">¶</a></dt>182 <span·class="sig-prename·descclassname"><span·class="pre">ContentType.</span></span><span·class="sig-name·descname"><span·class="pre">get_object_for_this_type</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/contenttypes/models.py#L172"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.get_object_for_this_type"·title="Link·to·this·definition">¶</a></dt>
182 <dd><p>Takes·a·set·of·valid·<a·class="reference·internal"·href="../../topics/db/queries.html#field-lookups-intro"><span·class="std·std-ref">lookup·arguments</span></a>·for·the183 <dd><p>Takes·a·set·of·valid·<a·class="reference·internal"·href="../../topics/db/queries.html#field-lookups-intro"><span·class="std·std-ref">lookup·arguments</span></a>·for·the
183 model·the·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>184 model·the·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>
184 represents,·and·does185 represents,·and·does
185 <a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.get"·title="django.db.models.query.QuerySet.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">a</span>·<span·class="pre">get()</span>·<span·class="pre">lookup</span></code></a>186 <a·class="reference·internal"·href="../models/querysets.html#django.db.models.query.QuerySet.get"·title="django.db.models.query.QuerySet.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">a</span>·<span·class="pre">get()</span>·<span·class="pre">lookup</span></code></a>
186 on·that·model,·returning·the·corresponding·object.·The·<code·class="docutils·literal·notranslate"><span·class="pre">using</span></code>·argument187 on·that·model,·returning·the·corresponding·object.·The·<code·class="docutils·literal·notranslate"><span·class="pre">using</span></code>·argument
187 can·be·used·to·specify·a·different·database·than·the·default·one.</p>188 can·be·used·to·specify·a·different·database·than·the·default·one.</p>
188 <div·class="versionchanged">189 <div·class="versionchanged">
189 <span·class="title">Changed·in·Django·5.1:</span>·<p>The·<code·class="docutils·literal·notranslate"><span·class="pre">using</span></code>·argument·was·added.</p>190 <span·class="title">Changed·in·Django·5.1:</span>·<p>The·<code·class="docutils·literal·notranslate"><span·class="pre">using</span></code>·argument·was·added.</p>
190 </div>191 </div>
191 </dd></dl>192 </dd></dl>
  
192 <dl·class="py·method">193 <dl·class="py·method">
193 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType.model_class">194 <dt·class="sig·sig-object·py"·id="django.contrib.contenttypes.models.ContentType.model_class">
194 <span·class="sig-prename·descclassname"><span·class="pre">ContentType.</span></span><span·class="sig-name·descname"><span·class="pre">model_class</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/contenttypes/models.py#L165"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.model_class"·title="Link·to·this·definition">¶</a></dt>195 <span·class="sig-prename·descclassname"><span·class="pre">ContentType.</span></span><span·class="sig-name·descname"><span·class="pre">model_class</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/contenttypes/models.py#L165"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.contenttypes.models.ContentType.model_class"·title="Link·to·this·definition">¶</a></dt>
195 <dd><p>Returns·the·model·class·represented·by·this196 <dd><p>Returns·the·model·class·represented·by·this
196 <a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·instance.</p>197 <a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·instance.</p>
197 </dd></dl>198 </dd></dl>
  
198 <p>For·example,·we·could·look·up·the199 <p>For·example,·we·could·look·up·the
199 <a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·for·the200 <a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>·for·the
200 <a·class="reference·internal"·href="auth.html#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·model:</p>201 <a·class="reference·internal"·href="auth.html#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·model:</p>
Offset 234, 68 lines modifiedOffset 235, 68 lines modified
234 <p>Several·of·Django’s·bundled·applications·make·use·of·the·latter·technique.235 <p>Several·of·Django’s·bundled·applications·make·use·of·the·latter·technique.
235 For·example,236 For·example,
236 <a·class="reference·internal"·href="auth.html#django.contrib.auth.models.Permission"·title="django.contrib.auth.models.Permission"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">the</span>·<span·class="pre">permissions</span>·<span·class="pre">system</span></code></a>·in237 <a·class="reference·internal"·href="auth.html#django.contrib.auth.models.Permission"·title="django.contrib.auth.models.Permission"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">the</span>·<span·class="pre">permissions</span>·<span·class="pre">system</span></code></a>·in
237 Django’s·authentication·framework·uses·a238 Django’s·authentication·framework·uses·a
238 <a·class="reference·internal"·href="auth.html#django.contrib.auth.models.Permission"·title="django.contrib.auth.models.Permission"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Permission</span></code></a>·model·with·a·foreign239 <a·class="reference·internal"·href="auth.html#django.contrib.auth.models.Permission"·title="django.contrib.auth.models.Permission"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Permission</span></code></a>·model·with·a·foreign
239 key·to·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>;·this·lets240 key·to·<a·class="reference·internal"·href="#django.contrib.contenttypes.models.ContentType"·title="django.contrib.contenttypes.models.ContentType"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentType</span></code></a>;·this·lets
240 <a·class="reference·internal"·href="auth.html#django.contrib.auth.models.Permission"·title="django.contrib.auth.models.Permission"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Permission</span></code></a>·represent·concepts·like241 <a·class="reference·internal"·href="auth.html#django.contrib.auth.models.Permission"·title="django.contrib.auth.models.Permission"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Permission</span></code></a>·represent·concepts·like
241 can·add·blog·entry·or·can·delete·news·story.</p>242 can·add·blog·entry·or·can·delete·news·story.</p>
242 <section·id="s-the-contenttypemanager">243 <section·id="s-the-contenttypemanager">
Max diff block lines reached; 50249/66066 bytes (76.06%) of diff not shown.
23.0 KB
html2text {}
Max HTML report size reached
31.6 KB
./usr/share/doc/python-django-doc/html/ref/contrib/flatpages.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·flatpages·app·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·flatpages·app·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="GeoDjango"·href="gis/index.html"·/>15 ····<link·rel="next"·title="GeoDjango"·href="gis/index.html"·/>
15 ····<link·rel="prev"·title="The·contenttypes·framework"·href="contenttypes.html"·/>16 ····<link·rel="prev"·title="The·contenttypes·framework"·href="contenttypes.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 19 lines modifiedOffset 76, 19 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-contrib-flatpages">79 ··········<div·class="yui-g"·id="ref-contrib-flatpages">
79 ············80 ············
80 ··<section·id="s-module-django.contrib.flatpages">81 ··<section·id="s-module-django.contrib.flatpages">
81 <span·id="s-the-flatpages-app"></span><span·id="module-django.contrib.flatpages"></span><span·id="the-flatpages-app"></span><h1>The·flatpages·app<a·class="headerlink"·href="#module-django.contrib.flatpages"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-the-flatpages-app"></span><span·id="module-django.contrib.flatpages"></span><span·id="the-flatpages-app"></span><h1>The·flatpages·app<a·class="headerlink"·href="#module-django.contrib.flatpages"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django·comes·with·an·optional·flatpages·application.·It·lets·you·store·flat83 <p>Django·comes·with·an·optional·flatpages·application.·It·lets·you·store·flat
83 HTML·content·in·a·database·and·handles·the·management·for·you·via·Django’s84 HTML·content·in·a·database·and·handles·the·management·for·you·via·Django’s
84 admin·interface·and·a·Python·API.</p>85 admin·interface·and·a·Python·API.</p>
85 <p>A·flatpage·is·an·object·with·a·URL,·title·and·content.·Use·it·for·one-off,86 <p>A·flatpage·is·an·object·with·a·URL,·title·and·content.·Use·it·for·one-off,
86 special-case·pages,·such·as·About·or·Privacy·Policy·pages,·that·you·want·to87 special-case·pages,·such·as·About·or·Privacy·Policy·pages,·that·you·want·to
87 store·in·a·database·but·for·which·you·don’t·want·to·develop·a·custom·Django88 store·in·a·database·but·for·which·you·don’t·want·to·develop·a·custom·Django
88 application.</p>89 application.</p>
89 <p>A·flatpage·can·use·a·custom·template·or·a·default,·systemwide·flatpage90 <p>A·flatpage·can·use·a·custom·template·or·a·default,·systemwide·flatpage
90 template.·It·can·be·associated·with·one,·or·multiple,·sites.</p>91 template.·It·can·be·associated·with·one,·or·multiple,·sites.</p>
91 <p>The·content·field·may·optionally·be·left·blank·if·you·prefer·to·put·your92 <p>The·content·field·may·optionally·be·left·blank·if·you·prefer·to·put·your
92 content·in·a·custom·template.</p>93 content·in·a·custom·template.</p>
93 <section·id="s-installation">94 <section·id="s-installation">
Offset 133, 26 lines modifiedOffset 134, 26 lines modified
133 <p>There·are·several·ways·to·include·the·flat·pages·in·your·URLconf.·You·can134 <p>There·are·several·ways·to·include·the·flat·pages·in·your·URLconf.·You·can
134 dedicate·a·particular·path·to·flat·pages:</p>135 dedicate·a·particular·path·to·flat·pages:</p>
135 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>136 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>
136 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;pages/&quot;</span><span·class="p">,</span>·<span·class="n">include</span><span·class="p">(</span><span·class="s2">&quot;django.contrib.flatpages.urls&quot;</span><span·class="p">)),</span>137 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;pages/&quot;</span><span·class="p">,</span>·<span·class="n">include</span><span·class="p">(</span><span·class="s2">&quot;django.contrib.flatpages.urls&quot;</span><span·class="p">)),</span>
137 <span·class="p">]</span>138 <span·class="p">]</span>
138 </pre></div>139 </pre></div>
139 </div>140 </div>
140 <p>You·can·also·set·it·up·as·a·catchall·pattern.·In·this·case,·it·is·important141 <p>You·can·also·set·it·up·as·a·catchall·pattern.·In·this·case,·it·is·important
141 to·place·the·pattern·at·the·end·of·the·other·urlpatterns:</p>142 to·place·the·pattern·at·the·end·of·the·other·urlpatterns:</p>
142 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.flatpages</span>·<span·class="kn">import</span>·<span·class="n">views</span>143 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.flatpages</span>·<span·class="kn">import</span>·<span·class="n">views</span>
  
143 <span·class="c1">#·Your·other·patterns·here</span>144 <span·class="c1">#·Your·other·patterns·here</span>
144 <span·class="n">urlpatterns</span>·<span·class="o">+=</span>·<span·class="p">[</span>145 <span·class="n">urlpatterns</span>·<span·class="o">+=</span>·<span·class="p">[</span>
145 ····<span·class="n">re_path</span><span·class="p">(</span><span·class="sa">r</span><span·class="s2">&quot;^(?P&lt;url&gt;.*/)$&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">flatpage</span><span·class="p">),</span>146 ····<span·class="n">re_path</span><span·class="p">(</span><span·class="sa">r</span><span·class="s2">&quot;^(?P&lt;url&gt;.*/)$&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">flatpage</span><span·class="p">),</span>
146 <span·class="p">]</span>147 <span·class="p">]</span>
147 </pre></div>148 </pre></div>
148 </div>149 </div>
149 <div·class="admonition·warning">150 <div·class="admonition·warning">
150 <p·class="admonition-title">Warning</p>151 <p·class="admonition-title">Hoiatus</p>
151 <p>If·you·set·<a·class="reference·internal"·href="../settings.html#std-setting-APPEND_SLASH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">APPEND_SLASH</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·you·must·remove·the·slash152 <p>If·you·set·<a·class="reference·internal"·href="../settings.html#std-setting-APPEND_SLASH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">APPEND_SLASH</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·you·must·remove·the·slash
152 in·the·catchall·pattern·or·flatpages·without·a·trailing·slash·will·not·be153 in·the·catchall·pattern·or·flatpages·without·a·trailing·slash·will·not·be
153 matched.</p>154 matched.</p>
154 </div>155 </div>
155 <p>Another·common·setup·is·to·use·flat·pages·for·a·limited·set·of·known·pages·and156 <p>Another·common·setup·is·to·use·flat·pages·for·a·limited·set·of·known·pages·and
156 to·hard·code·the·urls,·so·you·can·reference·them·with·the·<a·class="reference·internal"·href="../templates/builtins.html#std-templatetag-url"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">url</span></code></a>·template157 to·hard·code·the·urls,·so·you·can·reference·them·with·the·<a·class="reference·internal"·href="../templates/builtins.html#std-templatetag-url"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">url</span></code></a>·template
157 tag:</p>158 tag:</p>
Offset 167, 15 lines modifiedOffset 168, 15 lines modified
167 </section>168 </section>
168 <section·id="s-using-the-middleware">169 <section·id="s-using-the-middleware">
169 <span·id="using-the-middleware"></span><h3>Using·the·middleware<a·class="headerlink"·href="#using-the-middleware"·title="Link·to·this·heading">¶</a></h3>170 <span·id="using-the-middleware"></span><h3>Using·the·middleware<a·class="headerlink"·href="#using-the-middleware"·title="Link·to·this·heading">¶</a></h3>
170 <p>The·<a·class="reference·internal"·href="#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FlatpageFallbackMiddleware</span></code></a>171 <p>The·<a·class="reference·internal"·href="#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FlatpageFallbackMiddleware</span></code></a>
171 can·do·all·of·the·work.</p>172 can·do·all·of·the·work.</p>
172 <dl·class="py·class">173 <dl·class="py·class">
173 <dt·class="sig·sig-object·py"·id="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware">174 <dt·class="sig·sig-object·py"·id="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware">
174 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FlatpageFallbackMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/flatpages/middleware.py#L7"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="Link·to·this·definition">¶</a></dt>175 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FlatpageFallbackMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/flatpages/middleware.py#L7"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="Link·to·this·definition">¶</a></dt>
175 <dd><p>Each·time·any·Django·application·raises·a·404·error,·this·middleware176 <dd><p>Each·time·any·Django·application·raises·a·404·error,·this·middleware
176 checks·the·flatpages·database·for·the·requested·URL·as·a·last·resort.177 checks·the·flatpages·database·for·the·requested·URL·as·a·last·resort.
177 Specifically,·it·checks·for·a·flatpage·with·the·given·URL·with·a·site·ID178 Specifically,·it·checks·for·a·flatpage·with·the·given·URL·with·a·site·ID
178 that·corresponds·to·the·<a·class="reference·internal"·href="../settings.html#std-setting-SITE_ID"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SITE_ID</span></code></a>·setting.</p>179 that·corresponds·to·the·<a·class="reference·internal"·href="../settings.html#std-setting-SITE_ID"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SITE_ID</span></code></a>·setting.</p>
179 <p>If·it·finds·a·match,·it·follows·this·algorithm:</p>180 <p>If·it·finds·a·match,·it·follows·this·algorithm:</p>
180 <ul·class="simple">181 <ul·class="simple">
181 <li><p>If·the·flatpage·has·a·custom·template,·it·loads·that·template.182 <li><p>If·the·flatpage·has·a·custom·template,·it·loads·that·template.
Offset 210, 33 lines modifiedOffset 211, 33 lines modified
210 <div·class="admonition-ensure-that-your-404-template-works·admonition">211 <div·class="admonition-ensure-that-your-404-template-works·admonition">
211 <p·class="admonition-title">Ensure·that·your·404·template·works</p>212 <p·class="admonition-title">Ensure·that·your·404·template·works</p>
212 <p>Note·that·the213 <p>Note·that·the
213 <a·class="reference·internal"·href="#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FlatpageFallbackMiddleware</span></code></a>214 <a·class="reference·internal"·href="#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FlatpageFallbackMiddleware</span></code></a>
214 only·steps·in·once·another·view·has·successfully·produced·a·404·response.215 only·steps·in·once·another·view·has·successfully·produced·a·404·response.
215 If·another·view·or·middleware·class·attempts·to·produce·a·404·but·ends·up216 If·another·view·or·middleware·class·attempts·to·produce·a·404·but·ends·up
216 raising·an·exception·instead,·the·response·will·become·an·HTTP·500217 raising·an·exception·instead,·the·response·will·become·an·HTTP·500
217 (Internal·Server·Error)·and·the218 (Internal·Server·Error)·and·the
218 <a·class="reference·internal"·href="#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FlatpageFallbackMiddleware</span></code></a>219 <a·class="reference·internal"·href="#django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"·title="django.contrib.flatpages.middleware.FlatpageFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FlatpageFallbackMiddleware</span></code></a>
219 will·not·attempt·to·serve·a·flat·page.</p>220 will·not·attempt·to·serve·a·flat·page.</p>
220 </div>221 </div>
221 </section>222 </section>
222 </section>223 </section>
223 <section·id="s-how-to-add-change-and-delete-flatpages">224 <section·id="s-how-to-add-change-and-delete-flatpages">
224 <span·id="how-to-add-change-and-delete-flatpages"></span><h2>How·to·add,·change·and·delete·flatpages<a·class="headerlink"·href="#how-to-add-change-and-delete-flatpages"·title="Link·to·this·heading">¶</a></h2>225 <span·id="how-to-add-change-and-delete-flatpages"></span><h2>How·to·add,·change·and·delete·flatpages<a·class="headerlink"·href="#how-to-add-change-and-delete-flatpages"·title="Link·to·this·heading">¶</a></h2>
225 <div·class="admonition·warning">226 <div·class="admonition·warning">
226 <p·class="admonition-title">Warning</p>227 <p·class="admonition-title">Hoiatus</p>
227 <p>Permissions·to·add·or·edit·flatpages·should·be·restricted·to·trusted·users.228 <p>Permissions·to·add·or·edit·flatpages·should·be·restricted·to·trusted·users.
228 Flatpages·are·defined·by·raw·HTML·and·are·<strong>not·sanitized</strong>·by·Django.·As·a229 Flatpages·are·defined·by·raw·HTML·and·are·<strong>not·sanitized</strong>·by·Django.·As·a
229 consequence,·a·malicious·flatpage·can·lead·to·various·security230 consequence,·a·malicious·flatpage·can·lead·to·various·security
230 vulnerabilities,·including·permission·escalation.</p>231 vulnerabilities,·including·permission·escalation.</p>
231 </div>232 </div>
232 <section·id="s-via-the-admin-interface">233 <section·id="s-via-the-admin-interface">
233 <span·id="s-flatpages-admin"></span><span·id="via-the-admin-interface"></span><span·id="flatpages-admin"></span><h3>Via·the·admin·interface<a·class="headerlink"·href="#via-the-admin-interface"·title="Link·to·this·heading">¶</a></h3>234 <span·id="s-flatpages-admin"></span><span·id="via-the-admin-interface"></span><span·id="flatpages-admin"></span><h3>Via·the·admin·interface<a·class="headerlink"·href="#via-the-admin-interface"·title="Link·to·this·heading">¶</a></h3>
Max diff block lines reached; 10684/21112 bytes (50.61%) of diff not shown.
10.9 KB
html2text {}
Max HTML report size reached
8.96 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/admin.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoDjango’s·admin·site·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoDjango’s·admin·site·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Geographic·Feeds"·href="feeds.html"·/>15 ····<link·rel="next"·title="Geographic·Feeds"·href="feeds.html"·/>
15 ····<link·rel="prev"·title="GeoDjango·Management·Commands"·href="commands.html"·/>16 ····<link·rel="prev"·title="GeoDjango·Management·Commands"·href="commands.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-module-django.contrib.gis.admin">81 ··<section·id="s-module-django.contrib.gis.admin">
81 <span·id="s-geodjango-s-admin-site"></span><span·id="module-django.contrib.gis.admin"></span><span·id="geodjango-s-admin-site"></span><h1>GeoDjango’s·admin·site<a·class="headerlink"·href="#module-django.contrib.gis.admin"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-geodjango-s-admin-site"></span><span·id="module-django.contrib.gis.admin"></span><span·id="geodjango-s-admin-site"></span><h1>GeoDjango’s·admin·site<a·class="headerlink"·href="#module-django.contrib.gis.admin"·title="Link·to·this·heading">¶</a></h1>
82 <section·id="s-gismodeladmin">83 <section·id="s-gismodeladmin">
83 <span·id="gismodeladmin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">GISModelAdmin</span></code><a·class="headerlink"·href="#gismodeladmin"·title="Link·to·this·heading">¶</a></h2>84 <span·id="gismodeladmin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">GISModelAdmin</span></code><a·class="headerlink"·href="#gismodeladmin"·title="Link·to·this·heading">¶</a></h2>
84 <dl·class="py·class">85 <dl·class="py·class">
85 <dt·class="sig·sig-object·py"·id="django.contrib.gis.admin.GISModelAdmin">86 <dt·class="sig·sig-object·py"·id="django.contrib.gis.admin.GISModelAdmin">
86 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GISModelAdmin</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/admin/options.py#L20"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.admin.GISModelAdmin"·title="Link·to·this·definition">¶</a></dt>87 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GISModelAdmin</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/admin/options.py#L20"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.admin.GISModelAdmin"·title="Link·to·this·definition">¶</a></dt>
87 <dd><dl·class="py·attribute">88 <dd><dl·class="py·attribute">
88 <dt·class="sig·sig-object·py"·id="django.contrib.gis.admin.GISModelAdmin.gis_widget">89 <dt·class="sig·sig-object·py"·id="django.contrib.gis.admin.GISModelAdmin.gis_widget">
89 <span·class="sig-name·descname"><span·class="pre">gis_widget</span></span><a·class="headerlink"·href="#django.contrib.gis.admin.GISModelAdmin.gis_widget"·title="Link·to·this·definition">¶</a></dt>90 <span·class="sig-name·descname"><span·class="pre">gis_widget</span></span><a·class="headerlink"·href="#django.contrib.gis.admin.GISModelAdmin.gis_widget"·title="Link·to·this·definition">¶</a></dt>
90 <dd><p>The·widget·class·to·be·used·for91 <dd><p>The·widget·class·to·be·used·for
91 <a·class="reference·internal"·href="model-api.html#django.contrib.gis.db.models.GeometryField"·title="django.contrib.gis.db.models.GeometryField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeometryField</span></code></a>.·Defaults·to92 <a·class="reference·internal"·href="model-api.html#django.contrib.gis.db.models.GeometryField"·title="django.contrib.gis.db.models.GeometryField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeometryField</span></code></a>.·Defaults·to
92 <a·class="reference·internal"·href="forms-api.html#django.contrib.gis.forms.widgets.OSMWidget"·title="django.contrib.gis.forms.widgets.OSMWidget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">OSMWidget</span></code></a>.</p>93 <a·class="reference·internal"·href="forms-api.html#django.contrib.gis.forms.widgets.OSMWidget"·title="django.contrib.gis.forms.widgets.OSMWidget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">OSMWidget</span></code></a>.</p>
93 </dd></dl>94 </dd></dl>
Offset 111, 47 lines modifiedOffset 112, 47 lines modified
111 ······112 ······
112 ········113 ········
113 ··········<div·class="yui-b"·id="sidebar">114 ··········<div·class="yui-b"·id="sidebar">
114 ············115 ············
115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
116 ········<div·class="sphinxsidebarwrapper">117 ········<div·class="sphinxsidebarwrapper">
117 ··<div>118 ··<div>
118 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>119 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
119 ····<ul>120 ····<ul>
120 <li><a·class="reference·internal"·href="#">GeoDjango’s·admin·site</a><ul>121 <li><a·class="reference·internal"·href="#">GeoDjango’s·admin·site</a><ul>
121 <li><a·class="reference·internal"·href="#gismodeladmin"><code·class="docutils·literal·notranslate"><span·class="pre">GISModelAdmin</span></code></a></li>122 <li><a·class="reference·internal"·href="#gismodeladmin"><code·class="docutils·literal·notranslate"><span·class="pre">GISModelAdmin</span></code></a></li>
122 </ul>123 </ul>
123 </li>124 </li>
124 </ul>125 </ul>
  
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Previous·topic</h4>128 ····<h4>Eelmine·teema</h4>
128 ····<p·class="topless"><a·href="commands.html"129 ····<p·class="topless"><a·href="commands.html"
129 ··························title="previous·chapter">GeoDjango·Management·Commands</a></p>130 ··························title="eelmine·jaotis">GeoDjango·Management·Commands</a></p>
130 ··</div>131 ··</div>
131 ··<div>132 ··<div>
132 ····<h4>Next·topic</h4>133 ····<h4>Järgmine·teema</h4>
133 ····<p·class="topless"><a·href="feeds.html"134 ····<p·class="topless"><a·href="feeds.html"
134 ··························title="next·chapter">Geographic·Feeds</a></p>135 ··························title="järgmine·jaotis">Geographic·Feeds</a></p>
135 ··</div>136 ··</div>
136 <search·id="searchbox"·style="display:·none"·role="search">137 <search·id="searchbox"·style="display:·none"·role="search">
137 ··<h3·id="searchlabel">Quick·search</h3>138 ··<h3·id="searchlabel">Kiirotsing</h3>
138 ····<div·class="searchformwrapper">139 ····<div·class="searchformwrapper">
139 ····<form·class="search"·action="../../../search.html"·method="get">140 ····<form·class="search"·action="../../../search.html"·method="get">
140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
141 ······<input·type="submit"·value="Go"·/>142 ······<input·type="submit"·value="Otsi"·/>
142 ····</form>143 ····</form>
143 ····</div>144 ····</div>
144 </search>145 </search>
145 <script>document.getElementById('searchbox').style.display·=·"block"</script>146 <script>document.getElementById('searchbox').style.display·=·"block"</script>
146 ········</div>147 ········</div>
147 ······</div>148 ······</div>
148 ··············<h3>Last·update:</h3>149 ··············<h3>Last·update:</h3>
149 ··············<p·class="topless">Nov·05,·2024</p>150 ··············<p·class="topless">nov·05,·2024</p>
150 ··········</div>151 ··········</div>
151 ········152 ········
152 ······153 ······
153 ····</div>154 ····</div>
  
154 ····<div·id="ft">155 ····<div·id="ft">
155 ······<div·class="nav">156 ······<div·class="nav">
2.17 KB
html2text {}
Max HTML report size reached
7.01 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/commands.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoDjango·Management·Commands·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoDjango·Management·Commands·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GeoDjango’s·admin·site"·href="admin.html"·/>15 ····<link·rel="next"·title="GeoDjango’s·admin·site"·href="admin.html"·/>
15 ····<link·rel="prev"·title="GeoJSON·Serializer"·href="serializers.html"·/>16 ····<link·rel="prev"·title="GeoJSON·Serializer"·href="serializers.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 191, 48 lines modifiedOffset 192, 48 lines modified
191 ······192 ······
192 ········193 ········
193 ··········<div·class="yui-b"·id="sidebar">194 ··········<div·class="yui-b"·id="sidebar">
194 ············195 ············
195 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">196 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
196 ········<div·class="sphinxsidebarwrapper">197 ········<div·class="sphinxsidebarwrapper">
197 ··<div>198 ··<div>
198 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>199 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
199 ····<ul>200 ····<ul>
200 <li><a·class="reference·internal"·href="#">GeoDjango·Management·Commands</a><ul>201 <li><a·class="reference·internal"·href="#">GeoDjango·Management·Commands</a><ul>
201 <li><a·class="reference·internal"·href="#inspectdb"><code·class="docutils·literal·notranslate"><span·class="pre">inspectdb</span></code></a></li>202 <li><a·class="reference·internal"·href="#inspectdb"><code·class="docutils·literal·notranslate"><span·class="pre">inspectdb</span></code></a></li>
202 <li><a·class="reference·internal"·href="#ogrinspect"><code·class="docutils·literal·notranslate"><span·class="pre">ogrinspect</span></code></a></li>203 <li><a·class="reference·internal"·href="#ogrinspect"><code·class="docutils·literal·notranslate"><span·class="pre">ogrinspect</span></code></a></li>
203 </ul>204 </ul>
204 </li>205 </li>
205 </ul>206 </ul>
  
206 ··</div>207 ··</div>
207 ··<div>208 ··<div>
208 ····<h4>Previous·topic</h4>209 ····<h4>Eelmine·teema</h4>
209 ····<p·class="topless"><a·href="serializers.html"210 ····<p·class="topless"><a·href="serializers.html"
210 ··························title="previous·chapter"><code·class="docutils·literal·notranslate"><span·class="pre">GeoJSON</span></code>·Serializer</a></p>211 ··························title="eelmine·jaotis"><code·class="docutils·literal·notranslate"><span·class="pre">GeoJSON</span></code>·Serializer</a></p>
211 ··</div>212 ··</div>
212 ··<div>213 ··<div>
213 ····<h4>Next·topic</h4>214 ····<h4>Järgmine·teema</h4>
214 ····<p·class="topless"><a·href="admin.html"215 ····<p·class="topless"><a·href="admin.html"
215 ··························title="next·chapter">GeoDjango’s·admin·site</a></p>216 ··························title="järgmine·jaotis">GeoDjango’s·admin·site</a></p>
216 ··</div>217 ··</div>
217 <search·id="searchbox"·style="display:·none"·role="search">218 <search·id="searchbox"·style="display:·none"·role="search">
218 ··<h3·id="searchlabel">Quick·search</h3>219 ··<h3·id="searchlabel">Kiirotsing</h3>
219 ····<div·class="searchformwrapper">220 ····<div·class="searchformwrapper">
220 ····<form·class="search"·action="../../../search.html"·method="get">221 ····<form·class="search"·action="../../../search.html"·method="get">
221 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>222 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
222 ······<input·type="submit"·value="Go"·/>223 ······<input·type="submit"·value="Otsi"·/>
223 ····</form>224 ····</form>
224 ····</div>225 ····</div>
225 </search>226 </search>
226 <script>document.getElementById('searchbox').style.display·=·"block"</script>227 <script>document.getElementById('searchbox').style.display·=·"block"</script>
227 ········</div>228 ········</div>
228 ······</div>229 ······</div>
229 ··············<h3>Last·update:</h3>230 ··············<h3>Last·update:</h3>
230 ··············<p·class="topless">Nov·05,·2024</p>231 ··············<p·class="topless">nov·05,·2024</p>
231 ··········</div>232 ··········</div>
232 ········233 ········
233 ······234 ······
234 ····</div>235 ····</div>
  
235 ····<div·id="ft">236 ····<div·id="ft">
236 ······<div·class="nav">237 ······<div·class="nav">
2.39 KB
html2text {}
Max HTML report size reached
15.4 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/db-api.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoDjango·Database·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoDjango·Database·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GeoDjango·Forms·API"·href="forms-api.html"·/>15 ····<link·rel="next"·title="GeoDjango·Forms·API"·href="forms-api.html"·/>
15 ····<link·rel="prev"·title="GeoDjango·Model·API"·href="model-api.html"·/>16 ····<link·rel="prev"·title="GeoDjango·Model·API"·href="model-api.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 187, 15 lines modifiedOffset 188, 15 lines modified
187 </div>188 </div>
188 </section>189 </section>
189 <section·id="s-spatial-lookups">190 <section·id="s-spatial-lookups">
190 <span·id="s-spatial-lookups-intro"></span><span·id="spatial-lookups"></span><span·id="spatial-lookups-intro"></span><h2>Spatial·Lookups<a·class="headerlink"·href="#spatial-lookups"·title="Link·to·this·heading">¶</a></h2>191 <span·id="s-spatial-lookups-intro"></span><span·id="spatial-lookups"></span><span·id="spatial-lookups-intro"></span><h2>Spatial·Lookups<a·class="headerlink"·href="#spatial-lookups"·title="Link·to·this·heading">¶</a></h2>
191 <p>GeoDjango’s·lookup·types·may·be·used·with·any·manager·method·like192 <p>GeoDjango’s·lookup·types·may·be·used·with·any·manager·method·like
192 <code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">exclude()</span></code>,·etc.··However,·the·lookup·types·unique·to193 <code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">exclude()</span></code>,·etc.··However,·the·lookup·types·unique·to
193 GeoDjango·are·only·available·on·spatial·fields.</p>194 GeoDjango·are·only·available·on·spatial·fields.</p>
194 <p>Filters·on·normal·fields·(e.g.·<a·class="reference·internal"·href="../../models/fields.html#django.db.models.CharField"·title="django.db.models.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>)195 <p>Filters·on·normal·fields·(e.g.·<a·class="reference·internal"·href="../../models/fields.html#django.db.models.CharField"·title="django.db.models.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>)
195 may·be·chained·with·those·on·geographic·fields.·Geographic·lookups·accept196 may·be·chained·with·those·on·geographic·fields.·Geographic·lookups·accept
196 geometry·and·raster·input·on·both·sides·and·input·types·can·be·mixed·freely.</p>197 geometry·and·raster·input·on·both·sides·and·input·types·can·be·mixed·freely.</p>
197 <p>The·general·structure·of·geographic·lookups·is·described·below.·A·complete198 <p>The·general·structure·of·geographic·lookups·is·described·below.·A·complete
198 reference·can·be·found·in·the·<a·class="reference·internal"·href="geoquerysets.html#spatial-lookups"><span·class="std·std-ref">spatial·lookup·reference</span></a>.</p>199 reference·can·be·found·in·the·<a·class="reference·internal"·href="geoquerysets.html#spatial-lookups"><span·class="std·std-ref">spatial·lookup·reference</span></a>.</p>
199 <section·id="s-geometry-lookups">200 <section·id="s-geometry-lookups">
200 <span·id="geometry-lookups"></span><h3>Geometry·Lookups<a·class="headerlink"·href="#geometry-lookups"·title="Link·to·this·heading">¶</a></h3>201 <span·id="geometry-lookups"></span><h3>Geometry·Lookups<a·class="headerlink"·href="#geometry-lookups"·title="Link·to·this·heading">¶</a></h3>
201 <p>Geographic·queries·with·geometries·take·the·following·general·form·(assuming202 <p>Geographic·queries·with·geometries·take·the·following·general·form·(assuming
Offset 272, 29 lines modifiedOffset 273, 29 lines modified
272 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-distance_lt"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">distance_lt</span></code></a></p></li>273 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-distance_lt"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">distance_lt</span></code></a></p></li>
273 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-distance_lte"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">distance_lte</span></code></a></p></li>274 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-distance_lte"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">distance_lte</span></code></a></p></li>
274 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-distance_gt"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">distance_gt</span></code></a></p></li>275 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-distance_gt"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">distance_gt</span></code></a></p></li>
275 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-distance_gte"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">distance_gte</span></code></a></p></li>276 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-distance_gte"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">distance_gte</span></code></a></p></li>
276 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-dwithin"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">dwithin</span></code></a>·(except·MariaDB·and·MySQL)</p></li>277 <li><p><a·class="reference·internal"·href="geoquerysets.html#std-fieldlookup-dwithin"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">dwithin</span></code></a>·(except·MariaDB·and·MySQL)</p></li>
277 </ul>278 </ul>
278 <div·class="admonition·note">279 <div·class="admonition·note">
279 <p·class="admonition-title">Note</p>280 <p·class="admonition-title">rkus</p>
280 <p>For·<em>measuring</em>,·rather·than·querying·on·distances,·use·the281 <p>For·<em>measuring</em>,·rather·than·querying·on·distances,·use·the
281 <a·class="reference·internal"·href="functions.html#django.contrib.gis.db.models.functions.Distance"·title="django.contrib.gis.db.models.functions.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>·function.</p>282 <a·class="reference·internal"·href="functions.html#django.contrib.gis.db.models.functions.Distance"·title="django.contrib.gis.db.models.functions.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>·function.</p>
282 </div>283 </div>
283 <p>Distance·lookups·take·a·tuple·parameter·comprising:</p>284 <p>Distance·lookups·take·a·tuple·parameter·comprising:</p>
284 <ol·class="arabic·simple">285 <ol·class="arabic·simple">
285 <li><p>A·geometry·or·raster·to·base·calculations·from;·and</p></li>286 <li><p>A·geometry·or·raster·to·base·calculations·from;·and</p></li>
286 <li><p>A·number·or·<a·class="reference·internal"·href="measure.html#django.contrib.gis.measure.Distance"·title="django.contrib.gis.measure.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>·object·containing·the·distance.</p></li>287 <li><p>A·number·or·<a·class="reference·internal"·href="measure.html#django.contrib.gis.measure.Distance"·title="django.contrib.gis.measure.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>·object·containing·the·distance.</p></li>
287 </ol>288 </ol>
288 <p>If·a·<a·class="reference·internal"·href="measure.html#django.contrib.gis.measure.Distance"·title="django.contrib.gis.measure.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>·object·is·used,289 <p>If·a·<a·class="reference·internal"·href="measure.html#django.contrib.gis.measure.Distance"·title="django.contrib.gis.measure.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>·object·is·used,
289 it·may·be·expressed·in·any·units·(the·SQL·generated·will·use·units290 it·may·be·expressed·in·any·units·(the·SQL·generated·will·use·units
290 converted·to·those·of·the·field);·otherwise,·numeric·parameters·are·assumed291 converted·to·those·of·the·field);·otherwise,·numeric·parameters·are·assumed
291 to·be·in·the·units·of·the·field.</p>292 to·be·in·the·units·of·the·field.</p>
292 <div·class="admonition·note">293 <div·class="admonition·note">
293 <p·class="admonition-title">Note</p>294 <p·class="admonition-title">rkus</p>
294 <p>In·PostGIS,·<code·class="docutils·literal·notranslate"><span·class="pre">ST_Distance_Sphere</span></code>·does·<em>not</em>·limit·the·geometry·types295 <p>In·PostGIS,·<code·class="docutils·literal·notranslate"><span·class="pre">ST_Distance_Sphere</span></code>·does·<em>not</em>·limit·the·geometry·types
295 geographic·distance·queries·are·performed·with.·<a·class="footnote-reference·brackets"·href="#fndistsphere15"·id="id6"·role="doc-noteref"><span·class="fn-bracket">[</span>3<span·class="fn-bracket">]</span></a>··However,296 geographic·distance·queries·are·performed·with.·<a·class="footnote-reference·brackets"·href="#fndistsphere15"·id="id6"·role="doc-noteref"><span·class="fn-bracket">[</span>3<span·class="fn-bracket">]</span></a>··However,
296 these·queries·may·take·a·long·time,·as·great-circle·distances·must·be297 these·queries·may·take·a·long·time,·as·great-circle·distances·must·be
297 calculated·on·the·fly·for·<em>every</em>·row·in·the·query.··This·is·because·the298 calculated·on·the·fly·for·<em>every</em>·row·in·the·query.··This·is·because·the
298 spatial·index·on·traditional·geometry·fields·cannot·be·used.</p>299 spatial·index·on·traditional·geometry·fields·cannot·be·used.</p>
299 <p>For·much·better·performance·on·WGS84·distance·queries,·consider·using300 <p>For·much·better·performance·on·WGS84·distance·queries,·consider·using
300 <a·class="reference·internal"·href="model-api.html#geography-type"><span·class="std·std-ref">geography·columns</span></a>·in·your·database·instead·because301 <a·class="reference·internal"·href="model-api.html#geography-type"><span·class="std·std-ref">geography·columns</span></a>·in·your·database·instead·because
Offset 966, 15 lines modifiedOffset 967, 15 lines modified
966 ······967 ······
967 ········968 ········
968 ··········<div·class="yui-b"·id="sidebar">969 ··········<div·class="yui-b"·id="sidebar">
969 ············970 ············
970 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">971 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
971 ········<div·class="sphinxsidebarwrapper">972 ········<div·class="sphinxsidebarwrapper">
972 ··<div>973 ··<div>
973 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>974 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
974 ····<ul>975 ····<ul>
975 <li><a·class="reference·internal"·href="#">GeoDjango·Database·API</a><ul>976 <li><a·class="reference·internal"·href="#">GeoDjango·Database·API</a><ul>
976 <li><a·class="reference·internal"·href="#module-django.contrib.gis.db.backends">Spatial·Backends</a><ul>977 <li><a·class="reference·internal"·href="#module-django.contrib.gis.db.backends">Spatial·Backends</a><ul>
977 <li><a·class="reference·internal"·href="#mysql-spatial-limitations">MySQL·Spatial·Limitations</a></li>978 <li><a·class="reference·internal"·href="#mysql-spatial-limitations">MySQL·Spatial·Limitations</a></li>
978 <li><a·class="reference·internal"·href="#raster-support">Raster·Support</a></li>979 <li><a·class="reference·internal"·href="#raster-support">Raster·Support</a></li>
979 </ul>980 </ul>
980 </li>981 </li>
Offset 998, 37 lines modifiedOffset 999, 37 lines modified
998 </li>999 </li>
999 </ul>1000 </ul>
1000 </li>1001 </li>
1001 </ul>1002 </ul>
  
1002 ··</div>1003 ··</div>
1003 ··<div>1004 ··<div>
1004 ····<h4>Previous·topic</h4>1005 ····<h4>Eelmine·teema</h4>
1005 ····<p·class="topless"><a·href="model-api.html"1006 ····<p·class="topless"><a·href="model-api.html"
1006 ··························title="previous·chapter">GeoDjango·Model·API</a></p>1007 ··························title="eelmine·jaotis">GeoDjango·Model·API</a></p>
1007 ··</div>1008 ··</div>
1008 ··<div>1009 ··<div>
1009 ····<h4>Next·topic</h4>1010 ····<h4>Järgmine·teema</h4>
1010 ····<p·class="topless"><a·href="forms-api.html"1011 ····<p·class="topless"><a·href="forms-api.html"
1011 ··························title="next·chapter">GeoDjango·Forms·API</a></p>1012 ··························title="järgmine·jaotis">GeoDjango·Forms·API</a></p>
1012 ··</div>1013 ··</div>
1013 <search·id="searchbox"·style="display:·none"·role="search">1014 <search·id="searchbox"·style="display:·none"·role="search">
1014 ··<h3·id="searchlabel">Quick·search</h3>1015 ··<h3·id="searchlabel">Kiirotsing</h3>
1015 ····<div·class="searchformwrapper">1016 ····<div·class="searchformwrapper">
1016 ····<form·class="search"·action="../../../search.html"·method="get">1017 ····<form·class="search"·action="../../../search.html"·method="get">
1017 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>1018 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
1018 ······<input·type="submit"·value="Go"·/>1019 ······<input·type="submit"·value="Otsi"·/>
1019 ····</form>1020 ····</form>
1020 ····</div>1021 ····</div>
1021 </search>1022 </search>
Max diff block lines reached; 263/9705 bytes (2.71%) of diff not shown.
5.81 KB
html2text {}
Max HTML report size reached
7.38 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/deployment.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Deploying·GeoDjango·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Deploying·GeoDjango·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="django.contrib.humanize"·href="../humanize.html"·/>15 ····<link·rel="next"·title="django.contrib.humanize"·href="../humanize.html"·/>
15 ····<link·rel="prev"·title="Testing·GeoDjango·apps"·href="testing.html"·/>16 ····<link·rel="prev"·title="Testing·GeoDjango·apps"·href="testing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-deploying-geodjango">81 ··<section·id="s-deploying-geodjango">
81 <span·id="deploying-geodjango"></span><h1>Deploying·GeoDjango<a·class="headerlink"·href="#deploying-geodjango"·title="Link·to·this·heading">¶</a></h1>82 <span·id="deploying-geodjango"></span><h1>Deploying·GeoDjango<a·class="headerlink"·href="#deploying-geodjango"·title="Link·to·this·heading">¶</a></h1>
82 <p>Basically,·the·deployment·of·a·GeoDjango·application·is·not·different·from83 <p>Basically,·the·deployment·of·a·GeoDjango·application·is·not·different·from
83 the·deployment·of·a·normal·Django·application.·Please·consult·Django’s84 the·deployment·of·a·normal·Django·application.·Please·consult·Django’s
84 <a·class="reference·internal"·href="../../../howto/deployment/index.html"><span·class="doc">deployment·documentation</span></a>.</p>85 <a·class="reference·internal"·href="../../../howto/deployment/index.html"><span·class="doc">deployment·documentation</span></a>.</p>
85 <div·class="admonition·warning">86 <div·class="admonition·warning">
86 <p·class="admonition-title">Warning</p>87 <p·class="admonition-title">Hoiatus</p>
87 <p>GeoDjango·uses·the·GDAL·geospatial·library·which·is88 <p>GeoDjango·uses·the·GDAL·geospatial·library·which·is
88 not·thread·safe·at·this·time.··Thus,·it·is·<em>highly</em>·recommended89 not·thread·safe·at·this·time.··Thus,·it·is·<em>highly</em>·recommended
89 to·not·use·threading·when·deploying··in·other·words,·use·an90 to·not·use·threading·when·deploying··in·other·words,·use·an
90 appropriate·configuration·of·Apache.</p>91 appropriate·configuration·of·Apache.</p>
91 <p>For·example,·when·configuring·your·application·with·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>,92 <p>For·example,·when·configuring·your·application·with·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>,
92 set·the·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIDaemonProcess</span></code>·attribute·<code·class="docutils·literal·notranslate"><span·class="pre">threads</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>,·unless93 set·the·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIDaemonProcess</span></code>·attribute·<code·class="docutils·literal·notranslate"><span·class="pre">threads</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>,·unless
93 Apache·may·crash·when·running·your·GeoDjango·application.··Increase·the94 Apache·may·crash·when·running·your·GeoDjango·application.··Increase·the
Offset 102, 37 lines modifiedOffset 103, 37 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h4>Previous·topic</h4>110 ····<h4>Eelmine·teema</h4>
110 ····<p·class="topless"><a·href="testing.html"111 ····<p·class="topless"><a·href="testing.html"
111 ··························title="previous·chapter">Testing·GeoDjango·apps</a></p>112 ··························title="eelmine·jaotis">Testing·GeoDjango·apps</a></p>
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Next·topic</h4>115 ····<h4>Järgmine·teema</h4>
115 ····<p·class="topless"><a·href="../humanize.html"116 ····<p·class="topless"><a·href="../humanize.html"
116 ··························title="next·chapter"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code></a></p>117 ··························title="järgmine·jaotis"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code></a></p>
117 ··</div>118 ··</div>
118 <search·id="searchbox"·style="display:·none"·role="search">119 <search·id="searchbox"·style="display:·none"·role="search">
119 ··<h3·id="searchlabel">Quick·search</h3>120 ··<h3·id="searchlabel">Kiirotsing</h3>
120 ····<div·class="searchformwrapper">121 ····<div·class="searchformwrapper">
121 ····<form·class="search"·action="../../../search.html"·method="get">122 ····<form·class="search"·action="../../../search.html"·method="get">
122 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>123 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
123 ······<input·type="submit"·value="Go"·/>124 ······<input·type="submit"·value="Otsi"·/>
124 ····</form>125 ····</form>
125 ····</div>126 ····</div>
126 </search>127 </search>
127 <script>document.getElementById('searchbox').style.display·=·"block"</script>128 <script>document.getElementById('searchbox').style.display·=·"block"</script>
128 ········</div>129 ········</div>
129 ······</div>130 ······</div>
130 ··············<h3>Last·update:</h3>131 ··············<h3>Last·update:</h3>
131 ··············<p·class="topless">Nov·05,·2024</p>132 ··············<p·class="topless">nov·05,·2024</p>
132 ··········</div>133 ··········</div>
133 ········134 ········
134 ······135 ······
135 ····</div>136 ····</div>
  
136 ····<div·id="ft">137 ····<div·id="ft">
137 ······<div·class="nav">138 ······<div·class="nav">
1.98 KB
html2text {}
Max HTML report size reached
14.7 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/feeds.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Geographic·Feeds·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Geographic·Feeds·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Geographic·Sitemaps"·href="sitemaps.html"·/>15 ····<link·rel="next"·title="Geographic·Sitemaps"·href="sitemaps.html"·/>
15 ····<link·rel="prev"·title="GeoDjango’s·admin·site"·href="admin.html"·/>16 ····<link·rel="prev"·title="GeoDjango’s·admin·site"·href="admin.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 15 lines modifiedOffset 89, 15 lines modified
88 </section>89 </section>
89 <section·id="s-api-reference">90 <section·id="s-api-reference">
90 <span·id="api-reference"></span><h2>API·Reference<a·class="headerlink"·href="#api-reference"·title="Link·to·this·heading">¶</a></h2>91 <span·id="api-reference"></span><h2>API·Reference<a·class="headerlink"·href="#api-reference"·title="Link·to·this·heading">¶</a></h2>
91 <section·id="s-feed-subclass">92 <section·id="s-feed-subclass">
92 <span·id="feed-subclass"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·Subclass<a·class="headerlink"·href="#feed-subclass"·title="Link·to·this·heading">¶</a></h3>93 <span·id="feed-subclass"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·Subclass<a·class="headerlink"·href="#feed-subclass"·title="Link·to·this·heading">¶</a></h3>
93 <dl·class="py·class">94 <dl·class="py·class">
94 <dt·class="sig·sig-object·py"·id="django.contrib.gis.feeds.Feed">95 <dt·class="sig·sig-object·py"·id="django.contrib.gis.feeds.Feed">
95 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Feed</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/feeds.py#L137"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.feeds.Feed"·title="Link·to·this·definition">¶</a></dt>96 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Feed</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/feeds.py#L137"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.feeds.Feed"·title="Link·to·this·definition">¶</a></dt>
96 <dd><p>In·addition·to·methods·provided·by·the97 <dd><p>In·addition·to·methods·provided·by·the
97 <a·class="reference·internal"·href="../syndication.html#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.syndication.views.Feed</span></code></a>·base·class,·GeoDjango’s98 <a·class="reference·internal"·href="../syndication.html#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.syndication.views.Feed</span></code></a>·base·class,·GeoDjango’s
98 <code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·class·provides·the·following·overrides.·Note·that·these·overrides99 <code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·class·provides·the·following·overrides.·Note·that·these·overrides
99 may·be·done·in·multiple·ways:</p>100 may·be·done·in·multiple·ways:</p>
100 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.gis.feeds</span>·<span·class="kn">import</span>·<span·class="n">Feed</span>101 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.gis.feeds</span>·<span·class="kn">import</span>·<span·class="n">Feed</span>
  
  
Offset 149, 29 lines modifiedOffset 150, 29 lines modified
149 </section>150 </section>
150 <section·id="s-syndicationfeed-subclasses">151 <section·id="s-syndicationfeed-subclasses">
151 <span·id="syndicationfeed-subclasses"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">SyndicationFeed</span></code>·Subclasses<a·class="headerlink"·href="#syndicationfeed-subclasses"·title="Link·to·this·heading">¶</a></h3>152 <span·id="syndicationfeed-subclasses"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">SyndicationFeed</span></code>·Subclasses<a·class="headerlink"·href="#syndicationfeed-subclasses"·title="Link·to·this·heading">¶</a></h3>
152 <p>The·following·<a·class="reference·internal"·href="../../utils.html#django.utils.feedgenerator.SyndicationFeed"·title="django.utils.feedgenerator.SyndicationFeed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.utils.feedgenerator.SyndicationFeed</span></code></a>·subclasses153 <p>The·following·<a·class="reference·internal"·href="../../utils.html#django.utils.feedgenerator.SyndicationFeed"·title="django.utils.feedgenerator.SyndicationFeed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.utils.feedgenerator.SyndicationFeed</span></code></a>·subclasses
153 are·available:</p>154 are·available:</p>
154 <dl·class="py·class">155 <dl·class="py·class">
155 <dt·class="sig·sig-object·py"·id="django.contrib.gis.feeds.GeoRSSFeed">156 <dt·class="sig·sig-object·py"·id="django.contrib.gis.feeds.GeoRSSFeed">
156 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeoRSSFeed</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/feeds.py#L91"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.feeds.GeoRSSFeed"·title="Link·to·this·definition">¶</a></dt>157 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeoRSSFeed</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/feeds.py#L91"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.feeds.GeoRSSFeed"·title="Link·to·this·definition">¶</a></dt>
157 <dd></dd></dl>158 <dd></dd></dl>
  
158 <dl·class="py·class">159 <dl·class="py·class">
159 <dt·class="sig·sig-object·py"·id="django.contrib.gis.feeds.GeoAtom1Feed">160 <dt·class="sig·sig-object·py"·id="django.contrib.gis.feeds.GeoAtom1Feed">
160 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeoAtom1Feed</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/feeds.py#L106"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.feeds.GeoAtom1Feed"·title="Link·to·this·definition">¶</a></dt>161 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeoAtom1Feed</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/feeds.py#L106"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.feeds.GeoAtom1Feed"·title="Link·to·this·definition">¶</a></dt>
161 <dd></dd></dl>162 <dd></dd></dl>
  
162 <dl·class="py·class">163 <dl·class="py·class">
163 <dt·class="sig·sig-object·py"·id="django.contrib.gis.feeds.W3CGeoFeed">164 <dt·class="sig·sig-object·py"·id="django.contrib.gis.feeds.W3CGeoFeed">
164 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">W3CGeoFeed</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/feeds.py#L121"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.feeds.W3CGeoFeed"·title="Link·to·this·definition">¶</a></dt>165 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">W3CGeoFeed</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/feeds.py#L121"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.feeds.W3CGeoFeed"·title="Link·to·this·definition">¶</a></dt>
165 <dd></dd></dl>166 <dd></dd></dl>
  
166 <div·class="admonition·note">167 <div·class="admonition·note">
167 <p·class="admonition-title">Note</p>168 <p·class="admonition-title">rkus</p>
168 <p><a·class="reference·external"·href="https://www.w3.org/2003/01/geo/">W3C·Geo</a>·formatted·feeds·only·support169 <p><a·class="reference·external"·href="https://www.w3.org/2003/01/geo/">W3C·Geo</a>·formatted·feeds·only·support
169 <a·class="reference·internal"·href="model-api.html#django.contrib.gis.db.models.PointField"·title="django.contrib.gis.db.models.PointField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">PointField</span></code></a>·geometries.</p>170 <a·class="reference·internal"·href="model-api.html#django.contrib.gis.db.models.PointField"·title="django.contrib.gis.db.models.PointField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">PointField</span></code></a>·geometries.</p>
170 </div>171 </div>
171 </section>172 </section>
172 </section>173 </section>
173 </section>174 </section>
  
Offset 182, 52 lines modifiedOffset 183, 52 lines modified
182 ······183 ······
183 ········184 ········
184 ··········<div·class="yui-b"·id="sidebar">185 ··········<div·class="yui-b"·id="sidebar">
185 ············186 ············
186 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">187 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
187 ········<div·class="sphinxsidebarwrapper">188 ········<div·class="sphinxsidebarwrapper">
188 ··<div>189 ··<div>
189 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>190 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
190 ····<ul>191 ····<ul>
191 <li><a·class="reference·internal"·href="#">Geographic·Feeds</a><ul>192 <li><a·class="reference·internal"·href="#">Geographic·Feeds</a><ul>
192 <li><a·class="reference·internal"·href="#example">Example</a></li>193 <li><a·class="reference·internal"·href="#example">Example</a></li>
193 <li><a·class="reference·internal"·href="#api-reference">API·Reference</a><ul>194 <li><a·class="reference·internal"·href="#api-reference">API·Reference</a><ul>
194 <li><a·class="reference·internal"·href="#feed-subclass"><code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·Subclass</a></li>195 <li><a·class="reference·internal"·href="#feed-subclass"><code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·Subclass</a></li>
195 <li><a·class="reference·internal"·href="#syndicationfeed-subclasses"><code·class="docutils·literal·notranslate"><span·class="pre">SyndicationFeed</span></code>·Subclasses</a></li>196 <li><a·class="reference·internal"·href="#syndicationfeed-subclasses"><code·class="docutils·literal·notranslate"><span·class="pre">SyndicationFeed</span></code>·Subclasses</a></li>
196 </ul>197 </ul>
197 </li>198 </li>
198 </ul>199 </ul>
199 </li>200 </li>
200 </ul>201 </ul>
  
201 ··</div>202 ··</div>
202 ··<div>203 ··<div>
203 ····<h4>Previous·topic</h4>204 ····<h4>Eelmine·teema</h4>
204 ····<p·class="topless"><a·href="admin.html"205 ····<p·class="topless"><a·href="admin.html"
205 ··························title="previous·chapter">GeoDjango’s·admin·site</a></p>206 ··························title="eelmine·jaotis">GeoDjango’s·admin·site</a></p>
206 ··</div>207 ··</div>
207 ··<div>208 ··<div>
208 ····<h4>Next·topic</h4>209 ····<h4>Järgmine·teema</h4>
209 ····<p·class="topless"><a·href="sitemaps.html"210 ····<p·class="topless"><a·href="sitemaps.html"
210 ··························title="next·chapter">Geographic·Sitemaps</a></p>211 ··························title="järgmine·jaotis">Geographic·Sitemaps</a></p>
211 ··</div>212 ··</div>
212 <search·id="searchbox"·style="display:·none"·role="search">213 <search·id="searchbox"·style="display:·none"·role="search">
213 ··<h3·id="searchlabel">Quick·search</h3>214 ··<h3·id="searchlabel">Kiirotsing</h3>
214 ····<div·class="searchformwrapper">215 ····<div·class="searchformwrapper">
215 ····<form·class="search"·action="../../../search.html"·method="get">216 ····<form·class="search"·action="../../../search.html"·method="get">
216 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>217 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
217 ······<input·type="submit"·value="Go"·/>218 ······<input·type="submit"·value="Otsi"·/>
218 ····</form>219 ····</form>
219 ····</div>220 ····</div>
220 </search>221 </search>
221 <script>document.getElementById('searchbox').style.display·=·"block"</script>222 <script>document.getElementById('searchbox').style.display·=·"block"</script>
Max diff block lines reached; 247/11082 bytes (2.23%) of diff not shown.
3.76 KB
html2text {}
Max HTML report size reached
28.9 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/forms-api.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoDjango·Forms·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoDjango·Forms·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GIS·QuerySet·API·Reference"·href="geoquerysets.html"·/>15 ····<link·rel="next"·title="GIS·QuerySet·API·Reference"·href="geoquerysets.html"·/>
15 ····<link·rel="prev"·title="GeoDjango·Database·API"·href="db-api.html"·/>16 ····<link·rel="prev"·title="GeoDjango·Database·API"·href="db-api.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 112, 71 lines modifiedOffset 113, 71 lines modified
112 </section>113 </section>
113 <section·id="s-form-field-classes">114 <section·id="s-form-field-classes">
114 <span·id="form-field-classes"></span><h2>Form·field·classes<a·class="headerlink"·href="#form-field-classes"·title="Link·to·this·heading">¶</a></h2>115 <span·id="form-field-classes"></span><h2>Form·field·classes<a·class="headerlink"·href="#form-field-classes"·title="Link·to·this·heading">¶</a></h2>
115 <section·id="s-geometryfield">116 <section·id="s-geometryfield">
116 <span·id="geometryfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GeometryField</span></code><a·class="headerlink"·href="#geometryfield"·title="Link·to·this·heading">¶</a></h3>117 <span·id="geometryfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GeometryField</span></code><a·class="headerlink"·href="#geometryfield"·title="Link·to·this·heading">¶</a></h3>
117 <dl·class="py·class">118 <dl·class="py·class">
118 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.GeometryField">119 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.GeometryField">
119 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeometryField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L10"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.GeometryField"·title="Link·to·this·definition">¶</a></dt>120 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeometryField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L10"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.GeometryField"·title="Link·to·this·definition">¶</a></dt>
120 <dd></dd></dl>121 <dd></dd></dl>
  
121 </section>122 </section>
122 <section·id="s-pointfield">123 <section·id="s-pointfield">
123 <span·id="pointfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">PointField</span></code><a·class="headerlink"·href="#pointfield"·title="Link·to·this·heading">¶</a></h3>124 <span·id="pointfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">PointField</span></code><a·class="headerlink"·href="#pointfield"·title="Link·to·this·heading">¶</a></h3>
124 <dl·class="py·class">125 <dl·class="py·class">
125 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.PointField">126 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.PointField">
126 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">PointField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L123"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.PointField"·title="Link·to·this·definition">¶</a></dt>127 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">PointField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L123"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.PointField"·title="Link·to·this·definition">¶</a></dt>
127 <dd></dd></dl>128 <dd></dd></dl>
  
128 </section>129 </section>
129 <section·id="s-linestringfield">130 <section·id="s-linestringfield">
130 <span·id="linestringfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">LineStringField</span></code><a·class="headerlink"·href="#linestringfield"·title="Link·to·this·heading">¶</a></h3>131 <span·id="linestringfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">LineStringField</span></code><a·class="headerlink"·href="#linestringfield"·title="Link·to·this·heading">¶</a></h3>
131 <dl·class="py·class">132 <dl·class="py·class">
132 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.LineStringField">133 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.LineStringField">
133 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">LineStringField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L131"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.LineStringField"·title="Link·to·this·definition">¶</a></dt>134 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">LineStringField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L131"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.LineStringField"·title="Link·to·this·definition">¶</a></dt>
134 <dd></dd></dl>135 <dd></dd></dl>
  
135 </section>136 </section>
136 <section·id="s-polygonfield">137 <section·id="s-polygonfield">
137 <span·id="polygonfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">PolygonField</span></code><a·class="headerlink"·href="#polygonfield"·title="Link·to·this·heading">¶</a></h3>138 <span·id="polygonfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">PolygonField</span></code><a·class="headerlink"·href="#polygonfield"·title="Link·to·this·heading">¶</a></h3>
138 <dl·class="py·class">139 <dl·class="py·class">
139 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.PolygonField">140 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.PolygonField">
140 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">PolygonField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L139"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.PolygonField"·title="Link·to·this·definition">¶</a></dt>141 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">PolygonField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L139"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.PolygonField"·title="Link·to·this·definition">¶</a></dt>
141 <dd></dd></dl>142 <dd></dd></dl>
  
142 </section>143 </section>
143 <section·id="s-multipointfield">144 <section·id="s-multipointfield">
144 <span·id="multipointfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiPointField</span></code><a·class="headerlink"·href="#multipointfield"·title="Link·to·this·heading">¶</a></h3>145 <span·id="multipointfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiPointField</span></code><a·class="headerlink"·href="#multipointfield"·title="Link·to·this·heading">¶</a></h3>
145 <dl·class="py·class">146 <dl·class="py·class">
146 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.MultiPointField">147 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.MultiPointField">
147 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiPointField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L127"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.MultiPointField"·title="Link·to·this·definition">¶</a></dt>148 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiPointField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L127"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.MultiPointField"·title="Link·to·this·definition">¶</a></dt>
148 <dd></dd></dl>149 <dd></dd></dl>
  
149 </section>150 </section>
150 <section·id="s-multilinestringfield">151 <section·id="s-multilinestringfield">
151 <span·id="multilinestringfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiLineStringField</span></code><a·class="headerlink"·href="#multilinestringfield"·title="Link·to·this·heading">¶</a></h3>152 <span·id="multilinestringfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiLineStringField</span></code><a·class="headerlink"·href="#multilinestringfield"·title="Link·to·this·heading">¶</a></h3>
152 <dl·class="py·class">153 <dl·class="py·class">
153 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.MultiLineStringField">154 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.MultiLineStringField">
154 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiLineStringField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L135"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.MultiLineStringField"·title="Link·to·this·definition">¶</a></dt>155 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiLineStringField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L135"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.MultiLineStringField"·title="Link·to·this·definition">¶</a></dt>
155 <dd></dd></dl>156 <dd></dd></dl>
  
156 </section>157 </section>
157 <section·id="s-multipolygonfield">158 <section·id="s-multipolygonfield">
158 <span·id="multipolygonfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygonField</span></code><a·class="headerlink"·href="#multipolygonfield"·title="Link·to·this·heading">¶</a></h3>159 <span·id="multipolygonfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygonField</span></code><a·class="headerlink"·href="#multipolygonfield"·title="Link·to·this·heading">¶</a></h3>
159 <dl·class="py·class">160 <dl·class="py·class">
160 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.MultiPolygonField">161 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.MultiPolygonField">
161 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiPolygonField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L143"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.MultiPolygonField"·title="Link·to·this·definition">¶</a></dt>162 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiPolygonField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L143"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.MultiPolygonField"·title="Link·to·this·definition">¶</a></dt>
162 <dd></dd></dl>163 <dd></dd></dl>
  
163 </section>164 </section>
164 <section·id="s-geometrycollectionfield">165 <section·id="s-geometrycollectionfield">
165 <span·id="geometrycollectionfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GeometryCollectionField</span></code><a·class="headerlink"·href="#geometrycollectionfield"·title="Link·to·this·heading">¶</a></h3>166 <span·id="geometrycollectionfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GeometryCollectionField</span></code><a·class="headerlink"·href="#geometrycollectionfield"·title="Link·to·this·heading">¶</a></h3>
166 <dl·class="py·class">167 <dl·class="py·class">
167 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.GeometryCollectionField">168 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.GeometryCollectionField">
168 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeometryCollectionField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L119"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.GeometryCollectionField"·title="Link·to·this·definition">¶</a></dt>169 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeometryCollectionField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/fields.py#L119"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.GeometryCollectionField"·title="Link·to·this·definition">¶</a></dt>
169 <dd></dd></dl>170 <dd></dd></dl>
  
170 </section>171 </section>
171 </section>172 </section>
172 <section·id="s-module-django.contrib.gis.forms.widgets">173 <section·id="s-module-django.contrib.gis.forms.widgets">
173 <span·id="s-form-widgets"></span><span·id="module-django.contrib.gis.forms.widgets"></span><span·id="form-widgets"></span><h2>Form·widgets<a·class="headerlink"·href="#module-django.contrib.gis.forms.widgets"·title="Link·to·this·heading">¶</a></h2>174 <span·id="s-form-widgets"></span><span·id="module-django.contrib.gis.forms.widgets"></span><span·id="form-widgets"></span><h2>Form·widgets<a·class="headerlink"·href="#module-django.contrib.gis.forms.widgets"·title="Link·to·this·heading">¶</a></h2>
174 <p>GeoDjango·form·widgets·allow·you·to·display·and·edit·geographic·data·on·a175 <p>GeoDjango·form·widgets·allow·you·to·display·and·edit·geographic·data·on·a
Offset 230, 38 lines modifiedOffset 231, 38 lines modified
230 </div>231 </div>
231 </section>232 </section>
232 <section·id="s-widget-classes">233 <section·id="s-widget-classes">
233 <span·id="widget-classes"></span><h3>Widget·classes<a·class="headerlink"·href="#widget-classes"·title="Link·to·this·heading">¶</a></h3>234 <span·id="widget-classes"></span><h3>Widget·classes<a·class="headerlink"·href="#widget-classes"·title="Link·to·this·heading">¶</a></h3>
234 <p><code·class="docutils·literal·notranslate"><span·class="pre">BaseGeometryWidget</span></code></p>235 <p><code·class="docutils·literal·notranslate"><span·class="pre">BaseGeometryWidget</span></code></p>
235 <dl·class="py·class">236 <dl·class="py·class">
236 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.widgets.BaseGeometryWidget">237 <dt·class="sig·sig-object·py"·id="django.contrib.gis.forms.widgets.BaseGeometryWidget">
237 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseGeometryWidget</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/widgets.py#L13"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.widgets.BaseGeometryWidget"·title="Link·to·this·definition">¶</a></dt>238 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseGeometryWidget</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/forms/widgets.py#L13"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.forms.widgets.BaseGeometryWidget"·title="Link·to·this·definition">¶</a></dt>
238 <dd><p>This·is·an·abstract·base·widget·containing·the·logic·needed·by·subclasses.239 <dd><p>This·is·an·abstract·base·widget·containing·the·logic·needed·by·subclasses.
239 You·cannot·directly·use·this·widget·for·a·geometry·field.240 You·cannot·directly·use·this·widget·for·a·geometry·field.
240 Note·that·the·rendering·of·GeoDjango·widgets·is·based·on·a·template,241 Note·that·the·rendering·of·GeoDjango·widgets·is·based·on·a·template,
241 identified·by·the·<a·class="reference·internal"·href="#django.contrib.gis.forms.widgets.BaseGeometryWidget.template_name"·title="django.contrib.gis.forms.widgets.BaseGeometryWidget.template_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">template_name</span></code></a>·class·attribute.</p>242 identified·by·the·<a·class="reference·internal"·href="#django.contrib.gis.forms.widgets.BaseGeometryWidget.template_name"·title="django.contrib.gis.forms.widgets.BaseGeometryWidget.template_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">template_name</span></code></a>·class·attribute.</p>
242 </dd></dl>243 </dd></dl>
  
243 <p><code·class="docutils·literal·notranslate"><span·class="pre">OpenLayersWidget</span></code></p>244 <p><code·class="docutils·literal·notranslate"><span·class="pre">OpenLayersWidget</span></code></p>
Max diff block lines reached; 6457/22087 bytes (29.23%) of diff not shown.
7.23 KB
html2text {}
Max HTML report size reached
127 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/functions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Geographic·Database·Functions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Geographic·Database·Functions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Measurement·Objects"·href="measure.html"·/>15 ····<link·rel="next"·title="Measurement·Objects"·href="measure.html"·/>
15 ····<link·rel="prev"·title="GIS·QuerySet·API·Reference"·href="geoquerysets.html"·/>16 ····<link·rel="prev"·title="GIS·QuerySet·API·Reference"·href="geoquerysets.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 152, 29 lines modifiedOffset 153, 29 lines modified
152 </tr>153 </tr>
153 </tbody>154 </tbody>
154 </table>155 </table>
155 <section·id="s-area">156 <section·id="s-area">
156 <span·id="area"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Area</span></code><a·class="headerlink"·href="#area"·title="Link·to·this·heading">¶</a></h2>157 <span·id="area"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Area</span></code><a·class="headerlink"·href="#area"·title="Link·to·this·heading">¶</a></h2>
157 <dl·class="py·class">158 <dl·class="py·class">
158 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.Area">159 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.Area">
159 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Area</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L157"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.Area"·title="Link·to·this·definition">¶</a></dt>160 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Area</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L157"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.Area"·title="Link·to·this·definition">¶</a></dt>
160 <dd></dd></dl>161 <dd></dd></dl>
  
161 <p><em>Availability</em>:·MariaDB,·<a·class="reference·external"·href="https://dev.mysql.com/doc/refman/en/gis-polygon-property-functions.html#function_st-area">MySQL</a>,162 <p><em>Availability</em>:·MariaDB,·<a·class="reference·external"·href="https://dev.mysql.com/doc/refman/en/gis-polygon-property-functions.html#function_st-area">MySQL</a>,
162 Oracle,·<a·class="reference·external"·href="https://postgis.net/docs/ST_Area.html">PostGIS</a>,·SpatiaLite</p>163 Oracle,·<a·class="reference·external"·href="https://postgis.net/docs/ST_Area.html">PostGIS</a>,·SpatiaLite</p>
163 <p>Accepts·a·single·geographic·field·or·expression·and·returns·the·area·of·the164 <p>Accepts·a·single·geographic·field·or·expression·and·returns·the·area·of·the
164 field·as·an·<a·class="reference·internal"·href="measure.html#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>·measure.</p>165 field·as·an·<a·class="reference·internal"·href="measure.html#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>·measure.</p>
165 <p>MySQL·and·SpatiaLite·without·LWGEOM/RTTOPO·don’t·support·area·calculations·on166 <p>MySQL·and·SpatiaLite·without·LWGEOM/RTTOPO·don’t·support·area·calculations·on
166 geographic·SRSes.</p>167 geographic·SRSes.</p>
167 </section>168 </section>
168 <section·id="s-asgeojson">169 <section·id="s-asgeojson">
169 <span·id="asgeojson"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsGeoJSON</span></code><a·class="headerlink"·href="#asgeojson"·title="Link·to·this·heading">¶</a></h2>170 <span·id="asgeojson"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsGeoJSON</span></code><a·class="headerlink"·href="#asgeojson"·title="Link·to·this·heading">¶</a></h2>
170 <dl·class="py·class">171 <dl·class="py·class">
171 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsGeoJSON">172 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsGeoJSON">
172 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsGeoJSON</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">bbox</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">crs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">precision</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">8</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L186"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsGeoJSON"·title="Link·to·this·definition">¶</a></dt>173 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsGeoJSON</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">bbox</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">crs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">precision</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">8</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L186"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsGeoJSON"·title="Link·to·this·definition">¶</a></dt>
173 <dd></dd></dl>174 <dd></dd></dl>
  
174 <p><em>Availability</em>:·MariaDB,·<a·class="reference·external"·href="https://dev.mysql.com/doc/refman/en/spatial-geojson-functions.html#function_st-asgeojson">MySQL</a>,175 <p><em>Availability</em>:·MariaDB,·<a·class="reference·external"·href="https://dev.mysql.com/doc/refman/en/spatial-geojson-functions.html#function_st-asgeojson">MySQL</a>,
175 Oracle,·<a·class="reference·external"·href="https://postgis.net/docs/ST_AsGeoJSON.html">PostGIS</a>,·SpatiaLite</p>176 Oracle,·<a·class="reference·external"·href="https://postgis.net/docs/ST_AsGeoJSON.html">PostGIS</a>,·SpatiaLite</p>
176 <p>Accepts·a·single·geographic·field·or·expression·and·returns·a·<a·class="reference·external"·href="https://geojson.org/">GeoJSON</a>·representation·of·the·geometry.·Note·that·the·result177 <p>Accepts·a·single·geographic·field·or·expression·and·returns·a·<a·class="reference·external"·href="https://geojson.org/">GeoJSON</a>·representation·of·the·geometry.·Note·that·the·result
177 is·not·a·complete·GeoJSON·structure·but·only·the·<code·class="docutils·literal·notranslate"><span·class="pre">geometry</span></code>·key·content·of·a178 is·not·a·complete·GeoJSON·structure·but·only·the·<code·class="docutils·literal·notranslate"><span·class="pre">geometry</span></code>·key·content·of·a
178 GeoJSON·structure.·See·also·<a·class="reference·internal"·href="serializers.html"><span·class="doc">GeoJSON·Serializer</span></a>.</p>179 GeoJSON·structure.·See·also·<a·class="reference·internal"·href="serializers.html"><span·class="doc">GeoJSON·Serializer</span></a>.</p>
Offset 209, 15 lines modifiedOffset 210, 15 lines modified
209 </tbody>210 </tbody>
210 </table>211 </table>
211 </section>212 </section>
212 <section·id="s-asgml">213 <section·id="s-asgml">
213 <span·id="asgml"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsGML</span></code><a·class="headerlink"·href="#asgml"·title="Link·to·this·heading">¶</a></h2>214 <span·id="asgml"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsGML</span></code><a·class="headerlink"·href="#asgml"·title="Link·to·this·heading">¶</a></h2>
214 <dl·class="py·class">215 <dl·class="py·class">
215 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsGML">216 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsGML">
216 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsGML</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">version</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">2</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">precision</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">8</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L210"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsGML"·title="Link·to·this·definition">¶</a></dt>217 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsGML</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">version</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">2</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">precision</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">8</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L210"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsGML"·title="Link·to·this·definition">¶</a></dt>
217 <dd></dd></dl>218 <dd></dd></dl>
  
218 <p><em>Availability</em>:·Oracle,·<a·class="reference·external"·href="https://postgis.net/docs/ST_AsGML.html">PostGIS</a>,219 <p><em>Availability</em>:·Oracle,·<a·class="reference·external"·href="https://postgis.net/docs/ST_AsGML.html">PostGIS</a>,
219 SpatiaLite</p>220 SpatiaLite</p>
220 <p>Accepts·a·single·geographic·field·or·expression·and·returns·a·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Geography_Markup_Language">Geographic·Markup221 <p>Accepts·a·single·geographic·field·or·expression·and·returns·a·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Geography_Markup_Language">Geographic·Markup
221 Language·(GML)</a>·representation·of·the·geometry.</p>222 Language·(GML)</a>·representation·of·the·geometry.</p>
222 <p>Example:</p>223 <p>Example:</p>
Offset 245, 15 lines modifiedOffset 246, 15 lines modified
245 </tbody>246 </tbody>
246 </table>247 </table>
247 </section>248 </section>
248 <section·id="s-askml">249 <section·id="s-askml">
249 <span·id="askml"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsKML</span></code><a·class="headerlink"·href="#askml"·title="Link·to·this·heading">¶</a></h2>250 <span·id="askml"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsKML</span></code><a·class="headerlink"·href="#askml"·title="Link·to·this·heading">¶</a></h2>
250 <dl·class="py·class">251 <dl·class="py·class">
251 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsKML">252 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsKML">
252 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsKML</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">precision</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">8</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L233"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsKML"·title="Link·to·this·definition">¶</a></dt>253 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsKML</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">precision</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">8</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L233"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsKML"·title="Link·to·this·definition">¶</a></dt>
253 <dd></dd></dl>254 <dd></dd></dl>
  
254 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_AsKML.html">PostGIS</a>,·SpatiaLite</p>255 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_AsKML.html">PostGIS</a>,·SpatiaLite</p>
255 <p>Accepts·a·single·geographic·field·or·expression·and·returns·a·<a·class="reference·external"·href="https://developers.google.com/kml/documentation/">Keyhole·Markup256 <p>Accepts·a·single·geographic·field·or·expression·and·returns·a·<a·class="reference·external"·href="https://developers.google.com/kml/documentation/">Keyhole·Markup
256 Language·(KML)</a>·representation·of·the·geometry.</p>257 Language·(KML)</a>·representation·of·the·geometry.</p>
257 <p>Example:</p>258 <p>Example:</p>
258 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">qs</span>·<span·class="o">=</span>·<span·class="n">Zipcode</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span><span·class="n">kml</span><span·class="o">=</span><span·class="n">AsKML</span><span·class="p">(</span><span·class="s2">&quot;poly&quot;</span><span·class="p">))</span>259 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">qs</span>·<span·class="o">=</span>·<span·class="n">Zipcode</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span><span·class="n">kml</span><span·class="o">=</span><span·class="n">AsKML</span><span·class="p">(</span><span·class="s2">&quot;poly&quot;</span><span·class="p">))</span>
Offset 277, 15 lines modifiedOffset 278, 15 lines modified
277 </tbody>278 </tbody>
278 </table>279 </table>
279 </section>280 </section>
280 <section·id="s-assvg">281 <section·id="s-assvg">
281 <span·id="assvg"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsSVG</span></code><a·class="headerlink"·href="#assvg"·title="Link·to·this·heading">¶</a></h2>282 <span·id="assvg"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsSVG</span></code><a·class="headerlink"·href="#assvg"·title="Link·to·this·heading">¶</a></h2>
282 <dl·class="py·class">283 <dl·class="py·class">
283 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsSVG">284 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsSVG">
284 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsSVG</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">relative</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">precision</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">8</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L243"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsSVG"·title="Link·to·this·definition">¶</a></dt>285 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsSVG</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">relative</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">precision</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">8</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L243"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsSVG"·title="Link·to·this·definition">¶</a></dt>
285 <dd></dd></dl>286 <dd></dd></dl>
  
286 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_AsSVG.html">PostGIS</a>,·SpatiaLite</p>287 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_AsSVG.html">PostGIS</a>,·SpatiaLite</p>
287 <p>Accepts·a·single·geographic·field·or·expression·and·returns·a·<a·class="reference·external"·href="https://www.w3.org/Graphics/SVG/">Scalable·Vector288 <p>Accepts·a·single·geographic·field·or·expression·and·returns·a·<a·class="reference·external"·href="https://www.w3.org/Graphics/SVG/">Scalable·Vector
288 Graphics·(SVG)</a>·representation·of·the·geometry.</p>289 Graphics·(SVG)</a>·representation·of·the·geometry.</p>
289 <table·class="docutils">290 <table·class="docutils">
290 <thead>291 <thead>
Offset 307, 15 lines modifiedOffset 308, 15 lines modified
307 </tbody>308 </tbody>
308 </table>309 </table>
309 </section>310 </section>
310 <section·id="s-aswkb">311 <section·id="s-aswkb">
311 <span·id="aswkb"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsWKB</span></code><a·class="headerlink"·href="#aswkb"·title="Link·to·this·heading">¶</a></h2>312 <span·id="aswkb"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">AsWKB</span></code><a·class="headerlink"·href="#aswkb"·title="Link·to·this·heading">¶</a></h2>
312 <dl·class="py·class">313 <dl·class="py·class">
313 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsWKB">314 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.functions.AsWKB">
314 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsWKB</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L258"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsWKB"·title="Link·to·this·definition">¶</a></dt>315 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsWKB</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/functions.py#L258"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.functions.AsWKB"·title="Link·to·this·definition">¶</a></dt>
315 <dd></dd></dl>316 <dd></dd></dl>
Max diff block lines reached; 81620/100775 bytes (80.99%) of diff not shown.
28.6 KB
html2text {}
Max HTML report size reached
239 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/gdal.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GDAL·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GDAL·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Geolocation·with·GeoIP2"·href="geoip2.html"·/>15 ····<link·rel="next"·title="Geolocation·with·GeoIP2"·href="geoip2.html"·/>
15 ····<link·rel="prev"·title="GEOS·API"·href="geos.html"·/>16 ····<link·rel="prev"·title="GEOS·API"·href="geos.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 24 lines modifiedOffset 77, 24 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-contrib-gis-gdal">79 ··········<div·class="yui-g"·id="ref-contrib-gis-gdal">
79 ············80 ············
80 ··<section·id="s-module-django.contrib.gis.gdal">81 ··<section·id="s-module-django.contrib.gis.gdal">
81 <span·id="s-gdal-api"></span><span·id="module-django.contrib.gis.gdal"></span><span·id="gdal-api"></span><h1>GDAL·API<a·class="headerlink"·href="#module-django.contrib.gis.gdal"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-gdal-api"></span><span·id="module-django.contrib.gis.gdal"></span><span·id="gdal-api"></span><h1>GDAL·API<a·class="headerlink"·href="#module-django.contrib.gis.gdal"·title="Link·to·this·heading">¶</a></h1>
82 <p><a·class="reference·external"·href="https://gdal.org/">GDAL</a>·stands·for·<strong>Geospatial·Data·Abstraction·Library</strong>,83 <p><a·class="reference·external"·href="https://gdal.org/">GDAL</a>·stands·for·<strong>Geospatial·Data·Abstraction·Library</strong>,
83 and·is·a·veritable·Swiss·army·knife·of·GIS·data·functionality.··A·subset84 and·is·a·veritable·Swiss·army·knife·of·GIS·data·functionality.··A·subset
84 of·GDAL·is·the·<a·class="reference·external"·href="https://gdal.org/user/vector_data_model.html">OGR</a>·Simple·Features·Library,·which·specializes85 of·GDAL·is·the·<a·class="reference·external"·href="https://gdal.org/user/vector_data_model.html">OGR</a>·Simple·Features·Library,·which·specializes
85 in·reading·and·writing·vector·geographic·data·in·a·variety·of·standard86 in·reading·and·writing·vector·geographic·data·in·a·variety·of·standard
86 formats.</p>87 formats.</p>
87 <p>GeoDjango·provides·a·high-level·Python·interface·for·some·of·the88 <p>GeoDjango·provides·a·high-level·Python·interface·for·some·of·the
88 capabilities·of·OGR,·including·the·reading·and·coordinate·transformation89 capabilities·of·OGR,·including·the·reading·and·coordinate·transformation
89 of·vector·spatial·data·and·minimal·support·for·GDAL’s·features·with·respect90 of·vector·spatial·data·and·minimal·support·for·GDAL’s·features·with·respect
90 to·raster·(image)·data.</p>91 to·raster·(image)·data.</p>
91 <div·class="admonition·note">92 <div·class="admonition·note">
92 <p·class="admonition-title">Note</p>93 <p·class="admonition-title">rkus</p>
93 <p>Although·the·module·is·named·<code·class="docutils·literal·notranslate"><span·class="pre">gdal</span></code>,·GeoDjango·only·supports·some·of·the94 <p>Although·the·module·is·named·<code·class="docutils·literal·notranslate"><span·class="pre">gdal</span></code>,·GeoDjango·only·supports·some·of·the
94 capabilities·of·OGR·and·GDAL’s·raster·features·at·this·time.</p>95 capabilities·of·OGR·and·GDAL’s·raster·features·at·this·time.</p>
95 </div>96 </div>
96 <section·id="s-overview">97 <section·id="s-overview">
97 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>98 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>
98 <section·id="s-sample-data">99 <section·id="s-sample-data">
99 <span·id="s-gdal-sample-data"></span><span·id="sample-data"></span><span·id="gdal-sample-data"></span><h3>Sample·Data<a·class="headerlink"·href="#sample-data"·title="Link·to·this·heading">¶</a></h3>100 <span·id="s-gdal-sample-data"></span><span·id="sample-data"></span><span·id="gdal-sample-data"></span><h3>Sample·Data<a·class="headerlink"·href="#sample-data"·title="Link·to·this·heading">¶</a></h3>
Offset 120, 15 lines modifiedOffset 121, 15 lines modified
120 object,·contains·some·number·of·geographic·features·(<a·class="reference·internal"·href="#django.contrib.gis.gdal.Feature"·title="django.contrib.gis.gdal.Feature"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feature</span></code></a>),121 object,·contains·some·number·of·geographic·features·(<a·class="reference·internal"·href="#django.contrib.gis.gdal.Feature"·title="django.contrib.gis.gdal.Feature"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feature</span></code></a>),
121 information·about·the·type·of·features·contained·in·that·layer·(e.g.122 information·about·the·type·of·features·contained·in·that·layer·(e.g.
122 points,·polygons,·etc.),·as·well·as·the·names·and·types·of·any123 points,·polygons,·etc.),·as·well·as·the·names·and·types·of·any
123 additional·fields·(<a·class="reference·internal"·href="#django.contrib.gis.gdal.Field"·title="django.contrib.gis.gdal.Field"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Field</span></code></a>)·of·data·that·may·be·associated·with124 additional·fields·(<a·class="reference·internal"·href="#django.contrib.gis.gdal.Field"·title="django.contrib.gis.gdal.Field"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Field</span></code></a>)·of·data·that·may·be·associated·with
124 each·feature·in·that·layer.</p>125 each·feature·in·that·layer.</p>
125 <dl·class="py·class">126 <dl·class="py·class">
126 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.DataSource">127 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.DataSource">
127 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DataSource</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">ds_input</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">encoding</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'utf-8'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/datasource.py#L51"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.DataSource"·title="Link·to·this·definition">¶</a></dt>128 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DataSource</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">ds_input</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">encoding</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'utf-8'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/datasource.py#L51"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.DataSource"·title="Link·to·this·definition">¶</a></dt>
128 <dd><p>The·constructor·for·<code·class="docutils·literal·notranslate"><span·class="pre">DataSource</span></code>·only·requires·one·parameter:·the·path·of129 <dd><p>The·constructor·for·<code·class="docutils·literal·notranslate"><span·class="pre">DataSource</span></code>·only·requires·one·parameter:·the·path·of
129 the·file·you·want·to·read.·However,·OGR·also·supports·a·variety·of·more130 the·file·you·want·to·read.·However,·OGR·also·supports·a·variety·of·more
130 complex·data·sources,·including·databases,·that·may·be·accessed·by·passing131 complex·data·sources,·including·databases,·that·may·be·accessed·by·passing
131 a·special·name·string·instead·of·a·path.·For·more·information,·see·the132 a·special·name·string·instead·of·a·path.·For·more·information,·see·the
132 <a·class="reference·external"·href="https://gdal.org/drivers/vector/">OGR·Vector·Formats</a>·documentation.·The·<a·class="reference·internal"·href="#django.contrib.gis.gdal.DataSource.name"·title="django.contrib.gis.gdal.DataSource.name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">name</span></code></a>·property·of·a133 <a·class="reference·external"·href="https://gdal.org/drivers/vector/">OGR·Vector·Formats</a>·documentation.·The·<a·class="reference·internal"·href="#django.contrib.gis.gdal.DataSource.name"·title="django.contrib.gis.gdal.DataSource.name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">name</span></code></a>·property·of·a
133 <code·class="docutils·literal·notranslate"><span·class="pre">DataSource</span></code>·instance·gives·the·OGR·name·of·the·underlying·data·source134 <code·class="docutils·literal·notranslate"><span·class="pre">DataSource</span></code>·instance·gives·the·OGR·name·of·the·underlying·data·source
134 that·it·is·using.</p>135 that·it·is·using.</p>
Offset 145, 21 lines modifiedOffset 146, 21 lines modified
145 <span·class="go">&#39;/path/to/your/cities.shp&#39;</span>146 <span·class="go">&#39;/path/to/your/cities.shp&#39;</span>
146 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">ds</span><span·class="o">.</span><span·class="n">layer_count</span>··<span·class="c1">#·This·file·only·contains·one·layer</span>147 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">ds</span><span·class="o">.</span><span·class="n">layer_count</span>··<span·class="c1">#·This·file·only·contains·one·layer</span>
147 <span·class="go">1</span>148 <span·class="go">1</span>
148 </pre></div>149 </pre></div>
149 </div>150 </div>
150 <dl·class="py·attribute">151 <dl·class="py·attribute">
151 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.DataSource.layer_count">152 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.DataSource.layer_count">
152 <span·class="sig-name·descname"><span·class="pre">layer_count</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/datasource.py#L120"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.DataSource.layer_count"·title="Link·to·this·definition">¶</a></dt>153 <span·class="sig-name·descname"><span·class="pre">layer_count</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/datasource.py#L120"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.DataSource.layer_count"·title="Link·to·this·definition">¶</a></dt>
153 <dd></dd></dl>154 <dd></dd></dl>
  
154 <p>Returns·the·number·of·layers·in·the·data·source.</p>155 <p>Returns·the·number·of·layers·in·the·data·source.</p>
155 <dl·class="py·attribute">156 <dl·class="py·attribute">
156 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.DataSource.name">157 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.DataSource.name">
157 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/datasource.py#L125"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.DataSource.name"·title="Link·to·this·definition">¶</a></dt>158 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/datasource.py#L125"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.DataSource.name"·title="Link·to·this·definition">¶</a></dt>
158 <dd></dd></dl>159 <dd></dd></dl>
  
159 <p>Returns·the·name·of·the·data·source.</p>160 <p>Returns·the·name·of·the·data·source.</p>
160 </dd></dl>161 </dd></dl>
  
161 </section>162 </section>
162 <section·id="s-layer">163 <section·id="s-layer">
Offset 570, 20 lines modifiedOffset 571, 20 lines modified
570 </dd></dl>571 </dd></dl>
  
571 </section>572 </section>
572 <section·id="s-driver">573 <section·id="s-driver">
573 <span·id="driver"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Driver</span></code><a·class="headerlink"·href="#driver"·title="Link·to·this·heading">¶</a></h3>574 <span·id="driver"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Driver</span></code><a·class="headerlink"·href="#driver"·title="Link·to·this·heading">¶</a></h3>
574 <dl·class="py·class">575 <dl·class="py·class">
575 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.Driver">576 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.Driver">
576 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Driver</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">dr_input</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/driver.py#L9"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.Driver"·title="Link·to·this·definition">¶</a></dt>577 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Driver</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">dr_input</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/driver.py#L9"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.Driver"·title="Link·to·this·definition">¶</a></dt>
577 <dd><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Driver</span></code>·class·is·used·internally·to·wrap·an·OGR·<a·class="reference·internal"·href="#django.contrib.gis.gdal.DataSource"·title="django.contrib.gis.gdal.DataSource"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DataSource</span></code></a>578 <dd><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Driver</span></code>·class·is·used·internally·to·wrap·an·OGR·<a·class="reference·internal"·href="#django.contrib.gis.gdal.DataSource"·title="django.contrib.gis.gdal.DataSource"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DataSource</span></code></a>
578 driver.</p>579 driver.</p>
579 <dl·class="py·attribute">580 <dl·class="py·attribute">
580 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.Driver.driver_count">581 <dt·class="sig·sig-object·py"·id="django.contrib.gis.gdal.Driver.driver_count">
581 <span·class="sig-name·descname"><span·class="pre">driver_count</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/driver.py#L83"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.Driver.driver_count"·title="Link·to·this·definition">¶</a></dt>582 <span·class="sig-name·descname"><span·class="pre">driver_count</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/gdal/driver.py#L83"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.gdal.Driver.driver_count"·title="Link·to·this·definition">¶</a></dt>
582 <dd></dd></dl>583 <dd></dd></dl>
  
583 <p>Returns·the·number·of·OGR·vector·drivers·currently·registered.</p>584 <p>Returns·the·number·of·OGR·vector·drivers·currently·registered.</p>
584 </dd></dl>585 </dd></dl>
  
585 </section>586 </section>
586 </section>587 </section>
Offset 599, 30 lines modifiedOffset 600, 30 lines modified
599 coordinate·transformation:</p>600 coordinate·transformation:</p>
600 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.contrib.gis.gdal</span>·<span·class="kn">import</span>·<span·class="n">OGRGeometry</span>601 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.contrib.gis.gdal</span>·<span·class="kn">import</span>·<span·class="n">OGRGeometry</span>
601 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">polygon</span>·<span·class="o">=</span>·<span·class="n">OGRGeometry</span><span·class="p">(</span><span·class="s2">&quot;POLYGON((0·0,·5·0,·5·5,·0·5))&quot;</span><span·class="p">)</span>602 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">polygon</span>·<span·class="o">=</span>·<span·class="n">OGRGeometry</span><span·class="p">(</span><span·class="s2">&quot;POLYGON((0·0,·5·0,·5·5,·0·5))&quot;</span><span·class="p">)</span>
Max diff block lines reached; 179445/192440 bytes (93.25%) of diff not shown.
50.5 KB
html2text {}
Max HTML report size reached
35.0 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoip2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Geolocation·with·GeoIP2·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Geolocation·with·GeoIP2·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GeoDjango·Utilities"·href="utils.html"·/>15 ····<link·rel="next"·title="GeoDjango·Utilities"·href="utils.html"·/>
15 ····<link·rel="prev"·title="GDAL·API"·href="gdal.html"·/>16 ····<link·rel="prev"·title="GDAL·API"·href="gdal.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 126, 15 lines modifiedOffset 127, 15 lines modified
126 </pre></div>127 </pre></div>
127 </div>128 </div>
128 </section>129 </section>
129 <section·id="s-api-reference">130 <section·id="s-api-reference">
130 <span·id="api-reference"></span><h2>API·Reference<a·class="headerlink"·href="#api-reference"·title="Link·to·this·heading">¶</a></h2>131 <span·id="api-reference"></span><h2>API·Reference<a·class="headerlink"·href="#api-reference"·title="Link·to·this·heading">¶</a></h2>
131 <dl·class="py·class">132 <dl·class="py·class">
132 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2">133 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2">
133 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeoIP2</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">country</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">city</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L53"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2"·title="Link·to·this·definition">¶</a></dt>134 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeoIP2</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">country</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">city</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L53"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2"·title="Link·to·this·definition">¶</a></dt>
134 <dd></dd></dl>135 <dd></dd></dl>
  
135 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">GeoIP</span></code>·object·does·not·require·any·parameters·to·use·the·default136 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">GeoIP</span></code>·object·does·not·require·any·parameters·to·use·the·default
136 settings.·However,·at·the·very·least·the·<a·class="reference·internal"·href="#std-setting-GEOIP_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">GEOIP_PATH</span></code></a>·setting137 settings.·However,·at·the·very·least·the·<a·class="reference·internal"·href="#std-setting-GEOIP_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">GEOIP_PATH</span></code></a>·setting
137 should·be·set·with·the·path·of·the·location·of·your·GeoIP·datasets.·The138 should·be·set·with·the·path·of·the·location·of·your·GeoIP·datasets.·The
138 following·initialization·keywords·may·be·used·to·customize·any·of·the139 following·initialization·keywords·may·be·used·to·customize·any·of·the
139 defaults.</p>140 defaults.</p>
Offset 174, 94 lines modifiedOffset 175, 94 lines modified
174 </section>175 </section>
175 <section·id="s-methods">176 <section·id="s-methods">
176 <span·id="methods"></span><h2>Methods<a·class="headerlink"·href="#methods"·title="Link·to·this·heading">¶</a></h2>177 <span·id="methods"></span><h2>Methods<a·class="headerlink"·href="#methods"·title="Link·to·this·heading">¶</a></h2>
177 <section·id="s-instantiating">178 <section·id="s-instantiating">
178 <span·id="instantiating"></span><h3>Instantiating<a·class="headerlink"·href="#instantiating"·title="Link·to·this·heading">¶</a></h3>179 <span·id="instantiating"></span><h3>Instantiating<a·class="headerlink"·href="#instantiating"·title="Link·to·this·heading">¶</a></h3>
179 <dl·class="py·method">180 <dl·class="py·method">
180 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.open">181 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.open">
181 <em·class="property"><span·class="pre">classmethod</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">open</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L244"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.open"·title="Link·to·this·definition">¶</a></dt>182 <em·class="property"><span·class="pre">classmethod</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">open</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L244"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.open"·title="Link·to·this·definition">¶</a></dt>
182 <dd></dd></dl>183 <dd></dd></dl>
  
183 <p>This·classmethod·instantiates·the·GeoIP·object·from·the·given·database·path184 <p>This·classmethod·instantiates·the·GeoIP·object·from·the·given·database·path
184 and·given·cache·setting.</p>185 and·given·cache·setting.</p>
185 <div·class="deprecated">186 <div·class="deprecated">
186 <p><span·class="versionmodified·deprecated">Deprecated·since·version·5.1:·</span>Use·the·<a·class="reference·internal"·href="#django.contrib.gis.geoip2.GeoIP2"·title="django.contrib.gis.geoip2.GeoIP2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeoIP2()</span></code></a>·constructor·instead.</p>187 <p><span·class="versionmodified·deprecated">Iganenud·alates·versioonist·5.1:·</span>Use·the·<a·class="reference·internal"·href="#django.contrib.gis.geoip2.GeoIP2"·title="django.contrib.gis.geoip2.GeoIP2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeoIP2()</span></code></a>·constructor·instead.</p>
187 </div>188 </div>
188 </section>189 </section>
189 <section·id="s-querying">190 <section·id="s-querying">
190 <span·id="querying"></span><h3>Querying<a·class="headerlink"·href="#querying"·title="Link·to·this·heading">¶</a></h3>191 <span·id="querying"></span><h3>Querying<a·class="headerlink"·href="#querying"·title="Link·to·this·heading">¶</a></h3>
191 <p>All·the·following·querying·routines·may·take·an·instance·of192 <p>All·the·following·querying·routines·may·take·an·instance·of
192 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ipaddress.html#ipaddress.IPv4Address"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">IPv4Address</span></code></a>·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ipaddress.html#ipaddress.IPv6Address"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">IPv6Address</span></code></a>,·a·string·IP193 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ipaddress.html#ipaddress.IPv4Address"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">IPv4Address</span></code></a>·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ipaddress.html#ipaddress.IPv6Address"·title=[·...·truncated·by·diffoscope;·len:·11,·SHA:·10f906a1c6c0c7e7b432f954358b7cbfb2b8fe515730ea7f330fac50cbe55645·...·]·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">IPv6Address</span></code></a>,·a·string·IP
193 address,·or·a·fully·qualified·domain·name·(FQDN).·For·example,194 address,·or·a·fully·qualified·domain·name·(FQDN).·For·example,
194 <code·class="docutils·literal·notranslate"><span·class="pre">IPv4Address(&quot;205.186.163.125&quot;)</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;205.186.163.125&quot;</span></code>,·and195 <code·class="docutils·literal·notranslate"><span·class="pre">IPv4Address(&quot;205.186.163.125&quot;)</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;205.186.163.125&quot;</span></code>,·and
195 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;djangoproject.com&quot;</span></code>·would·all·be·valid·query·parameters.</p>196 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;djangoproject.com&quot;</span></code>·would·all·be·valid·query·parameters.</p>
196 <dl·class="py·method">197 <dl·class="py·method">
197 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.city">198 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.city">
198 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">city</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L166"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.city"·title="Link·to·this·definition">¶</a></dt>199 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">city</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L166"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.city"·title="Link·to·this·definition">¶</a></dt>
199 <dd></dd></dl>200 <dd></dd></dl>
  
200 <p>Returns·a·dictionary·of·city·information·for·the·given·query.·Some201 <p>Returns·a·dictionary·of·city·information·for·the·given·query.·Some
201 of·the·values·in·the·dictionary·may·be·undefined·(<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>).</p>202 of·the·values·in·the·dictionary·may·be·undefined·(<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>).</p>
202 <dl·class="py·method">203 <dl·class="py·method">
203 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.country">204 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.country">
204 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">country</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L202"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.country"·title="Link·to·this·definition">¶</a></dt>205 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">country</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L202"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.country"·title="Link·to·this·definition">¶</a></dt>
205 <dd></dd></dl>206 <dd></dd></dl>
  
206 <p>Returns·a·dictionary·with·the·country·code·and·country·for·the·given207 <p>Returns·a·dictionary·with·the·country·code·and·country·for·the·given
207 query.</p>208 query.</p>
208 <dl·class="py·method">209 <dl·class="py·method">
209 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.country_code">210 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.country_code">
210 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">country_code</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L194"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.country_code"·title="Link·to·this·definition">¶</a></dt>211 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">country_code</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L194"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.country_code"·title="Link·to·this·definition">¶</a></dt>
211 <dd></dd></dl>212 <dd></dd></dl>
  
212 <p>Returns·the·country·code·corresponding·to·the·query.</p>213 <p>Returns·the·country·code·corresponding·to·the·query.</p>
213 <dl·class="py·method">214 <dl·class="py·method">
214 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.country_name">215 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.country_name">
215 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">country_name</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L198"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.country_name"·title="Link·to·this·definition">¶</a></dt>216 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">country_name</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L198"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.country_name"·title="Link·to·this·definition">¶</a></dt>
216 <dd></dd></dl>217 <dd></dd></dl>
  
217 <p>Returns·the·country·name·corresponding·to·the·query.</p>218 <p>Returns·the·country·name·corresponding·to·the·query.</p>
218 </section>219 </section>
219 <section·id="s-coordinate-retrieval">220 <section·id="s-coordinate-retrieval">
220 <span·id="coordinate-retrieval"></span><h3>Coordinate·Retrieval<a·class="headerlink"·href="#coordinate-retrieval"·title="Link·to·this·heading">¶</a></h3>221 <span·id="coordinate-retrieval"></span><h3>Coordinate·Retrieval<a·class="headerlink"·href="#coordinate-retrieval"·title="Link·to·this·heading">¶</a></h3>
221 <dl·class="py·method">222 <dl·class="py·method">
222 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.coords">223 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.coords">
223 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">coords</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L217"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.coords"·title="Link·to·this·definition">¶</a></dt>224 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">coords</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L217"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.coords"·title="Link·to·this·definition">¶</a></dt>
224 <dd></dd></dl>225 <dd></dd></dl>
  
225 <p>Returns·a·coordinate·tuple·of·(longitude,·latitude).</p>226 <p>Returns·a·coordinate·tuple·of·(longitude,·latitude).</p>
226 <div·class="deprecated">227 <div·class="deprecated">
227 <p><span·class="versionmodified·deprecated">Deprecated·since·version·5.1:·</span>Use·<a·class="reference·internal"·href="#django.contrib.gis.geoip2.GeoIP2.lon_lat"·title="django.contrib.gis.geoip2.GeoIP2.lon_lat"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">GeoIP2.lon_lat()</span></code></a>·instead.</p>228 <p><span·class="versionmodified·deprecated">Iganenud·alates·versioonist·5.1:·</span>Use·<a·class="reference·internal"·href="#django.contrib.gis.geoip2.GeoIP2.lon_lat"·title="django.contrib.gis.geoip2.GeoIP2.lon_lat"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">GeoIP2.lon_lat()</span></code></a>·instead.</p>
228 </div>229 </div>
229 <dl·class="py·method">230 <dl·class="py·method">
230 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.lon_lat">231 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.lon_lat">
231 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">lon_lat</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L226"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.lon_lat"·title="Link·to·this·definition">¶</a></dt>232 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">lon_lat</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L226"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.lon_lat"·title="Link·to·this·definition">¶</a></dt>
232 <dd></dd></dl>233 <dd></dd></dl>
  
233 <p>Returns·a·coordinate·tuple·of·(longitude,·latitude).</p>234 <p>Returns·a·coordinate·tuple·of·(longitude,·latitude).</p>
234 <dl·class="py·method">235 <dl·class="py·method">
235 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.lat_lon">236 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geoip2.GeoIP2.lat_lon">
236 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">lat_lon</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L231"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.lat_lon"·title="Link·to·this·definition">¶</a></dt>237 <span·class="sig-prename·descclassname"><span·class="pre">GeoIP2.</span></span><span·class="sig-name·descname"><span·class="pre">lat_lon</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geoip2.py#L231"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geoip2.GeoIP2.lat_lon"·title="Link·to·this·definition">¶</a></dt>
237 <dd></dd></dl>238 <dd></dd></dl>
Max diff block lines reached; 7756/27592 bytes (28.11%) of diff not shown.
7.94 KB
html2text {}
Max HTML report size reached
34.2 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/geoquerysets.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GIS·QuerySet·API·Reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GIS·QuerySet·API·Reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Geographic·Database·Functions"·href="functions.html"·/>15 ····<link·rel="next"·title="Geographic·Database·Functions"·href="functions.html"·/>
15 ····<link·rel="prev"·title="GeoDjango·Forms·API"·href="forms-api.html"·/>16 ····<link·rel="prev"·title="GeoDjango·Forms·API"·href="forms-api.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 468, 15 lines modifiedOffset 469, 15 lines modified
468 </tbody>469 </tbody>
469 </table>470 </table>
470 </section>471 </section>
471 <section·id="s-exact-same-as">472 <section·id="s-exact-same-as">
472 <span·id="s-std-fieldlookup-same_as"></span><span·id="s-std-fieldlookup-exact-noindex"></span><span·id="exact-same-as"></span><span·id="std-fieldlookup-same_as"></span><span·id="std-fieldlookup-exact-noindex"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">exact</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">same_as</span></code><a·class="headerlink"·href="#exact-same-as"·title="Link·to·this·heading">¶</a></h3>473 <span·id="s-std-fieldlookup-same_as"></span><span·id="s-std-fieldlookup-exact-noindex"></span><span·id="exact-same-as"></span><span·id="std-fieldlookup-same_as"></span><span·id="std-fieldlookup-exact-noindex"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">exact</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">same_as</span></code><a·class="headerlink"·href="#exact-same-as"·title="Link·to·this·heading">¶</a></h3>
473 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_Geometry_Same.html">PostGIS</a>,474 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_Geometry_Same.html">PostGIS</a>,
474 Oracle,·MariaDB,·MySQL,·SpatiaLite,·PGRaster·(Bilateral)</p>475 Oracle,·MariaDB,·MySQL,·SpatiaLite,·PGRaster·(Bilateral)</p>
475 <p>Tests·if·the·geometry·field·is·equal·to·the·lookup·geometry.·On·Oracle,476 <p>Tests·if·the·geometry·field·is·equal·to·the·lookup·geometry.·On·Oracle,
476 MySQL,·and·SpatiaLite,·it·tests·spatial·equality,·while·on·PostGIS·it·tests477 MySQL,·and·SpatiaLite,·it·tests·spatial·equality,·while·on·PostGIS·it·tests
477 equality·of·bounding·boxes.</p>478 equality·of·bounding·boxes.</p>
478 <p>Example:</p>479 <p>Example:</p>
479 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">Zipcode</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">poly</span><span·class="o">=</span><span·class="n">geom</span><span·class="p">)</span>480 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">Zipcode</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">poly</span><span·class="o">=</span><span·class="n">geom</span><span·class="p">)</span>
480 </pre></div>481 </pre></div>
481 </div>482 </div>
482 <table·class="docutils">483 <table·class="docutils">
Offset 611, 15 lines modifiedOffset 612, 15 lines modified
611 <code·class="docutils·literal·notranslate"><span·class="pre">(geom,</span>·<span·class="pre">pattern)</span></code>;·the·form·of·<code·class="docutils·literal·notranslate"><span·class="pre">pattern</span></code>·will·depend·on·the·spatial·backend:</p>612 <code·class="docutils·literal·notranslate"><span·class="pre">(geom,</span>·<span·class="pre">pattern)</span></code>;·the·form·of·<code·class="docutils·literal·notranslate"><span·class="pre">pattern</span></code>·will·depend·on·the·spatial·backend:</p>
612 <section·id="s-mariadb-postgis-and-spatialite">613 <section·id="s-mariadb-postgis-and-spatialite">
613 <span·id="mariadb-postgis-and-spatialite"></span><h4>MariaDB,·PostGIS,·and·SpatiaLite<a·class="headerlink"·href="#mariadb-postgis-and-spatialite"·title="Link·to·this·heading">¶</a></h4>614 <span·id="mariadb-postgis-and-spatialite"></span><h4>MariaDB,·PostGIS,·and·SpatiaLite<a·class="headerlink"·href="#mariadb-postgis-and-spatialite"·title="Link·to·this·heading">¶</a></h4>
614 <p>On·these·spatial·backends·the·intersection·pattern·is·a·string·comprising615 <p>On·these·spatial·backends·the·intersection·pattern·is·a·string·comprising
615 nine·characters,·which··define·intersections·between··the·interior,·boundary,616 nine·characters,·which··define·intersections·between··the·interior,·boundary,
616 and·exterior·of·the·geometry·field·and·the·lookup·geometry.617 and·exterior·of·the·geometry·field·and·the·lookup·geometry.
617 The·intersection·pattern·matrix·may·only·use·the·following·characters:618 The·intersection·pattern·matrix·may·only·use·the·following·characters:
618 <code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">2</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">T</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">F</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">*</span></code>.··This·lookup·type·allows·users·to·fine·tune619 <code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">2</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">T</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">F</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">*</span></code>.··This·lookup·type·allows·users·to·fine·tune
619 a·specific·geometric·relationship·consistent·with·the·DE-9IM·model.·<a·class="footnote-reference·brackets"·href="#fnde9im"·id="id4"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a></p>620 a·specific·geometric·relationship·consistent·with·the·DE-9IM·model.·<a·class="footnote-reference·brackets"·href="#fnde9im"·id="id4"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a></p>
620 <p>Geometry·example:</p>621 <p>Geometry·example:</p>
621 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·A·tuple·lookup·parameter·is·used·to·specify·the·geometry·and</span>622 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·A·tuple·lookup·parameter·is·used·to·specify·the·geometry·and</span>
622 <span·class="c1">#·the·intersection·pattern·(the·pattern·here·is·for·&#39;contains&#39;).</span>623 <span·class="c1">#·the·intersection·pattern·(the·pattern·here·is·for·&#39;contains&#39;).</span>
623 <span·class="n">Zipcode</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">poly__relate</span><span·class="o">=</span><span·class="p">(</span><span·class="n">geom</span><span·class="p">,</span>·<span·class="s2">&quot;T*T***FF*&quot;</span><span·class="p">))</span>624 <span·class="n">Zipcode</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">poly__relate</span><span·class="o">=</span><span·class="p">(</span><span·class="n">geom</span><span·class="p">,</span>·<span·class="s2">&quot;T*T***FF*&quot;</span><span·class="p">))</span>
624 </pre></div>625 </pre></div>
625 </div>626 </div>
Offset 1060, 15 lines modifiedOffset 1061, 15 lines modified
1060 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">WorldBorder</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">aggregate</span><span·class="p">(</span><span·class="n">Extent</span><span·class="p">(</span><span·class="s2">&quot;mpoly&quot;</span><span·class="p">),</span>·<span·class="n">Union</span><span·class="p">(</span><span·class="s2">&quot;mpoly&quot;</span><span·class="p">))</span>1061 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">WorldBorder</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">aggregate</span><span·class="p">(</span><span·class="n">Extent</span><span·class="p">(</span><span·class="s2">&quot;mpoly&quot;</span><span·class="p">),</span>·<span·class="n">Union</span><span·class="p">(</span><span·class="s2">&quot;mpoly&quot;</span><span·class="p">))</span>
1061 </pre></div>1062 </pre></div>
1062 </div>1063 </div>
1063 <section·id="s-collect">1064 <section·id="s-collect">
1064 <span·id="collect"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">Collect</span></code><a·class="headerlink"·href="#collect"·title="Link·to·this·heading">¶</a></h4>1065 <span·id="collect"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">Collect</span></code><a·class="headerlink"·href="#collect"·title="Link·to·this·heading">¶</a></h4>
1065 <dl·class="py·class">1066 <dl·class="py·class">
1066 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.Collect">1067 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.Collect">
1067 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Collect</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geo_field</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/aggregates.py#L61"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.Collect"·title="Link·to·this·definition">¶</a></dt>1068 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Collect</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geo_field</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/aggregates.py#L61"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.Collect"·title="Link·to·this·definition">¶</a></dt>
1068 <dd></dd></dl>1069 <dd></dd></dl>
  
1069 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_Collect.html">PostGIS</a>,·MySQL,1070 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_Collect.html">PostGIS</a>,·MySQL,
1070 SpatiaLite</p>1071 SpatiaLite</p>
1071 <p>Returns·a·<code·class="docutils·literal·notranslate"><span·class="pre">GEOMETRYCOLLECTION</span></code>·or·a·<code·class="docutils·literal·notranslate"><span·class="pre">MULTI</span></code>·geometry·object·from·the·geometry1072 <p>Returns·a·<code·class="docutils·literal·notranslate"><span·class="pre">GEOMETRYCOLLECTION</span></code>·or·a·<code·class="docutils·literal·notranslate"><span·class="pre">MULTI</span></code>·geometry·object·from·the·geometry
1072 column.·This·is·analogous·to·a·simplified·version·of·the·<a·class="reference·internal"·href="#django.contrib.gis.db.models.Union"·title="django.contrib.gis.db.models.Union"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Union</span></code></a>1073 column.·This·is·analogous·to·a·simplified·version·of·the·<a·class="reference·internal"·href="#django.contrib.gis.db.models.Union"·title="django.contrib.gis.db.models.Union"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Union</span></code></a>
1073 aggregate,·except·it·can·be·several·orders·of·magnitude·faster·than·performing1074 aggregate,·except·it·can·be·several·orders·of·magnitude·faster·than·performing
Offset 1081, 15 lines modifiedOffset 1082, 15 lines modified
1081 <span·class="title">Changed·in·Django·5.1:</span>·<p>MySQL·8.0.24+·support·was·added.</p>1082 <span·class="title">Changed·in·Django·5.1:</span>·<p>MySQL·8.0.24+·support·was·added.</p>
1082 </div>1083 </div>
1083 </section>1084 </section>
1084 <section·id="s-extent">1085 <section·id="s-extent">
1085 <span·id="extent"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">Extent</span></code><a·class="headerlink"·href="#extent"·title="Link·to·this·heading">¶</a></h4>1086 <span·id="extent"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">Extent</span></code><a·class="headerlink"·href="#extent"·title="Link·to·this·heading">¶</a></h4>
1086 <dl·class="py·class">1087 <dl·class="py·class">
1087 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.Extent">1088 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.Extent">
1088 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Extent</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geo_field</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/aggregates.py#L66"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.Extent"·title="Link·to·this·definition">¶</a></dt>1089 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Extent</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geo_field</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/aggregates.py#L66"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.Extent"·title="Link·to·this·definition">¶</a></dt>
1089 <dd></dd></dl>1090 <dd></dd></dl>
  
1090 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_Extent.html">PostGIS</a>,1091 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_Extent.html">PostGIS</a>,
1091 Oracle,·SpatiaLite</p>1092 Oracle,·SpatiaLite</p>
1092 <p>Returns·the·extent·of·all·<code·class="docutils·literal·notranslate"><span·class="pre">geo_field</span></code>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·as·a·4-tuple,1093 <p>Returns·the·extent·of·all·<code·class="docutils·literal·notranslate"><span·class="pre">geo_field</span></code>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·as·a·4-tuple,
1093 comprising·the·lower·left·coordinate·and·the·upper·right·coordinate.</p>1094 comprising·the·lower·left·coordinate·and·the·upper·right·coordinate.</p>
1094 <p>Example:</p>1095 <p>Example:</p>
Offset 1102, 15 lines modifiedOffset 1103, 15 lines modified
1102 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">filter</span></code>·argument·was·added.</p>1103 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">filter</span></code>·argument·was·added.</p>
1103 </div>1104 </div>
1104 </section>1105 </section>
1105 <section·id="s-extent3d">1106 <section·id="s-extent3d">
1106 <span·id="extent3d"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">Extent3D</span></code><a·class="headerlink"·href="#extent3d"·title="Link·to·this·heading">¶</a></h4>1107 <span·id="extent3d"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">Extent3D</span></code><a·class="headerlink"·href="#extent3d"·title="Link·to·this·heading">¶</a></h4>
1107 <dl·class="py·class">1108 <dl·class="py·class">
1108 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.Extent3D">1109 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.Extent3D">
1109 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Extent3D</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geo_field</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/aggregates.py#L77"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.Extent3D"·title="Link·to·this·definition">¶</a></dt>1110 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Extent3D</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geo_field</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/aggregates.py#L77"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.Extent3D"·title="Link·to·this·definition">¶</a></dt>
1110 <dd></dd></dl>1111 <dd></dd></dl>
  
1111 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_3DExtent.html">PostGIS</a></p>1112 <p><em>Availability</em>:·<a·class="reference·external"·href="https://postgis.net/docs/ST_3DExtent.html">PostGIS</a></p>
1112 <p>Returns·the·3D·extent·of·all·<code·class="docutils·literal·notranslate"><span·class="pre">geo_field</span></code>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·as·a·6-tuple,1113 <p>Returns·the·3D·extent·of·all·<code·class="docutils·literal·notranslate"><span·class="pre">geo_field</span></code>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·as·a·6-tuple,
1113 comprising·the·lower·left·coordinate·and·upper·right·coordinate·(each·with·x,·y,1114 comprising·the·lower·left·coordinate·and·upper·right·coordinate·(each·with·x,·y,
1114 and·z·coordinates).</p>1115 and·z·coordinates).</p>
1115 <p>Example:</p>1116 <p>Example:</p>
Offset 1123, 15 lines modifiedOffset 1124, 15 lines modified
1123 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">filter</span></code>·argument·was·added.</p>1124 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">filter</span></code>·argument·was·added.</p>
1124 </div>1125 </div>
1125 </section>1126 </section>
1126 <section·id="s-makeline">1127 <section·id="s-makeline">
1127 <span·id="makeline"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">MakeLine</span></code><a·class="headerlink"·href="#makeline"·title="Link·to·this·heading">¶</a></h4>1128 <span·id="makeline"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">MakeLine</span></code><a·class="headerlink"·href="#makeline"·title="Link·to·this·heading">¶</a></h4>
1128 <dl·class="py·class">1129 <dl·class="py·class">
1129 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.MakeLine">1130 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.MakeLine">
Max diff block lines reached; 8567/24917 bytes (34.38%) of diff not shown.
9.74 KB
html2text {}
Max HTML report size reached
110 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/geos.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GEOS·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GEOS·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GDAL·API"·href="gdal.html"·/>15 ····<link·rel="next"·title="GDAL·API"·href="gdal.html"·/>
15 ····<link·rel="prev"·title="Measurement·Objects"·href="measure.html"·/>16 ····<link·rel="prev"·title="Measurement·Objects"·href="measure.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 159, 15 lines modifiedOffset 160, 15 lines modified
159 condition·in·the·garbage·collector,·your·module·is·garbage·collected·before160 condition·in·the·garbage·collector,·your·module·is·garbage·collected·before
160 the·GEOS·object.·To·prevent·this,·create·<a·class="reference·internal"·href="#django.contrib.gis.geos.GEOSGeometry"·title="django.contrib.gis.geos.GEOSGeometry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code></a>·objects161 the·GEOS·object.·To·prevent·this,·create·<a·class="reference·internal"·href="#django.contrib.gis.geos.GEOSGeometry"·title="django.contrib.gis.geos.GEOSGeometry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code></a>·objects
161 inside·the·local·scope·of·your·functions/methods.</p>162 inside·the·local·scope·of·your·functions/methods.</p>
162 </div>163 </div>
163 </section>164 </section>
164 <section·id="s-geometries-are-pythonic">165 <section·id="s-geometries-are-pythonic">
165 <span·id="geometries-are-pythonic"></span><h3>Geometries·are·Pythonic<a·class="headerlink"·href="#geometries-are-pythonic"·title="Link·to·this·heading">¶</a></h3>166 <span·id="geometries-are-pythonic"></span><h3>Geometries·are·Pythonic<a·class="headerlink"·href="#geometries-are-pythonic"·title="Link·to·this·heading">¶</a></h3>
166 <p><a·class="reference·internal"·href="#django.contrib.gis.geos.GEOSGeometry"·title="django.contrib.gis.geos.GEOSGeometry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code></a>·objects·are·Pythonic,·in·other·words·components·may167 <p><a·class="reference·internal"·href="#django.contrib.gis.geos.GEOSGeometry"·title="django.contrib.gis.geos.GEOSGeometry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code></a>·objects·are·Pythonic,·in·other·words·components·may
167 be·accessed,·modified,·and·iterated·over·using·standard·Python·conventions.168 be·accessed,·modified,·and·iterated·over·using·standard·Python·conventions.
168 For·example,·you·can·iterate·over·the·coordinates·in·a·<a·class="reference·internal"·href="#django.contrib.gis.geos.Point"·title="django.contrib.gis.geos.Point"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Point</span></code></a>:</p>169 For·example,·you·can·iterate·over·the·coordinates·in·a·<a·class="reference·internal"·href="#django.contrib.gis.geos.Point"·title="django.contrib.gis.geos.Point"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Point</span></code></a>:</p>
169 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">pnt</span>·<span·class="o">=</span>·<span·class="n">Point</span><span·class="p">(</span><span·class="mi">5</span><span·class="p">,</span>·<span·class="mi">23</span><span·class="p">)</span>170 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">pnt</span>·<span·class="o">=</span>·<span·class="n">Point</span><span·class="p">(</span><span·class="mi">5</span><span·class="p">,</span>·<span·class="mi">23</span><span·class="p">)</span>
170 <span·class="gp">&gt;&gt;&gt;·</span><span·class="p">[</span><span·class="n">coord</span>·<span·class="k">for</span>·<span·class="n">coord</span>·<span·class="ow">in</span>·<span·class="n">pnt</span><span·class="p">]</span>171 <span·class="gp">&gt;&gt;&gt;·</span><span·class="p">[</span><span·class="n">coord</span>·<span·class="k">for</span>·<span·class="n">coord</span>·<span·class="ow">in</span>·<span·class="n">pnt</span><span·class="p">]</span>
171 <span·class="go">[5.0,·23.0]</span>172 <span·class="go">[5.0,·23.0]</span>
172 </pre></div>173 </pre></div>
173 </div>174 </div>
Offset 246, 20 lines modifiedOffset 247, 20 lines modified
246 </section>247 </section>
247 <section·id="s-geometry-objects">248 <section·id="s-geometry-objects">
248 <span·id="geometry-objects"></span><h2>Geometry·Objects<a·class="headerlink"·href="#geometry-objects"·title="Link·to·this·heading">¶</a></h2>249 <span·id="geometry-objects"></span><h2>Geometry·Objects<a·class="headerlink"·href="#geometry-objects"·title="Link·to·this·heading">¶</a></h2>
249 <section·id="s-geosgeometry">250 <section·id="s-geosgeometry">
250 <span·id="geosgeometry"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code><a·class="headerlink"·href="#geosgeometry"·title="Link·to·this·heading">¶</a></h3>251 <span·id="geosgeometry"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code><a·class="headerlink"·href="#geosgeometry"·title="Link·to·this·heading">¶</a></h3>
251 <dl·class="py·class">252 <dl·class="py·class">
252 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry">253 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry">
253 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GEOSGeometry</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geo_input</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">srid</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geos/geometry.py#L720"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry"·title="Link·to·this·definition">¶</a></dt>254 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GEOSGeometry</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geo_input</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">srid</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/geos/geometry.py#L720"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry"·title="Link·to·this·definition">¶</a></dt>
254 <dd><dl·class="field-list·simple">255 <dd><dl·class="field-list·simple">
255 <dt·class="field-odd">Parameters<span·class="colon">:</span></dt>256 <dt·class="field-odd">Parameetrid<span·class="colon">:</span></dt>
256 <dd·class="field-odd"><ul·class="simple">257 <dd·class="field-odd"><ul·class="simple">
257 <li><p><strong>geo_input</strong>··Geometry·input·value·(string·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#memoryview"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">memoryview</span></code></a>)</p></li>258 <li><p><strong>geo_input</strong>··Geometry·input·value·(string·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#memoryview"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">memoryview</span></code></a>)</p></li>
258 <li><p><strong>srid</strong>·(<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#int"·title="(in·Python·v3.12)"><em>int</em></a>)··spatial·reference·identifier</p></li>259 <li><p><strong>srid</strong>·(<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#int"·title="(projektis·Python·v3.12)"><em>int</em></a>)··spatial·reference·identifier</p></li>
259 </ul>260 </ul>
260 </dd>261 </dd>
261 </dl>262 </dl>
262 </dd></dl>263 </dd></dl>
  
263 <p>This·is·the·base·class·for·all·GEOS·geometry·objects.··It·initializes·on·the264 <p>This·is·the·base·class·for·all·GEOS·geometry·objects.··It·initializes·on·the
264 given·<code·class="docutils·literal·notranslate"><span·class="pre">geo_input</span></code>·argument,·and·then·assumes·the·proper·geometry·subclass265 given·<code·class="docutils·literal·notranslate"><span·class="pre">geo_input</span></code>·argument,·and·then·assumes·the·proper·geometry·subclass
Offset 412, 15 lines modifiedOffset 413, 15 lines modified
412 <span·class="sig-prename·descclassname"><span·class="pre">GEOSGeometry.</span></span><span·class="sig-name·descname"><span·class="pre">ring</span></span><a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry.ring"·title="Link·to·this·definition">¶</a></dt>413 <span·class="sig-prename·descclassname"><span·class="pre">GEOSGeometry.</span></span><span·class="sig-name·descname"><span·class="pre">ring</span></span><a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry.ring"·title="Link·to·this·definition">¶</a></dt>
413 <dd><p>Returns·a·boolean·indicating·whether·the·geometry·is·a·<code·class="docutils·literal·notranslate"><span·class="pre">LinearRing</span></code>.</p>414 <dd><p>Returns·a·boolean·indicating·whether·the·geometry·is·a·<code·class="docutils·literal·notranslate"><span·class="pre">LinearRing</span></code>.</p>
414 </dd></dl>415 </dd></dl>
  
415 <dl·class="py·attribute">416 <dl·class="py·attribute">
416 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry.simple">417 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry.simple">
417 <span·class="sig-prename·descclassname"><span·class="pre">GEOSGeometry.</span></span><span·class="sig-name·descname"><span·class="pre">simple</span></span><a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry.simple"·title="Link·to·this·definition">¶</a></dt>418 <span·class="sig-prename·descclassname"><span·class="pre">GEOSGeometry.</span></span><span·class="sig-name·descname"><span·class="pre">simple</span></span><a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry.simple"·title="Link·to·this·definition">¶</a></dt>
418 <dd><p>Returns·a·boolean·indicating·whether·the·geometry·is·simple.·A·geometry419 <dd><p>Returns·a·boolean·indicating·whether·the·geometry·is·simple.·A·geometry
419 is·simple·if·and·only·if·it·does·not·intersect·itself·(except·at·boundary420 is·simple·if·and·only·if·it·does·not·intersect·itself·(except·at·boundary
420 points).··For·example,·a·<a·class="reference·internal"·href="#django.contrib.gis.geos.LineString"·title="django.contrib.gis.geos.LineString"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LineString</span></code></a>·object·is·not·simple·if·it421 points).··For·example,·a·<a·class="reference·internal"·href="#django.contrib.gis.geos.LineString"·title="django.contrib.gis.geos.LineString"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LineString</span></code></a>·object·is·not·simple·if·it
421 intersects·itself.·Thus,·<a·class="reference·internal"·href="#django.contrib.gis.geos.LinearRing"·title="django.contrib.gis.geos.LinearRing"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LinearRing</span></code></a>·and·<a·class="reference·internal"·href="#django.contrib.gis.geos.Polygon"·title="django.contrib.gis.geos.Polygon"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Polygon</span></code></a>·objects422 intersects·itself.·Thus,·<a·class="reference·internal"·href="#django.contrib.gis.geos.LinearRing"·title="django.contrib.gis.geos.LinearRing"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LinearRing</span></code></a>·and·<a·class="reference·internal"·href="#django.contrib.gis.geos.Polygon"·title="django.contrib.gis.geos.Polygon"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Polygon</span></code></a>·objects
422 are·always·simple·because·they·cannot·intersect·themselves,·by·definition.</p>423 are·always·simple·because·they·cannot·intersect·themselves,·by·definition.</p>
423 </dd></dl>424 </dd></dl>
  
424 <dl·class="py·attribute">425 <dl·class="py·attribute">
Offset 455, 20 lines modifiedOffset 456, 20 lines modified
455 <span·id="output-properties"></span><h4>Output·Properties<a·class="headerlink"·href="#output-properties"·title="Link·to·this·heading">¶</a></h4>456 <span·id="output-properties"></span><h4>Output·Properties<a·class="headerlink"·href="#output-properties"·title="Link·to·this·heading">¶</a></h4>
456 <p>The·properties·in·this·section·export·the·<a·class="reference·internal"·href="#django.contrib.gis.geos.GEOSGeometry"·title="django.contrib.gis.geos.GEOSGeometry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code></a>·object·into457 <p>The·properties·in·this·section·export·the·<a·class="reference·internal"·href="#django.contrib.gis.geos.GEOSGeometry"·title="django.contrib.gis.geos.GEOSGeometry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code></a>·object·into
457 a·different.··This·output·may·be·in·the·form·of·a·string,·buffer,·or·even458 a·different.··This·output·may·be·in·the·form·of·a·string,·buffer,·or·even
458 another·object.</p>459 another·object.</p>
459 <dl·class="py·attribute">460 <dl·class="py·attribute">
460 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry.ewkt">461 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry.ewkt">
461 <span·class="sig-prename·descclassname"><span·class="pre">GEOSGeometry.</span></span><span·class="sig-name·descname"><span·class="pre">ewkt</span></span><a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry.ewkt"·title="Link·to·this·definition">¶</a></dt>462 <span·class="sig-prename·descclassname"><span·class="pre">GEOSGeometry.</span></span><span·class="sig-name·descname"><span·class="pre">ewkt</span></span><a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry.ewkt"·title="Link·to·this·definition">¶</a></dt>
462 <dd><p>Returns·the·extended·Well-Known·Text·of·the·geometry.··This·representation463 <dd><p>Returns·the·extended·Well-Known·Text·of·the·geometry.··This·representation
463 is·specific·to·PostGIS·and·is·a·superset·of·the·OGC·WKT·standard.·<a·class="footnote-reference·brackets"·href="#fnogc"·id="id5"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a>464 is·specific·to·PostGIS·and·is·a·superset·of·the·OGC·WKT·standard.·<a·class="footnote-reference·brackets"·href="#fnogc"·id="id5"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a>
464 Essentially·the·SRID·is·prepended·to·the·WKT·representation,·for·example465 Essentially·the·SRID·is·prepended·to·the·WKT·representation,·for·example
465 <code·class="docutils·literal·notranslate"><span·class="pre">SRID=4326;POINT(5</span>·<span·class="pre">23)</span></code>.</p>466 <code·class="docutils·literal·notranslate"><span·class="pre">SRID=4326;POINT(5</span>·<span·class="pre">23)</span></code>.</p>
466 <div·class="admonition·note">467 <div·class="admonition·note">
467 <p·class="admonition-title">Note</p>468 <p·class="admonition-title">rkus</p>
468 <p>The·output·from·this·property·does·not·include·the·3dm,·3dz,·and·4d469 <p>The·output·from·this·property·does·not·include·the·3dm,·3dz,·and·4d
469 information·that·PostGIS·supports·in·its·EWKT·representations.</p>470 information·that·PostGIS·supports·in·its·EWKT·representations.</p>
470 </div>471 </div>
471 </dd></dl>472 </dd></dl>
  
472 <dl·class="py·attribute">473 <dl·class="py·attribute">
473 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry.hex">474 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry.hex">
Offset 831, 15 lines modifiedOffset 832, 15 lines modified
  
831 <dl·class="py·method">832 <dl·class="py·method">
832 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry.distance">833 <dt·class="sig·sig-object·py"·id="django.contrib.gis.geos.GEOSGeometry.distance">
833 <span·class="sig-prename·descclassname"><span·class="pre">GEOSGeometry.</span></span><span·class="sig-name·descname"><span·class="pre">distance</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geom</span></span></em>)<a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry.distance"·title="Link·to·this·definition">¶</a></dt>834 <span·class="sig-prename·descclassname"><span·class="pre">GEOSGeometry.</span></span><span·class="sig-name·descname"><span·class="pre">distance</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">geom</span></span></em>)<a·class="headerlink"·href="#django.contrib.gis.geos.GEOSGeometry.distance"·title="Link·to·this·definition">¶</a></dt>
834 <dd><p>Returns·the·distance·between·the·closest·points·on·this·geometry·and·the835 <dd><p>Returns·the·distance·between·the·closest·points·on·this·geometry·and·the
835 given·<code·class="docutils·literal·notranslate"><span·class="pre">geom</span></code>·(another·<a·class="reference·internal"·href="#django.contrib.gis.geos.GEOSGeometry"·title="django.contrib.gis.geos.GEOSGeometry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code></a>·object).</p>836 given·<code·class="docutils·literal·notranslate"><span·class="pre">geom</span></code>·(another·<a·class="reference·internal"·href="#django.contrib.gis.geos.GEOSGeometry"·title="django.contrib.gis.geos.GEOSGeometry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GEOSGeometry</span></code></a>·object).</p>
836 <div·class="admonition·note">837 <div·class="admonition·note">
837 <p·class="admonition-title">Note</p>838 <p·class="admonition-title">rkus</p>
838 <p>GEOS·distance·calculations·are··linear··in·other·words,·GEOS·does·not839 <p>GEOS·distance·calculations·are··linear··in·other·words,·GEOS·does·not
839 perform·a·spherical·calculation·even·if·the·SRID·specifies·a·geographic840 perform·a·spherical·calculation·even·if·the·SRID·specifies·a·geographic
840 coordinate·system.</p>841 coordinate·system.</p>
841 </div>842 </div>
842 </dd></dl>843 </dd></dl>
Max diff block lines reached; 73972/86994 bytes (85.03%) of diff not shown.
25.3 KB
html2text {}
Max HTML report size reached
5.76 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoDjango·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoDjango·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GeoDjango·Tutorial"·href="tutorial.html"·/>15 ····<link·rel="next"·title="GeoDjango·Tutorial"·href="tutorial.html"·/>
15 ····<link·rel="prev"·title="The·flatpages·app"·href="../flatpages.html"·/>16 ····<link·rel="prev"·title="The·flatpages·app"·href="../flatpages.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 246, 37 lines modifiedOffset 247, 37 lines modified
246 ······247 ······
247 ········248 ········
248 ··········<div·class="yui-b"·id="sidebar">249 ··········<div·class="yui-b"·id="sidebar">
249 ············250 ············
250 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">251 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
251 ········<div·class="sphinxsidebarwrapper">252 ········<div·class="sphinxsidebarwrapper">
252 ··<div>253 ··<div>
253 ····<h4>Previous·topic</h4>254 ····<h4>Eelmine·teema</h4>
254 ····<p·class="topless"><a·href="../flatpages.html"255 ····<p·class="topless"><a·href="../flatpages.html"
255 ··························title="previous·chapter">The·flatpages·app</a></p>256 ··························title="eelmine·jaotis">The·flatpages·app</a></p>
256 ··</div>257 ··</div>
257 ··<div>258 ··<div>
258 ····<h4>Next·topic</h4>259 ····<h4>Järgmine·teema</h4>
259 ····<p·class="topless"><a·href="tutorial.html"260 ····<p·class="topless"><a·href="tutorial.html"
260 ··························title="next·chapter">GeoDjango·Tutorial</a></p>261 ··························title="järgmine·jaotis">GeoDjango·Tutorial</a></p>
261 ··</div>262 ··</div>
262 <search·id="searchbox"·style="display:·none"·role="search">263 <search·id="searchbox"·style="display:·none"·role="search">
263 ··<h3·id="searchlabel">Quick·search</h3>264 ··<h3·id="searchlabel">Kiirotsing</h3>
264 ····<div·class="searchformwrapper">265 ····<div·class="searchformwrapper">
265 ····<form·class="search"·action="../../../search.html"·method="get">266 ····<form·class="search"·action="../../../search.html"·method="get">
266 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>267 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
267 ······<input·type="submit"·value="Go"·/>268 ······<input·type="submit"·value="Otsi"·/>
268 ····</form>269 ····</form>
269 ····</div>270 ····</div>
270 </search>271 </search>
271 <script>document.getElementById('searchbox').style.display·=·"block"</script>272 <script>document.getElementById('searchbox').style.display·=·"block"</script>
272 ········</div>273 ········</div>
273 ······</div>274 ······</div>
274 ··············<h3>Last·update:</h3>275 ··············<h3>Last·update:</h3>
275 ··············<p·class="topless">Nov·05,·2024</p>276 ··············<p·class="topless">nov·05,·2024</p>
276 ··········</div>277 ··········</div>
277 ········278 ········
278 ······279 ······
279 ····</div>280 ····</div>
  
280 ····<div·id="ft">281 ····<div·id="ft">
281 ······<div·class="nav">282 ······<div·class="nav">
1.88 KB
html2text {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·G\x8Ge\x8eo\x8oD\x8Dj\x8ja\x8an\x8ng\x8go\x8o_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·G\x8Ge\x8eo\x8oD\x8Dj\x8ja\x8an\x8ng\x8go\x8o_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 GeoDjango·intends·to·be·a·world-class·geographic·web·framework.·Its·goal·is·to5 GeoDjango·intends·to·be·a·world-class·geographic·web·framework.·Its·goal·is·to
6 make·it·as·easy·as·possible·to·build·GIS·web·applications·and·harness·the·power6 make·it·as·easy·as·possible·to·build·GIS·web·applications·and·harness·the·power
7 of·spatially·enabled·data.7 of·spatially·enabled·data.
8 ····*·_\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8T_\x8u_\x8t_\x8o_\x8r_\x8i_\x8a_\x8l8 ····*·_\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8T_\x8u_\x8t_\x8o_\x8r_\x8i_\x8a_\x8l
Offset 118, 16 lines modifiedOffset 118, 16 lines modified
118 ····*·_\x8G_\x8e_\x8o_\x8g_\x8r_\x8a_\x8p_\x8h_\x8i_\x8c_\x8·_\x8S_\x8i_\x8t_\x8e_\x8m_\x8a_\x8p_\x8s118 ····*·_\x8G_\x8e_\x8o_\x8g_\x8r_\x8a_\x8p_\x8h_\x8i_\x8c_\x8·_\x8S_\x8i_\x8t_\x8e_\x8m_\x8a_\x8p_\x8s
119 ··········o·_\x8E_\x8x_\x8a_\x8m_\x8p_\x8l_\x8e119 ··········o·_\x8E_\x8x_\x8a_\x8m_\x8p_\x8l_\x8e
120 ··········o·_\x8R_\x8e_\x8f_\x8e_\x8r_\x8e_\x8n_\x8c_\x8e120 ··········o·_\x8R_\x8e_\x8f_\x8e_\x8r_\x8e_\x8n_\x8c_\x8e
121 ····*·_\x8T_\x8e_\x8s_\x8t_\x8i_\x8n_\x8g_\x8·_\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8a_\x8p_\x8p_\x8s121 ····*·_\x8T_\x8e_\x8s_\x8t_\x8i_\x8n_\x8g_\x8·_\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8a_\x8p_\x8p_\x8s
122 ··········o·_\x8P_\x8o_\x8s_\x8t_\x8G_\x8I_\x8S122 ··········o·_\x8P_\x8o_\x8s_\x8t_\x8G_\x8I_\x8S
123 ··········o·_\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8t_\x8e_\x8s_\x8t_\x8s123 ··········o·_\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8t_\x8e_\x8s_\x8t_\x8s
124 ····*·_\x8D_\x8e_\x8p_\x8l_\x8o_\x8y_\x8i_\x8n_\x8g_\x8·_\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o124 ····*·_\x8D_\x8e_\x8p_\x8l_\x8o_\x8y_\x8i_\x8n_\x8g_\x8·_\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o
125 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*125 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
126 _\x8T_\x8h_\x8e_\x8·_\x8f_\x8l_\x8a_\x8t_\x8p_\x8a_\x8g_\x8e_\x8s_\x8·_\x8a_\x8p_\x8p126 _\x8T_\x8h_\x8e_\x8·_\x8f_\x8l_\x8a_\x8t_\x8p_\x8a_\x8g_\x8e_\x8s_\x8·_\x8a_\x8p_\x8p
127 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*127 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
128 _\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8T_\x8u_\x8t_\x8o_\x8r_\x8i_\x8a_\x8l128 _\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8T_\x8u_\x8t_\x8o_\x8r_\x8i_\x8a_\x8l
129 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*129 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
130 [q···················][Go]130 [q···················][Otsi]
131 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*131 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
132 Nov·05,·2024132 nov·05,·2024
133 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»133 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
15.7 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/geolibs.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../../">2 <html·lang="et"·data-content_root="../../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Installing·Geospatial·libraries·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Installing·Geospatial·libraries·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../../search.html"·/>
14 ····<link·rel="next"·title="Installing·PostGIS"·href="postgis.html"·/>15 ····<link·rel="next"·title="Installing·PostGIS"·href="postgis.html"·/>
15 ····<link·rel="prev"·title="GeoDjango·Installation"·href="index.html"·/>16 ····<link·rel="prev"·title="GeoDjango·Installation"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../../templatebuiltins.js"></script>18 <script·src="../../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 121, 15 lines modifiedOffset 122, 15 lines modified
121 <td><p>5.1,·5.0,·4.3</p></td>122 <td><p>5.1,·5.0,·4.3</p></td>
122 </tr>123 </tr>
123 </tbody>124 </tbody>
124 </table>125 </table>
125 <p>Note·that·older·or·more·recent·versions·of·these·libraries·<em>may</em>·also·work126 <p>Note·that·older·or·more·recent·versions·of·these·libraries·<em>may</em>·also·work
126 totally·fine·with·GeoDjango.·Your·mileage·may·vary.</p>127 totally·fine·with·GeoDjango.·Your·mileage·may·vary.</p>
127 <div·class="admonition·note">128 <div·class="admonition·note">
128 <p·class="admonition-title">Note</p>129 <p·class="admonition-title">rkus</p>
129 <p>The·GeoDjango·interfaces·to·GEOS,·GDAL,·and·GeoIP·may·be·used130 <p>The·GeoDjango·interfaces·to·GEOS,·GDAL,·and·GeoIP·may·be·used
130 independently·of·Django.··In·other·words,·no·database·or·settings·file131 independently·of·Django.··In·other·words,·no·database·or·settings·file
131 required··import·them·as·normal·from·<a·class="reference·internal"·href="../index.html#module-django.contrib.gis"·title="django.contrib.gis:·Geographic·Information·System·(GIS)·extensions·for·Django"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.gis</span></code></a>.</p>132 required··import·them·as·normal·from·<a·class="reference·internal"·href="../index.html#module-django.contrib.gis"·title="django.contrib.gis:·Geographic·Information·System·(GIS)·extensions·for·Django"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.gis</span></code></a>.</p>
132 </div>133 </div>
133 <p>On·Debian/Ubuntu,·you·are·advised·to·install·the·following·packages·which·will134 <p>On·Debian/Ubuntu,·you·are·advised·to·install·the·following·packages·which·will
134 install,·directly·or·by·dependency,·the·required·geospatial·libraries:</p>135 install,·directly·or·by·dependency,·the·required·geospatial·libraries:</p>
135 <div·class="highlight-console·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">$·</span>sudo<span·class="w">·</span>apt-get<span·class="w">·</span>install<span·class="w">·</span>binutils<span·class="w">·</span>libproj-dev<span·class="w">·</span>gdal-bin136 <div·class="highlight-console·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">$·</span>sudo<span·class="w">·</span>apt-get<span·class="w">·</span>install<span·class="w">·</span>binutils<span·class="w">·</span>libproj-dev<span·class="w">·</span>gdal-bin
Offset 140, 30 lines modifiedOffset 141, 30 lines modified
140 <section·id="s-building-from-source">141 <section·id="s-building-from-source">
141 <span·id="s-build-from-source"></span><span·id="building-from-source"></span><span·id="build-from-source"></span><h2>Building·from·source<a·class="headerlink"·href="#building-from-source"·title="Link·to·this·heading">¶</a></h2>142 <span·id="s-build-from-source"></span><span·id="building-from-source"></span><span·id="build-from-source"></span><h2>Building·from·source<a·class="headerlink"·href="#building-from-source"·title="Link·to·this·heading">¶</a></h2>
142 <p>When·installing·from·source·on·UNIX·and·GNU/Linux·systems,·please·follow143 <p>When·installing·from·source·on·UNIX·and·GNU/Linux·systems,·please·follow
143 the·installation·instructions·carefully,·and·install·the·libraries·in·the144 the·installation·instructions·carefully,·and·install·the·libraries·in·the
144 given·order.··If·using·MySQL·or·Oracle·as·the·spatial·database,·only·GEOS145 given·order.··If·using·MySQL·or·Oracle·as·the·spatial·database,·only·GEOS
145 is·required.</p>146 is·required.</p>
146 <div·class="admonition·note">147 <div·class="admonition·note">
147 <p·class="admonition-title">Note</p>148 <p·class="admonition-title">rkus</p>
148 <p>On·Linux·platforms,·it·may·be·necessary·to·run·the·<code·class="docutils·literal·notranslate"><span·class="pre">ldconfig</span></code>·command149 <p>On·Linux·platforms,·it·may·be·necessary·to·run·the·<code·class="docutils·literal·notranslate"><span·class="pre">ldconfig</span></code>·command
149 after·installing·each·library.·For·example:</p>150 after·installing·each·library.·For·example:</p>
150 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>sudo<span·class="w">·</span>make<span·class="w">·</span>install151 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>sudo<span·class="w">·</span>make<span·class="w">·</span>install
151 $<span·class="w">·</span>sudo<span·class="w">·</span>ldconfig152 $<span·class="w">·</span>sudo<span·class="w">·</span>ldconfig
152 </pre></div>153 </pre></div>
153 </div>154 </div>
154 </div>155 </div>
155 <div·class="admonition·note">156 <div·class="admonition·note">
156 <p·class="admonition-title">Note</p>157 <p·class="admonition-title">rkus</p>
157 <p>macOS·users·must·install·<a·class="reference·external"·href="https://developer.apple.com/xcode/">Xcode</a>·in·order·to·compile·software·from·source.</p>158 <p>macOS·users·must·install·<a·class="reference·external"·href="https://developer.apple.com/xcode/">Xcode</a>·in·order·to·compile·software·from·source.</p>
158 </div>159 </div>
159 <section·id="s-geos">160 <section·id="s-geos">
160 <span·id="s-geosbuild"></span><span·id="geos"></span><span·id="geosbuild"></span><h3>GEOS<a·class="headerlink"·href="#geos"·title="Link·to·this·heading">¶</a></h3>161 <span·id="s-geosbuild"></span><span·id="geos"></span><span·id="geosbuild"></span><h3>GEOS<a·class="headerlink"·href="#geos"·title="Link·to·this·heading">¶</a></h3>
161 <p>GEOS·is·a·C++·library·for·performing·geometric·operations,·and·is·the·default162 <p>GEOS·is·a·C++·library·for·performing·geometric·operations,·and·is·the·default
162 internal·geometry·representation·used·by·GeoDjango·(it’s·behind·the·lazy163 internal·geometry·representation·used·by·GeoDjango·(it’s·behind·the·lazy
163 geometries).··Specifically,·the·C·API·library·is·called·(e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">libgeos_c.so</span></code>)164 geometries).··Specifically,·the·C·API·library·is·called·(e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">libgeos_c.so</span></code>)
164 directly·from·Python·using·ctypes.</p>165 directly·from·Python·using·ctypes.</p>
165 <p>First,·download·GEOS·from·the·GEOS·website·and·untar·the·source·archive:</p>166 <p>First,·download·GEOS·from·the·GEOS·website·and·untar·the·source·archive:</p>
166 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>wget<span·class="w">·</span>https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2167 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>wget<span·class="w">·</span>https://download.osgeo.org/geos/geos-X.Y.Z.tar.bz2
167 $<span·class="w">·</span>tar<span·class="w">·</span>xjf<span·class="w">·</span>geos-X.Y.Z.tar.bz2168 $<span·class="w">·</span>tar<span·class="w">·</span>xjf<span·class="w">·</span>geos-X.Y.Z.tar.bz2
168 </pre></div>169 </pre></div>
169 </div>170 </div>
Offset 198, 15 lines modifiedOffset 199, 15 lines modified
198 modify·the·system’s·library·path·then·the·<a·class="reference·internal"·href="../geos.html#std-setting-GEOS_LIBRARY_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">GEOS_LIBRARY_PATH</span></code></a>199 modify·the·system’s·library·path·then·the·<a·class="reference·internal"·href="../geos.html#std-setting-GEOS_LIBRARY_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">GEOS_LIBRARY_PATH</span></code></a>
199 setting·may·be·added·to·your·Django·settings·file·with·the·full·path·to·the200 setting·may·be·added·to·your·Django·settings·file·with·the·full·path·to·the
200 GEOS·C·library.··For·example:</p>201 GEOS·C·library.··For·example:</p>
201 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nv">GEOS_LIBRARY_PATH</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s1">&#39;/home/bob/local/lib/libgeos_c.so&#39;</span>202 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nv">GEOS_LIBRARY_PATH</span><span·class="w">·</span><span·class="o">=</span><span·class="w">·</span><span·class="s1">&#39;/home/bob/local/lib/libgeos_c.so&#39;</span>
202 </pre></div>203 </pre></div>
203 </div>204 </div>
204 <div·class="admonition·note">205 <div·class="admonition·note">
205 <p·class="admonition-title">Note</p>206 <p·class="admonition-title">rkus</p>
206 <p>The·setting·must·be·the·<em>full</em>·path·to·the·<strong>C</strong>·shared·library;·in207 <p>The·setting·must·be·the·<em>full</em>·path·to·the·<strong>C</strong>·shared·library;·in
207 other·words·you·want·to·use·<code·class="docutils·literal·notranslate"><span·class="pre">libgeos_c.so</span></code>,·not·<code·class="docutils·literal·notranslate"><span·class="pre">libgeos.so</span></code>.</p>208 other·words·you·want·to·use·<code·class="docutils·literal·notranslate"><span·class="pre">libgeos_c.so</span></code>,·not·<code·class="docutils·literal·notranslate"><span·class="pre">libgeos.so</span></code>.</p>
208 </div>209 </div>
209 <p>See·also·<a·class="reference·internal"·href="../geos.html#geos-exceptions-in-logfile"><span·class="std·std-ref">My·logs·are·filled·with·GEOS-related·errors</span></a>.</p>210 <p>See·also·<a·class="reference·internal"·href="../geos.html#geos-exceptions-in-logfile"><span·class="std·std-ref">My·logs·are·filled·with·GEOS-related·errors</span></a>.</p>
210 </section>211 </section>
211 </section>212 </section>
212 </section>213 </section>
Offset 320, 15 lines modifiedOffset 321, 15 lines modified
320 ······321 ······
321 ········322 ········
322 ··········<div·class="yui-b"·id="sidebar">323 ··········<div·class="yui-b"·id="sidebar">
323 ············324 ············
324 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">325 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
325 ········<div·class="sphinxsidebarwrapper">326 ········<div·class="sphinxsidebarwrapper">
326 ··<div>327 ··<div>
327 ····<h3><a·href="../../../../contents.html">Table·of·Contents</a></h3>328 ····<h3><a·href="../../../../contents.html">Sisukorratabel</a></h3>
328 ····<ul>329 ····<ul>
329 <li><a·class="reference·internal"·href="#">Installing·Geospatial·libraries</a><ul>330 <li><a·class="reference·internal"·href="#">Installing·Geospatial·libraries</a><ul>
330 <li><a·class="reference·internal"·href="#building-from-source">Building·from·source</a><ul>331 <li><a·class="reference·internal"·href="#building-from-source">Building·from·source</a><ul>
331 <li><a·class="reference·internal"·href="#geos">GEOS</a><ul>332 <li><a·class="reference·internal"·href="#geos">GEOS</a><ul>
332 <li><a·class="reference·internal"·href="#troubleshooting">Troubleshooting</a><ul>333 <li><a·class="reference·internal"·href="#troubleshooting">Troubleshooting</a><ul>
333 <li><a·class="reference·internal"·href="#can-t-find-geos-library">Can’t·find·GEOS·library</a></li>334 <li><a·class="reference·internal"·href="#can-t-find-geos-library">Can’t·find·GEOS·library</a></li>
334 <li><a·class="reference·internal"·href="#geos-library-path"><code·class="docutils·literal·notranslate"><span·class="pre">GEOS_LIBRARY_PATH</span></code></a></li>335 <li><a·class="reference·internal"·href="#geos-library-path"><code·class="docutils·literal·notranslate"><span·class="pre">GEOS_LIBRARY_PATH</span></code></a></li>
Offset 349, 37 lines modifiedOffset 350, 37 lines modified
349 </li>350 </li>
350 </ul>351 </ul>
351 </li>352 </li>
352 </ul>353 </ul>
  
353 ··</div>354 ··</div>
354 ··<div>355 ··<div>
355 ····<h4>Previous·topic</h4>356 ····<h4>Eelmine·teema</h4>
Max diff block lines reached; 1308/9660 bytes (13.54%) of diff not shown.
6.13 KB
html2text {}
Max HTML report size reached
31.7 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../../">2 <html·lang="et"·data-content_root="../../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoDjango·Installation·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoDjango·Installation·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../../search.html"·/>
14 ····<link·rel="next"·title="Installing·Geospatial·libraries"·href="geolibs.html"·/>15 ····<link·rel="next"·title="Installing·Geospatial·libraries"·href="geolibs.html"·/>
15 ····<link·rel="prev"·title="GeoDjango·Tutorial"·href="../tutorial.html"·/>16 ····<link·rel="prev"·title="GeoDjango·Tutorial"·href="../tutorial.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../../templatebuiltins.js"></script>18 <script·src="../../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 112, 15 lines modifiedOffset 113, 15 lines modified
112 how·to·install.</p>113 how·to·install.</p>
113 </section>114 </section>
114 <section·id="s-spatial-database">115 <section·id="s-spatial-database">
115 <span·id="s-id1"></span><span·id="spatial-database"></span><span·id="id1"></span><h3>Spatial·database<a·class="headerlink"·href="#spatial-database"·title="Link·to·this·heading">¶</a></h3>116 <span·id="s-id1"></span><span·id="spatial-database"></span><span·id="id1"></span><h3>Spatial·database<a·class="headerlink"·href="#spatial-database"·title="Link·to·this·heading">¶</a></h3>
116 <p>PostgreSQL·(with·PostGIS),·MySQL,·Oracle,·and·SQLite·(with·SpatiaLite)·are·the117 <p>PostgreSQL·(with·PostGIS),·MySQL,·Oracle,·and·SQLite·(with·SpatiaLite)·are·the
117 spatial·databases·currently·supported.</p>118 spatial·databases·currently·supported.</p>
118 <div·class="admonition·note">119 <div·class="admonition·note">
119 <p·class="admonition-title">Note</p>120 <p·class="admonition-title">rkus</p>
120 <p>PostGIS·is·recommended,·because·it·is·the·most·mature·and·feature-rich121 <p>PostGIS·is·recommended,·because·it·is·the·most·mature·and·feature-rich
121 open·source·spatial·database.</p>122 open·source·spatial·database.</p>
122 </div>123 </div>
123 <p>The·geospatial·libraries·required·for·a·GeoDjango·installation·depends124 <p>The·geospatial·libraries·required·for·a·GeoDjango·installation·depends
124 on·the·spatial·database·used.··The·following·lists·the·library·requirements,125 on·the·spatial·database·used.··The·following·lists·the·library·requirements,
125 supported·versions,·and·any·notes·for·each·of·the·supported·database·backends:</p>126 supported·versions,·and·any·notes·for·each·of·the·supported·database·backends:</p>
126 <table·class="docutils">127 <table·class="docutils">
Offset 194, 15 lines modifiedOffset 195, 15 lines modified
194 <span·id="troubleshooting"></span><h2>Troubleshooting<a·class="headerlink"·href="#troubleshooting"·title="Link·to·this·heading">¶</a></h2>195 <span·id="troubleshooting"></span><h2>Troubleshooting<a·class="headerlink"·href="#troubleshooting"·title="Link·to·this·heading">¶</a></h2>
195 <p>If·you·can’t·find·the·solution·to·your·problem·here·then·participate·in·the196 <p>If·you·can’t·find·the·solution·to·your·problem·here·then·participate·in·the
196 community!··You·can:</p>197 community!··You·can:</p>
197 <ul·class="simple">198 <ul·class="simple">
198 <li><p>Ask·your·question·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/c/internals/geodjango/13">GeoDjango</a>·forum.</p></li>199 <li><p>Ask·your·question·on·the·<a·class="reference·external"·href="https://forum.djangoproject.com/c/internals/geodjango/13">GeoDjango</a>·forum.</p></li>
199 <li><p>File·a·ticket·on·the·<a·class="reference·external"·href="https://code.djangoproject.com/newticket">Django·trac</a>·if·you·think·there’s·a·bug.··Make200 <li><p>File·a·ticket·on·the·<a·class="reference·external"·href="https://code.djangoproject.com/newticket">Django·trac</a>·if·you·think·there’s·a·bug.··Make
200 sure·to·provide·a·complete·description·of·the·problem,·versions·used,201 sure·to·provide·a·complete·description·of·the·problem,·versions·used,
201 and·specify·the·component·as·GIS.</p></li>202 and·specify·the·component·as·GIS.</p></li>
202 </ul>203 </ul>
203 <section·id="s-library-environment-settings">204 <section·id="s-library-environment-settings">
204 <span·id="s-libsettings"></span><span·id="library-environment-settings"></span><span·id="libsettings"></span><h3>Library·environment·settings<a·class="headerlink"·href="#library-environment-settings"·title="Link·to·this·heading">¶</a></h3>205 <span·id="s-libsettings"></span><span·id="library-environment-settings"></span><span·id="libsettings"></span><h3>Library·environment·settings<a·class="headerlink"·href="#library-environment-settings"·title="Link·to·this·heading">¶</a></h3>
205 <p>By·far,·the·most·common·problem·when·installing·GeoDjango·is·that·the206 <p>By·far,·the·most·common·problem·when·installing·GeoDjango·is·that·the
206 external·shared·libraries·(e.g.,·for·GEOS·and·GDAL)·cannot·be·located.·<a·class="footnote-reference·brackets"·href="#id22"·id="id5"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a>207 external·shared·libraries·(e.g.,·for·GEOS·and·GDAL)·cannot·be·located.·<a·class="footnote-reference·brackets"·href="#id22"·id="id5"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a>
207 Typically,·the·cause·of·this·problem·is·that·the·operating·system·isn’t·aware208 Typically,·the·cause·of·this·problem·is·that·the·operating·system·isn’t·aware
208 of·the·directory·where·the·libraries·built·from·source·were·installed.</p>209 of·the·directory·where·the·libraries·built·from·source·were·installed.</p>
Offset 274, 18 lines modifiedOffset 275, 18 lines modified
274 <p>This·section·also·includes·instructions·for·installing·an·upgraded·version275 <p>This·section·also·includes·instructions·for·installing·an·upgraded·version
275 of·<a·class="reference·internal"·href="#macos-python"><span·class="std·std-ref">Python</span></a>·from·packages·provided·by·the·Python·Software276 of·<a·class="reference·internal"·href="#macos-python"><span·class="std·std-ref">Python</span></a>·from·packages·provided·by·the·Python·Software
276 Foundation,·however,·this·is·not·required.</p>277 Foundation,·however,·this·is·not·required.</p>
277 <section·id="s-python">278 <section·id="s-python">
278 <span·id="s-macos-python"></span><span·id="python"></span><span·id="macos-python"></span><h4>Python<a·class="headerlink"·href="#python"·title="Link·to·this·heading">¶</a></h4>279 <span·id="s-macos-python"></span><span·id="python"></span><span·id="macos-python"></span><h4>Python<a·class="headerlink"·href="#python"·title="Link·to·this·heading">¶</a></h4>
279 <p>Although·macOS·comes·with·Python·installed,·users·can·use·<a·class="reference·external"·href="https://www.python.org/ftp/python/">framework280 <p>Although·macOS·comes·with·Python·installed,·users·can·use·<a·class="reference·external"·href="https://www.python.org/ftp/python/">framework
280 installers</a>·provided·by·the·Python·Software·Foundation.··An·advantage·to281 installers</a>·provided·by·the·Python·Software·Foundation.··An·advantage·to
281 using·the·installer·is·that·macOS’s·Python·will·remain·pristine·for·internal282 using·the·installer·is·that·macOS’s·Python·will·remain·pristine·for·internal
282 operating·system·use.</p>283 operating·system·use.</p>
283 <div·class="admonition·note">284 <div·class="admonition·note">
284 <p·class="admonition-title">Note</p>285 <p·class="admonition-title">rkus</p>
285 <p>You·will·need·to·modify·the·<code·class="docutils·literal·notranslate"><span·class="pre">PATH</span></code>·environment·variable·in·your286 <p>You·will·need·to·modify·the·<code·class="docutils·literal·notranslate"><span·class="pre">PATH</span></code>·environment·variable·in·your
286 <code·class="docutils·literal·notranslate"><span·class="pre">.profile</span></code>·file·so·that·the·new·version·of·Python·is·used·when287 <code·class="docutils·literal·notranslate"><span·class="pre">.profile</span></code>·file·so·that·the·new·version·of·Python·is·used·when
287 <code·class="docutils·literal·notranslate"><span·class="pre">python</span></code>·is·entered·at·the·command-line:</p>288 <code·class="docutils·literal·notranslate"><span·class="pre">python</span></code>·is·entered·at·the·command-line:</p>
288 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">export</span><span·class="w">·</span><span·class="nv">PATH</span><span·class="o">=</span>/Library/Frameworks/Python.framework/Versions/Current/bin:<span·class="nv">$PATH</span>289 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">export</span><span·class="w">·</span><span·class="nv">PATH</span><span·class="o">=</span>/Library/Frameworks/Python.framework/Versions/Current/bin:<span·class="nv">$PATH</span>
289 </pre></div>290 </pre></div>
290 </div>291 </div>
291 </div>292 </div>
Offset 302, 15 lines modifiedOffset 303, 15 lines modified
302 </pre></div>303 </pre></div>
303 </div>304 </div>
304 <p>You·can·check·if·the·path·is·set·up·correctly·by·typing·<code·class="docutils·literal·notranslate"><span·class="pre">which</span>·<span·class="pre">psql</span></code>·at·a305 <p>You·can·check·if·the·path·is·set·up·correctly·by·typing·<code·class="docutils·literal·notranslate"><span·class="pre">which</span>·<span·class="pre">psql</span></code>·at·a
305 terminal·prompt.</p>306 terminal·prompt.</p>
306 </section>307 </section>
307 <section·id="s-homebrew">308 <section·id="s-homebrew">
308 <span·id="s-id9"></span><span·id="homebrew"></span><span·id="id9"></span><h4>Homebrew<a·class="headerlink"·href="#homebrew"·title="Link·to·this·heading">¶</a></h4>309 <span·id="s-id9"></span><span·id="homebrew"></span><span·id="id9"></span><h4>Homebrew<a·class="headerlink"·href="#homebrew"·title="Link·to·this·heading">¶</a></h4>
309 <p><a·class="reference·external"·href="https://brew.sh/">Homebrew</a>·provides·recipes·for·building·binaries·and·packages·from·source.310 <p><a·class="reference·external"·href="https://brew.sh/">Homebrew</a>·provides·recipes·for·building·binaries·and·packages·from·source.
310 It·provides·recipes·for·the·GeoDjango·prerequisites·on·Macintosh·computers311 It·provides·recipes·for·the·GeoDjango·prerequisites·on·Macintosh·computers
311 running·macOS.·Because·Homebrew·still·builds·the·software·from·source,·<a·class="reference·external"·href="https://developer.apple.com/xcode/">Xcode</a>312 running·macOS.·Because·Homebrew·still·builds·the·software·from·source,·<a·class="reference·external"·href="https://developer.apple.com/xcode/">Xcode</a>
312 is·required.</p>313 is·required.</p>
313 <p>Summary:</p>314 <p>Summary:</p>
314 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>brew<span·class="w">·</span>install<span·class="w">·</span>postgresql315 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>brew<span·class="w">·</span>install<span·class="w">·</span>postgresql
315 $<span·class="w">·</span>brew<span·class="w">·</span>install<span·class="w">·</span>postgis316 $<span·class="w">·</span>brew<span·class="w">·</span>install<span·class="w">·</span>postgis
316 $<span·class="w">·</span>brew<span·class="w">·</span>install<span·class="w">·</span>gdal317 $<span·class="w">·</span>brew<span·class="w">·</span>install<span·class="w">·</span>gdal
Offset 335, 15 lines modifiedOffset 336, 15 lines modified
335 $<span·class="w">·</span>sudo<span·class="w">·</span>port<span·class="w">·</span>install<span·class="w">·</span>proj6336 $<span·class="w">·</span>sudo<span·class="w">·</span>port<span·class="w">·</span>install<span·class="w">·</span>proj6
336 $<span·class="w">·</span>sudo<span·class="w">·</span>port<span·class="w">·</span>install<span·class="w">·</span>postgis3337 $<span·class="w">·</span>sudo<span·class="w">·</span>port<span·class="w">·</span>install<span·class="w">·</span>postgis3
337 $<span·class="w">·</span>sudo<span·class="w">·</span>port<span·class="w">·</span>install<span·class="w">·</span>gdal338 $<span·class="w">·</span>sudo<span·class="w">·</span>port<span·class="w">·</span>install<span·class="w">·</span>gdal
338 $<span·class="w">·</span>sudo<span·class="w">·</span>port<span·class="w">·</span>install<span·class="w">·</span>libgeoip339 $<span·class="w">·</span>sudo<span·class="w">·</span>port<span·class="w">·</span>install<span·class="w">·</span>libgeoip
339 </pre></div>340 </pre></div>
340 </div>341 </div>
341 <div·class="admonition·note">342 <div·class="admonition·note">
342 <p·class="admonition-title">Note</p>343 <p·class="admonition-title">rkus</p>
343 <p>You·will·also·have·to·modify·the·<code·class="docutils·literal·notranslate"><span·class="pre">PATH</span></code>·in·your·<code·class="docutils·literal·notranslate"><span·class="pre">.profile</span></code>·so344 <p>You·will·also·have·to·modify·the·<code·class="docutils·literal·notranslate"><span·class="pre">PATH</span></code>·in·your·<code·class="docutils·literal·notranslate"><span·class="pre">.profile</span></code>·so
344 that·the·MacPorts·programs·are·accessible·from·the·command-line:</p>345 that·the·MacPorts·programs·are·accessible·from·the·command-line:</p>
345 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">export</span><span·class="w">·</span><span·class="nv">PATH</span><span·class="o">=</span>/opt/local/bin:/opt/local/lib/postgresql13/bin346 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">export</span><span·class="w">·</span><span·class="nv">PATH</span><span·class="o">=</span>/opt/local/bin:/opt/local/lib/postgresql13/bin
346 </pre></div>347 </pre></div>
347 </div>348 </div>
348 <p>In·addition,·add·the·<code·class="docutils·literal·notranslate"><span·class="pre">DYLD_FALLBACK_LIBRARY_PATH</span></code>·setting·so·that349 <p>In·addition,·add·the·<code·class="docutils·literal·notranslate"><span·class="pre">DYLD_FALLBACK_LIBRARY_PATH</span></code>·setting·so·that
349 the·libraries·can·be·found·by·Python:</p>350 the·libraries·can·be·found·by·Python:</p>
Offset 366, 49 lines modifiedOffset 367, 49 lines modified
366 <section·id="s-postgresql">367 <section·id="s-postgresql">
367 <span·id="postgresql"></span><h4>PostgreSQL<a·class="headerlink"·href="#postgresql"·title="Link·to·this·heading">¶</a></h4>368 <span·id="postgresql"></span><h4>PostgreSQL<a·class="headerlink"·href="#postgresql"·title="Link·to·this·heading">¶</a></h4>
368 <p>Download·the·latest·<a·class="reference·external"·href="https://www.enterprisedb.com/downloads/postgres-postgresql-downloads">PostgreSQL·15.x·installer</a>·from·the369 <p>Download·the·latest·<a·class="reference·external"·href="https://www.enterprisedb.com/downloads/postgres-postgresql-downloads">PostgreSQL·15.x·installer</a>·from·the
369 <a·class="reference·external"·href="https://www.enterprisedb.com">EnterpriseDB</a>·website.··After·downloading,·run·the·installer,·follow·the370 <a·class="reference·external"·href="https://www.enterprisedb.com">EnterpriseDB</a>·website.··After·downloading,·run·the·installer,·follow·the
Max diff block lines reached; 10235/19938 bytes (51.33%) of diff not shown.
12.1 KB
html2text {}
Max HTML report size reached
7.32 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/postgis.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../../">2 <html·lang="et"·data-content_root="../../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Installing·PostGIS·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Installing·PostGIS·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../../search.html"·/>
14 ····<link·rel="next"·title="Installing·SpatiaLite"·href="spatialite.html"·/>15 ····<link·rel="next"·title="Installing·SpatiaLite"·href="spatialite.html"·/>
15 ····<link·rel="prev"·title="Installing·Geospatial·libraries"·href="geolibs.html"·/>16 ····<link·rel="prev"·title="Installing·Geospatial·libraries"·href="geolibs.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../../templatebuiltins.js"></script>18 <script·src="../../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 143, 51 lines modifiedOffset 144, 51 lines modified
143 ······144 ······
144 ········145 ········
145 ··········<div·class="yui-b"·id="sidebar">146 ··········<div·class="yui-b"·id="sidebar">
146 ············147 ············
147 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">148 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
148 ········<div·class="sphinxsidebarwrapper">149 ········<div·class="sphinxsidebarwrapper">
149 ··<div>150 ··<div>
150 ····<h3><a·href="../../../../contents.html">Table·of·Contents</a></h3>151 ····<h3><a·href="../../../../contents.html">Sisukorratabel</a></h3>
151 ····<ul>152 ····<ul>
152 <li><a·class="reference·internal"·href="#">Installing·PostGIS</a><ul>153 <li><a·class="reference·internal"·href="#">Installing·PostGIS</a><ul>
153 <li><a·class="reference·internal"·href="#post-installation">Post-installation</a><ul>154 <li><a·class="reference·internal"·href="#post-installation">Post-installation</a><ul>
154 <li><a·class="reference·internal"·href="#creating-a-spatial-database">Creating·a·spatial·database</a></li>155 <li><a·class="reference·internal"·href="#creating-a-spatial-database">Creating·a·spatial·database</a></li>
155 <li><a·class="reference·internal"·href="#managing-the-database">Managing·the·database</a></li>156 <li><a·class="reference·internal"·href="#managing-the-database">Managing·the·database</a></li>
156 </ul>157 </ul>
157 </li>158 </li>
158 </ul>159 </ul>
159 </li>160 </li>
160 </ul>161 </ul>
  
161 ··</div>162 ··</div>
162 ··<div>163 ··<div>
163 ····<h4>Previous·topic</h4>164 ····<h4>Eelmine·teema</h4>
164 ····<p·class="topless"><a·href="geolibs.html"165 ····<p·class="topless"><a·href="geolibs.html"
165 ··························title="previous·chapter">Installing·Geospatial·libraries</a></p>166 ··························title="eelmine·jaotis">Installing·Geospatial·libraries</a></p>
166 ··</div>167 ··</div>
167 ··<div>168 ··<div>
168 ····<h4>Next·topic</h4>169 ····<h4>Järgmine·teema</h4>
169 ····<p·class="topless"><a·href="spatialite.html"170 ····<p·class="topless"><a·href="spatialite.html"
170 ··························title="next·chapter">Installing·SpatiaLite</a></p>171 ··························title="järgmine·jaotis">Installing·SpatiaLite</a></p>
171 ··</div>172 ··</div>
172 <search·id="searchbox"·style="display:·none"·role="search">173 <search·id="searchbox"·style="display:·none"·role="search">
173 ··<h3·id="searchlabel">Quick·search</h3>174 ··<h3·id="searchlabel">Kiirotsing</h3>
174 ····<div·class="searchformwrapper">175 ····<div·class="searchformwrapper">
175 ····<form·class="search"·action="../../../../search.html"·method="get">176 ····<form·class="search"·action="../../../../search.html"·method="get">
176 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>177 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
177 ······<input·type="submit"·value="Go"·/>178 ······<input·type="submit"·value="Otsi"·/>
178 ····</form>179 ····</form>
179 ····</div>180 ····</div>
180 </search>181 </search>
181 <script>document.getElementById('searchbox').style.display·=·"block"</script>182 <script>document.getElementById('searchbox').style.display·=·"block"</script>
182 ········</div>183 ········</div>
183 ······</div>184 ······</div>
184 ··············<h3>Last·update:</h3>185 ··············<h3>Last·update:</h3>
185 ··············<p·class="topless">Nov·05,·2024</p>186 ··············<p·class="topless">nov·05,·2024</p>
186 ··········</div>187 ··········</div>
187 ········188 ········
188 ······189 ······
189 ····</div>190 ····</div>
  
190 ····<div·id="ft">191 ····<div·id="ft">
191 ······<div·class="nav">192 ······<div·class="nav">
2.75 KB
html2text {}
Max HTML report size reached
8.76 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/install/spatialite.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../../">2 <html·lang="et"·data-content_root="../../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Installing·SpatiaLite·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Installing·SpatiaLite·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../../search.html"·/>
14 ····<link·rel="next"·title="GeoDjango·Model·API"·href="../model-api.html"·/>15 ····<link·rel="next"·title="GeoDjango·Model·API"·href="../model-api.html"·/>
15 ····<link·rel="prev"·title="Installing·PostGIS"·href="postgis.html"·/>16 ····<link·rel="prev"·title="Installing·PostGIS"·href="postgis.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../../templatebuiltins.js"></script>18 <script·src="../../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 126, 15 lines modifiedOffset 127, 15 lines modified
126 $<span·class="w">·</span><span·class="nb">cd</span><span·class="w">·</span>libspatialite-X.Y.Z127 $<span·class="w">·</span><span·class="nb">cd</span><span·class="w">·</span>libspatialite-X.Y.Z
127 $<span·class="w">·</span>./configure128 $<span·class="w">·</span>./configure
128 $<span·class="w">·</span>make129 $<span·class="w">·</span>make
129 $<span·class="w">·</span>sudo<span·class="w">·</span>make<span·class="w">·</span>install130 $<span·class="w">·</span>sudo<span·class="w">·</span>make<span·class="w">·</span>install
130 </pre></div>131 </pre></div>
131 </div>132 </div>
132 <div·class="admonition·note">133 <div·class="admonition·note">
133 <p·class="admonition-title">Note</p>134 <p·class="admonition-title">rkus</p>
134 <p>For·macOS·users·building·from·source,·the·SpatiaLite·library·<em>and</em>·tools135 <p>For·macOS·users·building·from·source,·the·SpatiaLite·library·<em>and</em>·tools
135 need·to·have·their·<code·class="docutils·literal·notranslate"><span·class="pre">target</span></code>·configured:</p>136 need·to·have·their·<code·class="docutils·literal·notranslate"><span·class="pre">target</span></code>·configured:</p>
136 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>./configure<span·class="w">·</span>--target<span·class="o">=</span>macosx137 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>./configure<span·class="w">·</span>--target<span·class="o">=</span>macosx
137 </pre></div>138 </pre></div>
138 </div>139 </div>
139 </div>140 </div>
140 </section>141 </section>
Offset 173, 15 lines modifiedOffset 174, 15 lines modified
173 ······174 ······
174 ········175 ········
175 ··········<div·class="yui-b"·id="sidebar">176 ··········<div·class="yui-b"·id="sidebar">
176 ············177 ············
177 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">178 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
178 ········<div·class="sphinxsidebarwrapper">179 ········<div·class="sphinxsidebarwrapper">
179 ··<div>180 ··<div>
180 ····<h3><a·href="../../../../contents.html">Table·of·Contents</a></h3>181 ····<h3><a·href="../../../../contents.html">Sisukorratabel</a></h3>
181 ····<ul>182 ····<ul>
182 <li><a·class="reference·internal"·href="#">Installing·SpatiaLite</a><ul>183 <li><a·class="reference·internal"·href="#">Installing·SpatiaLite</a><ul>
183 <li><a·class="reference·internal"·href="#installing-from-source">Installing·from·source</a><ul>184 <li><a·class="reference·internal"·href="#installing-from-source">Installing·from·source</a><ul>
184 <li><a·class="reference·internal"·href="#sqlite">SQLite</a></li>185 <li><a·class="reference·internal"·href="#sqlite">SQLite</a></li>
185 <li><a·class="reference·internal"·href="#spatialite-library-libspatialite">SpatiaLite·library·(<code·class="docutils·literal·notranslate"><span·class="pre">libspatialite</span></code>)</a></li>186 <li><a·class="reference·internal"·href="#spatialite-library-libspatialite">SpatiaLite·library·(<code·class="docutils·literal·notranslate"><span·class="pre">libspatialite</span></code>)</a></li>
186 </ul>187 </ul>
187 </li>188 </li>
Offset 191, 37 lines modifiedOffset 192, 37 lines modified
191 </li>192 </li>
192 </ul>193 </ul>
193 </li>194 </li>
194 </ul>195 </ul>
  
195 ··</div>196 ··</div>
196 ··<div>197 ··<div>
197 ····<h4>Previous·topic</h4>198 ····<h4>Eelmine·teema</h4>
198 ····<p·class="topless"><a·href="postgis.html"199 ····<p·class="topless"><a·href="postgis.html"
199 ··························title="previous·chapter">Installing·PostGIS</a></p>200 ··························title="eelmine·jaotis">Installing·PostGIS</a></p>
200 ··</div>201 ··</div>
201 ··<div>202 ··<div>
202 ····<h4>Next·topic</h4>203 ····<h4>Järgmine·teema</h4>
203 ····<p·class="topless"><a·href="../model-api.html"204 ····<p·class="topless"><a·href="../model-api.html"
204 ··························title="next·chapter">GeoDjango·Model·API</a></p>205 ··························title="järgmine·jaotis">GeoDjango·Model·API</a></p>
205 ··</div>206 ··</div>
206 <search·id="searchbox"·style="display:·none"·role="search">207 <search·id="searchbox"·style="display:·none"·role="search">
207 ··<h3·id="searchlabel">Quick·search</h3>208 ··<h3·id="searchlabel">Kiirotsing</h3>
208 ····<div·class="searchformwrapper">209 ····<div·class="searchformwrapper">
209 ····<form·class="search"·action="../../../../search.html"·method="get">210 ····<form·class="search"·action="../../../../search.html"·method="get">
210 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>211 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
211 ······<input·type="submit"·value="Go"·/>212 ······<input·type="submit"·value="Otsi"·/>
212 ····</form>213 ····</form>
213 ····</div>214 ····</div>
214 </search>215 </search>
215 <script>document.getElementById('searchbox').style.display·=·"block"</script>216 <script>document.getElementById('searchbox').style.display·=·"block"</script>
216 ········</div>217 ········</div>
217 ······</div>218 ······</div>
218 ··············<h3>Last·update:</h3>219 ··············<h3>Last·update:</h3>
219 ··············<p·class="topless">Nov·05,·2024</p>220 ··············<p·class="topless">nov·05,·2024</p>
220 ··········</div>221 ··········</div>
221 ········222 ········
222 ······223 ······
223 ····</div>224 ····</div>
  
224 ····<div·id="ft">225 ····<div·id="ft">
225 ······<div·class="nav">226 ······<div·class="nav">
3.31 KB
html2text {}
Max HTML report size reached
23.0 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/layermapping.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>LayerMapping·data·import·utility·&#8212;·Django·5.1.3·documentation</title>6 ····<title>LayerMapping·data·import·utility·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="OGR·Inspection"·href="ogrinspect.html"·/>15 ····<link·rel="next"·title="OGR·Inspection"·href="ogrinspect.html"·/>
15 ····<link·rel="prev"·title="GeoDjango·Utilities"·href="utils.html"·/>16 ····<link·rel="prev"·title="GeoDjango·Utilities"·href="utils.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 82, 19 lines modifiedOffset 83, 19 lines modified
82 <p>The·<a·class="reference·internal"·href="#django.contrib.gis.utils.LayerMapping"·title="django.contrib.gis.utils.LayerMapping"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code></a>·class·provides·a·way·to·map·the·contents·of83 <p>The·<a·class="reference·internal"·href="#django.contrib.gis.utils.LayerMapping"·title="django.contrib.gis.utils.LayerMapping"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code></a>·class·provides·a·way·to·map·the·contents·of
83 vector·spatial·data·files·(e.g.·shapefiles)·into·GeoDjango·models.</p>84 vector·spatial·data·files·(e.g.·shapefiles)·into·GeoDjango·models.</p>
84 <p>This·utility·grew·out·of·the·author’s·personal·needs·to·eliminate85 <p>This·utility·grew·out·of·the·author’s·personal·needs·to·eliminate
85 the·code·repetition·that·went·into·pulling·geometries·and·fields·out·of86 the·code·repetition·that·went·into·pulling·geometries·and·fields·out·of
86 a·vector·layer,·converting·to·another·coordinate·system·(e.g.·WGS84),·and87 a·vector·layer,·converting·to·another·coordinate·system·(e.g.·WGS84),·and
87 then·inserting·into·a·GeoDjango·model.</p>88 then·inserting·into·a·GeoDjango·model.</p>
88 <div·class="admonition·note">89 <div·class="admonition·note">
89 <p·class="admonition-title">Note</p>90 <p·class="admonition-title">rkus</p>
90 <p>Use·of·<a·class="reference·internal"·href="#django.contrib.gis.utils.LayerMapping"·title="django.contrib.gis.utils.LayerMapping"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code></a>·requires·GDAL.</p>91 <p>Use·of·<a·class="reference·internal"·href="#django.contrib.gis.utils.LayerMapping"·title="django.contrib.gis.utils.LayerMapping"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code></a>·requires·GDAL.</p>
91 </div>92 </div>
92 <div·class="admonition·warning">93 <div·class="admonition·warning">
93 <p·class="admonition-title">Warning</p>94 <p·class="admonition-title">Hoiatus</p>
94 <p>GIS·data·sources,·like·shapefiles,·may·be·very·large.··If·you·find95 <p>GIS·data·sources,·like·shapefiles,·may·be·very·large.··If·you·find
95 that·<a·class="reference·internal"·href="#django.contrib.gis.utils.LayerMapping"·title="django.contrib.gis.utils.LayerMapping"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code></a>·is·using·too·much·memory,·set96 that·<a·class="reference·internal"·href="#django.contrib.gis.utils.LayerMapping"·title="django.contrib.gis.utils.LayerMapping"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code></a>·is·using·too·much·memory,·set
96 <a·class="reference·internal"·href="../../settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·in·your·settings.··When·<a·class="reference·internal"·href="../../settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>97 <a·class="reference·internal"·href="../../settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·in·your·settings.··When·<a·class="reference·internal"·href="../../settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>
97 is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·Django·<a·class="reference·internal"·href="../../../faq/models.html#faq-see-raw-sql-queries"><span·class="std·std-ref">automatically·logs</span></a>98 is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·Django·<a·class="reference·internal"·href="../../../faq/models.html#faq-see-raw-sql-queries"><span·class="std·std-ref">automatically·logs</span></a>
98 <em>every</em>·SQL·query··and·when·SQL·statements·contain·geometries,·this·may99 <em>every</em>·SQL·query··and·when·SQL·statements·contain·geometries,·this·may
99 consume·more·memory·than·is·typical.</p>100 consume·more·memory·than·is·typical.</p>
100 </div>101 </div>
Offset 157, 15 lines modifiedOffset 158, 15 lines modified
157 defined·for·the·layer,·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">source_srs</span></code>·keyword·with·a158 defined·for·the·layer,·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">source_srs</span></code>·keyword·with·a
158 <a·class="reference·internal"·href="gdal.html#django.contrib.gis.gdal.SpatialReference"·title="django.contrib.gis.gdal.SpatialReference"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SpatialReference</span></code></a>·object·to·specify·one.</p>159 <a·class="reference·internal"·href="gdal.html#django.contrib.gis.gdal.SpatialReference"·title="django.contrib.gis.gdal.SpatialReference"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SpatialReference</span></code></a>·object·to·specify·one.</p>
159 </section>160 </section>
160 <section·id="s-layermapping-api">161 <section·id="s-layermapping-api">
161 <span·id="layermapping-api"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·API<a·class="headerlink"·href="#layermapping-api"·title="Link·to·this·heading">¶</a></h2>162 <span·id="layermapping-api"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·API<a·class="headerlink"·href="#layermapping-api"·title="Link·to·this·heading">¶</a></h2>
162 <dl·class="py·class">163 <dl·class="py·class">
163 <dt·class="sig·sig-object·py"·id="django.contrib.gis.utils.LayerMapping">164 <dt·class="sig·sig-object·py"·id="django.contrib.gis.utils.LayerMapping">
164 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">LayerMapping</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">data_source</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">mapping</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">layer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">source_srs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">encoding</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">transaction_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'commit_on_success'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">transform</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">unique</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'default'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/utils/layermapping.py#L58"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.utils.LayerMapping"·title="Link·to·this·definition">¶</a></dt>165 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">LayerMapping</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">data_source</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">mapping</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">layer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">source_srs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">encoding</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">transaction_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'commit_on_success'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">transform</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">unique</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'default'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/utils/layermapping.py#L58"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.utils.LayerMapping"·title="Link·to·this·definition">¶</a></dt>
165 <dd></dd></dl>166 <dd></dd></dl>
  
166 <p>The·following·are·the·arguments·and·keywords·that·may·be·used·during167 <p>The·following·are·the·arguments·and·keywords·that·may·be·used·during
167 instantiation·of·<code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·objects.</p>168 instantiation·of·<code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·objects.</p>
168 <table·class="docutils">169 <table·class="docutils">
169 <thead>170 <thead>
170 <tr·class="row-odd"><th·class="head"><p>Argument</p></th>171 <tr·class="row-odd"><th·class="head"><p>Argument</p></th>
Offset 239, 15 lines modifiedOffset 240, 15 lines modified
239 </tr>240 </tr>
240 </tbody>241 </tbody>
241 </table>242 </table>
242 <section·id="s-save-keyword-arguments">243 <section·id="s-save-keyword-arguments">
243 <span·id="save-keyword-arguments"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·Keyword·Arguments<a·class="headerlink"·href="#save-keyword-arguments"·title="Link·to·this·heading">¶</a></h3>244 <span·id="save-keyword-arguments"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·Keyword·Arguments<a·class="headerlink"·href="#save-keyword-arguments"·title="Link·to·this·heading">¶</a></h3>
244 <dl·class="py·method">245 <dl·class="py·method">
245 <dt·class="sig·sig-object·py"·id="django.contrib.gis.utils.LayerMapping.save">246 <dt·class="sig·sig-object·py"·id="django.contrib.gis.utils.LayerMapping.save">
246 <span·class="sig-prename·descclassname"><span·class="pre">LayerMapping.</span></span><span·class="sig-name·descname"><span·class="pre">save</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">verbose</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fid_range</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">step</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">progress</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">silent</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">stream</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">sys.stdout</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">strict</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/utils/layermapping.py#L552"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.utils.LayerMapping.save"·title="Link·to·this·definition">¶</a></dt>247 <span·class="sig-prename·descclassname"><span·class="pre">LayerMapping.</span></span><span·class="sig-name·descname"><span·class="pre">save</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">verbose</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fid_range</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">step</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">progress</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">silent</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">stream</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">sys.stdout</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">strict</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/utils/layermapping.py#L552"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.utils.LayerMapping.save"·title="Link·to·this·definition">¶</a></dt>
247 <dd></dd></dl>248 <dd></dd></dl>
  
248 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·method·also·accepts·keywords.··These·keywords·are249 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·method·also·accepts·keywords.··These·keywords·are
249 used·for·controlling·output·logging,·error·handling,·and·for·importing250 used·for·controlling·output·logging,·error·handling,·and·for·importing
250 specific·feature·ranges.</p>251 specific·feature·ranges.</p>
251 <table·class="docutils">252 <table·class="docutils">
252 <thead>253 <thead>
Offset 336, 15 lines modifiedOffset 337, 15 lines modified
336 ······337 ······
337 ········338 ········
338 ··········<div·class="yui-b"·id="sidebar">339 ··········<div·class="yui-b"·id="sidebar">
339 ············340 ············
340 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">341 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
341 ········<div·class="sphinxsidebarwrapper">342 ········<div·class="sphinxsidebarwrapper">
342 ··<div>343 ··<div>
343 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>344 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
344 ····<ul>345 ····<ul>
345 <li><a·class="reference·internal"·href="#"><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·data·import·utility</a><ul>346 <li><a·class="reference·internal"·href="#"><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·data·import·utility</a><ul>
346 <li><a·class="reference·internal"·href="#example">Example</a></li>347 <li><a·class="reference·internal"·href="#example">Example</a></li>
347 <li><a·class="reference·internal"·href="#layermapping-api"><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·API</a><ul>348 <li><a·class="reference·internal"·href="#layermapping-api"><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·API</a><ul>
348 <li><a·class="reference·internal"·href="#save-keyword-arguments"><code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·Keyword·Arguments</a></li>349 <li><a·class="reference·internal"·href="#save-keyword-arguments"><code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·Keyword·Arguments</a></li>
349 </ul>350 </ul>
350 </li>351 </li>
Offset 355, 37 lines modifiedOffset 356, 37 lines modified
355 </li>356 </li>
356 </ul>357 </ul>
357 </li>358 </li>
358 </ul>359 </ul>
  
359 ··</div>360 ··</div>
360 ··<div>361 ··<div>
361 ····<h4>Previous·topic</h4>362 ····<h4>Eelmine·teema</h4>
362 ····<p·class="topless"><a·href="utils.html"363 ····<p·class="topless"><a·href="utils.html"
363 ··························title="previous·chapter">GeoDjango·Utilities</a></p>364 ··························title="eelmine·jaotis">GeoDjango·Utilities</a></p>
364 ··</div>365 ··</div>
365 ··<div>366 ··<div>
366 ····<h4>Next·topic</h4>367 ····<h4>Järgmine·teema</h4>
367 ····<p·class="topless"><a·href="ogrinspect.html"368 ····<p·class="topless"><a·href="ogrinspect.html"
368 ··························title="next·chapter">OGR·Inspection</a></p>369 ··························title="järgmine·jaotis">OGR·Inspection</a></p>
369 ··</div>370 ··</div>
370 <search·id="searchbox"·style="display:·none"·role="search">371 <search·id="searchbox"·style="display:·none"·role="search">
371 ··<h3·id="searchlabel">Quick·search</h3>372 ··<h3·id="searchlabel">Kiirotsing</h3>
372 ····<div·class="searchformwrapper">373 ····<div·class="searchformwrapper">
Max diff block lines reached; 608/16799 bytes (3.62%) of diff not shown.
6.43 KB
html2text {}
Max HTML report size reached
16.5 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/measure.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Measurement·Objects·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Measurement·Objects·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GEOS·API"·href="geos.html"·/>15 ····<link·rel="next"·title="GEOS·API"·href="geos.html"·/>
15 ····<link·rel="prev"·title="Geographic·Database·Functions"·href="functions.html"·/>16 ····<link·rel="prev"·title="Geographic·Database·Functions"·href="functions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 234, 15 lines modifiedOffset 235, 15 lines modified
234 </tr>235 </tr>
235 <tr·class="row-odd"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">german_m</span></code></p></td>236 <tr·class="row-odd"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">german_m</span></code></p></td>
236 <td><p>German·legal·metre</p></td>237 <td><p>German·legal·metre</p></td>
237 </tr>238 </tr>
238 </tbody>239 </tbody>
239 </table>240 </table>
240 <div·class="admonition·note">241 <div·class="admonition·note">
241 <p·class="admonition-title">Note</p>242 <p·class="admonition-title">rkus</p>
242 <p><a·class="reference·internal"·href="#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>·attributes·are·the·same·as·<a·class="reference·internal"·href="#django.contrib.gis.measure.Distance"·title="django.contrib.gis.measure.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>·attributes,243 <p><a·class="reference·internal"·href="#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>·attributes·are·the·same·as·<a·class="reference·internal"·href="#django.contrib.gis.measure.Distance"·title="django.contrib.gis.measure.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>·attributes,
243 except·they·are·prefixed·with·<code·class="docutils·literal·notranslate"><span·class="pre">sq_</span></code>·(area·units·are·square·in·nature).244 except·they·are·prefixed·with·<code·class="docutils·literal·notranslate"><span·class="pre">sq_</span></code>·(area·units·are·square·in·nature).
244 For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">Area(sq_m=2)</span></code>·creates·an·<a·class="reference·internal"·href="#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>·object245 For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">Area(sq_m=2)</span></code>·creates·an·<a·class="reference·internal"·href="#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>·object
245 representing·two·square·meters.</p>246 representing·two·square·meters.</p>
246 </div>247 </div>
247 <p>In·addition·to·unit·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">sq_</span></code>·prefix,·the·following·units·are·also248 <p>In·addition·to·unit·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">sq_</span></code>·prefix,·the·following·units·are·also
248 supported·on·<a·class="reference·internal"·href="#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>:</p>249 supported·on·<a·class="reference·internal"·href="#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>:</p>
Offset 264, 15 lines modifiedOffset 265, 15 lines modified
264 </section>265 </section>
265 <section·id="s-measurement-api">266 <section·id="s-measurement-api">
266 <span·id="measurement-api"></span><h2>Measurement·API<a·class="headerlink"·href="#measurement-api"·title="Link·to·this·heading">¶</a></h2>267 <span·id="measurement-api"></span><h2>Measurement·API<a·class="headerlink"·href="#measurement-api"·title="Link·to·this·heading">¶</a></h2>
267 <section·id="s-distance">268 <section·id="s-distance">
268 <span·id="distance"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Distance</span></code><a·class="headerlink"·href="#distance"·title="Link·to·this·heading">¶</a></h3>269 <span·id="distance"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Distance</span></code><a·class="headerlink"·href="#distance"·title="Link·to·this·heading">¶</a></h3>
269 <dl·class="py·class">270 <dl·class="py·class">
270 <dt·class="sig·sig-object·py"·id="django.contrib.gis.measure.Distance">271 <dt·class="sig·sig-object·py"·id="django.contrib.gis.measure.Distance">
271 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Distance</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/measure.py#L248"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.measure.Distance"·title="Link·to·this·definition">¶</a></dt>272 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Distance</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/measure.py#L248"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.measure.Distance"·title="Link·to·this·definition">¶</a></dt>
272 <dd><p>To·initialize·a·distance·object,·pass·in·a·keyword·corresponding·to·the273 <dd><p>To·initialize·a·distance·object,·pass·in·a·keyword·corresponding·to·the
273 desired·<a·class="reference·internal"·href="#supported-units"><span·class="std·std-ref">unit·attribute·name</span></a>·set·with·desired274 desired·<a·class="reference·internal"·href="#supported-units"><span·class="std·std-ref">unit·attribute·name</span></a>·set·with·desired
274 value.·For·example,·the·following·creates·a·distance·object·representing·5275 value.·For·example,·the·following·creates·a·distance·object·representing·5
275 miles:</p>276 miles:</p>
276 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">dist</span>·<span·class="o">=</span>·<span·class="n">Distance</span><span·class="p">(</span><span·class="n">mi</span><span·class="o">=</span><span·class="mi">5</span><span·class="p">)</span>277 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">dist</span>·<span·class="o">=</span>·<span·class="n">Distance</span><span·class="p">(</span><span·class="n">mi</span><span·class="o">=</span><span·class="mi">5</span><span·class="p">)</span>
277 </pre></div>278 </pre></div>
278 </div>279 </div>
Offset 307, 15 lines modifiedOffset 308, 15 lines modified
307 </dd></dl>308 </dd></dl>
  
308 </section>309 </section>
309 <section·id="s-area">310 <section·id="s-area">
310 <span·id="area"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Area</span></code><a·class="headerlink"·href="#area"·title="Link·to·this·heading">¶</a></h3>311 <span·id="area"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Area</span></code><a·class="headerlink"·href="#area"·title="Link·to·this·heading">¶</a></h3>
311 <dl·class="py·class">312 <dl·class="py·class">
312 <dt·class="sig·sig-object·py"·id="django.contrib.gis.measure.Area">313 <dt·class="sig·sig-object·py"·id="django.contrib.gis.measure.Area">
313 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Area</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/measure.py#L347"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.measure.Area"·title="Link·to·this·definition">¶</a></dt>314 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Area</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/measure.py#L347"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.measure.Area"·title="Link·to·this·definition">¶</a></dt>
314 <dd><p>To·initialize·an·area·object,·pass·in·a·keyword·corresponding·to·the315 <dd><p>To·initialize·an·area·object,·pass·in·a·keyword·corresponding·to·the
315 desired·<a·class="reference·internal"·href="#supported-units"><span·class="std·std-ref">unit·attribute·name</span></a>·set·with·desired316 desired·<a·class="reference·internal"·href="#supported-units"><span·class="std·std-ref">unit·attribute·name</span></a>·set·with·desired
316 value.·For·example,·the·following·creates·an·area·object·representing·5317 value.·For·example,·the·following·creates·an·area·object·representing·5
317 square·miles:</p>318 square·miles:</p>
318 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a</span>·<span·class="o">=</span>·<span·class="n">Area</span><span·class="p">(</span><span·class="n">sq_mi</span><span·class="o">=</span><span·class="mi">5</span><span·class="p">)</span>319 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a</span>·<span·class="o">=</span>·<span·class="n">Area</span><span·class="p">(</span><span·class="n">sq_mi</span><span·class="o">=</span><span·class="mi">5</span><span·class="p">)</span>
319 </pre></div>320 </pre></div>
320 </div>321 </div>
Offset 351, 15 lines modifiedOffset 352, 15 lines modified
  
351 <p·class="rubric">Footnotes</p>352 <p·class="rubric">Footnotes</p>
352 <aside·class="footnote-list·brackets">353 <aside·class="footnote-list·brackets">
353 <aside·class="footnote·brackets"·id="id3"·role="doc-footnote">354 <aside·class="footnote·brackets"·id="id3"·role="doc-footnote">
354 <span·class="label"><span·class="fn-bracket">[</span><a·role="doc-backlink"·href="#id1">1</a><span·class="fn-bracket">]</span></span>355 <span·class="label"><span·class="fn-bracket">[</span><a·role="doc-backlink"·href="#id1">1</a><span·class="fn-bracket">]</span></span>
355 <p><a·class="reference·external"·href="https://koordinates.com/">Robert·Coup</a>·is·the·initial·author·of·the·measure·objects,356 <p><a·class="reference·external"·href="https://koordinates.com/">Robert·Coup</a>·is·the·initial·author·of·the·measure·objects,
356 and·was·inspired·by·Brian·Beck’s·work·in·<a·class="reference·external"·href="https://github.com/geopy/geopy/">geopy</a>357 and·was·inspired·by·Brian·Beck’s·work·in·<a·class="reference·external"·href="https://github.com/geopy/geopy/">geopy</a>
357 and·Geoff·Biggs·PhD·work·on·dimensioned·units·for·robotics.</p>358 and·Geoff·Biggs·PhD·work·on·dimensioned·units·for·robotics.</p>
358 </aside>359 </aside>
359 </aside>360 </aside>
360 </section>361 </section>
361 </section>362 </section>
362 </section>363 </section>
  
  
Offset 369, 15 lines modifiedOffset 370, 15 lines modified
369 ······370 ······
370 ········371 ········
371 ··········<div·class="yui-b"·id="sidebar">372 ··········<div·class="yui-b"·id="sidebar">
372 ············373 ············
373 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">374 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
374 ········<div·class="sphinxsidebarwrapper">375 ········<div·class="sphinxsidebarwrapper">
375 ··<div>376 ··<div>
376 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>377 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
377 ····<ul>378 ····<ul>
378 <li><a·class="reference·internal"·href="#">Measurement·Objects</a><ul>379 <li><a·class="reference·internal"·href="#">Measurement·Objects</a><ul>
379 <li><a·class="reference·internal"·href="#example">Example</a></li>380 <li><a·class="reference·internal"·href="#example">Example</a></li>
380 <li><a·class="reference·internal"·href="#supported-units">Supported·units</a></li>381 <li><a·class="reference·internal"·href="#supported-units">Supported·units</a></li>
381 <li><a·class="reference·internal"·href="#measurement-api">Measurement·API</a><ul>382 <li><a·class="reference·internal"·href="#measurement-api">Measurement·API</a><ul>
382 <li><a·class="reference·internal"·href="#distance"><code·class="docutils·literal·notranslate"><span·class="pre">Distance</span></code></a></li>383 <li><a·class="reference·internal"·href="#distance"><code·class="docutils·literal·notranslate"><span·class="pre">Distance</span></code></a></li>
383 <li><a·class="reference·internal"·href="#area"><code·class="docutils·literal·notranslate"><span·class="pre">Area</span></code></a></li>384 <li><a·class="reference·internal"·href="#area"><code·class="docutils·literal·notranslate"><span·class="pre">Area</span></code></a></li>
Offset 385, 37 lines modifiedOffset 386, 37 lines modified
385 </li>386 </li>
386 </ul>387 </ul>
387 </li>388 </li>
388 </ul>389 </ul>
  
389 ··</div>390 ··</div>
390 ··<div>391 ··<div>
Max diff block lines reached; 1296/11615 bytes (11.16%) of diff not shown.
5.04 KB
html2text {}
Max HTML report size reached
33.1 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/model-api.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoDjango·Model·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoDjango·Model·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GeoDjango·Database·API"·href="db-api.html"·/>15 ····<link·rel="next"·title="GeoDjango·Database·API"·href="db-api.html"·/>
15 ····<link·rel="prev"·title="Installing·SpatiaLite"·href="install/spatialite.html"·/>16 ····<link·rel="prev"·title="Installing·SpatiaLite"·href="install/spatialite.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 100, 87 lines modifiedOffset 101, 87 lines modified
100 <p>Spatial·fields·consist·of·a·series·of·geometry·field·types·and·one·raster·field101 <p>Spatial·fields·consist·of·a·series·of·geometry·field·types·and·one·raster·field
101 type.·Each·of·the·geometry·field·types·correspond·to·the·OpenGIS·Simple102 type.·Each·of·the·geometry·field·types·correspond·to·the·OpenGIS·Simple
102 Features·specification·<a·class="footnote-reference·brackets"·href="#fnogc"·id="id3"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a>.·There·is·no·such·standard·for·raster·data.</p>103 Features·specification·<a·class="footnote-reference·brackets"·href="#fnogc"·id="id3"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a>.·There·is·no·such·standard·for·raster·data.</p>
103 <section·id="s-geometryfield">104 <section·id="s-geometryfield">
104 <span·id="geometryfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GeometryField</span></code><a·class="headerlink"·href="#geometryfield"·title="Link·to·this·heading">¶</a></h3>105 <span·id="geometryfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GeometryField</span></code><a·class="headerlink"·href="#geometryfield"·title="Link·to·this·heading">¶</a></h3>
105 <dl·class="py·class">106 <dl·class="py·class">
106 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.GeometryField">107 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.GeometryField">
107 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeometryField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L227"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.GeometryField"·title="Link·to·this·definition">¶</a></dt>108 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeometryField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L227"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.GeometryField"·title="Link·to·this·definition">¶</a></dt>
108 <dd></dd></dl>109 <dd></dd></dl>
  
109 <p>The·base·class·for·geometry·fields.</p>110 <p>The·base·class·for·geometry·fields.</p>
110 </section>111 </section>
111 <section·id="s-pointfield">112 <section·id="s-pointfield">
112 <span·id="pointfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">PointField</span></code><a·class="headerlink"·href="#pointfield"·title="Link·to·this·heading">¶</a></h3>113 <span·id="pointfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">PointField</span></code><a·class="headerlink"·href="#pointfield"·title="Link·to·this·heading">¶</a></h3>
113 <dl·class="py·class">114 <dl·class="py·class">
114 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.PointField">115 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.PointField">
115 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">PointField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L328"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.PointField"·title="Link·to·this·definition">¶</a></dt>116 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">PointField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L328"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.PointField"·title="Link·to·this·definition">¶</a></dt>
116 <dd></dd></dl>117 <dd></dd></dl>
  
117 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.Point"·title="django.contrib.gis.geos.Point"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Point</span></code></a>.</p>118 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.Point"·title="django.contrib.gis.geos.Point"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Point</span></code></a>.</p>
118 </section>119 </section>
119 <section·id="s-linestringfield">120 <section·id="s-linestringfield">
120 <span·id="linestringfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">LineStringField</span></code><a·class="headerlink"·href="#linestringfield"·title="Link·to·this·heading">¶</a></h3>121 <span·id="linestringfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">LineStringField</span></code><a·class="headerlink"·href="#linestringfield"·title="Link·to·this·heading">¶</a></h3>
121 <dl·class="py·class">122 <dl·class="py·class">
122 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.LineStringField">123 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.LineStringField">
123 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">LineStringField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L335"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.LineStringField"·title="Link·to·this·definition">¶</a></dt>124 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">LineStringField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L335"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.LineStringField"·title="Link·to·this·definition">¶</a></dt>
124 <dd></dd></dl>125 <dd></dd></dl>
  
125 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.LineString"·title="django.contrib.gis.geos.LineString"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LineString</span></code></a>.</p>126 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.LineString"·title="django.contrib.gis.geos.LineString"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LineString</span></code></a>.</p>
126 </section>127 </section>
127 <section·id="s-polygonfield">128 <section·id="s-polygonfield">
128 <span·id="polygonfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">PolygonField</span></code><a·class="headerlink"·href="#polygonfield"·title="Link·to·this·heading">¶</a></h3>129 <span·id="polygonfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">PolygonField</span></code><a·class="headerlink"·href="#polygonfield"·title="Link·to·this·heading">¶</a></h3>
129 <dl·class="py·class">130 <dl·class="py·class">
130 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.PolygonField">131 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.PolygonField">
131 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">PolygonField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L342"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.PolygonField"·title="Link·to·this·definition">¶</a></dt>132 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">PolygonField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L342"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.PolygonField"·title="Link·to·this·definition">¶</a></dt>
132 <dd></dd></dl>133 <dd></dd></dl>
  
133 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.Polygon"·title="django.contrib.gis.geos.Polygon"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Polygon</span></code></a>.</p>134 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.Polygon"·title="django.contrib.gis.geos.Polygon"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Polygon</span></code></a>.</p>
134 </section>135 </section>
135 <section·id="s-multipointfield">136 <section·id="s-multipointfield">
136 <span·id="multipointfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiPointField</span></code><a·class="headerlink"·href="#multipointfield"·title="Link·to·this·heading">¶</a></h3>137 <span·id="multipointfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiPointField</span></code><a·class="headerlink"·href="#multipointfield"·title="Link·to·this·heading">¶</a></h3>
137 <dl·class="py·class">138 <dl·class="py·class">
138 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.MultiPointField">139 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.MultiPointField">
139 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiPointField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L349"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.MultiPointField"·title="Link·to·this·definition">¶</a></dt>140 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiPointField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L349"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.MultiPointField"·title="Link·to·this·definition">¶</a></dt>
140 <dd></dd></dl>141 <dd></dd></dl>
  
141 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.MultiPoint"·title="django.contrib.gis.geos.MultiPoint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultiPoint</span></code></a>.</p>142 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.MultiPoint"·title="django.contrib.gis.geos.MultiPoint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultiPoint</span></code></a>.</p>
142 </section>143 </section>
143 <section·id="s-multilinestringfield">144 <section·id="s-multilinestringfield">
144 <span·id="multilinestringfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiLineStringField</span></code><a·class="headerlink"·href="#multilinestringfield"·title="Link·to·this·heading">¶</a></h3>145 <span·id="multilinestringfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiLineStringField</span></code><a·class="headerlink"·href="#multilinestringfield"·title="Link·to·this·heading">¶</a></h3>
145 <dl·class="py·class">146 <dl·class="py·class">
146 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.MultiLineStringField">147 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.MultiLineStringField">
147 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiLineStringField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L356"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.MultiLineStringField"·title="Link·to·this·definition">¶</a></dt>148 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiLineStringField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L356"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.MultiLineStringField"·title="Link·to·this·definition">¶</a></dt>
148 <dd></dd></dl>149 <dd></dd></dl>
  
149 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.MultiLineString"·title="django.contrib.gis.geos.MultiLineString"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultiLineString</span></code></a>.</p>150 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.MultiLineString"·title="django.contrib.gis.geos.MultiLineString"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultiLineString</span></code></a>.</p>
150 </section>151 </section>
151 <section·id="s-multipolygonfield">152 <section·id="s-multipolygonfield">
152 <span·id="multipolygonfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygonField</span></code><a·class="headerlink"·href="#multipolygonfield"·title="Link·to·this·heading">¶</a></h3>153 <span·id="multipolygonfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygonField</span></code><a·class="headerlink"·href="#multipolygonfield"·title="Link·to·this·heading">¶</a></h3>
153 <dl·class="py·class">154 <dl·class="py·class">
154 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.MultiPolygonField">155 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.MultiPolygonField">
155 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiPolygonField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L363"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.MultiPolygonField"·title="Link·to·this·definition">¶</a></dt>156 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultiPolygonField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L363"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.MultiPolygonField"·title="Link·to·this·definition">¶</a></dt>
156 <dd></dd></dl>157 <dd></dd></dl>
  
157 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.MultiPolygon"·title="django.contrib.gis.geos.MultiPolygon"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultiPolygon</span></code></a>.</p>158 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.MultiPolygon"·title="django.contrib.gis.geos.MultiPolygon"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultiPolygon</span></code></a>.</p>
158 </section>159 </section>
159 <section·id="s-geometrycollectionfield">160 <section·id="s-geometrycollectionfield">
160 <span·id="geometrycollectionfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GeometryCollectionField</span></code><a·class="headerlink"·href="#geometrycollectionfield"·title="Link·to·this·heading">¶</a></h3>161 <span·id="geometrycollectionfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">GeometryCollectionField</span></code><a·class="headerlink"·href="#geometrycollectionfield"·title="Link·to·this·heading">¶</a></h3>
161 <dl·class="py·class">162 <dl·class="py·class">
162 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.GeometryCollectionField">163 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.GeometryCollectionField">
163 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeometryCollectionField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L370"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.GeometryCollectionField"·title="Link·to·this·definition">¶</a></dt>164 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GeometryCollectionField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L370"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.GeometryCollectionField"·title="Link·to·this·definition">¶</a></dt>
164 <dd></dd></dl>165 <dd></dd></dl>
  
165 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.GeometryCollection"·title="django.contrib.gis.geos.GeometryCollection"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeometryCollection</span></code></a>.</p>166 <p>Stores·a·<a·class="reference·internal"·href="geos.html#django.contrib.gis.geos.GeometryCollection"·title="django.contrib.gis.geos.GeometryCollection"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeometryCollection</span></code></a>.</p>
166 </section>167 </section>
167 <section·id="s-rasterfield">168 <section·id="s-rasterfield">
168 <span·id="rasterfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RasterField</span></code><a·class="headerlink"·href="#rasterfield"·title="Link·to·this·heading">¶</a></h3>169 <span·id="rasterfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RasterField</span></code><a·class="headerlink"·href="#rasterfield"·title="Link·to·this·heading">¶</a></h3>
169 <dl·class="py·class">170 <dl·class="py·class">
170 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.RasterField">171 <dt·class="sig·sig-object·py"·id="django.contrib.gis.db.models.RasterField">
171 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RasterField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L390"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.RasterField"·title="Link·to·this·definition">¶</a></dt>172 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RasterField</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/db/models/fields.py#L390"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.db.models.RasterField"·title="Link·to·this·definition">¶</a></dt>
172 <dd></dd></dl>173 <dd></dd></dl>
  
173 <p>Stores·a·<a·class="reference·internal"·href="gdal.html#django.contrib.gis.gdal.GDALRaster"·title="django.contrib.gis.gdal.GDALRaster"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GDALRaster</span></code></a>.</p>174 <p>Stores·a·<a·class="reference·internal"·href="gdal.html#django.contrib.gis.gdal.GDALRaster"·title="django.contrib.gis.gdal.GDALRaster"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GDALRaster</span></code></a>.</p>
174 <p><code·class="docutils·literal·notranslate"><span·class="pre">RasterField</span></code>·is·currently·only·implemented·for·the·PostGIS·backend.</p>175 <p><code·class="docutils·literal·notranslate"><span·class="pre">RasterField</span></code>·is·currently·only·implemented·for·the·PostGIS·backend.</p>
175 </section>176 </section>
176 </section>177 </section>
177 <section·id="s-spatial-field-options">178 <section·id="s-spatial-field-options">
Max diff block lines reached; 6988/24091 bytes (29.01%) of diff not shown.
9.39 KB
html2text {}
Max HTML report size reached
11.3 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/ogrinspect.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>OGR·Inspection·&#8212;·Django·5.1.3·documentation</title>6 ····<title>OGR·Inspection·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GeoJSON·Serializer"·href="serializers.html"·/>15 ····<link·rel="next"·title="GeoJSON·Serializer"·href="serializers.html"·/>
15 ····<link·rel="prev"·title="LayerMapping·data·import·utility"·href="layermapping.html"·/>16 ····<link·rel="prev"·title="LayerMapping·data·import·utility"·href="layermapping.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 23 lines modifiedOffset 80, 23 lines modified
79 ············80 ············
80 ··<section·id="s-module-django.contrib.gis.utils.ogrinspect">81 ··<section·id="s-module-django.contrib.gis.utils.ogrinspect">
81 <span·id="s-ogr-inspection"></span><span·id="module-django.contrib.gis.utils.ogrinspect"></span><span·id="ogr-inspection"></span><h1>OGR·Inspection<a·class="headerlink"·href="#module-django.contrib.gis.utils.ogrinspect"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-ogr-inspection"></span><span·id="module-django.contrib.gis.utils.ogrinspect"></span><span·id="ogr-inspection"></span><h1>OGR·Inspection<a·class="headerlink"·href="#module-django.contrib.gis.utils.ogrinspect"·title="Link·to·this·heading">¶</a></h1>
82 <section·id="s-ogrinspect">83 <section·id="s-ogrinspect">
83 <span·id="ogrinspect"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ogrinspect</span></code><a·class="headerlink"·href="#ogrinspect"·title="Link·to·this·heading">¶</a></h2>84 <span·id="ogrinspect"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ogrinspect</span></code><a·class="headerlink"·href="#ogrinspect"·title="Link·to·this·heading">¶</a></h2>
84 <dl·class="py·function">85 <dl·class="py·function">
85 <dt·class="sig·sig-object·py">86 <dt·class="sig·sig-object·py">
86 <span·class="sig-name·descname"><span·class="pre">ogrinspect</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">data_source</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">model_name</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/utils/ogrinspect.py#L59"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a></dt>87 <span·class="sig-name·descname"><span·class="pre">ogrinspect</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">data_source</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">model_name</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/utils/ogrinspect.py#L59"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a></dt>
87 <dd></dd></dl>88 <dd></dd></dl>
  
88 </section>89 </section>
89 <section·id="s-mapping">90 <section·id="s-mapping">
90 <span·id="mapping"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">mapping</span></code><a·class="headerlink"·href="#mapping"·title="Link·to·this·heading">¶</a></h2>91 <span·id="mapping"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">mapping</span></code><a·class="headerlink"·href="#mapping"·title="Link·to·this·heading">¶</a></h2>
91 <dl·class="py·function">92 <dl·class="py·function">
92 <dt·class="sig·sig-object·py"·id="django.contrib.gis.utils.mapping">93 <dt·class="sig·sig-object·py"·id="django.contrib.gis.utils.mapping">
93 <span·class="sig-name·descname"><span·class="pre">mapping</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">data_source</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">geom_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'geom'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">layer_key</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">multi_geom</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/utils/ogrinspect.py#L19"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.utils.mapping"·title="Link·to·this·definition">¶</a></dt>94 <span·class="sig-name·descname"><span·class="pre">mapping</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">data_source</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">geom_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'geom'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">layer_key</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">multi_geom</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/gis/utils/ogrinspect.py#L19"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.gis.utils.mapping"·title="Link·to·this·definition">¶</a></dt>
94 <dd></dd></dl>95 <dd></dd></dl>
  
95 </section>96 </section>
96 </section>97 </section>
  
  
97 ··········</div>98 ··········</div>
Offset 104, 48 lines modifiedOffset 105, 48 lines modified
104 ······105 ······
105 ········106 ········
106 ··········<div·class="yui-b"·id="sidebar">107 ··········<div·class="yui-b"·id="sidebar">
107 ············108 ············
108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
109 ········<div·class="sphinxsidebarwrapper">110 ········<div·class="sphinxsidebarwrapper">
110 ··<div>111 ··<div>
111 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>112 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
112 ····<ul>113 ····<ul>
113 <li><a·class="reference·internal"·href="#">OGR·Inspection</a><ul>114 <li><a·class="reference·internal"·href="#">OGR·Inspection</a><ul>
114 <li><a·class="reference·internal"·href="#ogrinspect"><code·class="docutils·literal·notranslate"><span·class="pre">ogrinspect</span></code></a></li>115 <li><a·class="reference·internal"·href="#ogrinspect"><code·class="docutils·literal·notranslate"><span·class="pre">ogrinspect</span></code></a></li>
115 <li><a·class="reference·internal"·href="#mapping"><code·class="docutils·literal·notranslate"><span·class="pre">mapping</span></code></a></li>116 <li><a·class="reference·internal"·href="#mapping"><code·class="docutils·literal·notranslate"><span·class="pre">mapping</span></code></a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="layermapping.html"123 ····<p·class="topless"><a·href="layermapping.html"
123 ··························title="previous·chapter"><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·data·import·utility</a></p>124 ··························title="eelmine·jaotis"><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·data·import·utility</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="serializers.html"128 ····<p·class="topless"><a·href="serializers.html"
128 ··························title="next·chapter"><code·class="docutils·literal·notranslate"><span·class="pre">GeoJSON</span></code>·Serializer</a></p>129 ··························title="järgmine·jaotis"><code·class="docutils·literal·notranslate"><span·class="pre">GeoJSON</span></code>·Serializer</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../../../search.html"·method="get">134 ····<form·class="search"·action="../../../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
2.28 KB
html2text {}
Max HTML report size reached
5.83 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/serializers.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoJSON·Serializer·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoJSON·Serializer·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GeoDjango·Management·Commands"·href="commands.html"·/>15 ····<link·rel="next"·title="GeoDjango·Management·Commands"·href="commands.html"·/>
15 ····<link·rel="prev"·title="OGR·Inspection"·href="ogrinspect.html"·/>16 ····<link·rel="prev"·title="OGR·Inspection"·href="ogrinspect.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 136, 37 lines modifiedOffset 137, 37 lines modified
136 ······137 ······
137 ········138 ········
138 ··········<div·class="yui-b"·id="sidebar">139 ··········<div·class="yui-b"·id="sidebar">
139 ············140 ············
140 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">141 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
141 ········<div·class="sphinxsidebarwrapper">142 ········<div·class="sphinxsidebarwrapper">
142 ··<div>143 ··<div>
143 ····<h4>Previous·topic</h4>144 ····<h4>Eelmine·teema</h4>
144 ····<p·class="topless"><a·href="ogrinspect.html"145 ····<p·class="topless"><a·href="ogrinspect.html"
145 ··························title="previous·chapter">OGR·Inspection</a></p>146 ··························title="eelmine·jaotis">OGR·Inspection</a></p>
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Next·topic</h4>149 ····<h4>Järgmine·teema</h4>
149 ····<p·class="topless"><a·href="commands.html"150 ····<p·class="topless"><a·href="commands.html"
150 ··························title="next·chapter">GeoDjango·Management·Commands</a></p>151 ··························title="järgmine·jaotis">GeoDjango·Management·Commands</a></p>
151 ··</div>152 ··</div>
152 <search·id="searchbox"·style="display:·none"·role="search">153 <search·id="searchbox"·style="display:·none"·role="search">
153 ··<h3·id="searchlabel">Quick·search</h3>154 ··<h3·id="searchlabel">Kiirotsing</h3>
154 ····<div·class="searchformwrapper">155 ····<div·class="searchformwrapper">
155 ····<form·class="search"·action="../../../search.html"·method="get">156 ····<form·class="search"·action="../../../search.html"·method="get">
156 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>157 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
157 ······<input·type="submit"·value="Go"·/>158 ······<input·type="submit"·value="Otsi"·/>
158 ····</form>159 ····</form>
159 ····</div>160 ····</div>
160 </search>161 </search>
161 <script>document.getElementById('searchbox').style.display·=·"block"</script>162 <script>document.getElementById('searchbox').style.display·=·"block"</script>
162 ········</div>163 ········</div>
163 ······</div>164 ······</div>
164 ··············<h3>Last·update:</h3>165 ··············<h3>Last·update:</h3>
165 ··············<p·class="topless">Nov·05,·2024</p>166 ··············<p·class="topless">nov·05,·2024</p>
166 ··········</div>167 ··········</div>
167 ········168 ········
168 ······169 ······
169 ····</div>170 ····</div>
  
170 ····<div·id="ft">171 ····<div·id="ft">
171 ······<div·class="nav">172 ······<div·class="nav">
1.91 KB
html2text {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·G\x8Ge\x8eo\x8oJ\x8JS\x8SO\x8ON\x8N·S\x8Se\x8er\x8ri\x8ia\x8al\x8li\x8iz\x8ze\x8er\x8r_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·G\x8Ge\x8eo\x8oJ\x8JS\x8SO\x8ON\x8N·S\x8Se\x8er\x8ri\x8ia\x8al\x8li\x8iz\x8ze\x8er\x8r_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 GeoDjango·provides·a·specific·serializer·for·the·_\x8G_\x8e_\x8o_\x8J_\x8S_\x8O_\x8N·format.·See5 GeoDjango·provides·a·specific·serializer·for·the·_\x8G_\x8e_\x8o_\x8J_\x8S_\x8O_\x8N·format.·See
6 _\x8S_\x8e_\x8r_\x8i_\x8a_\x8l_\x8i_\x8z_\x8i_\x8n_\x8g_\x8·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8o_\x8b_\x8j_\x8e_\x8c_\x8t_\x8s·for·more·information·on·serialization.6 _\x8S_\x8e_\x8r_\x8i_\x8a_\x8l_\x8i_\x8z_\x8i_\x8n_\x8g_\x8·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8o_\x8b_\x8j_\x8e_\x8c_\x8t_\x8s·for·more·information·on·serialization.
7 The·geojson·serializer·is·not·meant·for·round-tripping·data,·as·it·has·no7 The·geojson·serializer·is·not·meant·for·round-tripping·data,·as·it·has·no
8 deserializer·equivalent.·For·example,·you·cannot·use·_\x8l_\x8o_\x8a_\x8d_\x8d_\x8a_\x8t_\x8a·to·reload·the8 deserializer·equivalent.·For·example,·you·cannot·use·_\x8l_\x8o_\x8a_\x8d_\x8d_\x8a_\x8t_\x8a·to·reload·the
Offset 41, 16 lines modifiedOffset 41, 16 lines modified
41 ············"properties":·{"name":·"Chicago"},41 ············"properties":·{"name":·"Chicago"},
42 ········}42 ········}
43 ····],43 ····],
44 }44 }
45 When·the·fields·parameter·is·not·specified,·the·geojson·serializer·adds·a·pk45 When·the·fields·parameter·is·not·specified,·the·geojson·serializer·adds·a·pk
46 key·to·the·properties·dictionary·with·the·primary·key·of·the·object·as·the46 key·to·the·properties·dictionary·with·the·primary·key·of·the·object·as·the
47 value.47 value.
48 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*48 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
49 _\x8O_\x8G_\x8R_\x8·_\x8I_\x8n_\x8s_\x8p_\x8e_\x8c_\x8t_\x8i_\x8o_\x8n49 _\x8O_\x8G_\x8R_\x8·_\x8I_\x8n_\x8s_\x8p_\x8e_\x8c_\x8t_\x8i_\x8o_\x8n
50 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*50 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
51 _\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8M_\x8a_\x8n_\x8a_\x8g_\x8e_\x8m_\x8e_\x8n_\x8t_\x8·_\x8C_\x8o_\x8m_\x8m_\x8a_\x8n_\x8d_\x8s51 _\x8G_\x8e_\x8o_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8M_\x8a_\x8n_\x8a_\x8g_\x8e_\x8m_\x8e_\x8n_\x8t_\x8·_\x8C_\x8o_\x8m_\x8m_\x8a_\x8n_\x8d_\x8s
52 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*52 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
53 [q···················][Go]53 [q···················][Otsi]
54 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*54 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
55 Nov·05,·202455 nov·05,·2024
56 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»56 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
6.86 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/sitemaps.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Geographic·Sitemaps·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Geographic·Sitemaps·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Testing·GeoDjango·apps"·href="testing.html"·/>15 ····<link·rel="next"·title="Testing·GeoDjango·apps"·href="testing.html"·/>
15 ····<link·rel="prev"·title="Geographic·Feeds"·href="feeds.html"·/>16 ····<link·rel="prev"·title="Geographic·Feeds"·href="feeds.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 110, 52 lines modifiedOffset 111, 52 lines modified
110 ······111 ······
111 ········112 ········
112 ··········<div·class="yui-b"·id="sidebar">113 ··········<div·class="yui-b"·id="sidebar">
113 ············114 ············
114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
115 ········<div·class="sphinxsidebarwrapper">116 ········<div·class="sphinxsidebarwrapper">
116 ··<div>117 ··<div>
117 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>118 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
118 ····<ul>119 ····<ul>
119 <li><a·class="reference·internal"·href="#">Geographic·Sitemaps</a><ul>120 <li><a·class="reference·internal"·href="#">Geographic·Sitemaps</a><ul>
120 <li><a·class="reference·internal"·href="#example">Example</a></li>121 <li><a·class="reference·internal"·href="#example">Example</a></li>
121 <li><a·class="reference·internal"·href="#reference">Reference</a><ul>122 <li><a·class="reference·internal"·href="#reference">Reference</a><ul>
122 <li><a·class="reference·internal"·href="#kmlsitemap"><code·class="docutils·literal·notranslate"><span·class="pre">KMLSitemap</span></code></a></li>123 <li><a·class="reference·internal"·href="#kmlsitemap"><code·class="docutils·literal·notranslate"><span·class="pre">KMLSitemap</span></code></a></li>
123 <li><a·class="reference·internal"·href="#kmzsitemap"><code·class="docutils·literal·notranslate"><span·class="pre">KMZSitemap</span></code></a></li>124 <li><a·class="reference·internal"·href="#kmzsitemap"><code·class="docutils·literal·notranslate"><span·class="pre">KMZSitemap</span></code></a></li>
124 </ul>125 </ul>
125 </li>126 </li>
126 </ul>127 </ul>
127 </li>128 </li>
128 </ul>129 </ul>
  
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Previous·topic</h4>132 ····<h4>Eelmine·teema</h4>
132 ····<p·class="topless"><a·href="feeds.html"133 ····<p·class="topless"><a·href="feeds.html"
133 ··························title="previous·chapter">Geographic·Feeds</a></p>134 ··························title="eelmine·jaotis">Geographic·Feeds</a></p>
134 ··</div>135 ··</div>
135 ··<div>136 ··<div>
136 ····<h4>Next·topic</h4>137 ····<h4>Järgmine·teema</h4>
137 ····<p·class="topless"><a·href="testing.html"138 ····<p·class="topless"><a·href="testing.html"
138 ··························title="next·chapter">Testing·GeoDjango·apps</a></p>139 ··························title="järgmine·jaotis">Testing·GeoDjango·apps</a></p>
139 ··</div>140 ··</div>
140 <search·id="searchbox"·style="display:·none"·role="search">141 <search·id="searchbox"·style="display:·none"·role="search">
141 ··<h3·id="searchlabel">Quick·search</h3>142 ··<h3·id="searchlabel">Kiirotsing</h3>
142 ····<div·class="searchformwrapper">143 ····<div·class="searchformwrapper">
143 ····<form·class="search"·action="../../../search.html"·method="get">144 ····<form·class="search"·action="../../../search.html"·method="get">
144 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>145 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
145 ······<input·type="submit"·value="Go"·/>146 ······<input·type="submit"·value="Otsi"·/>
146 ····</form>147 ····</form>
147 ····</div>148 ····</div>
148 </search>149 </search>
149 <script>document.getElementById('searchbox').style.display·=·"block"</script>150 <script>document.getElementById('searchbox').style.display·=·"block"</script>
150 ········</div>151 ········</div>
151 ······</div>152 ······</div>
152 ··············<h3>Last·update:</h3>153 ··············<h3>Last·update:</h3>
153 ··············<p·class="topless">Nov·05,·2024</p>154 ··············<p·class="topless">nov·05,·2024</p>
154 ··········</div>155 ··········</div>
155 ········156 ········
156 ······157 ······
157 ····</div>158 ····</div>
  
158 ····<div·id="ft">159 ····<div·id="ft">
159 ······<div·class="nav">160 ······<div·class="nav">
2.28 KB
html2text {}
Max HTML report size reached
9.01 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/testing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Testing·GeoDjango·apps·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Testing·GeoDjango·apps·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Deploying·GeoDjango"·href="deployment.html"·/>15 ····<link·rel="next"·title="Deploying·GeoDjango"·href="deployment.html"·/>
15 ····<link·rel="prev"·title="Geographic·Sitemaps"·href="sitemaps.html"·/>16 ····<link·rel="prev"·title="Geographic·Sitemaps"·href="sitemaps.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 82, 15 lines modifiedOffset 83, 15 lines modified
82 <p>Included·in·this·documentation·are·some·additional·notes·and·settings83 <p>Included·in·this·documentation·are·some·additional·notes·and·settings
83 for·<a·class="reference·internal"·href="#testing-postgis"><span·class="std·std-ref">PostGIS</span></a>·users.</p>84 for·<a·class="reference·internal"·href="#testing-postgis"><span·class="std·std-ref">PostGIS</span></a>·users.</p>
84 <section·id="s-postgis">85 <section·id="s-postgis">
85 <span·id="s-testing-postgis"></span><span·id="postgis"></span><span·id="testing-postgis"></span><h2>PostGIS<a·class="headerlink"·href="#postgis"·title="Link·to·this·heading">¶</a></h2>86 <span·id="s-testing-postgis"></span><span·id="postgis"></span><span·id="testing-postgis"></span><h2>PostGIS<a·class="headerlink"·href="#postgis"·title="Link·to·this·heading">¶</a></h2>
86 <section·id="s-settings">87 <section·id="s-settings">
87 <span·id="settings"></span><h3>Settings<a·class="headerlink"·href="#settings"·title="Link·to·this·heading">¶</a></h3>88 <span·id="settings"></span><h3>Settings<a·class="headerlink"·href="#settings"·title="Link·to·this·heading">¶</a></h3>
88 <div·class="admonition·note">89 <div·class="admonition·note">
89 <p·class="admonition-title">Note</p>90 <p·class="admonition-title">rkus</p>
90 <p>The·settings·below·have·sensible·defaults,·and·shouldn’t·require·manual·setting.</p>91 <p>The·settings·below·have·sensible·defaults,·and·shouldn’t·require·manual·setting.</p>
91 </div>92 </div>
92 <section·id="s-postgis-version">93 <section·id="s-postgis-version">
93 <span·id="s-std-setting-POSTGIS_VERSION"></span><span·id="postgis-version"></span><span·id="std-setting-POSTGIS_VERSION"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">POSTGIS_VERSION</span></code><a·class="headerlink"·href="#postgis-version"·title="Link·to·this·heading">¶</a></h4>94 <span·id="s-std-setting-POSTGIS_VERSION"></span><span·id="postgis-version"></span><span·id="std-setting-POSTGIS_VERSION"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">POSTGIS_VERSION</span></code><a·class="headerlink"·href="#postgis-version"·title="Link·to·this·heading">¶</a></h4>
94 <p>When·GeoDjango’s·spatial·backend·initializes·on·PostGIS,·it·has·to·perform95 <p>When·GeoDjango’s·spatial·backend·initializes·on·PostGIS,·it·has·to·perform
95 an·SQL·query·to·determine·the·version·in·order·to·figure·out·what96 an·SQL·query·to·determine·the·version·in·order·to·figure·out·what
96 features·are·available.·Advanced·users·wishing·to·prevent·this·additional97 features·are·available.·Advanced·users·wishing·to·prevent·this·additional
Offset 193, 15 lines modifiedOffset 194, 15 lines modified
193 ······194 ······
194 ········195 ········
195 ··········<div·class="yui-b"·id="sidebar">196 ··········<div·class="yui-b"·id="sidebar">
196 ············197 ············
197 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">198 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
198 ········<div·class="sphinxsidebarwrapper">199 ········<div·class="sphinxsidebarwrapper">
199 ··<div>200 ··<div>
200 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>201 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
201 ····<ul>202 ····<ul>
202 <li><a·class="reference·internal"·href="#">Testing·GeoDjango·apps</a><ul>203 <li><a·class="reference·internal"·href="#">Testing·GeoDjango·apps</a><ul>
203 <li><a·class="reference·internal"·href="#postgis">PostGIS</a><ul>204 <li><a·class="reference·internal"·href="#postgis">PostGIS</a><ul>
204 <li><a·class="reference·internal"·href="#settings">Settings</a><ul>205 <li><a·class="reference·internal"·href="#settings">Settings</a><ul>
205 <li><a·class="reference·internal"·href="#postgis-version"><code·class="docutils·literal·notranslate"><span·class="pre">POSTGIS_VERSION</span></code></a></li>206 <li><a·class="reference·internal"·href="#postgis-version"><code·class="docutils·literal·notranslate"><span·class="pre">POSTGIS_VERSION</span></code></a></li>
206 </ul>207 </ul>
207 </li>208 </li>
Offset 219, 37 lines modifiedOffset 220, 37 lines modified
219 </li>220 </li>
220 </ul>221 </ul>
221 </li>222 </li>
222 </ul>223 </ul>
  
223 ··</div>224 ··</div>
224 ··<div>225 ··<div>
225 ····<h4>Previous·topic</h4>226 ····<h4>Eelmine·teema</h4>
226 ····<p·class="topless"><a·href="sitemaps.html"227 ····<p·class="topless"><a·href="sitemaps.html"
227 ··························title="previous·chapter">Geographic·Sitemaps</a></p>228 ··························title="eelmine·jaotis">Geographic·Sitemaps</a></p>
228 ··</div>229 ··</div>
229 ··<div>230 ··<div>
230 ····<h4>Next·topic</h4>231 ····<h4>Järgmine·teema</h4>
231 ····<p·class="topless"><a·href="deployment.html"232 ····<p·class="topless"><a·href="deployment.html"
232 ··························title="next·chapter">Deploying·GeoDjango</a></p>233 ··························title="järgmine·jaotis">Deploying·GeoDjango</a></p>
233 ··</div>234 ··</div>
234 <search·id="searchbox"·style="display:·none"·role="search">235 <search·id="searchbox"·style="display:·none"·role="search">
235 ··<h3·id="searchlabel">Quick·search</h3>236 ··<h3·id="searchlabel">Kiirotsing</h3>
236 ····<div·class="searchformwrapper">237 ····<div·class="searchformwrapper">
237 ····<form·class="search"·action="../../../search.html"·method="get">238 ····<form·class="search"·action="../../../search.html"·method="get">
238 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>239 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
239 ······<input·type="submit"·value="Go"·/>240 ······<input·type="submit"·value="Otsi"·/>
240 ····</form>241 ····</form>
241 ····</div>242 ····</div>
242 </search>243 </search>
243 <script>document.getElementById('searchbox').style.display·=·"block"</script>244 <script>document.getElementById('searchbox').style.display·=·"block"</script>
244 ········</div>245 ········</div>
245 ······</div>246 ······</div>
246 ··············<h3>Last·update:</h3>247 ··············<h3>Last·update:</h3>
247 ··············<p·class="topless">Nov·05,·2024</p>248 ··············<p·class="topless">nov·05,·2024</p>
248 ··········</div>249 ··········</div>
249 ········250 ········
250 ······251 ······
251 ····</div>252 ····</div>
  
252 ····<div·id="ft">253 ····<div·id="ft">
253 ······<div·class="nav">254 ······<div·class="nav">
3.21 KB
html2text {}
Max HTML report size reached
20.8 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/tutorial.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoDjango·Tutorial·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoDjango·Tutorial·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="GeoDjango·Installation"·href="install/index.html"·/>15 ····<link·rel="next"·title="GeoDjango·Installation"·href="install/index.html"·/>
15 ····<link·rel="prev"·title="GeoDjango"·href="index.html"·/>16 ····<link·rel="prev"·title="GeoDjango"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../../../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../../../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 105, 25 lines modifiedOffset 106, 25 lines modified
105 operations·and·data·manipulation·in·different·formats.</p></li>106 operations·and·data·manipulation·in·different·formats.</p></li>
106 <li><p>Editing·geometry·fields·from·the·admin.</p></li>107 <li><p>Editing·geometry·fields·from·the·admin.</p></li>
107 </ul>108 </ul>
108 <p>This·tutorial·assumes·familiarity·with·Django;·thus,·if·you’re·brand·new·to109 <p>This·tutorial·assumes·familiarity·with·Django;·thus,·if·you’re·brand·new·to
109 Django,·please·read·through·the·<a·class="reference·internal"·href="../../../intro/tutorial01.html"><span·class="doc">regular·tutorial</span></a>·to110 Django,·please·read·through·the·<a·class="reference·internal"·href="../../../intro/tutorial01.html"><span·class="doc">regular·tutorial</span></a>·to
110 familiarize·yourself·with·Django·first.</p>111 familiarize·yourself·with·Django·first.</p>
111 <div·class="admonition·note">112 <div·class="admonition·note">
112 <p·class="admonition-title">Note</p>113 <p·class="admonition-title">rkus</p>
113 <p>GeoDjango·has·additional·requirements·beyond·what·Django·requires·114 <p>GeoDjango·has·additional·requirements·beyond·what·Django·requires·
114 please·consult·the·<a·class="reference·internal"·href="install/index.html"><span·class="doc">installation·documentation</span></a>115 please·consult·the·<a·class="reference·internal"·href="install/index.html"><span·class="doc">installation·documentation</span></a>
115 for·more·details.</p>116 for·more·details.</p>
116 </div>117 </div>
117 <p>This·tutorial·will·guide·you·through·the·creation·of·a·geographic·web118 <p>This·tutorial·will·guide·you·through·the·creation·of·a·geographic·web
118 application·for·viewing·the·<a·class="reference·external"·href="https://web.archive.org/web/20240123190237/https://thematicmapping.org/downloads/world_borders.php">world·borders</a>.·<a·class="footnote-reference·brackets"·href="#id11"·id="id1"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a>·Some·of·the·code119 application·for·viewing·the·<a·class="reference·external"·href="https://web.archive.org/web/20240123190237/https://thematicmapping.org/downloads/world_borders.php">world·borders</a>.·<a·class="footnote-reference·brackets"·href="#id11"·id="id1"·role="doc-noteref"><span·class="fn-bracket">[</span>1<span·class="fn-bracket">]</span></a>·Some·of·the·code
119 used·in·this·tutorial·is·taken·from·and/or·inspired·by·the·<a·class="reference·external"·href="https://code.google.com/archive/p/geodjango-basic-apps">GeoDjango120 used·in·this·tutorial·is·taken·from·and/or·inspired·by·the·<a·class="reference·external"·href="https://code.google.com/archive/p/geodjango-basic-apps">GeoDjango
120 basic·apps</a>·project.·<a·class="footnote-reference·brackets"·href="#id12"·id="id2"·role="doc-noteref"><span·class="fn-bracket">[</span>2<span·class="fn-bracket">]</span></a></p>121 basic·apps</a>·project.·<a·class="footnote-reference·brackets"·href="#id12"·id="id2"·role="doc-noteref"><span·class="fn-bracket">[</span>2<span·class="fn-bracket">]</span></a></p>
121 <div·class="admonition·note">122 <div·class="admonition·note">
122 <p·class="admonition-title">Note</p>123 <p·class="admonition-title">rkus</p>
123 <p>Proceed·through·the·tutorial·sections·sequentially·for·step-by-step124 <p>Proceed·through·the·tutorial·sections·sequentially·for·step-by-step
124 instructions.</p>125 instructions.</p>
125 </div>126 </div>
126 </section>127 </section>
127 <section·id="s-setting-up">128 <section·id="s-setting-up">
128 <span·id="setting-up"></span><h2>Setting·Up<a·class="headerlink"·href="#setting-up"·title="Link·to·this·heading">¶</a></h2>129 <span·id="setting-up"></span><h2>Setting·Up<a·class="headerlink"·href="#setting-up"·title="Link·to·this·heading">¶</a></h2>
129 <section·id="s-create-a-spatial-database">130 <section·id="s-create-a-spatial-database">
Offset 336, 15 lines modifiedOffset 337, 15 lines modified
336 <span·class="go">LON:·Real·(8.3)</span>337 <span·class="go">LON:·Real·(8.3)</span>
337 <span·class="go">LAT:·Real·(7.3)</span>338 <span·class="go">LAT:·Real·(7.3)</span>
338 </pre></div>339 </pre></div>
339 </section>340 </section>
340 </div>341 </div>
341 <p>This·detailed·summary·information·tells·us·the·number·of·features·in·the·layer342 <p>This·detailed·summary·information·tells·us·the·number·of·features·in·the·layer
342 (246),·the·geographic·bounds·of·the·data,·the·spatial·reference·system343 (246),·the·geographic·bounds·of·the·data,·the·spatial·reference·system
343 (SRS·WKT),·as·well·as·type·information·for·each·attribute·field.·For·example,344 (SRS·WKT),·as·well·as·type·information·for·each·attribute·field.·For·example,
344 <code·class="docutils·literal·notranslate"><span·class="pre">FIPS:</span>·<span·class="pre">String</span>·<span·class="pre">(2.0)</span></code>·indicates·that·the·<code·class="docutils·literal·notranslate"><span·class="pre">FIPS</span></code>·character·field·has345 <code·class="docutils·literal·notranslate"><span·class="pre">FIPS:</span>·<span·class="pre">String</span>·<span·class="pre">(2.0)</span></code>·indicates·that·the·<code·class="docutils·literal·notranslate"><span·class="pre">FIPS</span></code>·character·field·has
345 a·maximum·length·of·2.··Similarly,·<code·class="docutils·literal·notranslate"><span·class="pre">LON:</span>·<span·class="pre">Real</span>·<span·class="pre">(8.3)</span></code>·is·a·floating-point346 a·maximum·length·of·2.··Similarly,·<code·class="docutils·literal·notranslate"><span·class="pre">LON:</span>·<span·class="pre">Real</span>·<span·class="pre">(8.3)</span></code>·is·a·floating-point
346 field·that·holds·a·maximum·of·8·digits·up·to·three·decimal·places.</p>347 field·that·holds·a·maximum·of·8·digits·up·to·three·decimal·places.</p>
347 </section>348 </section>
348 </section>349 </section>
349 <section·id="s-geographic-models">350 <section·id="s-geographic-models">
350 <span·id="geographic-models"></span><h2>Geographic·Models<a·class="headerlink"·href="#geographic-models"·title="Link·to·this·heading">¶</a></h2>351 <span·id="geographic-models"></span><h2>Geographic·Models<a·class="headerlink"·href="#geographic-models"·title="Link·to·this·heading">¶</a></h2>
Offset 511, 15 lines modifiedOffset 512, 15 lines modified
511 </section>512 </section>
512 <section·class="c-content-win"·id="c-content-8-win">513 <section·class="c-content-win"·id="c-content-8-win">
513 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·manage.py·shell514 <div·class="highlight"><pre><span></span><span·class="gp">...\&gt;</span>·py·manage.py·shell
514 </pre></div>515 </pre></div>
515 </section>516 </section>
516 </div>517 </div>
517 <p>If·you·downloaded·the·<a·class="reference·internal"·href="#worldborders"><span·class="std·std-ref">World·Borders</span></a>·data·earlier·in·the·tutorial,·then518 <p>If·you·downloaded·the·<a·class="reference·internal"·href="#worldborders"><span·class="std·std-ref">World·Borders</span></a>·data·earlier·in·the·tutorial,·then
518 you·can·determine·its·path·using·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>:</p>519 you·can·determine·its·path·using·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>:</p>
519 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">pathlib</span>·<span·class="kn">import</span>·<span·class="n">Path</span>520 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">pathlib</span>·<span·class="kn">import</span>·<span·class="n">Path</span>
520 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">import</span>·<span·class="nn">world</span>521 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">import</span>·<span·class="nn">world</span>
521 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">world_shp</span>·<span·class="o">=</span>·<span·class="n">Path</span><span·class="p">(</span><span·class="n">world</span><span·class="o">.</span><span·class="vm">__file__</span><span·class="p">)</span><span·class="o">.</span><span·class="n">resolve</span><span·class="p">()</span><span·class="o">.</span><span·class="n">parent</span>·<span·class="o">/</span>·<span·class="s2">&quot;data&quot;</span>·<span·class="o">/</span>·<span·class="s2">&quot;TM_WORLD_BORDERS-0.3.shp&quot;</span>522 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">world_shp</span>·<span·class="o">=</span>·<span·class="n">Path</span><span·class="p">(</span><span·class="n">world</span><span·class="o">.</span><span·class="vm">__file__</span><span·class="p">)</span><span·class="o">.</span><span·class="n">resolve</span><span·class="p">()</span><span·class="o">.</span><span·class="n">parent</span>·<span·class="o">/</span>·<span·class="s2">&quot;data&quot;</span>·<span·class="o">/</span>·<span·class="s2">&quot;TM_WORLD_BORDERS-0.3.shp&quot;</span>
522 </pre></div>523 </pre></div>
523 </div>524 </div>
524 <p>Now,·open·the·world·borders·shapefile·using·GeoDjango’s525 <p>Now,·open·the·world·borders·shapefile·using·GeoDjango’s
525 <a·class="reference·internal"·href="gdal.html#django.contrib.gis.gdal.DataSource"·title="django.contrib.gis.gdal.DataSource"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DataSource</span></code></a>·interface:</p>526 <a·class="reference·internal"·href="gdal.html#django.contrib.gis.gdal.DataSource"·title="django.contrib.gis.gdal.DataSource"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DataSource</span></code></a>·interface:</p>
Offset 542, 15 lines modifiedOffset 543, 15 lines modified
542 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="n">lyr</span><span·class="o">.</span><span·class="n">geom_type</span><span·class="p">)</span>543 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="n">lyr</span><span·class="o">.</span><span·class="n">geom_type</span><span·class="p">)</span>
543 <span·class="go">Polygon</span>544 <span·class="go">Polygon</span>
544 <span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="nb">len</span><span·class="p">(</span><span·class="n">lyr</span><span·class="p">))</span>545 <span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="nb">len</span><span·class="p">(</span><span·class="n">lyr</span><span·class="p">))</span>
545 <span·class="go">246</span>546 <span·class="go">246</span>
546 </pre></div>547 </pre></div>
547 </div>548 </div>
548 <div·class="admonition·note">549 <div·class="admonition·note">
549 <p·class="admonition-title">Note</p>550 <p·class="admonition-title">rkus</p>
550 <p>Unfortunately,·the·shapefile·data·format·does·not·allow·for·greater551 <p>Unfortunately,·the·shapefile·data·format·does·not·allow·for·greater
551 specificity·with·regards·to·geometry·types.··This·shapefile,·like552 specificity·with·regards·to·geometry·types.··This·shapefile,·like
552 many·others,·actually·includes·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygon</span></code>·geometries,·not·Polygons.553 many·others,·actually·includes·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygon</span></code>·geometries,·not·Polygons.
553 It’s·important·to·use·a·more·general·field·type·in·models:·a554 It’s·important·to·use·a·more·general·field·type·in·models:·a
554 GeoDjango·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygonField</span></code>·will·accept·a·<code·class="docutils·literal·notranslate"><span·class="pre">Polygon</span></code>·geometry,·but·a555 GeoDjango·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygonField</span></code>·will·accept·a·<code·class="docutils·literal·notranslate"><span·class="pre">Polygon</span></code>·geometry,·but·a
555 <code·class="docutils·literal·notranslate"><span·class="pre">PolygonField</span></code>·will·not·accept·a·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygon</span></code>·type·geometry.··This556 <code·class="docutils·literal·notranslate"><span·class="pre">PolygonField</span></code>·will·not·accept·a·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygon</span></code>·type·geometry.··This
556 is·why·the·<code·class="docutils·literal·notranslate"><span·class="pre">WorldBorder</span></code>·model·defined·above·uses·a·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygonField</span></code>.</p>557 is·why·the·<code·class="docutils·literal·notranslate"><span·class="pre">WorldBorder</span></code>·model·defined·above·uses·a·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPolygonField</span></code>.</p>
Offset 847, 15 lines modifiedOffset 848, 15 lines modified
847 example,·coordinates·will·be·expressed·in·<a·class="reference·external"·href="https://spatialreference.org/ref/epsg/32140/">EPSG·SRID·32140</a>,848 example,·coordinates·will·be·expressed·in·<a·class="reference·external"·href="https://spatialreference.org/ref/epsg/32140/">EPSG·SRID·32140</a>,
848 a·coordinate·system·specific·to·south·Texas·<strong>only</strong>·and·in·units·of849 a·coordinate·system·specific·to·south·Texas·<strong>only</strong>·and·in·units·of
849 <strong>meters</strong>,·not·degrees:</p>850 <strong>meters</strong>,·not·degrees:</p>
850 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.contrib.gis.geos</span>·<span·class="kn">import</span>·<span·class="n">GEOSGeometry</span><span·class="p">,</span>·<span·class="n">Point</span>851 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.contrib.gis.geos</span>·<span·class="kn">import</span>·<span·class="n">GEOSGeometry</span><span·class="p">,</span>·<span·class="n">Point</span>
851 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">pnt</span>·<span·class="o">=</span>·<span·class="n">Point</span><span·class="p">(</span><span·class="mf">954158.1</span><span·class="p">,</span>·<span·class="mf">4215137.1</span><span·class="p">,</span>·<span·class="n">srid</span><span·class="o">=</span><span·class="mi">32140</span><span·class="p">)</span>852 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">pnt</span>·<span·class="o">=</span>·<span·class="n">Point</span><span·class="p">(</span><span·class="mf">954158.1</span><span·class="p">,</span>·<span·class="mf">4215137.1</span><span·class="p">,</span>·<span·class="n">srid</span><span·class="o">=</span><span·class="mi">32140</span><span·class="p">)</span>
852 </pre></div>853 </pre></div>
853 </div>854 </div>
854 <p>Note·that·<code·class="docutils·literal·notranslate"><span·class="pre">pnt</span></code>·may·also·be·constructed·with·EWKT,·an·extended·form·of855 <p>Note·that·<code·class="docutils·literal·notranslate"><span·class="pre">pnt</span></code>·may·also·be·constructed·with·EWKT,·an·extended·form·of
855 WKT·that·includes·the·SRID:</p>856 WKT·that·includes·the·SRID:</p>
856 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">pnt</span>·<span·class="o">=</span>·<span·class="n">GEOSGeometry</span><span·class="p">(</span><span·class="s2">&quot;SRID=32140;POINT(954158.1·4215137.1)&quot;</span><span·class="p">)</span>857 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">pnt</span>·<span·class="o">=</span>·<span·class="n">GEOSGeometry</span><span·class="p">(</span><span·class="s2">&quot;SRID=32140;POINT(954158.1·4215137.1)&quot;</span><span·class="p">)</span>
857 </pre></div>858 </pre></div>
858 </div>859 </div>
859 <p>GeoDjango’s·ORM·will·automatically·wrap·geometry·values860 <p>GeoDjango’s·ORM·will·automatically·wrap·geometry·values
Max diff block lines reached; 2449/13558 bytes (18.06%) of diff not shown.
7.45 KB
html2text {}
Max HTML report size reached
6.04 KB
./usr/share/doc/python-django-doc/html/ref/contrib/gis/utils.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>GeoDjango·Utilities·&#8212;·Django·5.1.3·documentation</title>6 ····<title>GeoDjango·Utilities·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="LayerMapping·data·import·utility"·href="layermapping.html"·/>15 ····<link·rel="next"·title="LayerMapping·data·import·utility"·href="layermapping.html"·/>
15 ····<link·rel="prev"·title="Geolocation·with·GeoIP2"·href="geoip2.html"·/>16 ····<link·rel="prev"·title="Geolocation·with·GeoIP2"·href="geoip2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 106, 37 lines modifiedOffset 107, 37 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="geoip2.html"115 ····<p·class="topless"><a·href="geoip2.html"
115 ··························title="previous·chapter">Geolocation·with·GeoIP2</a></p>116 ··························title="eelmine·jaotis">Geolocation·with·GeoIP2</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="layermapping.html"120 ····<p·class="topless"><a·href="layermapping.html"
120 ··························title="next·chapter"><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·data·import·utility</a></p>121 ··························title="järgmine·jaotis"><code·class="docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code>·data·import·utility</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../../../search.html"·method="get">126 ····<form·class="search"·action="../../../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.95 KB
html2text {}
Max HTML report size reached
16.9 KB
./usr/share/doc/python-django-doc/html/ref/contrib/humanize.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>django.contrib.humanize·&#8212;·Django·5.1.3·documentation</title>6 ····<title>django.contrib.humanize·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·messages·framework"·href="messages.html"·/>15 ····<link·rel="next"·title="The·messages·framework"·href="messages.html"·/>
15 ····<link·rel="prev"·title="Deploying·GeoDjango"·href="gis/deployment.html"·/>16 ····<link·rel="prev"·title="Deploying·GeoDjango"·href="gis/deployment.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 15 lines modifiedOffset 76, 15 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-contrib-humanize">79 ··········<div·class="yui-g"·id="ref-contrib-humanize">
79 ············80 ············
80 ··<section·id="s-module-django.contrib.humanize">81 ··<section·id="s-module-django.contrib.humanize">
81 <span·id="s-django-contrib-humanize"></span><span·id="module-django.contrib.humanize"></span><span·id="django-contrib-humanize"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code><a·class="headerlink"·href="#module-django.contrib.humanize"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-django-contrib-humanize"></span><span·id="module-django.contrib.humanize"></span><span·id="django-contrib-humanize"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code><a·class="headerlink"·href="#module-django.contrib.humanize"·title="Link·to·this·heading">¶</a></h1>
82 <p>A·set·of·Django·template·filters·useful·for·adding·a·human·touch·to·data.</p>83 <p>A·set·of·Django·template·filters·useful·for·adding·a·human·touch·to·data.</p>
83 <p>To·activate·these·filters,·add·<code·class="docutils·literal·notranslate"><span·class="pre">'django.contrib.humanize'</span></code>·to·your84 <p>To·activate·these·filters,·add·<code·class="docutils·literal·notranslate"><span·class="pre">'django.contrib.humanize'</span></code>·to·your
84 <a·class="reference·internal"·href="../settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·setting.·Once·you’ve·done·that,·use85 <a·class="reference·internal"·href="../settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·setting.·Once·you’ve·done·that,·use
85 <code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">load</span>·<span·class="pre">humanize</span>·<span·class="pre">%}</span></code>·in·a·template,·and·you’ll·have·access·to·the·following86 <code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">load</span>·<span·class="pre">humanize</span>·<span·class="pre">%}</span></code>·in·a·template,·and·you’ll·have·access·to·the·following
86 filters.</p>87 filters.</p>
87 <section·id="s-apnumber">88 <section·id="s-apnumber">
88 <span·id="s-std-templatefilter-apnumber"></span><span·id="apnumber"></span><span·id="std-templatefilter-apnumber"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">apnumber</span></code><a·class="headerlink"·href="#apnumber"·title="Link·to·this·heading">¶</a></h2>89 <span·id="s-std-templatefilter-apnumber"></span><span·id="apnumber"></span><span·id="std-templatefilter-apnumber"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">apnumber</span></code><a·class="headerlink"·href="#apnumber"·title="Link·to·this·heading">¶</a></h2>
89 <p>For·numbers·1-9,·returns·the·number·spelled·out.·Otherwise,·returns·the90 <p>For·numbers·1-9,·returns·the·number·spelled·out.·Otherwise,·returns·the
Offset 136, 34 lines modifiedOffset 137, 34 lines modified
136 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">1200000</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">'1,2</span>·<span·class="pre">Millionen'</span></code>.</p></li>137 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">1200000</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">'1,2</span>·<span·class="pre">Millionen'</span></code>.</p></li>
137 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">1200000000</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">'1,2</span>·<span·class="pre">Milliarden'</span></code>.</p></li>138 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">1200000000</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">'1,2</span>·<span·class="pre">Milliarden'</span></code>.</p></li>
138 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">-1200000000</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">'-1,2</span>·<span·class="pre">Milliarden'</span></code>.</p></li>139 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">-1200000000</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">'-1,2</span>·<span·class="pre">Milliarden'</span></code>.</p></li>
139 </ul>140 </ul>
140 </section>141 </section>
141 <section·id="s-naturalday">142 <section·id="s-naturalday">
142 <span·id="s-std-templatefilter-naturalday"></span><span·id="naturalday"></span><span·id="std-templatefilter-naturalday"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">naturalday</span></code><a·class="headerlink"·href="#naturalday"·title="Link·to·this·heading">¶</a></h2>143 <span·id="s-std-templatefilter-naturalday"></span><span·id="naturalday"></span><span·id="std-templatefilter-naturalday"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">naturalday</span></code><a·class="headerlink"·href="#naturalday"·title="Link·to·this·heading">¶</a></h2>
143 <p>For·dates·that·are·the·current·day·or·within·one·day,·return·today,144 <p>For·dates·that·are·the·current·day·or·within·one·day,·return·today,
144 tomorrow·or·yesterday,·as·appropriate.·Otherwise,·format·the·date·using145 tomorrow·or·yesterday,·as·appropriate.·Otherwise,·format·the·date·using
145 the·passed·in·format·string.</p>146 the·passed·in·format·string.</p>
146 <p><strong>Argument:</strong>·Date·formatting·string·as·described·in·the·<a·class="reference·internal"·href="../templates/builtins.html#std-templatefilter-date"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">date</span></code></a>·tag.</p>147 <p><strong>Argument:</strong>·Date·formatting·string·as·described·in·the·<a·class="reference·internal"·href="../templates/builtins.html#std-templatefilter-date"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">date</span></code></a>·tag.</p>
147 <p>Examples·(when·today·is·17·Feb·2007):</p>148 <p>Examples·(when·today·is·17·Feb·2007):</p>
148 <ul·class="simple">149 <ul·class="simple">
149 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">16</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">yesterday</span></code>.</p></li>150 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">16</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">yesterday</span></code>.</p></li>
150 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">today</span></code>.</p></li>151 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">today</span></code>.</p></li>
151 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">18</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">tomorrow</span></code>.</p></li>152 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">18</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">tomorrow</span></code>.</p></li>
152 <li><p>Any·other·day·is·formatted·according·to·given·argument·or·the153 <li><p>Any·other·day·is·formatted·according·to·given·argument·or·the
153 <a·class="reference·internal"·href="../settings.html#std-setting-DATE_FORMAT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATE_FORMAT</span></code></a>·setting·if·no·argument·is·given.</p></li>154 <a·class="reference·internal"·href="../settings.html#std-setting-DATE_FORMAT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATE_FORMAT</span></code></a>·setting·if·no·argument·is·given.</p></li>
154 </ul>155 </ul>
155 </section>156 </section>
156 <section·id="s-naturaltime">157 <section·id="s-naturaltime">
157 <span·id="s-std-templatefilter-naturaltime"></span><span·id="naturaltime"></span><span·id="std-templatefilter-naturaltime"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">naturaltime</span></code><a·class="headerlink"·href="#naturaltime"·title="Link·to·this·heading">¶</a></h2>158 <span·id="s-std-templatefilter-naturaltime"></span><span·id="naturaltime"></span><span·id="std-templatefilter-naturaltime"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">naturaltime</span></code><a·class="headerlink"·href="#naturaltime"·title="Link·to·this·heading">¶</a></h2>
158 <p>For·datetime·values,·returns·a·string·representing·how·many·seconds,159 <p>For·datetime·values,·returns·a·string·representing·how·many·seconds,
159 minutes·or·hours·ago·it·was··falling·back·to·the·<a·class="reference·internal"·href="../templates/builtins.html#std-templatefilter-timesince"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">timesince</span></code></a>160 minutes·or·hours·ago·it·was··falling·back·to·the·<a·class="reference·internal"·href="../templates/builtins.html#std-templatefilter-timesince"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">timesince</span></code></a>
160 format·if·the·value·is·more·than·a·day·old.·In·case·the·datetime·value·is·in161 format·if·the·value·is·more·than·a·day·old.·In·case·the·datetime·value·is·in
161 the·future·the·return·value·will·automatically·use·an·appropriate·phrase.</p>162 the·future·the·return·value·will·automatically·use·an·appropriate·phrase.</p>
162 <p>Examples·(when·now·is·17·Feb·2007·16:30:00):</p>163 <p>Examples·(when·now·is·17·Feb·2007·16:30:00):</p>
163 <ul·class="simple">164 <ul·class="simple">
164 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">16:30:00</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">now</span></code>.</p></li>165 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">16:30:00</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">now</span></code>.</p></li>
165 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">16:29:31</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">29</span>·<span·class="pre">seconds</span>·<span·class="pre">ago</span></code>.</p></li>166 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">16:29:31</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">29</span>·<span·class="pre">seconds</span>·<span·class="pre">ago</span></code>.</p></li>
166 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">16:29:00</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">a</span>·<span·class="pre">minute</span>·<span·class="pre">ago</span></code>.</p></li>167 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">16:29:00</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">a</span>·<span·class="pre">minute</span>·<span·class="pre">ago</span></code>.</p></li>
167 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">16:25:35</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">4</span>·<span·class="pre">minutes</span>·<span·class="pre">ago</span></code>.</p></li>168 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">16:25:35</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">4</span>·<span·class="pre">minutes</span>·<span·class="pre">ago</span></code>.</p></li>
168 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">15:30:29</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">59</span>·<span·class="pre">minutes</span>·<span·class="pre">ago</span></code>.</p></li>169 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">15:30:29</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">59</span>·<span·class="pre">minutes</span>·<span·class="pre">ago</span></code>.</p></li>
169 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">15:30:01</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">59</span>·<span·class="pre">minutes</span>·<span·class="pre">ago</span></code>.</p></li>170 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">17</span>·<span·class="pre">Feb</span>·<span·class="pre">2007</span>·<span·class="pre">15:30:01</span></code>·becomes·<code·class="docutils·literal·notranslate"><span·class="pre">59</span>·<span·class="pre">minutes</span>·<span·class="pre">ago</span></code>.</p></li>
Offset 203, 52 lines modifiedOffset 204, 52 lines modified
203 ······204 ······
204 ········205 ········
205 ··········<div·class="yui-b"·id="sidebar">206 ··········<div·class="yui-b"·id="sidebar">
206 ············207 ············
207 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">208 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
208 ········<div·class="sphinxsidebarwrapper">209 ········<div·class="sphinxsidebarwrapper">
209 ··<div>210 ··<div>
210 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>211 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
211 ····<ul>212 ····<ul>
212 <li><a·class="reference·internal"·href="#"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code></a><ul>213 <li><a·class="reference·internal"·href="#"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code></a><ul>
213 <li><a·class="reference·internal"·href="#apnumber"><code·class="docutils·literal·notranslate"><span·class="pre">apnumber</span></code></a></li>214 <li><a·class="reference·internal"·href="#apnumber"><code·class="docutils·literal·notranslate"><span·class="pre">apnumber</span></code></a></li>
214 <li><a·class="reference·internal"·href="#intcomma"><code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code></a></li>215 <li><a·class="reference·internal"·href="#intcomma"><code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code></a></li>
215 <li><a·class="reference·internal"·href="#intword"><code·class="docutils·literal·notranslate"><span·class="pre">intword</span></code></a></li>216 <li><a·class="reference·internal"·href="#intword"><code·class="docutils·literal·notranslate"><span·class="pre">intword</span></code></a></li>
216 <li><a·class="reference·internal"·href="#naturalday"><code·class="docutils·literal·notranslate"><span·class="pre">naturalday</span></code></a></li>217 <li><a·class="reference·internal"·href="#naturalday"><code·class="docutils·literal·notranslate"><span·class="pre">naturalday</span></code></a></li>
217 <li><a·class="reference·internal"·href="#naturaltime"><code·class="docutils·literal·notranslate"><span·class="pre">naturaltime</span></code></a></li>218 <li><a·class="reference·internal"·href="#naturaltime"><code·class="docutils·literal·notranslate"><span·class="pre">naturaltime</span></code></a></li>
218 <li><a·class="reference·internal"·href="#ordinal"><code·class="docutils·literal·notranslate"><span·class="pre">ordinal</span></code></a></li>219 <li><a·class="reference·internal"·href="#ordinal"><code·class="docutils·literal·notranslate"><span·class="pre">ordinal</span></code></a></li>
219 </ul>220 </ul>
220 </li>221 </li>
221 </ul>222 </ul>
  
222 ··</div>223 ··</div>
223 ··<div>224 ··<div>
224 ····<h4>Previous·topic</h4>225 ····<h4>Eelmine·teema</h4>
225 ····<p·class="topless"><a·href="gis/deployment.html"226 ····<p·class="topless"><a·href="gis/deployment.html"
226 ··························title="previous·chapter">Deploying·GeoDjango</a></p>227 ··························title="eelmine·jaotis">Deploying·GeoDjango</a></p>
227 ··</div>228 ··</div>
228 ··<div>229 ··<div>
229 ····<h4>Next·topic</h4>230 ····<h4>Järgmine·teema</h4>
230 ····<p·class="topless"><a·href="messages.html"231 ····<p·class="topless"><a·href="messages.html"
231 ··························title="next·chapter">The·messages·framework</a></p>232 ··························title="järgmine·jaotis">The·messages·framework</a></p>
232 ··</div>233 ··</div>
233 <search·id="searchbox"·style="display:·none"·role="search">234 <search·id="searchbox"·style="display:·none"·role="search">
234 ··<h3·id="searchlabel">Quick·search</h3>235 ··<h3·id="searchlabel">Kiirotsing</h3>
235 ····<div·class="searchformwrapper">236 ····<div·class="searchformwrapper">
236 ····<form·class="search"·action="../../search.html"·method="get">237 ····<form·class="search"·action="../../search.html"·method="get">
237 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>238 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
Max diff block lines reached; 365/12513 bytes (2.92%) of diff not shown.
4.59 KB
html2text {}
Max HTML report size reached
17.5 KB
./usr/share/doc/python-django-doc/html/ref/contrib/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>contrib·packages·&#8212;·Django·5.1.3·documentation</title>6 ····<title>contrib·packages·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·Django·admin·site"·href="admin/index.html"·/>15 ····<link·rel="next"·title="The·Django·admin·site"·href="admin/index.html"·/>
15 ····<link·rel="prev"·title="Clickjacking·Protection"·href="../clickjacking.html"·/>16 ····<link·rel="prev"·title="Clickjacking·Protection"·href="../clickjacking.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 15 lines modifiedOffset 76, 15 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-contrib-index">79 ··········<div·class="yui-g"·id="ref-contrib-index">
79 ············80 ············
80 ··<section·id="s-contrib-packages">81 ··<section·id="s-contrib-packages">
81 <span·id="contrib-packages"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>·packages<a·class="headerlink"·href="#contrib-packages"·title="Link·to·this·heading">¶</a></h1>82 <span·id="contrib-packages"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>·packages<a·class="headerlink"·href="#contrib-packages"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django·aims·to·follow·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/stdlib.html#tut-batteries-included"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">batteries·included·philosophy</span></a>.·It·ships·with·a·variety·of·extra,·optional·tools83 <p>Django·aims·to·follow·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/stdlib.html#tut-batteries-included"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">batteries·included·philosophy</span></a>.·It·ships·with·a·variety·of·extra,·optional·tools
83 that·solve·common·web·development·problems.</p>84 that·solve·common·web·development·problems.</p>
84 <p>This·code·lives·in·<a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/contrib">django/contrib</a>·in·the·Django·distribution.·This·document85 <p>This·code·lives·in·<a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/contrib">django/contrib</a>·in·the·Django·distribution.·This·document
85 gives·a·rundown·of·the·packages·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>,·along·with·any·dependencies86 gives·a·rundown·of·the·packages·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>,·along·with·any·dependencies
86 those·packages·have.</p>87 those·packages·have.</p>
87 <div·class="admonition-including-contrib-packages-in-installed-apps·admonition">88 <div·class="admonition-including-contrib-packages-in-installed-apps·admonition">
88 <p·class="admonition-title">Including·<code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>·packages·in·<code·class="docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></p>89 <p·class="admonition-title">Including·<code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>·packages·in·<code·class="docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></p>
89 <p>For·most·of·these·add-ons··specifically,·the·add-ons·that·include·either90 <p>For·most·of·these·add-ons··specifically,·the·add-ons·that·include·either
Offset 99, 15 lines modifiedOffset 100, 15 lines modified
99 <li·class="toctree-l1"><a·class="reference·internal"·href="flatpages.html">The·flatpages·app</a></li>100 <li·class="toctree-l1"><a·class="reference·internal"·href="flatpages.html">The·flatpages·app</a></li>
100 <li·class="toctree-l1"><a·class="reference·internal"·href="gis/index.html">GeoDjango</a></li>101 <li·class="toctree-l1"><a·class="reference·internal"·href="gis/index.html">GeoDjango</a></li>
101 <li·class="toctree-l1"><a·class="reference·internal"·href="humanize.html"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code></a></li>102 <li·class="toctree-l1"><a·class="reference·internal"·href="humanize.html"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.humanize</span></code></a></li>
102 <li·class="toctree-l1"><a·class="reference·internal"·href="messages.html">The·messages·framework</a></li>103 <li·class="toctree-l1"><a·class="reference·internal"·href="messages.html">The·messages·framework</a></li>
103 <li·class="toctree-l1"><a·class="reference·internal"·href="postgres/index.html"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a></li>104 <li·class="toctree-l1"><a·class="reference·internal"·href="postgres/index.html"><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a></li>
104 <li·class="toctree-l1"><a·class="reference·internal"·href="redirects.html">The·redirects·app</a></li>105 <li·class="toctree-l1"><a·class="reference·internal"·href="redirects.html">The·redirects·app</a></li>
105 <li·class="toctree-l1"><a·class="reference·internal"·href="sitemaps.html">The·sitemap·framework</a></li>106 <li·class="toctree-l1"><a·class="reference·internal"·href="sitemaps.html">The·sitemap·framework</a></li>
106 <li·class="toctree-l1"><a·class="reference·internal"·href="sites.html">The·sites·framework</a></li>107 <li·class="toctree-l1"><a·class="reference·internal"·href="sites.html">The·sites·framework</a></li>
107 <li·class="toctree-l1"><a·class="reference·internal"·href="staticfiles.html">The·<code·class="docutils·literal·notranslate"><span·class="pre">staticfiles</span></code>·app</a></li>108 <li·class="toctree-l1"><a·class="reference·internal"·href="staticfiles.html">The·<code·class="docutils·literal·notranslate"><span·class="pre">staticfiles</span></code>·app</a></li>
108 <li·class="toctree-l1"><a·class="reference·internal"·href="syndication.html">The·syndication·feed·framework</a></li>109 <li·class="toctree-l1"><a·class="reference·internal"·href="syndication.html">The·syndication·feed·framework</a></li>
109 </ul>110 </ul>
110 </div>111 </div>
111 <section·id="s-admin">112 <section·id="s-admin">
112 <span·id="admin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">admin</span></code><a·class="headerlink"·href="#admin"·title="Link·to·this·heading">¶</a></h2>113 <span·id="admin"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">admin</span></code><a·class="headerlink"·href="#admin"·title="Link·to·this·heading">¶</a></h2>
113 <p>The·automatic·Django·administrative·interface.·For·more·information,·see114 <p>The·automatic·Django·administrative·interface.·For·more·information,·see
Offset 118, 33 lines modifiedOffset 119, 33 lines modified
118 <section·id="s-auth">119 <section·id="s-auth">
119 <span·id="auth"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">auth</span></code><a·class="headerlink"·href="#auth"·title="Link·to·this·heading">¶</a></h2>120 <span·id="auth"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">auth</span></code><a·class="headerlink"·href="#auth"·title="Link·to·this·heading">¶</a></h2>
120 <p>Django’s·authentication·framework.</p>121 <p>Django’s·authentication·framework.</p>
121 <p>See·<a·class="reference·internal"·href="../../topics/auth/index.html"><span·class="doc">User·authentication·in·Django</span></a>.</p>122 <p>See·<a·class="reference·internal"·href="../../topics/auth/index.html"><span·class="doc">User·authentication·in·Django</span></a>.</p>
122 </section>123 </section>
123 <section·id="s-contenttypes">124 <section·id="s-contenttypes">
124 <span·id="contenttypes"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">contenttypes</span></code><a·class="headerlink"·href="#contenttypes"·title="Link·to·this·heading">¶</a></h2>125 <span·id="contenttypes"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">contenttypes</span></code><a·class="headerlink"·href="#contenttypes"·title="Link·to·this·heading">¶</a></h2>
125 <p>A·light·framework·for·hooking·into·types·of·content,·where·each·installed126 <p>A·light·framework·for·hooking·into·types·of·content,·where·each·installed
126 Django·model·is·a·separate·content·type.</p>127 Django·model·is·a·separate·content·type.</p>
127 <p>See·the·<a·class="reference·internal"·href="contenttypes.html"><span·class="doc">contenttypes·documentation</span></a>.</p>128 <p>See·the·<a·class="reference·internal"·href="contenttypes.html"><span·class="doc">contenttypes·documentation</span></a>.</p>
128 </section>129 </section>
129 <section·id="s-flatpages">130 <section·id="s-flatpages">
130 <span·id="flatpages"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">flatpages</span></code><a·class="headerlink"·href="#flatpages"·title="Link·to·this·heading">¶</a></h2>131 <span·id="flatpages"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">flatpages</span></code><a·class="headerlink"·href="#flatpages"·title="Link·to·this·heading">¶</a></h2>
131 <p>A·framework·for·managing·flat·HTML·content·in·a·database.</p>132 <p>A·framework·for·managing·flat·HTML·content·in·a·database.</p>
132 <p>See·the·<a·class="reference·internal"·href="flatpages.html"><span·class="doc">flatpages·documentation</span></a>.</p>133 <p>See·the·<a·class="reference·internal"·href="flatpages.html"><span·class="doc">flatpages·documentation</span></a>.</p>
133 <p>Requires·the·<a·class="reference·internal"·href="#sites">sites</a>·contrib·package·to·be·installed·as·well.</p>134 <p>Requires·the·<a·class="reference·internal"·href="#sites">sites</a>·contrib·package·to·be·installed·as·well.</p>
134 </section>135 </section>
135 <section·id="s-gis">136 <section·id="s-gis">
136 <span·id="gis"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">gis</span></code><a·class="headerlink"·href="#gis"·title="Link·to·this·heading">¶</a></h2>137 <span·id="gis"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">gis</span></code><a·class="headerlink"·href="#gis"·title="Link·to·this·heading">¶</a></h2>
137 <p>A·world-class·geospatial·framework·built·on·top·of·Django,·that·enables138 <p>A·world-class·geospatial·framework·built·on·top·of·Django,·that·enables
138 storage,·manipulation·and·display·of·spatial·data.</p>139 storage,·manipulation·and·display·of·spatial·data.</p>
139 <p>See·the·<a·class="reference·internal"·href="gis/index.html"><span·class="doc">GeoDjango</span></a>·documentation·for·more.</p>140 <p>See·the·<a·class="reference·internal"·href="gis/index.html"><span·class="doc">GeoDjango</span></a>·documentation·for·more.</p>
140 </section>141 </section>
141 <section·id="s-humanize">142 <section·id="s-humanize">
142 <span·id="humanize"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">humanize</span></code><a·class="headerlink"·href="#humanize"·title="Link·to·this·heading">¶</a></h2>143 <span·id="humanize"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">humanize</span></code><a·class="headerlink"·href="#humanize"·title="Link·to·this·heading">¶</a></h2>
143 <p>A·set·of·Django·template·filters·useful·for·adding·a·human·touch·to·data.</p>144 <p>A·set·of·Django·template·filters·useful·for·adding·a·human·touch·to·data.</p>
144 <p>See·the·<a·class="reference·internal"·href="humanize.html"><span·class="doc">humanize·documentation</span></a>.</p>145 <p>See·the·<a·class="reference·internal"·href="humanize.html"><span·class="doc">humanize·documentation</span></a>.</p>
145 </section>146 </section>
146 <section·id="s-messages">147 <section·id="s-messages">
147 <span·id="messages"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">messages</span></code><a·class="headerlink"·href="#messages"·title="Link·to·this·heading">¶</a></h2>148 <span·id="messages"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">messages</span></code><a·class="headerlink"·href="#messages"·title="Link·to·this·heading">¶</a></h2>
148 <p>A·framework·for·storing·and·retrieving·temporary·cookie-·or·session-based149 <p>A·framework·for·storing·and·retrieving·temporary·cookie-·or·session-based
149 messages</p>150 messages</p>
150 <p>See·the·<a·class="reference·internal"·href="messages.html"><span·class="doc">messages·documentation</span></a>.</p>151 <p>See·the·<a·class="reference·internal"·href="messages.html"><span·class="doc">messages·documentation</span></a>.</p>
Offset 195, 15 lines modifiedOffset 196, 15 lines modified
195 ······196 ······
196 ········197 ········
197 ··········<div·class="yui-b"·id="sidebar">198 ··········<div·class="yui-b"·id="sidebar">
198 ············199 ············
199 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">200 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
200 ········<div·class="sphinxsidebarwrapper">201 ········<div·class="sphinxsidebarwrapper">
201 ··<div>202 ··<div>
202 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>203 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
203 ····<ul>204 ····<ul>
204 <li><a·class="reference·internal"·href="#"><code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>·packages</a><ul>205 <li><a·class="reference·internal"·href="#"><code·class="docutils·literal·notranslate"><span·class="pre">contrib</span></code>·packages</a><ul>
205 <li><a·class="reference·internal"·href="#admin"><code·class="docutils·literal·notranslate"><span·class="pre">admin</span></code></a></li>206 <li><a·class="reference·internal"·href="#admin"><code·class="docutils·literal·notranslate"><span·class="pre">admin</span></code></a></li>
206 <li><a·class="reference·internal"·href="#auth"><code·class="docutils·literal·notranslate"><span·class="pre">auth</span></code></a></li>207 <li><a·class="reference·internal"·href="#auth"><code·class="docutils·literal·notranslate"><span·class="pre">auth</span></code></a></li>
207 <li><a·class="reference·internal"·href="#contenttypes"><code·class="docutils·literal·notranslate"><span·class="pre">contenttypes</span></code></a></li>208 <li><a·class="reference·internal"·href="#contenttypes"><code·class="docutils·literal·notranslate"><span·class="pre">contenttypes</span></code></a></li>
208 <li><a·class="reference·internal"·href="#flatpages"><code·class="docutils·literal·notranslate"><span·class="pre">flatpages</span></code></a></li>209 <li><a·class="reference·internal"·href="#flatpages"><code·class="docutils·literal·notranslate"><span·class="pre">flatpages</span></code></a></li>
209 <li><a·class="reference·internal"·href="#gis"><code·class="docutils·literal·notranslate"><span·class="pre">gis</span></code></a></li>210 <li><a·class="reference·internal"·href="#gis"><code·class="docutils·literal·notranslate"><span·class="pre">gis</span></code></a></li>
Offset 218, 37 lines modifiedOffset 219, 37 lines modified
218 <li><a·class="reference·internal"·href="#other-add-ons">Other·add-ons</a></li>219 <li><a·class="reference·internal"·href="#other-add-ons">Other·add-ons</a></li>
219 </ul>220 </ul>
220 </li>221 </li>
221 </ul>222 </ul>
  
Max diff block lines reached; 1435/11549 bytes (12.43%) of diff not shown.
6.13 KB
html2text {}
Max HTML report size reached
30.5 KB
./usr/share/doc/python-django-doc/html/ref/contrib/messages.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·messages·framework·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·messages·framework·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="django.contrib.postgres"·href="postgres/index.html"·/>15 ····<link·rel="next"·title="django.contrib.postgres"·href="postgres/index.html"·/>
15 ····<link·rel="prev"·title="django.contrib.humanize"·href="humanize.html"·/>16 ····<link·rel="prev"·title="django.contrib.humanize"·href="humanize.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-contrib-messages">79 ··········<div·class="yui-g"·id="ref-contrib-messages">
79 ············80 ············
80 ··<section·id="s-module-django.contrib.messages">81 ··<section·id="s-module-django.contrib.messages">
81 <span·id="s-the-messages-framework"></span><span·id="module-django.contrib.messages"></span><span·id="the-messages-framework"></span><h1>The·messages·framework<a·class="headerlink"·href="#module-django.contrib.messages"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-the-messages-framework"></span><span·id="module-django.contrib.messages"></span><span·id="the-messages-framework"></span><h1>The·messages·framework<a·class="headerlink"·href="#module-django.contrib.messages"·title="Link·to·this·heading">¶</a></h1>
82 <p>Quite·commonly·in·web·applications,·you·need·to·display·a·one-time83 <p>Quite·commonly·in·web·applications,·you·need·to·display·a·one-time
83 notification·message·(also·known·as·flash·message)·to·the·user·after84 notification·message·(also·known·as·flash·message)·to·the·user·after
84 processing·a·form·or·some·other·types·of·user·input.</p>85 processing·a·form·or·some·other·types·of·user·input.</p>
85 <p>For·this,·Django·provides·full·support·for·cookie-·and·session-based86 <p>For·this,·Django·provides·full·support·for·cookie-·and·session-based
86 messaging,·for·both·anonymous·and·authenticated·users.·The·messages·framework87 messaging,·for·both·anonymous·and·authenticated·users.·The·messages·framework
87 allows·you·to·temporarily·store·messages·in·one·request·and·retrieve·them·for88 allows·you·to·temporarily·store·messages·in·one·request·and·retrieve·them·for
88 display·in·a·subsequent·request·(usually·the·next·one).·Every·message·is89 display·in·a·subsequent·request·(usually·the·next·one).·Every·message·is
89 tagged·with·a·specific·<code·class="docutils·literal·notranslate"><span·class="pre">level</span></code>·that·determines·its·priority·(e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">info</span></code>,90 tagged·with·a·specific·<code·class="docutils·literal·notranslate"><span·class="pre">level</span></code>·that·determines·its·priority·(e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">info</span></code>,
90 <code·class="docutils·literal·notranslate"><span·class="pre">warning</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">error</span></code>).</p>91 <code·class="docutils·literal·notranslate"><span·class="pre">warning</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">error</span></code>).</p>
Offset 179, 15 lines modifiedOffset 180, 15 lines modified
179 <tr·class="row-even"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></p></td>180 <tr·class="row-even"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></p></td>
180 <td><p>Development-related·messages·that·will·be·ignored·(or·removed)·in·a·production·deployment</p></td>181 <td><p>Development-related·messages·that·will·be·ignored·(or·removed)·in·a·production·deployment</p></td>
181 </tr>182 </tr>
182 <tr·class="row-odd"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">INFO</span></code></p></td>183 <tr·class="row-odd"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">INFO</span></code></p></td>
183 <td><p>Informational·messages·for·the·user</p></td>184 <td><p>Informational·messages·for·the·user</p></td>
184 </tr>185 </tr>
185 <tr·class="row-even"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">SUCCESS</span></code></p></td>186 <tr·class="row-even"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">SUCCESS</span></code></p></td>
186 <td><p>An·action·was·successful,·e.g.·Your·profile·was·updated·successfully</p></td>187 <td><p>An·action·was·successful,·e.g.·Your·profile·was·updated·successfully</p></td>
187 </tr>188 </tr>
188 <tr·class="row-odd"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code></p></td>189 <tr·class="row-odd"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code></p></td>
189 <td><p>A·failure·did·not·occur·but·may·be·imminent</p></td>190 <td><p>A·failure·did·not·occur·but·may·be·imminent</p></td>
190 </tr>191 </tr>
191 <tr·class="row-even"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">ERROR</span></code></p></td>192 <tr·class="row-even"><td><p><code·class="docutils·literal·notranslate"><span·class="pre">ERROR</span></code></p></td>
192 <td><p>An·action·was·<strong>not</strong>·successful·or·some·other·failure·occurred</p></td>193 <td><p>An·action·was·<strong>not</strong>·successful·or·some·other·failure·occurred</p></td>
193 </tr>194 </tr>
Offset 244, 15 lines modifiedOffset 245, 15 lines modified
244 </div>245 </div>
245 </section>246 </section>
246 </section>247 </section>
247 <section·id="s-using-messages-in-views-and-templates">248 <section·id="s-using-messages-in-views-and-templates">
248 <span·id="using-messages-in-views-and-templates"></span><h2>Using·messages·in·views·and·templates<a·class="headerlink"·href="#using-messages-in-views-and-templates"·title="Link·to·this·heading">¶</a></h2>249 <span·id="using-messages-in-views-and-templates"></span><h2>Using·messages·in·views·and·templates<a·class="headerlink"·href="#using-messages-in-views-and-templates"·title="Link·to·this·heading">¶</a></h2>
249 <dl·class="py·function">250 <dl·class="py·function">
250 <dt·class="sig·sig-object·py"·id="django.contrib.messages.add_message">251 <dt·class="sig·sig-object·py"·id="django.contrib.messages.add_message">
251 <span·class="sig-name·descname"><span·class="pre">add_message</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">level</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">extra_tags</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">''</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fail_silently</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/messages/api.py#L22"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.messages.add_message"·title="Link·to·this·definition">¶</a></dt>252 <span·class="sig-name·descname"><span·class="pre">add_message</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">level</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">extra_tags</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">''</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fail_silently</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/messages/api.py#L22"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.messages.add_message"·title="Link·to·this·definition">¶</a></dt>
252 <dd></dd></dl>253 <dd></dd></dl>
  
253 <section·id="s-adding-a-message">254 <section·id="s-adding-a-message">
254 <span·id="adding-a-message"></span><h3>Adding·a·message<a·class="headerlink"·href="#adding-a-message"·title="Link·to·this·heading">¶</a></h3>255 <span·id="adding-a-message"></span><h3>Adding·a·message<a·class="headerlink"·href="#adding-a-message"·title="Link·to·this·heading">¶</a></h3>
255 <p>To·add·a·message,·call:</p>256 <p>To·add·a·message,·call:</p>
256 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib</span>·<span·class="kn">import</span>·<span·class="n">messages</span>257 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib</span>·<span·class="kn">import</span>·<span·class="n">messages</span>
  
Offset 269, 15 lines modifiedOffset 270, 15 lines modified
269 </pre></div>270 </pre></div>
270 </div>271 </div>
271 </section>272 </section>
272 <section·id="s-displaying-messages">273 <section·id="s-displaying-messages">
273 <span·id="s-message-displaying"></span><span·id="displaying-messages"></span><span·id="message-displaying"></span><h3>Displaying·messages<a·class="headerlink"·href="#displaying-messages"·title="Link·to·this·heading">¶</a></h3>274 <span·id="s-message-displaying"></span><span·id="displaying-messages"></span><span·id="message-displaying"></span><h3>Displaying·messages<a·class="headerlink"·href="#displaying-messages"·title="Link·to·this·heading">¶</a></h3>
274 <dl·class="py·function">275 <dl·class="py·function">
275 <dt·class="sig·sig-object·py"·id="django.contrib.messages.get_messages">276 <dt·class="sig·sig-object·py"·id="django.contrib.messages.get_messages">
276 <span·class="sig-name·descname"><span·class="pre">get_messages</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/messages/api.py#L43"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.messages.get_messages"·title="Link·to·this·definition">¶</a></dt>277 <span·class="sig-name·descname"><span·class="pre">get_messages</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/messages/api.py#L43"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.messages.get_messages"·title="Link·to·this·definition">¶</a></dt>
277 <dd></dd></dl>278 <dd></dd></dl>
  
278 <p><strong>In·your·template</strong>,·use·something·like:</p>279 <p><strong>In·your·template</strong>,·use·something·like:</p>
279 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">messages</span>·<span·class="cp">%}</span>280 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">messages</span>·<span·class="cp">%}</span>
280 <span·class="p">&lt;</span><span·class="nt">ul</span>·<span·class="na">class</span><span·class="o">=</span><span·class="s">&quot;messages&quot;</span><span·class="p">&gt;</span>281 <span·class="p">&lt;</span><span·class="nt">ul</span>·<span·class="na">class</span><span·class="o">=</span><span·class="s">&quot;messages&quot;</span><span·class="p">&gt;</span>
281 ····<span·class="cp">{%</span>·<span·class="k">for</span>·<span·class="nv">message</span>·<span·class="k">in</span>·<span·class="nv">messages</span>·<span·class="cp">%}</span>282 ····<span·class="cp">{%</span>·<span·class="k">for</span>·<span·class="nv">message</span>·<span·class="k">in</span>·<span·class="nv">messages</span>·<span·class="cp">%}</span>
282 ····<span·class="p">&lt;</span><span·class="nt">li</span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">message.tags</span>·<span·class="cp">%}</span>·<span·class="na">class</span><span·class="o">=</span><span·class="s">&quot;</span><span·class="cp">{{</span>·<span·class="nv">message.tags</span>·<span·class="cp">}}</span><span·class="s">&quot;</span><span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span><span·class="p">&gt;</span><span·class="cp">{{</span>·<span·class="nv">message</span>·<span·class="cp">}}</span><span·class="p">&lt;/</span><span·class="nt">li</span><span·class="p">&gt;</span>283 ····<span·class="p">&lt;</span><span·class="nt">li</span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">message.tags</span>·<span·class="cp">%}</span>·<span·class="na">class</span><span·class="o">=</span><span·class="s">&quot;</span><span·class="cp">{{</span>·<span·class="nv">message.tags</span>·<span·class="cp">}}</span><span·class="s">&quot;</span><span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span><span·class="p">&gt;</span><span·class="cp">{{</span>·<span·class="nv">message</span>·<span·class="cp">}}</span><span·class="p">&lt;/</span><span·class="nt">li</span><span·class="p">&gt;</span>
Offset 321, 15 lines modifiedOffset 322, 15 lines modified
321 <p><a·class="reference·internal"·href="#django.contrib.messages.get_messages"·title="django.contrib.messages.get_messages"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_messages()</span></code></a>·will·return·an322 <p><a·class="reference·internal"·href="#django.contrib.messages.get_messages"·title="django.contrib.messages.get_messages"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_messages()</span></code></a>·will·return·an
322 instance·of·the·configured·storage·backend.</p>323 instance·of·the·configured·storage·backend.</p>
323 </section>324 </section>
324 <section·id="s-the-message-class">325 <section·id="s-the-message-class">
325 <span·id="the-message-class"></span><h3>The·<code·class="docutils·literal·notranslate"><span·class="pre">Message</span></code>·class<a·class="headerlink"·href="#the-message-class"·title="Link·to·this·heading">¶</a></h3>326 <span·id="the-message-class"></span><h3>The·<code·class="docutils·literal·notranslate"><span·class="pre">Message</span></code>·class<a·class="headerlink"·href="#the-message-class"·title="Link·to·this·heading">¶</a></h3>
326 <dl·class="py·class">327 <dl·class="py·class">
327 <dt·class="sig·sig-object·py"·id="django.contrib.messages.Message">328 <dt·class="sig·sig-object·py"·id="django.contrib.messages.Message">
328 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Message</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/messages/storage/base.py#L8"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.messages.Message"·title="Link·to·this·definition">¶</a></dt>329 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Message</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/messages/storage/base.py#L8"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.messages.Message"·title="Link·to·this·definition">¶</a></dt>
329 <dd><p>When·you·loop·over·the·list·of·messages·in·a·template,·what·you·get·are330 <dd><p>When·you·loop·over·the·list·of·messages·in·a·template,·what·you·get·are
330 instances·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">Message</span></code>·class.·They·have·only·a·few·attributes:</p>331 instances·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">Message</span></code>·class.·They·have·only·a·few·attributes:</p>
331 <ul·class="simple">332 <ul·class="simple">
332 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">message</span></code>:·The·actual·text·of·the·message.</p></li>333 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">message</span></code>:·The·actual·text·of·the·message.</p></li>
333 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">level</span></code>:·An·integer·describing·the·type·of·the·message·(see·the334 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">level</span></code>:·An·integer·describing·the·type·of·the·message·(see·the
334 <a·class="reference·internal"·href="#message-levels">message·levels</a>·section·above).</p></li>335 <a·class="reference·internal"·href="#message-levels">message·levels</a>·section·above).</p></li>
335 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">tags</span></code>:·A·string·combining·all·the·message’s·tags·(<code·class="docutils·literal·notranslate"><span·class="pre">extra_tags</span></code>·and336 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">tags</span></code>:·A·string·combining·all·the·message’s·tags·(<code·class="docutils·literal·notranslate"><span·class="pre">extra_tags</span></code>·and
Offset 379, 15 lines modifiedOffset 380, 15 lines modified
379 <td><p>40</p></td>380 <td><p>40</p></td>
380 </tr>381 </tr>
381 </tbody>382 </tbody>
382 </table>383 </table>
383 <p>If·you·need·to·identify·the·custom·levels·in·your·HTML·or·CSS,·you·need·to384 <p>If·you·need·to·identify·the·custom·levels·in·your·HTML·or·CSS,·you·need·to
384 provide·a·mapping·via·the·<a·class="reference·internal"·href="../settings.html#std-setting-MESSAGE_TAGS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MESSAGE_TAGS</span></code></a>·setting.</p>385 provide·a·mapping·via·the·<a·class="reference·internal"·href="../settings.html#std-setting-MESSAGE_TAGS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MESSAGE_TAGS</span></code></a>·setting.</p>
385 <div·class="admonition·note">386 <div·class="admonition·note">
Max diff block lines reached; 8227/21580 bytes (38.12%) of diff not shown.
9.27 KB
html2text {}
Max HTML report size reached
19.8 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/aggregates.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>PostgreSQL·specific·aggregation·functions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>PostgreSQL·specific·aggregation·functions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="PostgreSQL·specific·database·constraints"·href="constraints.html"·/>15 ····<link·rel="next"·title="PostgreSQL·specific·database·constraints"·href="constraints.html"·/>
15 ····<link·rel="prev"·title="django.contrib.postgres"·href="index.html"·/>16 ····<link·rel="prev"·title="django.contrib.postgres"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 78, 15 lines modifiedOffset 79, 15 lines modified
78 ··········<div·class="yui-g"·id="ref-contrib-postgres-aggregates">79 ··········<div·class="yui-g"·id="ref-contrib-postgres-aggregates">
79 ············80 ············
80 ··<section·id="s-module-django.contrib.postgres.aggregates">81 ··<section·id="s-module-django.contrib.postgres.aggregates">
81 <span·id="s-postgresql-specific-aggregation-functions"></span><span·id="module-django.contrib.postgres.aggregates"></span><span·id="postgresql-specific-aggregation-functions"></span><h1>PostgreSQL·specific·aggregation·functions<a·class="headerlink"·href="#module-django.contrib.postgres.aggregates"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-postgresql-specific-aggregation-functions"></span><span·id="module-django.contrib.postgres.aggregates"></span><span·id="postgresql-specific-aggregation-functions"></span><h1>PostgreSQL·specific·aggregation·functions<a·class="headerlink"·href="#module-django.contrib.postgres.aggregates"·title="Link·to·this·heading">¶</a></h1>
82 <p>These·functions·are·available·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.aggregates</span></code>83 <p>These·functions·are·available·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.aggregates</span></code>
83 module.·They·are·described·in·more·detail·in·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/functions-aggregate.html">PostgreSQL·docs</a>.</p>84 module.·They·are·described·in·more·detail·in·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/functions-aggregate.html">PostgreSQL·docs</a>.</p>
84 <div·class="admonition·note">85 <div·class="admonition·note">
85 <p·class="admonition-title">Note</p>86 <p·class="admonition-title">rkus</p>
86 <p>All·functions·come·without·default·aliases,·so·you·must·explicitly·provide87 <p>All·functions·come·without·default·aliases,·so·you·must·explicitly·provide
87 one.·For·example:</p>88 one.·For·example:</p>
88 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">SomeModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">aggregate</span><span·class="p">(</span><span·class="n">arr</span><span·class="o">=</span><span·class="n">ArrayAgg</span><span·class="p">(</span><span·class="s2">&quot;somefield&quot;</span><span·class="p">))</span>89 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">SomeModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">aggregate</span><span·class="p">(</span><span·class="n">arr</span><span·class="o">=</span><span·class="n">ArrayAgg</span><span·class="p">(</span><span·class="s2">&quot;somefield&quot;</span><span·class="p">))</span>
89 <span·class="go">{&#39;arr&#39;:·[0,·1,·2]}</span>90 <span·class="go">{&#39;arr&#39;:·[0,·1,·2]}</span>
90 </pre></div>91 </pre></div>
91 </div>92 </div>
92 </div>93 </div>
Offset 399, 15 lines modifiedOffset 400, 15 lines modified
399 <span·id="regrcount"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrCount</span></code><a·class="headerlink"·href="#regrcount"·title="Link·to·this·heading">¶</a></h3>400 <span·id="regrcount"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrCount</span></code><a·class="headerlink"·href="#regrcount"·title="Link·to·this·heading">¶</a></h3>
400 <dl·class="py·class">401 <dl·class="py·class">
401 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.aggregates.RegrCount">402 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.aggregates.RegrCount">
402 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegrCount</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">y</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">x</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.aggregates.RegrCount"·title="Link·to·this·definition">¶</a></dt>403 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegrCount</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">y</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">x</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.aggregates.RegrCount"·title="Link·to·this·definition">¶</a></dt>
403 <dd><p>Returns·an·<code·class="docutils·literal·notranslate"><span·class="pre">int</span></code>·of·the·number·of·input·rows·in·which·both·expressions404 <dd><p>Returns·an·<code·class="docutils·literal·notranslate"><span·class="pre">int</span></code>·of·the·number·of·input·rows·in·which·both·expressions
404 are·not·null.</p>405 are·not·null.</p>
405 <div·class="admonition·note">406 <div·class="admonition·note">
406 <p·class="admonition-title">Note</p>407 <p·class="admonition-title">rkus</p>
407 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·argument·is·not·supported.</p>408 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·argument·is·not·supported.</p>
408 </div>409 </div>
409 </dd></dl>410 </dd></dl>
  
410 </section>411 </section>
411 <section·id="s-regrintercept">412 <section·id="s-regrintercept">
412 <span·id="regrintercept"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrIntercept</span></code><a·class="headerlink"·href="#regrintercept"·title="Link·to·this·heading">¶</a></h3>413 <span·id="regrintercept"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrIntercept</span></code><a·class="headerlink"·href="#regrintercept"·title="Link·to·this·heading">¶</a></h3>
Offset 442, 36 lines modifiedOffset 443, 36 lines modified
  
442 </section>443 </section>
443 <section·id="s-regrsxx">444 <section·id="s-regrsxx">
444 <span·id="regrsxx"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrSXX</span></code><a·class="headerlink"·href="#regrsxx"·title="Link·to·this·heading">¶</a></h3>445 <span·id="regrsxx"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrSXX</span></code><a·class="headerlink"·href="#regrsxx"·title="Link·to·this·heading">¶</a></h3>
445 <dl·class="py·class">446 <dl·class="py·class">
446 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.aggregates.RegrSXX">447 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.aggregates.RegrSXX">
447 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegrSXX</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">y</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">x</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">default</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.aggregates.RegrSXX"·title="Link·to·this·definition">¶</a></dt>448 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegrSXX</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">y</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">x</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">default</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.aggregates.RegrSXX"·title="Link·to·this·definition">¶</a></dt>
448 <dd><p>Returns·<code·class="docutils·literal·notranslate"><span·class="pre">sum(x^2)</span>·<span·class="pre">-</span>·<span·class="pre">sum(x)^2/N</span></code>·(sum·of·squares·of·the·independent449 <dd><p>Returns·<code·class="docutils·literal·notranslate"><span·class="pre">sum(x^2)</span>·<span·class="pre">-</span>·<span·class="pre">sum(x)^2/N</span></code>·(sum·of·squares·of·the·independent
449 variable)·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">float</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·if·there·aren’t·any·matching·rows.</p>450 variable)·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">float</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·if·there·aren’t·any·matching·rows.</p>
450 </dd></dl>451 </dd></dl>
  
451 </section>452 </section>
452 <section·id="s-regrsxy">453 <section·id="s-regrsxy">
453 <span·id="regrsxy"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrSXY</span></code><a·class="headerlink"·href="#regrsxy"·title="Link·to·this·heading">¶</a></h3>454 <span·id="regrsxy"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrSXY</span></code><a·class="headerlink"·href="#regrsxy"·title="Link·to·this·heading">¶</a></h3>
454 <dl·class="py·class">455 <dl·class="py·class">
455 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.aggregates.RegrSXY">456 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.aggregates.RegrSXY">
456 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegrSXY</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">y</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">x</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">default</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.aggregates.RegrSXY"·title="Link·to·this·definition">¶</a></dt>457 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegrSXY</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">y</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">x</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">default</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.aggregates.RegrSXY"·title="Link·to·this·definition">¶</a></dt>
457 <dd><p>Returns·<code·class="docutils·literal·notranslate"><span·class="pre">sum(x*y)</span>·<span·class="pre">-</span>·<span·class="pre">sum(x)</span>·<span·class="pre">*</span>·<span·class="pre">sum(y)/N</span></code>·(sum·of·products·of·independent458 <dd><p>Returns·<code·class="docutils·literal·notranslate"><span·class="pre">sum(x*y)</span>·<span·class="pre">-</span>·<span·class="pre">sum(x)</span>·<span·class="pre">*</span>·<span·class="pre">sum(y)/N</span></code>·(sum·of·products·of·independent
458 times·dependent·variable)·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">float</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·if·there·aren’t459 times·dependent·variable)·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">float</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·if·there·aren’t
459 any·matching·rows.</p>460 any·matching·rows.</p>
460 </dd></dl>461 </dd></dl>
  
461 </section>462 </section>
462 <section·id="s-regrsyy">463 <section·id="s-regrsyy">
463 <span·id="regrsyy"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrSYY</span></code><a·class="headerlink"·href="#regrsyy"·title="Link·to·this·heading">¶</a></h3>464 <span·id="regrsyy"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegrSYY</span></code><a·class="headerlink"·href="#regrsyy"·title="Link·to·this·heading">¶</a></h3>
464 <dl·class="py·class">465 <dl·class="py·class">
465 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.aggregates.RegrSYY">466 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.aggregates.RegrSYY">
466 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegrSYY</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">y</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">x</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">default</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.aggregates.RegrSYY"·title="Link·to·this·definition">¶</a></dt>467 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegrSYY</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">y</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">x</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">default</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.aggregates.RegrSYY"·title="Link·to·this·definition">¶</a></dt>
467 <dd><p>Returns·<code·class="docutils·literal·notranslate"><span·class="pre">sum(y^2)</span>·<span·class="pre">-</span>·<span·class="pre">sum(y)^2/N</span></code>·(sum·of·squares·of·the·dependent468 <dd><p>Returns·<code·class="docutils·literal·notranslate"><span·class="pre">sum(y^2)</span>·<span·class="pre">-</span>·<span·class="pre">sum(y)^2/N</span></code>·(sum·of·squares·of·the·dependent
468 variable)·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">float</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·if·there·aren’t·any·matching·rows.</p>469 variable)·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">float</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·if·there·aren’t·any·matching·rows.</p>
469 </dd></dl>470 </dd></dl>
  
470 </section>471 </section>
471 </section>472 </section>
472 <section·id="s-usage-examples">473 <section·id="s-usage-examples">
473 <span·id="usage-examples"></span><h2>Usage·examples<a·class="headerlink"·href="#usage-examples"·title="Link·to·this·heading">¶</a></h2>474 <span·id="usage-examples"></span><h2>Usage·examples<a·class="headerlink"·href="#usage-examples"·title="Link·to·this·heading">¶</a></h2>
Offset 513, 15 lines modifiedOffset 514, 15 lines modified
513 ······514 ······
514 ········515 ········
515 ··········<div·class="yui-b"·id="sidebar">516 ··········<div·class="yui-b"·id="sidebar">
516 ············517 ············
517 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">518 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
518 ········<div·class="sphinxsidebarwrapper">519 ········<div·class="sphinxsidebarwrapper">
519 ··<div>520 ··<div>
520 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>521 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
521 ····<ul>522 ····<ul>
522 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·aggregation·functions</a><ul>523 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·aggregation·functions</a><ul>
523 <li><a·class="reference·internal"·href="#general-purpose-aggregation-functions">General-purpose·aggregation·functions</a><ul>524 <li><a·class="reference·internal"·href="#general-purpose-aggregation-functions">General-purpose·aggregation·functions</a><ul>
524 <li><a·class="reference·internal"·href="#arrayagg"><code·class="docutils·literal·notranslate"><span·class="pre">ArrayAgg</span></code></a></li>525 <li><a·class="reference·internal"·href="#arrayagg"><code·class="docutils·literal·notranslate"><span·class="pre">ArrayAgg</span></code></a></li>
525 <li><a·class="reference·internal"·href="#bitand"><code·class="docutils·literal·notranslate"><span·class="pre">BitAnd</span></code></a></li>526 <li><a·class="reference·internal"·href="#bitand"><code·class="docutils·literal·notranslate"><span·class="pre">BitAnd</span></code></a></li>
526 <li><a·class="reference·internal"·href="#bitor"><code·class="docutils·literal·notranslate"><span·class="pre">BitOr</span></code></a></li>527 <li><a·class="reference·internal"·href="#bitor"><code·class="docutils·literal·notranslate"><span·class="pre">BitOr</span></code></a></li>
527 <li><a·class="reference·internal"·href="#bitxor"><code·class="docutils·literal·notranslate"><span·class="pre">BitXor</span></code></a></li>528 <li><a·class="reference·internal"·href="#bitxor"><code·class="docutils·literal·notranslate"><span·class="pre">BitXor</span></code></a></li>
Offset 549, 37 lines modifiedOffset 550, 37 lines modified
549 <li><a·class="reference·internal"·href="#usage-examples">Usage·examples</a></li>550 <li><a·class="reference·internal"·href="#usage-examples">Usage·examples</a></li>
550 </ul>551 </ul>
Max diff block lines reached; 1635/14116 bytes (11.58%) of diff not shown.
5.88 KB
html2text {}
Max HTML report size reached
16.3 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/constraints.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>PostgreSQL·specific·database·constraints·&#8212;·Django·5.1.3·documentation</title>6 ····<title>PostgreSQL·specific·database·constraints·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="PostgreSQL·specific·query·expressions"·href="expressions.html"·/>15 ····<link·rel="next"·title="PostgreSQL·specific·query·expressions"·href="expressions.html"·/>
15 ····<link·rel="prev"·title="PostgreSQL·specific·aggregation·functions"·href="aggregates.html"·/>16 ····<link·rel="prev"·title="PostgreSQL·specific·aggregation·functions"·href="aggregates.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 82, 15 lines modifiedOffset 83, 15 lines modified
82 <p>PostgreSQL·supports·additional·data·integrity·constraints·available·from·the83 <p>PostgreSQL·supports·additional·data·integrity·constraints·available·from·the
83 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.constraints</span></code>·module.·They·are·added·in·the·model84 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.constraints</span></code>·module.·They·are·added·in·the·model
84 <a·class="reference·internal"·href="../../models/options.html#django.db.models.Options.constraints"·title="django.db.models.Options.constraints"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Meta.constraints</span></code></a>·option.</p>85 <a·class="reference·internal"·href="../../models/options.html#django.db.models.Options.constraints"·title="django.db.models.Options.constraints"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Meta.constraints</span></code></a>·option.</p>
85 <section·id="s-exclusionconstraint">86 <section·id="s-exclusionconstraint">
86 <span·id="exclusionconstraint"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ExclusionConstraint</span></code><a·class="headerlink"·href="#exclusionconstraint"·title="Link·to·this·heading">¶</a></h2>87 <span·id="exclusionconstraint"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ExclusionConstraint</span></code><a·class="headerlink"·href="#exclusionconstraint"·title="Link·to·this·heading">¶</a></h2>
87 <dl·class="py·class">88 <dl·class="py·class">
88 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.constraints.ExclusionConstraint">89 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.constraints.ExclusionConstraint">
89 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ExclusionConstraint</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">index_type</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">deferrable</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">include</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/constraints.py#L19"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.constraints.ExclusionConstraint"·title="Link·to·this·definition">¶</a></dt>90 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ExclusionConstraint</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">index_type</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">deferrable</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">include</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/constraints.py#L19"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.constraints.ExclusionConstraint"·title="Link·to·this·definition">¶</a></dt>
90 <dd><p>Creates·an·exclusion·constraint·in·the·database.·Internally,·PostgreSQL91 <dd><p>Creates·an·exclusion·constraint·in·the·database.·Internally,·PostgreSQL
91 implements·exclusion·constraints·using·indexes.·The·default·index·type·is92 implements·exclusion·constraints·using·indexes.·The·default·index·type·is
92 <a·class="reference·external"·href="https://www.postgresql.org/docs/current/gist.html">GiST</a>.·To·use·them,93 <a·class="reference·external"·href="https://www.postgresql.org/docs/current/gist.html">GiST</a>.·To·use·them,
93 you·need·to·activate·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/btree-gist.html">btree_gist·extension</a>·on·PostgreSQL.94 you·need·to·activate·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/btree-gist.html">btree_gist·extension</a>·on·PostgreSQL.
94 You·can·install·it·using·the95 You·can·install·it·using·the
95 <a·class="reference·internal"·href="operations.html#django.contrib.postgres.operations.BtreeGistExtension"·title="django.contrib.postgres.operations.BtreeGistExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BtreeGistExtension</span></code></a>·migration96 <a·class="reference·internal"·href="operations.html#django.contrib.postgres.operations.BtreeGistExtension"·title="django.contrib.postgres.operations.BtreeGistExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BtreeGistExtension</span></code></a>·migration
96 operation.</p>97 operation.</p>
Offset 187, 15 lines modifiedOffset 188, 15 lines modified
187 <span·class="p">)</span>188 <span·class="p">)</span>
188 </pre></div>189 </pre></div>
189 </div>190 </div>
190 <p>By·default·constraints·are·not·deferred.·A·deferred·constraint·will·not·be191 <p>By·default·constraints·are·not·deferred.·A·deferred·constraint·will·not·be
191 enforced·until·the·end·of·the·transaction.·An·immediate·constraint·will·be192 enforced·until·the·end·of·the·transaction.·An·immediate·constraint·will·be
192 enforced·immediately·after·every·command.</p>193 enforced·immediately·after·every·command.</p>
193 <div·class="admonition·warning">194 <div·class="admonition·warning">
194 <p·class="admonition-title">Warning</p>195 <p·class="admonition-title">Hoiatus</p>
195 <p>Deferred·exclusion·constraints·may·lead·to·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createtable.html#id-1.9.3.85.9.4">performance·penalty</a>.</p>196 <p>Deferred·exclusion·constraints·may·lead·to·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createtable.html#id-1.9.3.85.9.4">performance·penalty</a>.</p>
196 </div>197 </div>
197 </section>198 </section>
198 <section·id="s-include">199 <section·id="s-include">
199 <span·id="include"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">include</span></code><a·class="headerlink"·href="#include"·title="Link·to·this·heading">¶</a></h3>200 <span·id="include"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">include</span></code><a·class="headerlink"·href="#include"·title="Link·to·this·heading">¶</a></h3>
200 <dl·class="py·attribute">201 <dl·class="py·attribute">
201 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.constraints.ExclusionConstraint.include">202 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.constraints.ExclusionConstraint.include">
Offset 315, 15 lines modifiedOffset 316, 15 lines modified
315 ······316 ······
316 ········317 ········
317 ··········<div·class="yui-b"·id="sidebar">318 ··········<div·class="yui-b"·id="sidebar">
318 ············319 ············
319 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">320 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
320 ········<div·class="sphinxsidebarwrapper">321 ········<div·class="sphinxsidebarwrapper">
321 ··<div>322 ··<div>
322 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>323 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
323 ····<ul>324 ····<ul>
324 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·database·constraints</a><ul>325 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·database·constraints</a><ul>
325 <li><a·class="reference·internal"·href="#exclusionconstraint"><code·class="docutils·literal·notranslate"><span·class="pre">ExclusionConstraint</span></code></a><ul>326 <li><a·class="reference·internal"·href="#exclusionconstraint"><code·class="docutils·literal·notranslate"><span·class="pre">ExclusionConstraint</span></code></a><ul>
326 <li><a·class="reference·internal"·href="#name"><code·class="docutils·literal·notranslate"><span·class="pre">name</span></code></a></li>327 <li><a·class="reference·internal"·href="#name"><code·class="docutils·literal·notranslate"><span·class="pre">name</span></code></a></li>
327 <li><a·class="reference·internal"·href="#expressions"><code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code></a></li>328 <li><a·class="reference·internal"·href="#expressions"><code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code></a></li>
328 <li><a·class="reference·internal"·href="#index-type"><code·class="docutils·literal·notranslate"><span·class="pre">index_type</span></code></a></li>329 <li><a·class="reference·internal"·href="#index-type"><code·class="docutils·literal·notranslate"><span·class="pre">index_type</span></code></a></li>
329 <li><a·class="reference·internal"·href="#condition"><code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code></a></li>330 <li><a·class="reference·internal"·href="#condition"><code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code></a></li>
Offset 336, 37 lines modifiedOffset 337, 37 lines modified
336 </li>337 </li>
337 </ul>338 </ul>
338 </li>339 </li>
339 </ul>340 </ul>
  
340 ··</div>341 ··</div>
341 ··<div>342 ··<div>
342 ····<h4>Previous·topic</h4>343 ····<h4>Eelmine·teema</h4>
343 ····<p·class="topless"><a·href="aggregates.html"344 ····<p·class="topless"><a·href="aggregates.html"
344 ··························title="previous·chapter">PostgreSQL·specific·aggregation·functions</a></p>345 ··························title="eelmine·jaotis">PostgreSQL·specific·aggregation·functions</a></p>
345 ··</div>346 ··</div>
346 ··<div>347 ··<div>
347 ····<h4>Next·topic</h4>348 ····<h4>Järgmine·teema</h4>
348 ····<p·class="topless"><a·href="expressions.html"349 ····<p·class="topless"><a·href="expressions.html"
349 ··························title="next·chapter">PostgreSQL·specific·query·expressions</a></p>350 ··························title="järgmine·jaotis">PostgreSQL·specific·query·expressions</a></p>
350 ··</div>351 ··</div>
351 <search·id="searchbox"·style="display:·none"·role="search">352 <search·id="searchbox"·style="display:·none"·role="search">
352 ··<h3·id="searchlabel">Quick·search</h3>353 ··<h3·id="searchlabel">Kiirotsing</h3>
353 ····<div·class="searchformwrapper">354 ····<div·class="searchformwrapper">
354 ····<form·class="search"·action="../../../search.html"·method="get">355 ····<form·class="search"·action="../../../search.html"·method="get">
355 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>356 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
356 ······<input·type="submit"·value="Go"·/>357 ······<input·type="submit"·value="Otsi"·/>
357 ····</form>358 ····</form>
358 ····</div>359 ····</div>
359 </search>360 </search>
360 <script>document.getElementById('searchbox').style.display·=·"block"</script>361 <script>document.getElementById('searchbox').style.display·=·"block"</script>
361 ········</div>362 ········</div>
362 ······</div>363 ······</div>
363 ··············<h3>Last·update:</h3>364 ··············<h3>Last·update:</h3>
364 ··············<p·class="topless">Nov·05,·2024</p>365 ··············<p·class="topless">nov·05,·2024</p>
365 ··········</div>366 ··········</div>
366 ········367 ········
367 ······368 ······
368 ····</div>369 ····</div>
  
369 ····<div·id="ft">370 ····<div·id="ft">
370 ······<div·class="nav">371 ······<div·class="nav">
4.83 KB
html2text {}
Max HTML report size reached
10.8 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/expressions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>PostgreSQL·specific·query·expressions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>PostgreSQL·specific·query·expressions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="PostgreSQL·specific·model·fields"·href="fields.html"·/>15 ····<link·rel="next"·title="PostgreSQL·specific·model·fields"·href="fields.html"·/>
15 ····<link·rel="prev"·title="PostgreSQL·specific·database·constraints"·href="constraints.html"·/>16 ····<link·rel="prev"·title="PostgreSQL·specific·database·constraints"·href="constraints.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="s-postgresql-specific-query-expressions"></span><span·id="module-django.contrib.postgres.expressions"></span><span·id="postgresql-specific-query-expressions"></span><h1>PostgreSQL·specific·query·expressions<a·class="headerlink"·href="#module-django.contrib.postgres.expressions"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-postgresql-specific-query-expressions"></span><span·id="module-django.contrib.postgres.expressions"></span><span·id="postgresql-specific-query-expressions"></span><h1>PostgreSQL·specific·query·expressions<a·class="headerlink"·href="#module-django.contrib.postgres.expressions"·title="Link·to·this·heading">¶</a></h1>
82 <p>These·expressions·are·available·from·the83 <p>These·expressions·are·available·from·the
83 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.expressions</span></code>·module.</p>84 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.expressions</span></code>·module.</p>
84 <section·id="s-arraysubquery-expressions">85 <section·id="s-arraysubquery-expressions">
85 <span·id="arraysubquery-expressions"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ArraySubquery()</span></code>·expressions<a·class="headerlink"·href="#arraysubquery-expressions"·title="Link·to·this·heading">¶</a></h2>86 <span·id="arraysubquery-expressions"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ArraySubquery()</span></code>·expressions<a·class="headerlink"·href="#arraysubquery-expressions"·title="Link·to·this·heading">¶</a></h2>
86 <dl·class="py·class">87 <dl·class="py·class">
87 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.expressions.ArraySubquery">88 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.expressions.ArraySubquery">
88 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ArraySubquery</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">queryset</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/expressions.py#L6"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.expressions.ArraySubquery"·title="Link·to·this·definition">¶</a></dt>89 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ArraySubquery</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">queryset</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/expressions.py#L6"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.expressions.ArraySubquery"·title="Link·to·this·definition">¶</a></dt>
89 <dd></dd></dl>90 <dd></dd></dl>
  
90 <p><code·class="docutils·literal·notranslate"><span·class="pre">ArraySubquery</span></code>·is·a·<a·class="reference·internal"·href="../../models/expressions.html#django.db.models.Subquery"·title="django.db.models.Subquery"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Subquery</span></code></a>·that·uses·the91 <p><code·class="docutils·literal·notranslate"><span·class="pre">ArraySubquery</span></code>·is·a·<a·class="reference·internal"·href="../../models/expressions.html#django.db.models.Subquery"·title="django.db.models.Subquery"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Subquery</span></code></a>·that·uses·the
91 PostgreSQL·<code·class="docutils·literal·notranslate"><span·class="pre">ARRAY</span></code>·constructor·to·build·a·list·of·values·from·the·queryset,92 PostgreSQL·<code·class="docutils·literal·notranslate"><span·class="pre">ARRAY</span></code>·constructor·to·build·a·list·of·values·from·the·queryset,
92 which·must·use·<a·class="reference·internal"·href="../../models/querysets.html#django.db.models.query.QuerySet.values"·title="django.db.models.query.QuerySet.values"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.values()</span></code></a>·to·return·only·a·single·column.</p>93 which·must·use·<a·class="reference·internal"·href="../../models/querysets.html#django.db.models.query.QuerySet.values"·title="django.db.models.query.QuerySet.values"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.values()</span></code></a>·to·return·only·a·single·column.</p>
93 <p>This·class·differs·from·<a·class="reference·internal"·href="aggregates.html#django.contrib.postgres.aggregates.ArrayAgg"·title="django.contrib.postgres.aggregates.ArrayAgg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ArrayAgg</span></code></a>94 <p>This·class·differs·from·<a·class="reference·internal"·href="aggregates.html#django.contrib.postgres.aggregates.ArrayAgg"·title="django.contrib.postgres.aggregates.ArrayAgg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ArrayAgg</span></code></a>
94 in·the·way·that·it·does·not·act·as·an·aggregate·function·and·does·not·require95 in·the·way·that·it·does·not·act·as·an·aggregate·function·and·does·not·require
Offset 117, 47 lines modifiedOffset 118, 47 lines modified
117 ······118 ······
118 ········119 ········
119 ··········<div·class="yui-b"·id="sidebar">120 ··········<div·class="yui-b"·id="sidebar">
120 ············121 ············
121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
122 ········<div·class="sphinxsidebarwrapper">123 ········<div·class="sphinxsidebarwrapper">
123 ··<div>124 ··<div>
124 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>125 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
125 ····<ul>126 ····<ul>
126 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·query·expressions</a><ul>127 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·query·expressions</a><ul>
127 <li><a·class="reference·internal"·href="#arraysubquery-expressions"><code·class="docutils·literal·notranslate"><span·class="pre">ArraySubquery()</span></code>·expressions</a></li>128 <li><a·class="reference·internal"·href="#arraysubquery-expressions"><code·class="docutils·literal·notranslate"><span·class="pre">ArraySubquery()</span></code>·expressions</a></li>
128 </ul>129 </ul>
129 </li>130 </li>
130 </ul>131 </ul>
  
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Previous·topic</h4>134 ····<h4>Eelmine·teema</h4>
134 ····<p·class="topless"><a·href="constraints.html"135 ····<p·class="topless"><a·href="constraints.html"
135 ··························title="previous·chapter">PostgreSQL·specific·database·constraints</a></p>136 ··························title="eelmine·jaotis">PostgreSQL·specific·database·constraints</a></p>
136 ··</div>137 ··</div>
137 ··<div>138 ··<div>
138 ····<h4>Next·topic</h4>139 ····<h4>Järgmine·teema</h4>
139 ····<p·class="topless"><a·href="fields.html"140 ····<p·class="topless"><a·href="fields.html"
140 ··························title="next·chapter">PostgreSQL·specific·model·fields</a></p>141 ··························title="järgmine·jaotis">PostgreSQL·specific·model·fields</a></p>
141 ··</div>142 ··</div>
142 <search·id="searchbox"·style="display:·none"·role="search">143 <search·id="searchbox"·style="display:·none"·role="search">
143 ··<h3·id="searchlabel">Quick·search</h3>144 ··<h3·id="searchlabel">Kiirotsing</h3>
144 ····<div·class="searchformwrapper">145 ····<div·class="searchformwrapper">
145 ····<form·class="search"·action="../../../search.html"·method="get">146 ····<form·class="search"·action="../../../search.html"·method="get">
146 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
147 ······<input·type="submit"·value="Go"·/>148 ······<input·type="submit"·value="Otsi"·/>
148 ····</form>149 ····</form>
149 ····</div>150 ····</div>
150 </search>151 </search>
151 <script>document.getElementById('searchbox').style.display·=·"block"</script>152 <script>document.getElementById('searchbox').style.display·=·"block"</script>
152 ········</div>153 ········</div>
153 ······</div>154 ······</div>
154 ··············<h3>Last·update:</h3>155 ··············<h3>Last·update:</h3>
155 ··············<p·class="topless">Nov·05,·2024</p>156 ··············<p·class="topless">nov·05,·2024</p>
156 ··········</div>157 ··········</div>
157 ········158 ········
158 ······159 ······
159 ····</div>160 ····</div>
  
160 ····<div·id="ft">161 ····<div·id="ft">
161 ······<div·class="nav">162 ······<div·class="nav">
3.08 KB
html2text {}
Max HTML report size reached
22.8 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/fields.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>PostgreSQL·specific·model·fields·&#8212;·Django·5.1.3·documentation</title>6 ····<title>PostgreSQL·specific·model·fields·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="PostgreSQL·specific·form·fields·and·widgets"·href="forms.html"·/>15 ····<link·rel="next"·title="PostgreSQL·specific·form·fields·and·widgets"·href="forms.html"·/>
15 ····<link·rel="prev"·title="PostgreSQL·specific·query·expressions"·href="expressions.html"·/>16 ····<link·rel="prev"·title="PostgreSQL·specific·query·expressions"·href="expressions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 148, 15 lines modifiedOffset 149, 15 lines modified
148 be·passed·to·the·database,·although·PostgreSQL·at·present·does·not149 be·passed·to·the·database,·although·PostgreSQL·at·present·does·not
149 enforce·the·restriction.</p>150 enforce·the·restriction.</p>
150 </dd></dl>151 </dd></dl>
  
151 </dd></dl>152 </dd></dl>
  
152 <div·class="admonition·note">153 <div·class="admonition·note">
153 <p·class="admonition-title">Note</p>154 <p·class="admonition-title">rkus</p>
154 <p>When·nesting·<code·class="docutils·literal·notranslate"><span·class="pre">ArrayField</span></code>,·whether·you·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">size</span></code>·parameter·or·not,155 <p>When·nesting·<code·class="docutils·literal·notranslate"><span·class="pre">ArrayField</span></code>,·whether·you·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">size</span></code>·parameter·or·not,
155 PostgreSQL·requires·that·the·arrays·are·rectangular:</p>156 PostgreSQL·requires·that·the·arrays·are·rectangular:</p>
156 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.postgres.fields</span>·<span·class="kn">import</span>·<span·class="n">ArrayField</span>157 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.postgres.fields</span>·<span·class="kn">import</span>·<span·class="n">ArrayField</span>
157 <span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>158 <span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>
  
  
158 <span·class="k">class</span>·<span·class="nc">Board</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>159 <span·class="k">class</span>·<span·class="nc">Board</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>
Offset 283, 15 lines modifiedOffset 284, 15 lines modified
283 <span·class="go">&lt;QuerySet·[&lt;Post:·First·post&gt;]&gt;</span>284 <span·class="go">&lt;QuerySet·[&lt;Post:·First·post&gt;]&gt;</span>
  
284 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Post</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">tags__276</span><span·class="o">=</span><span·class="s2">&quot;javascript&quot;</span><span·class="p">)</span>285 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Post</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">tags__276</span><span·class="o">=</span><span·class="s2">&quot;javascript&quot;</span><span·class="p">)</span>
285 <span·class="go">&lt;QuerySet·[]&gt;</span>286 <span·class="go">&lt;QuerySet·[]&gt;</span>
286 </pre></div>287 </pre></div>
287 </div>288 </div>
288 <div·class="admonition·note">289 <div·class="admonition·note">
289 <p·class="admonition-title">Note</p>290 <p·class="admonition-title">rkus</p>
290 <p>PostgreSQL·uses·1-based·indexing·for·array·fields·when·writing·raw·SQL.291 <p>PostgreSQL·uses·1-based·indexing·for·array·fields·when·writing·raw·SQL.
291 However·these·indexes·and·those·used·in·<a·class="reference·internal"·href="#std-fieldlookup-arrayfield.slice"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">slices</span></code></a>292 However·these·indexes·and·those·used·in·<a·class="reference·internal"·href="#std-fieldlookup-arrayfield.slice"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">slices</span></code></a>
292 use·0-based·indexing·to·be·consistent·with·Python.</p>293 use·0-based·indexing·to·be·consistent·with·Python.</p>
293 </div>294 </div>
294 </section>295 </section>
295 <section·id="s-slice-transforms">296 <section·id="s-slice-transforms">
296 <span·id="s-std-fieldlookup-arrayfield.slice"></span><span·id="slice-transforms"></span><span·id="std-fieldlookup-arrayfield.slice"></span><h4>Slice·transforms<a·class="headerlink"·href="#slice-transforms"·title="Link·to·this·heading">¶</a></h4>297 <span·id="s-std-fieldlookup-arrayfield.slice"></span><span·id="slice-transforms"></span><span·id="std-fieldlookup-arrayfield.slice"></span><h4>Slice·transforms<a·class="headerlink"·href="#slice-transforms"·title="Link·to·this·heading">¶</a></h4>
Offset 306, 15 lines modifiedOffset 307, 15 lines modified
306 <span·class="go">&lt;QuerySet·[&lt;Post:·First·post&gt;,·&lt;Post:·Second·post&gt;]&gt;</span>307 <span·class="go">&lt;QuerySet·[&lt;Post:·First·post&gt;,·&lt;Post:·Second·post&gt;]&gt;</span>
  
307 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Post</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">tags__0_2__contains</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;thoughts&quot;</span><span·class="p">])</span>308 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Post</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">tags__0_2__contains</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;thoughts&quot;</span><span·class="p">])</span>
308 <span·class="go">&lt;QuerySet·[&lt;Post:·First·post&gt;,·&lt;Post:·Second·post&gt;]&gt;</span>309 <span·class="go">&lt;QuerySet·[&lt;Post:·First·post&gt;,·&lt;Post:·Second·post&gt;]&gt;</span>
309 </pre></div>310 </pre></div>
310 </div>311 </div>
311 <div·class="admonition·note">312 <div·class="admonition·note">
312 <p·class="admonition-title">Note</p>313 <p·class="admonition-title">rkus</p>
313 <p>PostgreSQL·uses·1-based·indexing·for·array·fields·when·writing·raw·SQL.314 <p>PostgreSQL·uses·1-based·indexing·for·array·fields·when·writing·raw·SQL.
314 However·these·slices·and·those·used·in·<a·class="reference·internal"·href="#std-fieldlookup-arrayfield.index"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">indexes</span></code></a>315 However·these·slices·and·those·used·in·<a·class="reference·internal"·href="#std-fieldlookup-arrayfield.index"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">indexes</span></code></a>
315 use·0-based·indexing·to·be·consistent·with·Python.</p>316 use·0-based·indexing·to·be·consistent·with·Python.</p>
316 </div>317 </div>
317 <div·class="admonition-multidimensional-arrays-with-indexes-and-slices·admonition">318 <div·class="admonition-multidimensional-arrays-with-indexes-and-slices·admonition">
318 <p·class="admonition-title">Multidimensional·arrays·with·indexes·and·slices</p>319 <p·class="admonition-title">Multidimensional·arrays·with·indexes·and·slices</p>
319 <p>PostgreSQL·has·some·rather·esoteric·behavior·when·using·indexes·and·slices320 <p>PostgreSQL·has·some·rather·esoteric·behavior·when·using·indexes·and·slices
Offset 341, 15 lines modifiedOffset 342, 15 lines modified
341 PostgreSQL.</p></li>342 PostgreSQL.</p></li>
342 </ol>343 </ol>
343 <p>You’ll·see·an·error·like·<code·class="docutils·literal·notranslate"><span·class="pre">can't</span>·<span·class="pre">adapt</span>·<span·class="pre">type</span>·<span·class="pre">'dict'</span></code>·if·you·skip·the·first344 <p>You’ll·see·an·error·like·<code·class="docutils·literal·notranslate"><span·class="pre">can't</span>·<span·class="pre">adapt</span>·<span·class="pre">type</span>·<span·class="pre">'dict'</span></code>·if·you·skip·the·first
344 step,·or·<code·class="docutils·literal·notranslate"><span·class="pre">type</span>·<span·class="pre">&quot;hstore&quot;</span>·<span·class="pre">does</span>·<span·class="pre">not</span>·<span·class="pre">exist</span></code>·if·you·skip·the·second.</p>345 step,·or·<code·class="docutils·literal·notranslate"><span·class="pre">type</span>·<span·class="pre">&quot;hstore&quot;</span>·<span·class="pre">does</span>·<span·class="pre">not</span>·<span·class="pre">exist</span></code>·if·you·skip·the·second.</p>
345 </dd></dl>346 </dd></dl>
  
346 <div·class="admonition·note">347 <div·class="admonition·note">
347 <p·class="admonition-title">Note</p>348 <p·class="admonition-title">rkus</p>
348 <p>On·occasions·it·may·be·useful·to·require·or·restrict·the·keys·which·are349 <p>On·occasions·it·may·be·useful·to·require·or·restrict·the·keys·which·are
349 valid·for·a·given·field.·This·can·be·done·using·the350 valid·for·a·given·field.·This·can·be·done·using·the
350 <a·class="reference·internal"·href="validators.html#django.contrib.postgres.validators.KeysValidator"·title="django.contrib.postgres.validators.KeysValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">KeysValidator</span></code></a>.</p>351 <a·class="reference·internal"·href="validators.html#django.contrib.postgres.validators.KeysValidator"·title="django.contrib.postgres.validators.KeysValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">KeysValidator</span></code></a>.</p>
351 </div>352 </div>
352 <section·id="s-querying-hstorefield">353 <section·id="s-querying-hstorefield">
353 <span·id="querying-hstorefield"></span><h3>Querying·<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code><a·class="headerlink"·href="#querying-hstorefield"·title="Link·to·this·heading">¶</a></h3>354 <span·id="querying-hstorefield"></span><h3>Querying·<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code><a·class="headerlink"·href="#querying-hstorefield"·title="Link·to·this·heading">¶</a></h3>
354 <p>In·addition·to·the·ability·to·query·by·key,·there·are·a·number·of·custom355 <p>In·addition·to·the·ability·to·query·by·key,·there·are·a·number·of·custom
Offset 388, 22 lines modifiedOffset 389, 22 lines modified
388 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">rufus</span><span·class="o">.</span><span·class="n">breed</span>389 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">rufus</span><span·class="o">.</span><span·class="n">breed</span>
389 <span·class="go">&#39;labrador&#39;</span>390 <span·class="go">&#39;labrador&#39;</span>
390 </pre></div>391 </pre></div>
391 </div>392 </div>
392 <p>If·the·key·you·wish·to·query·by·clashes·with·the·name·of·another·lookup,·you393 <p>If·the·key·you·wish·to·query·by·clashes·with·the·name·of·another·lookup,·you
393 need·to·use·the·<a·class="reference·internal"·href="#std-fieldlookup-hstorefield.contains"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">hstorefield.contains</span></code></a>·lookup·instead.</p>394 need·to·use·the·<a·class="reference·internal"·href="#std-fieldlookup-hstorefield.contains"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">hstorefield.contains</span></code></a>·lookup·instead.</p>
394 <div·class="admonition·note">395 <div·class="admonition·note">
395 <p·class="admonition-title">Note</p>396 <p·class="admonition-title">rkus</p>
396 <p>Key·transforms·can·also·be·chained·with:·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-contains"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">contains</span></code></a>,397 <p>Key·transforms·can·also·be·chained·with:·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-contains"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">contains</span></code></a>,
397 <a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-icontains"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">icontains</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-endswith"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">endswith</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-iendswith"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">iendswith</span></code></a>,398 <a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-icontains"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">icontains</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-endswith"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">endswith</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-iendswith"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">iendswith</span></code></a>,
398 <a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-iexact"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">iexact</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-regex"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-iregex"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">iregex</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-startswith"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">startswith</span></code></a>,399 <a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-iexact"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">iexact</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-regex"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-iregex"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">iregex</span></code></a>,·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-startswith"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">startswith</span></code></a>,
399 and·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-istartswith"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">istartswith</span></code></a>·lookups.</p>400 and·<a·class="reference·internal"·href="../../models/querysets.html#std-fieldlookup-istartswith"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">istartswith</span></code></a>·lookups.</p>
400 </div>401 </div>
401 <div·class="admonition·warning">402 <div·class="admonition·warning">
402 <p·class="admonition-title">Warning</p>403 <p·class="admonition-title">Hoiatus</p>
403 <p>Since·any·string·could·be·a·key·in·a·hstore·value,·any·lookup·other·than404 <p>Since·any·string·could·be·a·key·in·a·hstore·value,·any·lookup·other·than
404 those·listed·below·will·be·interpreted·as·a·key·lookup.·No·errors·are405 those·listed·below·will·be·interpreted·as·a·key·lookup.·No·errors·are
405 raised.·Be·extra·careful·for·typing·mistakes,·and·always·check·your·queries406 raised.·Be·extra·careful·for·typing·mistakes,·and·always·check·your·queries
406 work·as·you·intend.</p>407 work·as·you·intend.</p>
407 </div>408 </div>
408 </section>409 </section>
409 <section·id="s-std-fieldlookup-hstorefield.contains">410 <section·id="s-std-fieldlookup-hstorefield.contains">
Offset 513, 15 lines modifiedOffset 514, 15 lines modified
Max diff block lines reached; 5104/15405 bytes (33.13%) of diff not shown.
7.63 KB
html2text {}
Max HTML report size reached
13.2 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/forms.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>PostgreSQL·specific·form·fields·and·widgets·&#8212;·Django·5.1.3·documentation</title>6 ····<title>PostgreSQL·specific·form·fields·and·widgets·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="PostgreSQL·specific·database·functions"·href="functions.html"·/>15 ····<link·rel="next"·title="PostgreSQL·specific·database·functions"·href="functions.html"·/>
15 ····<link·rel="prev"·title="PostgreSQL·specific·model·fields"·href="fields.html"·/>16 ····<link·rel="prev"·title="PostgreSQL·specific·model·fields"·href="fields.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 133, 15 lines modifiedOffset 134, 15 lines modified
133 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">form</span><span·class="o">.</span><span·class="n">is_valid</span><span·class="p">()</span>134 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">form</span><span·class="o">.</span><span·class="n">is_valid</span><span·class="p">()</span>
134 <span·class="go">True</span>135 <span·class="go">True</span>
135 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">form</span><span·class="o">.</span><span·class="n">cleaned_data</span>136 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">form</span><span·class="o">.</span><span·class="n">cleaned_data</span>
136 <span·class="go">{&#39;places&#39;:·[[1,·2],·[2,·1],·[4,·3]]}</span>137 <span·class="go">{&#39;places&#39;:·[[1,·2],·[2,·1],·[4,·3]]}</span>
137 </pre></div>138 </pre></div>
138 </div>139 </div>
139 <div·class="admonition·note">140 <div·class="admonition·note">
140 <p·class="admonition-title">Note</p>141 <p·class="admonition-title">rkus</p>
141 <p>The·field·does·not·support·escaping·of·the·delimiter,·so·be·careful142 <p>The·field·does·not·support·escaping·of·the·delimiter,·so·be·careful
142 in·cases·where·the·delimiter·is·a·valid·character·in·the·underlying143 in·cases·where·the·delimiter·is·a·valid·character·in·the·underlying
143 field.·The·delimiter·does·not·need·to·be·only·one·character.</p>144 field.·The·delimiter·does·not·need·to·be·only·one·character.</p>
144 </div>145 </div>
145 </dd></dl>146 </dd></dl>
  
146 <dl·class="py·attribute">147 <dl·class="py·attribute">
Offset 242, 15 lines modifiedOffset 243, 15 lines modified
242 <div·class="admonition-user-friendly-forms·admonition">243 <div·class="admonition-user-friendly-forms·admonition">
243 <p·class="admonition-title">User·friendly·forms</p>244 <p·class="admonition-title">User·friendly·forms</p>
244 <p><code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code>·is·not·particularly·user·friendly·in·most·cases,245 <p><code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code>·is·not·particularly·user·friendly·in·most·cases,
245 however·it·is·a·useful·way·to·format·data·from·a·client-side·widget·for246 however·it·is·a·useful·way·to·format·data·from·a·client-side·widget·for
246 submission·to·the·server.</p>247 submission·to·the·server.</p>
247 </div>248 </div>
248 <div·class="admonition·note">249 <div·class="admonition·note">
249 <p·class="admonition-title">Note</p>250 <p·class="admonition-title">rkus</p>
250 <p>On·occasions·it·may·be·useful·to·require·or·restrict·the·keys·which·are251 <p>On·occasions·it·may·be·useful·to·require·or·restrict·the·keys·which·are
251 valid·for·a·given·field.·This·can·be·done·using·the252 valid·for·a·given·field.·This·can·be·done·using·the
252 <a·class="reference·internal"·href="validators.html#django.contrib.postgres.validators.KeysValidator"·title="django.contrib.postgres.validators.KeysValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">KeysValidator</span></code></a>.</p>253 <a·class="reference·internal"·href="validators.html#django.contrib.postgres.validators.KeysValidator"·title="django.contrib.postgres.validators.KeysValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">KeysValidator</span></code></a>.</p>
253 </div>254 </div>
254 </dd></dl>255 </dd></dl>
  
255 </section>256 </section>
Offset 323, 15 lines modifiedOffset 324, 15 lines modified
323 <span·class="sig-name·descname"><span·class="pre">base_widget</span></span><a·class="headerlink"·href="#django.contrib.postgres.forms.RangeWidget.base_widget"·title="Link·to·this·definition">¶</a></dt>324 <span·class="sig-name·descname"><span·class="pre">base_widget</span></span><a·class="headerlink"·href="#django.contrib.postgres.forms.RangeWidget.base_widget"·title="Link·to·this·definition">¶</a></dt>
324 <dd><p>A·<a·class="reference·internal"·href="#django.contrib.postgres.forms.RangeWidget"·title="django.contrib.postgres.forms.RangeWidget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RangeWidget</span></code></a>·comprises·a·2-tuple·of·<code·class="docutils·literal·notranslate"><span·class="pre">base_widget</span></code>.</p>325 <dd><p>A·<a·class="reference·internal"·href="#django.contrib.postgres.forms.RangeWidget"·title="django.contrib.postgres.forms.RangeWidget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RangeWidget</span></code></a>·comprises·a·2-tuple·of·<code·class="docutils·literal·notranslate"><span·class="pre">base_widget</span></code>.</p>
325 </dd></dl>326 </dd></dl>
  
326 <dl·class="py·method">327 <dl·class="py·method">
327 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.forms.RangeWidget.decompress">328 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.forms.RangeWidget.decompress">
328 <span·class="sig-name·descname"><span·class="pre">decompress</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.forms.RangeWidget.decompress"·title="Link·to·this·definition">¶</a></dt>329 <span·class="sig-name·descname"><span·class="pre">decompress</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="headerlink"·href="#django.contrib.postgres.forms.RangeWidget.decompress"·title="Link·to·this·definition">¶</a></dt>
329 <dd><p>Takes·a·single·compressed·value·of·a·field,·for·example·a330 <dd><p>Takes·a·single·compressed·value·of·a·field,·for·example·a
330 <a·class="reference·internal"·href="fields.html#django.contrib.postgres.fields.DateRangeField"·title="django.contrib.postgres.fields.DateRangeField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DateRangeField</span></code></a>,331 <a·class="reference·internal"·href="fields.html#django.contrib.postgres.fields.DateRangeField"·title="django.contrib.postgres.fields.DateRangeField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DateRangeField</span></code></a>,
331 and·returns·a·tuple·representing·a·lower·and·upper·bound.</p>332 and·returns·a·tuple·representing·a·lower·and·upper·bound.</p>
332 </dd></dl>333 </dd></dl>
  
333 </dd></dl>334 </dd></dl>
  
334 </section>335 </section>
Offset 345, 15 lines modifiedOffset 346, 15 lines modified
345 ······346 ······
346 ········347 ········
347 ··········<div·class="yui-b"·id="sidebar">348 ··········<div·class="yui-b"·id="sidebar">
348 ············349 ············
349 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">350 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
350 ········<div·class="sphinxsidebarwrapper">351 ········<div·class="sphinxsidebarwrapper">
351 ··<div>352 ··<div>
352 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>353 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
353 ····<ul>354 ····<ul>
354 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·form·fields·and·widgets</a><ul>355 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·form·fields·and·widgets</a><ul>
355 <li><a·class="reference·internal"·href="#fields">Fields</a><ul>356 <li><a·class="reference·internal"·href="#fields">Fields</a><ul>
356 <li><a·class="reference·internal"·href="#simplearrayfield"><code·class="docutils·literal·notranslate"><span·class="pre">SimpleArrayField</span></code></a></li>357 <li><a·class="reference·internal"·href="#simplearrayfield"><code·class="docutils·literal·notranslate"><span·class="pre">SimpleArrayField</span></code></a></li>
357 <li><a·class="reference·internal"·href="#splitarrayfield"><code·class="docutils·literal·notranslate"><span·class="pre">SplitArrayField</span></code></a></li>358 <li><a·class="reference·internal"·href="#splitarrayfield"><code·class="docutils·literal·notranslate"><span·class="pre">SplitArrayField</span></code></a></li>
358 <li><a·class="reference·internal"·href="#hstorefield"><code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a></li>359 <li><a·class="reference·internal"·href="#hstorefield"><code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a></li>
359 <li><a·class="reference·internal"·href="#range-fields">Range·Fields</a><ul>360 <li><a·class="reference·internal"·href="#range-fields">Range·Fields</a><ul>
Offset 371, 37 lines modifiedOffset 372, 37 lines modified
371 </li>372 </li>
372 </ul>373 </ul>
373 </li>374 </li>
374 </ul>375 </ul>
  
375 ··</div>376 ··</div>
376 ··<div>377 ··<div>
377 ····<h4>Previous·topic</h4>378 ····<h4>Eelmine·teema</h4>
378 ····<p·class="topless"><a·href="fields.html"379 ····<p·class="topless"><a·href="fields.html"
379 ··························title="previous·chapter">PostgreSQL·specific·model·fields</a></p>380 ··························title="eelmine·jaotis">PostgreSQL·specific·model·fields</a></p>
380 ··</div>381 ··</div>
381 ··<div>382 ··<div>
382 ····<h4>Next·topic</h4>383 ····<h4>Järgmine·teema</h4>
383 ····<p·class="topless"><a·href="functions.html"384 ····<p·class="topless"><a·href="functions.html"
384 ··························title="next·chapter">PostgreSQL·specific·database·functions</a></p>385 ··························title="järgmine·jaotis">PostgreSQL·specific·database·functions</a></p>
385 ··</div>386 ··</div>
386 <search·id="searchbox"·style="display:·none"·role="search">387 <search·id="searchbox"·style="display:·none"·role="search">
387 ··<h3·id="searchlabel">Quick·search</h3>388 ··<h3·id="searchlabel">Kiirotsing</h3>
388 ····<div·class="searchformwrapper">389 ····<div·class="searchformwrapper">
389 ····<form·class="search"·action="../../../search.html"·method="get">390 ····<form·class="search"·action="../../../search.html"·method="get">
390 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>391 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
391 ······<input·type="submit"·value="Go"·/>392 ······<input·type="submit"·value="Otsi"·/>
392 ····</form>393 ····</form>
Max diff block lines reached; 353/8136 bytes (4.34%) of diff not shown.
5.07 KB
html2text {}
Max HTML report size reached
12.1 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/functions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>PostgreSQL·specific·database·functions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>PostgreSQL·specific·database·functions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="PostgreSQL·specific·model·indexes"·href="indexes.html"·/>15 ····<link·rel="next"·title="PostgreSQL·specific·model·indexes"·href="indexes.html"·/>
15 ····<link·rel="prev"·title="PostgreSQL·specific·form·fields·and·widgets"·href="forms.html"·/>16 ····<link·rel="prev"·title="PostgreSQL·specific·form·fields·and·widgets"·href="forms.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="postgresql-specific-database-functions"></span><h1>PostgreSQL·specific·database·functions<a·class="headerlink"·href="#postgresql-specific-database-functions"·title="Link·to·this·heading">¶</a></h1>82 <span·id="postgresql-specific-database-functions"></span><h1>PostgreSQL·specific·database·functions<a·class="headerlink"·href="#postgresql-specific-database-functions"·title="Link·to·this·heading">¶</a></h1>
82 <p>All·of·these·functions·are·available·from·the83 <p>All·of·these·functions·are·available·from·the
83 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.functions</span></code>·module.</p>84 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.functions</span></code>·module.</p>
84 <section·id="s-randomuuid">85 <section·id="s-randomuuid">
85 <span·id="randomuuid"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">RandomUUID</span></code><a·class="headerlink"·href="#randomuuid"·title="Link·to·this·heading">¶</a></h2>86 <span·id="randomuuid"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">RandomUUID</span></code><a·class="headerlink"·href="#randomuuid"·title="Link·to·this·heading">¶</a></h2>
86 <dl·class="py·class">87 <dl·class="py·class">
87 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.functions.RandomUUID">88 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.functions.RandomUUID">
88 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RandomUUID</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/functions.py#L4"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.functions.RandomUUID"·title="Link·to·this·definition">¶</a></dt>89 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RandomUUID</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/functions.py#L4"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.functions.RandomUUID"·title="Link·to·this·definition">¶</a></dt>
89 <dd></dd></dl>90 <dd></dd></dl>
  
90 <p>Returns·a·version·4·UUID.</p>91 <p>Returns·a·version·4·UUID.</p>
91 <p>On·PostgreSQL·&lt;·13,·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/pgcrypto.html">pgcrypto·extension</a>·must·be·installed.·You·can·use92 <p>On·PostgreSQL·&lt;·13,·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/pgcrypto.html">pgcrypto·extension</a>·must·be·installed.·You·can·use
92 the·<a·class="reference·internal"·href="operations.html#django.contrib.postgres.operations.CryptoExtension"·title="django.contrib.postgres.operations.CryptoExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CryptoExtension</span></code></a>·migration93 the·<a·class="reference·internal"·href="operations.html#django.contrib.postgres.operations.CryptoExtension"·title="django.contrib.postgres.operations.CryptoExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CryptoExtension</span></code></a>·migration
93 operation·to·install·it.</p>94 operation·to·install·it.</p>
94 <p>Usage·example:</p>95 <p>Usage·example:</p>
Offset 98, 15 lines modifiedOffset 99, 15 lines modified
98 </pre></div>99 </pre></div>
99 </div>100 </div>
100 </section>101 </section>
101 <section·id="s-transactionnow">102 <section·id="s-transactionnow">
102 <span·id="transactionnow"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">TransactionNow</span></code><a·class="headerlink"·href="#transactionnow"·title="Link·to·this·heading">¶</a></h2>103 <span·id="transactionnow"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">TransactionNow</span></code><a·class="headerlink"·href="#transactionnow"·title="Link·to·this·heading">¶</a></h2>
103 <dl·class="py·class">104 <dl·class="py·class">
104 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.functions.TransactionNow">105 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.functions.TransactionNow">
105 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">TransactionNow</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/functions.py#L9"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.functions.TransactionNow"·title="Link·to·this·definition">¶</a></dt>106 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">TransactionNow</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/functions.py#L9"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.functions.TransactionNow"·title="Link·to·this·definition">¶</a></dt>
106 <dd></dd></dl>107 <dd></dd></dl>
  
107 <p>Returns·the·date·and·time·on·the·database·server·that·the·current·transaction108 <p>Returns·the·date·and·time·on·the·database·server·that·the·current·transaction
108 started.·If·you·are·not·in·a·transaction·it·will·return·the·date·and·time·of109 started.·If·you·are·not·in·a·transaction·it·will·return·the·date·and·time·of
109 the·current·statement.·This·is·a·complement·to110 the·current·statement.·This·is·a·complement·to
110 <a·class="reference·internal"·href="../../models/database-functions.html#django.db.models.functions.Now"·title="django.db.models.functions.Now"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.db.models.functions.Now</span></code></a>,·which·returns·the·date·and·time·of·the111 <a·class="reference·internal"·href="../../models/database-functions.html#django.db.models.functions.Now"·title="django.db.models.functions.Now"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.db.models.functions.Now</span></code></a>,·which·returns·the·date·and·time·of·the
111 current·statement.</p>112 current·statement.</p>
Offset 130, 48 lines modifiedOffset 131, 48 lines modified
130 ······131 ······
131 ········132 ········
132 ··········<div·class="yui-b"·id="sidebar">133 ··········<div·class="yui-b"·id="sidebar">
133 ············134 ············
134 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
135 ········<div·class="sphinxsidebarwrapper">136 ········<div·class="sphinxsidebarwrapper">
136 ··<div>137 ··<div>
137 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>138 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
138 ····<ul>139 ····<ul>
139 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·database·functions</a><ul>140 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·database·functions</a><ul>
140 <li><a·class="reference·internal"·href="#randomuuid"><code·class="docutils·literal·notranslate"><span·class="pre">RandomUUID</span></code></a></li>141 <li><a·class="reference·internal"·href="#randomuuid"><code·class="docutils·literal·notranslate"><span·class="pre">RandomUUID</span></code></a></li>
141 <li><a·class="reference·internal"·href="#transactionnow"><code·class="docutils·literal·notranslate"><span·class="pre">TransactionNow</span></code></a></li>142 <li><a·class="reference·internal"·href="#transactionnow"><code·class="docutils·literal·notranslate"><span·class="pre">TransactionNow</span></code></a></li>
142 </ul>143 </ul>
143 </li>144 </li>
144 </ul>145 </ul>
  
145 ··</div>146 ··</div>
146 ··<div>147 ··<div>
147 ····<h4>Previous·topic</h4>148 ····<h4>Eelmine·teema</h4>
148 ····<p·class="topless"><a·href="forms.html"149 ····<p·class="topless"><a·href="forms.html"
149 ··························title="previous·chapter">PostgreSQL·specific·form·fields·and·widgets</a></p>150 ··························title="eelmine·jaotis">PostgreSQL·specific·form·fields·and·widgets</a></p>
150 ··</div>151 ··</div>
151 ··<div>152 ··<div>
152 ····<h4>Next·topic</h4>153 ····<h4>Järgmine·teema</h4>
153 ····<p·class="topless"><a·href="indexes.html"154 ····<p·class="topless"><a·href="indexes.html"
154 ··························title="next·chapter">PostgreSQL·specific·model·indexes</a></p>155 ··························title="järgmine·jaotis">PostgreSQL·specific·model·indexes</a></p>
155 ··</div>156 ··</div>
156 <search·id="searchbox"·style="display:·none"·role="search">157 <search·id="searchbox"·style="display:·none"·role="search">
157 ··<h3·id="searchlabel">Quick·search</h3>158 ··<h3·id="searchlabel">Kiirotsing</h3>
158 ····<div·class="searchformwrapper">159 ····<div·class="searchformwrapper">
159 ····<form·class="search"·action="../../../search.html"·method="get">160 ····<form·class="search"·action="../../../search.html"·method="get">
160 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
161 ······<input·type="submit"·value="Go"·/>162 ······<input·type="submit"·value="Otsi"·/>
162 ····</form>163 ····</form>
163 ····</div>164 ····</div>
164 </search>165 </search>
165 <script>document.getElementById('searchbox').style.display·=·"block"</script>166 <script>document.getElementById('searchbox').style.display·=·"block"</script>
166 ········</div>167 ········</div>
167 ······</div>168 ······</div>
168 ··············<h3>Last·update:</h3>169 ··············<h3>Last·update:</h3>
169 ··············<p·class="topless">Nov·05,·2024</p>170 ··············<p·class="topless">nov·05,·2024</p>
170 ··········</div>171 ··········</div>
171 ········172 ········
172 ······173 ······
173 ····</div>174 ····</div>
  
174 ····<div·id="ft">175 ····<div·id="ft">
175 ······<div·class="nav">176 ······<div·class="nav">
3.43 KB
html2text {}
Max HTML report size reached
7.78 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>django.contrib.postgres·&#8212;·Django·5.1.3·documentation</title>6 ····<title>django.contrib.postgres·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="PostgreSQL·specific·aggregation·functions"·href="aggregates.html"·/>15 ····<link·rel="next"·title="PostgreSQL·specific·aggregation·functions"·href="aggregates.html"·/>
15 ····<link·rel="prev"·title="The·messages·framework"·href="../messages.html"·/>16 ····<link·rel="prev"·title="The·messages·framework"·href="../messages.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-module-django.contrib.postgres">81 ··<section·id="s-module-django.contrib.postgres">
81 <span·id="s-django-contrib-postgres"></span><span·id="module-django.contrib.postgres"></span><span·id="django-contrib-postgres"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code><a·class="headerlink"·href="#module-django.contrib.postgres"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-django-contrib-postgres"></span><span·id="module-django.contrib.postgres"></span><span·id="django-contrib-postgres"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code><a·class="headerlink"·href="#module-django.contrib.postgres"·title="Link·to·this·heading">¶</a></h1>
82 <p>PostgreSQL·has·a·number·of·features·which·are·not·shared·by·the·other·databases83 <p>PostgreSQL·has·a·number·of·features·which·are·not·shared·by·the·other·databases
83 Django·supports.·This·optional·module·contains·model·fields·and·form·fields·for84 Django·supports.·This·optional·module·contains·model·fields·and·form·fields·for
84 a·number·of·PostgreSQL·specific·data·types.</p>85 a·number·of·PostgreSQL·specific·data·types.</p>
85 <div·class="admonition·note">86 <div·class="admonition·note">
86 <p·class="admonition-title">Note</p>87 <p·class="admonition-title">rkus</p>
87 <p>Django·is,·and·will·continue·to·be,·a·database-agnostic·web·framework.·We88 <p>Django·is,·and·will·continue·to·be,·a·database-agnostic·web·framework.·We
88 would·encourage·those·writing·reusable·applications·for·the·Django89 would·encourage·those·writing·reusable·applications·for·the·Django
89 community·to·write·database-agnostic·code·where·practical.·However,·we90 community·to·write·database-agnostic·code·where·practical.·However,·we
90 recognize·that·real·world·projects·written·using·Django·need·not·be91 recognize·that·real·world·projects·written·using·Django·need·not·be
91 database-agnostic.·In·fact,·once·a·project·reaches·a·given·size·changing92 database-agnostic.·In·fact,·once·a·project·reaches·a·given·size·changing
92 the·underlying·data·store·is·already·a·significant·challenge·and·is·likely93 the·underlying·data·store·is·already·a·significant·challenge·and·is·likely
93 to·require·changing·the·code·base·in·some·ways·to·handle·differences94 to·require·changing·the·code·base·in·some·ways·to·handle·differences
Offset 191, 37 lines modifiedOffset 192, 37 lines modified
191 ······192 ······
192 ········193 ········
193 ··········<div·class="yui-b"·id="sidebar">194 ··········<div·class="yui-b"·id="sidebar">
194 ············195 ············
195 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">196 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
196 ········<div·class="sphinxsidebarwrapper">197 ········<div·class="sphinxsidebarwrapper">
197 ··<div>198 ··<div>
198 ····<h4>Previous·topic</h4>199 ····<h4>Eelmine·teema</h4>
199 ····<p·class="topless"><a·href="../messages.html"200 ····<p·class="topless"><a·href="../messages.html"
200 ··························title="previous·chapter">The·messages·framework</a></p>201 ··························title="eelmine·jaotis">The·messages·framework</a></p>
201 ··</div>202 ··</div>
202 ··<div>203 ··<div>
203 ····<h4>Next·topic</h4>204 ····<h4>Järgmine·teema</h4>
204 ····<p·class="topless"><a·href="aggregates.html"205 ····<p·class="topless"><a·href="aggregates.html"
205 ··························title="next·chapter">PostgreSQL·specific·aggregation·functions</a></p>206 ··························title="järgmine·jaotis">PostgreSQL·specific·aggregation·functions</a></p>
206 ··</div>207 ··</div>
207 <search·id="searchbox"·style="display:·none"·role="search">208 <search·id="searchbox"·style="display:·none"·role="search">
208 ··<h3·id="searchlabel">Quick·search</h3>209 ··<h3·id="searchlabel">Kiirotsing</h3>
209 ····<div·class="searchformwrapper">210 ····<div·class="searchformwrapper">
210 ····<form·class="search"·action="../../../search.html"·method="get">211 ····<form·class="search"·action="../../../search.html"·method="get">
211 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>212 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
212 ······<input·type="submit"·value="Go"·/>213 ······<input·type="submit"·value="Otsi"·/>
213 ····</form>214 ····</form>
214 ····</div>215 ····</div>
215 </search>216 </search>
216 <script>document.getElementById('searchbox').style.display·=·"block"</script>217 <script>document.getElementById('searchbox').style.display·=·"block"</script>
217 ········</div>218 ········</div>
218 ······</div>219 ······</div>
219 ··············<h3>Last·update:</h3>220 ··············<h3>Last·update:</h3>
220 ··············<p·class="topless">Nov·05,·2024</p>221 ··············<p·class="topless">nov·05,·2024</p>
221 ··········</div>222 ··········</div>
222 ········223 ········
223 ······224 ······
224 ····</div>225 ····</div>
  
225 ····<div·id="ft">226 ····<div·id="ft">
226 ······<div·class="nav">227 ······<div·class="nav">
2.56 KB
html2text {}
Max HTML report size reached
40.4 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/indexes.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>PostgreSQL·specific·model·indexes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>PostgreSQL·specific·model·indexes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="PostgreSQL·specific·lookups"·href="lookups.html"·/>15 ····<link·rel="next"·title="PostgreSQL·specific·lookups"·href="lookups.html"·/>
15 ····<link·rel="prev"·title="PostgreSQL·specific·database·functions"·href="functions.html"·/>16 ····<link·rel="prev"·title="PostgreSQL·specific·database·functions"·href="functions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="s-postgresql-specific-model-indexes"></span><span·id="module-django.contrib.postgres.indexes"></span><span·id="postgresql-specific-model-indexes"></span><h1>PostgreSQL·specific·model·indexes<a·class="headerlink"·href="#module-django.contrib.postgres.indexes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-postgresql-specific-model-indexes"></span><span·id="module-django.contrib.postgres.indexes"></span><span·id="postgresql-specific-model-indexes"></span><h1>PostgreSQL·specific·model·indexes<a·class="headerlink"·href="#module-django.contrib.postgres.indexes"·title="Link·to·this·heading">¶</a></h1>
82 <p>The·following·are·PostgreSQL·specific·<a·class="reference·internal"·href="../../models/indexes.html"><span·class="doc">indexes</span></a>83 <p>The·following·are·PostgreSQL·specific·<a·class="reference·internal"·href="../../models/indexes.html"><span·class="doc">indexes</span></a>
83 available·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.indexes</span></code>·module.</p>84 available·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.indexes</span></code>·module.</p>
84 <section·id="s-bloomindex">85 <section·id="s-bloomindex">
85 <span·id="bloomindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BloomIndex</span></code><a·class="headerlink"·href="#bloomindex"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bloomindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BloomIndex</span></code><a·class="headerlink"·href="#bloomindex"·title="Link·to·this·heading">¶</a></h2>
86 <dl·class="py·class">87 <dl·class="py·class">
87 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.BloomIndex">88 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.BloomIndex">
88 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BloomIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">length</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">columns</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L45"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.BloomIndex"·title="Link·to·this·definition">¶</a></dt>89 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BloomIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">length</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">columns</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L45"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.BloomIndex"·title="Link·to·this·definition">¶</a></dt>
89 <dd><p>Creates·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/bloom.html">bloom</a>·index.</p>90 <dd><p>Creates·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/bloom.html">bloom</a>·index.</p>
90 <p>To·use·this·index·access·you·need·to·activate·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/bloom.html">bloom</a>·extension·on91 <p>To·use·this·index·access·you·need·to·activate·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/bloom.html">bloom</a>·extension·on
91 PostgreSQL.·You·can·install·it·using·the92 PostgreSQL.·You·can·install·it·using·the
92 <a·class="reference·internal"·href="operations.html#django.contrib.postgres.operations.BloomExtension"·title="django.contrib.postgres.operations.BloomExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BloomExtension</span></code></a>·migration93 <a·class="reference·internal"·href="operations.html#django.contrib.postgres.operations.BloomExtension"·title="django.contrib.postgres.operations.BloomExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BloomExtension</span></code></a>·migration
93 operation.</p>94 operation.</p>
94 <p>Provide·an·integer·number·of·bits·from·1·to·4096·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">length</span></code>95 <p>Provide·an·integer·number·of·bits·from·1·to·4096·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">length</span></code>
95 parameter·to·specify·the·length·of·each·index·entry.·PostgreSQL’s·default96 parameter·to·specify·the·length·of·each·index·entry.·PostgreSQL’s·default
Offset 99, 27 lines modifiedOffset 100, 27 lines modified
99 </dd></dl>100 </dd></dl>
  
100 </section>101 </section>
101 <section·id="s-brinindex">102 <section·id="s-brinindex">
102 <span·id="brinindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BrinIndex</span></code><a·class="headerlink"·href="#brinindex"·title="Link·to·this·heading">¶</a></h2>103 <span·id="brinindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BrinIndex</span></code><a·class="headerlink"·href="#brinindex"·title="Link·to·this·heading">¶</a></h2>
103 <dl·class="py·class">104 <dl·class="py·class">
104 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.BrinIndex">105 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.BrinIndex">
105 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BrinIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">autosummarize</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">pages_per_range</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L86"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.BrinIndex"·title="Link·to·this·definition">¶</a></dt>106 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BrinIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">autosummarize</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">pages_per_range</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L86"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.BrinIndex"·title="Link·to·this·definition">¶</a></dt>
106 <dd><p>Creates·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/brin-intro.html">BRIN·index</a>.</p>107 <dd><p>Creates·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/brin-intro.html">BRIN·index</a>.</p>
107 <p>Set·the·<code·class="docutils·literal·notranslate"><span·class="pre">autosummarize</span></code>·parameter·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·to·enable·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/brin-intro.html#BRIN-OPERATION">automatic108 <p>Set·the·<code·class="docutils·literal·notranslate"><span·class="pre">autosummarize</span></code>·parameter·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·to·enable·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/brin-intro.html#BRIN-OPERATION">automatic
108 summarization</a>·to·be·performed·by·autovacuum.</p>109 summarization</a>·to·be·performed·by·autovacuum.</p>
109 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">pages_per_range</span></code>·argument·takes·a·positive·integer.</p>110 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">pages_per_range</span></code>·argument·takes·a·positive·integer.</p>
110 </dd></dl>111 </dd></dl>
  
111 </section>112 </section>
112 <section·id="s-btreeindex">113 <section·id="s-btreeindex">
113 <span·id="btreeindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BTreeIndex</span></code><a·class="headerlink"·href="#btreeindex"·title="Link·to·this·heading">¶</a></h2>114 <span·id="btreeindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BTreeIndex</span></code><a·class="headerlink"·href="#btreeindex"·title="Link·to·this·heading">¶</a></h2>
114 <dl·class="py·class">115 <dl·class="py·class">
115 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.BTreeIndex">116 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.BTreeIndex">
116 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BTreeIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fillfactor</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">deduplicate_items</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L117"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.BTreeIndex"·title="Link·to·this·definition">¶</a></dt>117 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BTreeIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fillfactor</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">deduplicate_items</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L117"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.BTreeIndex"·title="Link·to·this·definition">¶</a></dt>
117 <dd><p>Creates·a·B-Tree·index.</p>118 <dd><p>Creates·a·B-Tree·index.</p>
118 <p>Provide·an·integer·value·from·10·to·100·to·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS">fillfactor</a>·parameter·to119 <p>Provide·an·integer·value·from·10·to·100·to·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS">fillfactor</a>·parameter·to
119 tune·how·packed·the·index·pages·will·be.·PostgreSQL’s·default·is·90.</p>120 tune·how·packed·the·index·pages·will·be.·PostgreSQL’s·default·is·90.</p>
120 <p>Provide·a·boolean·value·to·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/btree-implementation.html#BTREE-DEDUPLICATION">deduplicate_items</a>·parameter·to·control121 <p>Provide·a·boolean·value·to·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/btree-implementation.html#BTREE-DEDUPLICATION">deduplicate_items</a>·parameter·to·control
121 whether·deduplication·is·enabled.·PostgreSQL·enables·deduplication·by122 whether·deduplication·is·enabled.·PostgreSQL·enables·deduplication·by
122 default.</p>123 default.</p>
123 <div·class="versionchanged">124 <div·class="versionchanged">
Offset 128, 15 lines modifiedOffset 129, 15 lines modified
128 </dd></dl>129 </dd></dl>
  
129 </section>130 </section>
130 <section·id="s-ginindex">131 <section·id="s-ginindex">
131 <span·id="ginindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">GinIndex</span></code><a·class="headerlink"·href="#ginindex"·title="Link·to·this·heading">¶</a></h2>132 <span·id="ginindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">GinIndex</span></code><a·class="headerlink"·href="#ginindex"·title="Link·to·this·heading">¶</a></h2>
132 <dl·class="py·class">133 <dl·class="py·class">
133 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.GinIndex">134 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.GinIndex">
134 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GinIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fastupdate</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">gin_pending_list_limit</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L144"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.GinIndex"·title="Link·to·this·definition">¶</a></dt>135 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GinIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fastupdate</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">gin_pending_list_limit</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L144"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.GinIndex"·title="Link·to·this·definition">¶</a></dt>
135 <dd><p>Creates·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gin.html">gin·index</a>.</p>136 <dd><p>Creates·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gin.html">gin·index</a>.</p>
136 <p>To·use·this·index·on·data·types·not·in·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gin-builtin-opclasses.html">built-in·operator·classes</a>,137 <p>To·use·this·index·on·data·types·not·in·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gin-builtin-opclasses.html">built-in·operator·classes</a>,
137 you·need·to·activate·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/btree-gin.html">btree_gin·extension</a>·on138 you·need·to·activate·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/btree-gin.html">btree_gin·extension</a>·on
138 PostgreSQL.·You·can·install·it·using·the139 PostgreSQL.·You·can·install·it·using·the
139 <a·class="reference·internal"·href="operations.html#django.contrib.postgres.operations.BtreeGinExtension"·title="django.contrib.postgres.operations.BtreeGinExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BtreeGinExtension</span></code></a>·migration140 <a·class="reference·internal"·href="operations.html#django.contrib.postgres.operations.BtreeGinExtension"·title="django.contrib.postgres.operations.BtreeGinExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BtreeGinExtension</span></code></a>·migration
140 operation.</p>141 operation.</p>
141 <p>Set·the·<code·class="docutils·literal·notranslate"><span·class="pre">fastupdate</span></code>·parameter·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·to·disable·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gin-implementation.html#GIN-FAST-UPDATE">GIN·Fast142 <p>Set·the·<code·class="docutils·literal·notranslate"><span·class="pre">fastupdate</span></code>·parameter·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·to·disable·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gin-implementation.html#GIN-FAST-UPDATE">GIN·Fast
Offset 147, 15 lines modifiedOffset 148, 15 lines modified
147 </dd></dl>148 </dd></dl>
  
148 </section>149 </section>
149 <section·id="s-gistindex">150 <section·id="s-gistindex">
150 <span·id="gistindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">GistIndex</span></code><a·class="headerlink"·href="#gistindex"·title="Link·to·this·heading">¶</a></h2>151 <span·id="gistindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">GistIndex</span></code><a·class="headerlink"·href="#gistindex"·title="Link·to·this·heading">¶</a></h2>
151 <dl·class="py·class">152 <dl·class="py·class">
152 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.GistIndex">153 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.GistIndex">
153 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GistIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">buffering</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fillfactor</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L173"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.GistIndex"·title="Link·to·this·definition">¶</a></dt>154 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GistIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">buffering</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fillfactor</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L173"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.GistIndex"·title="Link·to·this·definition">¶</a></dt>
154 <dd><p>Creates·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gist.html">GiST·index</a>.·These·indexes·are155 <dd><p>Creates·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gist.html">GiST·index</a>.·These·indexes·are
155 automatically·created·on·spatial·fields·with·<a·class="reference·internal"·href="../gis/model-api.html#django.contrib.gis.db.models.BaseSpatialField.spatial_index"·title="django.contrib.gis.db.models.BaseSpatialField.spatial_index"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">spatial_index=True</span></code></a>.·They’re156 automatically·created·on·spatial·fields·with·<a·class="reference·internal"·href="../gis/model-api.html#django.contrib.gis.db.models.BaseSpatialField.spatial_index"·title="django.contrib.gis.db.models.BaseSpatialField.spatial_index"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">spatial_index=True</span></code></a>.·They’re
156 also·useful·on·other·types,·such·as157 also·useful·on·other·types,·such·as
157 <a·class="reference·internal"·href="fields.html#django.contrib.postgres.fields.HStoreField"·title="django.contrib.postgres.fields.HStoreField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a>·or·the·<a·class="reference·internal"·href="fields.html#range-fields"><span·class="std·std-ref">range158 <a·class="reference·internal"·href="fields.html#django.contrib.postgres.fields.HStoreField"·title="django.contrib.postgres.fields.HStoreField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a>·or·the·<a·class="reference·internal"·href="fields.html#range-fields"><span·class="std·std-ref">range
158 fields</span></a>.</p>159 fields</span></a>.</p>
159 <p>To·use·this·index·on·data·types·not·in·the·built-in·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gist-builtin-opclasses.html">gist·operator·classes</a>,160 <p>To·use·this·index·on·data·types·not·in·the·built-in·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/gist-builtin-opclasses.html">gist·operator·classes</a>,
160 you·need·to·activate·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/btree-gist.html">btree_gist·extension</a>·on·PostgreSQL.161 you·need·to·activate·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/btree-gist.html">btree_gist·extension</a>·on·PostgreSQL.
Offset 169, 37 lines modifiedOffset 170, 37 lines modified
169 </dd></dl>170 </dd></dl>
  
170 </section>171 </section>
171 <section·id="s-hashindex">172 <section·id="s-hashindex">
172 <span·id="hashindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">HashIndex</span></code><a·class="headerlink"·href="#hashindex"·title="Link·to·this·heading">¶</a></h2>173 <span·id="hashindex"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">HashIndex</span></code><a·class="headerlink"·href="#hashindex"·title="Link·to·this·heading">¶</a></h2>
173 <dl·class="py·class">174 <dl·class="py·class">
174 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.HashIndex">175 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.indexes.HashIndex">
175 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">HashIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fillfactor</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L198"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.HashIndex"·title="Link·to·this·definition">¶</a></dt>176 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">HashIndex</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fillfactor</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">options</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/indexes.py#L198"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.indexes.HashIndex"·title="Link·to·this·definition">¶</a></dt>
176 <dd><p>Creates·a·hash·index.</p>177 <dd><p>Creates·a·hash·index.</p>
177 <p>Provide·an·integer·value·from·10·to·100·to·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS">fillfactor</a>·parameter·to178 <p>Provide·an·integer·value·from·10·to·100·to·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createindex.html#SQL-CREATEINDEX-STORAGE-PARAMETERS">fillfactor</a>·parameter·to
178 tune·how·packed·the·index·pages·will·be.·PostgreSQL’s·default·is·90.</p>179 tune·how·packed·the·index·pages·will·be.·PostgreSQL’s·default·is·90.</p>
Max diff block lines reached; 8386/31651 bytes (26.50%) of diff not shown.
9.36 KB
html2text {}
Max HTML report size reached
9.02 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/lookups.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>PostgreSQL·specific·lookups·&#8212;·Django·5.1.3·documentation</title>6 ····<title>PostgreSQL·specific·lookups·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Database·migration·operations"·href="operations.html"·/>15 ····<link·rel="next"·title="Database·migration·operations"·href="operations.html"·/>
15 ····<link·rel="prev"·title="PostgreSQL·specific·model·indexes"·href="indexes.html"·/>16 ····<link·rel="prev"·title="PostgreSQL·specific·model·indexes"·href="indexes.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 149, 15 lines modifiedOffset 150, 15 lines modified
149 <span·class="go">[&#39;&lt;City:·Mexico&gt;&#39;]</span>150 <span·class="go">[&#39;&lt;City:·Mexico&gt;&#39;]</span>
  
150 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">User</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">first_name__unaccent__startswith</span><span·class="o">=</span><span·class="s2">&quot;Jerem&quot;</span><span·class="p">)</span>151 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">User</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">first_name__unaccent__startswith</span><span·class="o">=</span><span·class="s2">&quot;Jerem&quot;</span><span·class="p">)</span>
151 <span·class="go">[&#39;&lt;User:·Jeremy&gt;&#39;,·&#39;&lt;User:·Jérémy&gt;&#39;,·&#39;&lt;User:·Jérémie&gt;&#39;,·&#39;&lt;User:·Jeremie&gt;&#39;]</span>152 <span·class="go">[&#39;&lt;User:·Jeremy&gt;&#39;,·&#39;&lt;User:·Jérémy&gt;&#39;,·&#39;&lt;User:·Jérémie&gt;&#39;,·&#39;&lt;User:·Jeremie&gt;&#39;]</span>
152 </pre></div>153 </pre></div>
153 </div>154 </div>
154 <div·class="admonition·warning">155 <div·class="admonition·warning">
155 <p·class="admonition-title">Warning</p>156 <p·class="admonition-title">Hoiatus</p>
156 <p><code·class="docutils·literal·notranslate"><span·class="pre">unaccent</span></code>·lookups·should·perform·fine·in·most·use·cases.·However,·queries157 <p><code·class="docutils·literal·notranslate"><span·class="pre">unaccent</span></code>·lookups·should·perform·fine·in·most·use·cases.·However,·queries
157 using·this·filter·will·generally·perform·full·table·scans,·which·can·be·slow158 using·this·filter·will·generally·perform·full·table·scans,·which·can·be·slow
158 on·large·tables.·In·those·cases,·using·dedicated·full·text·indexing·tools159 on·large·tables.·In·those·cases,·using·dedicated·full·text·indexing·tools
159 might·be·appropriate.</p>160 might·be·appropriate.</p>
160 </div>161 </div>
161 </section>162 </section>
162 </section>163 </section>
Offset 169, 15 lines modifiedOffset 170, 15 lines modified
169 ······170 ······
170 ········171 ········
171 ··········<div·class="yui-b"·id="sidebar">172 ··········<div·class="yui-b"·id="sidebar">
172 ············173 ············
173 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">174 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
174 ········<div·class="sphinxsidebarwrapper">175 ········<div·class="sphinxsidebarwrapper">
175 ··<div>176 ··<div>
176 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>177 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
177 ····<ul>178 ····<ul>
178 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·lookups</a><ul>179 <li><a·class="reference·internal"·href="#">PostgreSQL·specific·lookups</a><ul>
179 <li><a·class="reference·internal"·href="#trigram-similarity">Trigram·similarity</a><ul>180 <li><a·class="reference·internal"·href="#trigram-similarity">Trigram·similarity</a><ul>
180 <li><a·class="reference·internal"·href="#trigram-similar"><code·class="docutils·literal·notranslate"><span·class="pre">trigram_similar</span></code></a></li>181 <li><a·class="reference·internal"·href="#trigram-similar"><code·class="docutils·literal·notranslate"><span·class="pre">trigram_similar</span></code></a></li>
181 <li><a·class="reference·internal"·href="#trigram-word-similar"><code·class="docutils·literal·notranslate"><span·class="pre">trigram_word_similar</span></code></a></li>182 <li><a·class="reference·internal"·href="#trigram-word-similar"><code·class="docutils·literal·notranslate"><span·class="pre">trigram_word_similar</span></code></a></li>
182 <li><a·class="reference·internal"·href="#trigram-strict-word-similar"><code·class="docutils·literal·notranslate"><span·class="pre">trigram_strict_word_similar</span></code></a></li>183 <li><a·class="reference·internal"·href="#trigram-strict-word-similar"><code·class="docutils·literal·notranslate"><span·class="pre">trigram_strict_word_similar</span></code></a></li>
183 </ul>184 </ul>
Offset 185, 37 lines modifiedOffset 186, 37 lines modified
185 <li><a·class="reference·internal"·href="#unaccent"><code·class="docutils·literal·notranslate"><span·class="pre">Unaccent</span></code></a></li>186 <li><a·class="reference·internal"·href="#unaccent"><code·class="docutils·literal·notranslate"><span·class="pre">Unaccent</span></code></a></li>
186 </ul>187 </ul>
187 </li>188 </li>
188 </ul>189 </ul>
  
189 ··</div>190 ··</div>
190 ··<div>191 ··<div>
191 ····<h4>Previous·topic</h4>192 ····<h4>Eelmine·teema</h4>
192 ····<p·class="topless"><a·href="indexes.html"193 ····<p·class="topless"><a·href="indexes.html"
193 ··························title="previous·chapter">PostgreSQL·specific·model·indexes</a></p>194 ··························title="eelmine·jaotis">PostgreSQL·specific·model·indexes</a></p>
194 ··</div>195 ··</div>
195 ··<div>196 ··<div>
196 ····<h4>Next·topic</h4>197 ····<h4>Järgmine·teema</h4>
197 ····<p·class="topless"><a·href="operations.html"198 ····<p·class="topless"><a·href="operations.html"
198 ··························title="next·chapter">Database·migration·operations</a></p>199 ··························title="järgmine·jaotis">Database·migration·operations</a></p>
199 ··</div>200 ··</div>
200 <search·id="searchbox"·style="display:·none"·role="search">201 <search·id="searchbox"·style="display:·none"·role="search">
201 ··<h3·id="searchlabel">Quick·search</h3>202 ··<h3·id="searchlabel">Kiirotsing</h3>
202 ····<div·class="searchformwrapper">203 ····<div·class="searchformwrapper">
203 ····<form·class="search"·action="../../../search.html"·method="get">204 ····<form·class="search"·action="../../../search.html"·method="get">
204 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>205 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
205 ······<input·type="submit"·value="Go"·/>206 ······<input·type="submit"·value="Otsi"·/>
206 ····</form>207 ····</form>
207 ····</div>208 ····</div>
208 </search>209 </search>
209 <script>document.getElementById('searchbox').style.display·=·"block"</script>210 <script>document.getElementById('searchbox').style.display·=·"block"</script>
210 ········</div>211 ········</div>
211 ······</div>212 ······</div>
212 ··············<h3>Last·update:</h3>213 ··············<h3>Last·update:</h3>
213 ··············<p·class="topless">Nov·05,·2024</p>214 ··············<p·class="topless">nov·05,·2024</p>
214 ··········</div>215 ··········</div>
215 ········216 ········
216 ······217 ······
217 ····</div>218 ····</div>
  
218 ····<div·id="ft">219 ····<div·id="ft">
219 ······<div·class="nav">220 ······<div·class="nav">
2.95 KB
html2text {}
Max HTML report size reached
47.5 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/operations.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Database·migration·operations·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Database·migration·operations·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Full·text·search"·href="search.html"·/>15 ····<link·rel="next"·title="Full·text·search"·href="search.html"·/>
15 ····<link·rel="prev"·title="PostgreSQL·specific·lookups"·href="lookups.html"·/>16 ····<link·rel="prev"·title="PostgreSQL·specific·lookups"·href="lookups.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 15 lines modifiedOffset 108, 15 lines modified
107 them.·In·that·case,·connect·to·your·Django·database·and·run·the·query108 them.·In·that·case,·connect·to·your·Django·database·and·run·the·query
108 <code·class="docutils·literal·notranslate"><span·class="pre">CREATE</span>·<span·class="pre">EXTENSION</span>·<span·class="pre">IF</span>·<span·class="pre">NOT</span>·<span·class="pre">EXISTS</span>·<span·class="pre">hstore;</span></code>.</p>109 <code·class="docutils·literal·notranslate"><span·class="pre">CREATE</span>·<span·class="pre">EXTENSION</span>·<span·class="pre">IF</span>·<span·class="pre">NOT</span>·<span·class="pre">EXISTS</span>·<span·class="pre">hstore;</span></code>.</p>
109 </section>110 </section>
110 <section·id="s-createextension">111 <section·id="s-createextension">
111 <span·id="createextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">CreateExtension</span></code><a·class="headerlink"·href="#createextension"·title="Link·to·this·heading">¶</a></h2>112 <span·id="createextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">CreateExtension</span></code><a·class="headerlink"·href="#createextension"·title="Link·to·this·heading">¶</a></h2>
112 <dl·class="py·class">113 <dl·class="py·class">
113 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.CreateExtension">114 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.CreateExtension">
114 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CreateExtension</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L12"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.CreateExtension"·title="Link·to·this·definition">¶</a></dt>115 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CreateExtension</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L12"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.CreateExtension"·title="Link·to·this·definition">¶</a></dt>
115 <dd><p>An·<code·class="docutils·literal·notranslate"><span·class="pre">Operation</span></code>·subclass·which·installs·a·PostgreSQL·extension.·For·common116 <dd><p>An·<code·class="docutils·literal·notranslate"><span·class="pre">Operation</span></code>·subclass·which·installs·a·PostgreSQL·extension.·For·common
116 extensions,·use·one·of·the·more·specific·subclasses·below.</p>117 extensions,·use·one·of·the·more·specific·subclasses·below.</p>
117 <dl·class="py·attribute">118 <dl·class="py·attribute">
118 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.CreateExtension.name">119 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.CreateExtension.name">
119 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="headerlink"·href="#django.contrib.postgres.operations.CreateExtension.name"·title="Link·to·this·definition">¶</a></dt>120 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="headerlink"·href="#django.contrib.postgres.operations.CreateExtension.name"·title="Link·to·this·definition">¶</a></dt>
120 <dd><p>This·is·a·required·argument.·The·name·of·the·extension·to·be·installed.</p>121 <dd><p>This·is·a·required·argument.·The·name·of·the·extension·to·be·installed.</p>
121 </dd></dl>122 </dd></dl>
Offset 123, 79 lines modifiedOffset 124, 79 lines modified
123 </dd></dl>124 </dd></dl>
  
124 </section>125 </section>
125 <section·id="s-bloomextension">126 <section·id="s-bloomextension">
126 <span·id="bloomextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BloomExtension</span></code><a·class="headerlink"·href="#bloomextension"·title="Link·to·this·heading">¶</a></h2>127 <span·id="bloomextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BloomExtension</span></code><a·class="headerlink"·href="#bloomextension"·title="Link·to·this·heading">¶</a></h2>
127 <dl·class="py·class">128 <dl·class="py·class">
128 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.BloomExtension">129 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.BloomExtension">
129 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BloomExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L71"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.BloomExtension"·title="Link·to·this·definition">¶</a></dt>130 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BloomExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L71"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.BloomExtension"·title="Link·to·this·definition">¶</a></dt>
130 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">bloom</span></code>·extension.</p>131 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">bloom</span></code>·extension.</p>
131 </dd></dl>132 </dd></dl>
  
132 </section>133 </section>
133 <section·id="s-btreeginextension">134 <section·id="s-btreeginextension">
134 <span·id="btreeginextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BtreeGinExtension</span></code><a·class="headerlink"·href="#btreeginextension"·title="Link·to·this·heading">¶</a></h2>135 <span·id="btreeginextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BtreeGinExtension</span></code><a·class="headerlink"·href="#btreeginextension"·title="Link·to·this·heading">¶</a></h2>
135 <dl·class="py·class">136 <dl·class="py·class">
136 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.BtreeGinExtension">137 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.BtreeGinExtension">
137 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BtreeGinExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L76"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.BtreeGinExtension"·title="Link·to·this·definition">¶</a></dt>138 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BtreeGinExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L76"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.BtreeGinExtension"·title="Link·to·this·definition">¶</a></dt>
138 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">btree_gin</span></code>·extension.</p>139 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">btree_gin</span></code>·extension.</p>
139 </dd></dl>140 </dd></dl>
  
140 </section>141 </section>
141 <section·id="s-btreegistextension">142 <section·id="s-btreegistextension">
142 <span·id="btreegistextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BtreeGistExtension</span></code><a·class="headerlink"·href="#btreegistextension"·title="Link·to·this·heading">¶</a></h2>143 <span·id="btreegistextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BtreeGistExtension</span></code><a·class="headerlink"·href="#btreegistextension"·title="Link·to·this·heading">¶</a></h2>
143 <dl·class="py·class">144 <dl·class="py·class">
144 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.BtreeGistExtension">145 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.BtreeGistExtension">
145 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BtreeGistExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L81"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.BtreeGistExtension"·title="Link·to·this·definition">¶</a></dt>146 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BtreeGistExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L81"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.BtreeGistExtension"·title="Link·to·this·definition">¶</a></dt>
146 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">btree_gist</span></code>·extension.</p>147 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">btree_gist</span></code>·extension.</p>
147 </dd></dl>148 </dd></dl>
  
148 </section>149 </section>
149 <section·id="s-citextextension">150 <section·id="s-citextextension">
150 <span·id="citextextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">CITextExtension</span></code><a·class="headerlink"·href="#citextextension"·title="Link·to·this·heading">¶</a></h2>151 <span·id="citextextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">CITextExtension</span></code><a·class="headerlink"·href="#citextextension"·title="Link·to·this·heading">¶</a></h2>
151 <dl·class="py·class">152 <dl·class="py·class">
152 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.CITextExtension">153 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.CITextExtension">
153 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CITextExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L86"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.CITextExtension"·title="Link·to·this·definition">¶</a></dt>154 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CITextExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L86"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.CITextExtension"·title="Link·to·this·definition">¶</a></dt>
154 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">citext</span></code>·extension.</p>155 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">citext</span></code>·extension.</p>
155 </dd></dl>156 </dd></dl>
  
156 </section>157 </section>
157 <section·id="s-cryptoextension">158 <section·id="s-cryptoextension">
158 <span·id="cryptoextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">CryptoExtension</span></code><a·class="headerlink"·href="#cryptoextension"·title="Link·to·this·heading">¶</a></h2>159 <span·id="cryptoextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">CryptoExtension</span></code><a·class="headerlink"·href="#cryptoextension"·title="Link·to·this·heading">¶</a></h2>
159 <dl·class="py·class">160 <dl·class="py·class">
160 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.CryptoExtension">161 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.CryptoExtension">
161 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CryptoExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L91"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.CryptoExtension"·title="Link·to·this·definition">¶</a></dt>162 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CryptoExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L91"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.CryptoExtension"·title="Link·to·this·definition">¶</a></dt>
162 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">pgcrypto</span></code>·extension.</p>163 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">pgcrypto</span></code>·extension.</p>
163 </dd></dl>164 </dd></dl>
  
164 </section>165 </section>
165 <section·id="s-hstoreextension">166 <section·id="s-hstoreextension">
166 <span·id="hstoreextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">HStoreExtension</span></code><a·class="headerlink"·href="#hstoreextension"·title="Link·to·this·heading">¶</a></h2>167 <span·id="hstoreextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">HStoreExtension</span></code><a·class="headerlink"·href="#hstoreextension"·title="Link·to·this·heading">¶</a></h2>
167 <dl·class="py·class">168 <dl·class="py·class">
168 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.HStoreExtension">169 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.HStoreExtension">
169 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">HStoreExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L96"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.HStoreExtension"·title="Link·to·this·definition">¶</a></dt>170 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">HStoreExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L96"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.HStoreExtension"·title="Link·to·this·definition">¶</a></dt>
170 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">hstore</span></code>·extension·and·also·sets·up·the·connection·to171 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">hstore</span></code>·extension·and·also·sets·up·the·connection·to
171 interpret·hstore·data·for·possible·use·in·subsequent·migrations.</p>172 interpret·hstore·data·for·possible·use·in·subsequent·migrations.</p>
172 </dd></dl>173 </dd></dl>
  
173 </section>174 </section>
174 <section·id="s-trigramextension">175 <section·id="s-trigramextension">
175 <span·id="trigramextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">TrigramExtension</span></code><a·class="headerlink"·href="#trigramextension"·title="Link·to·this·heading">¶</a></h2>176 <span·id="trigramextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">TrigramExtension</span></code><a·class="headerlink"·href="#trigramextension"·title="Link·to·this·heading">¶</a></h2>
176 <dl·class="py·class">177 <dl·class="py·class">
177 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.TrigramExtension">178 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.TrigramExtension">
178 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">TrigramExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L101"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.TrigramExtension"·title="Link·to·this·definition">¶</a></dt>179 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">TrigramExtension</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/operations.py#L101"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.operations.TrigramExtension"·title="Link·to·this·definition">¶</a></dt>
179 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">pg_trgm</span></code>·extension.</p>180 <dd><p>Installs·the·<code·class="docutils·literal·notranslate"><span·class="pre">pg_trgm</span></code>·extension.</p>
180 </dd></dl>181 </dd></dl>
  
181 </section>182 </section>
182 <section·id="s-unaccentextension">183 <section·id="s-unaccentextension">
183 <span·id="unaccentextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">UnaccentExtension</span></code><a·class="headerlink"·href="#unaccentextension"·title="Link·to·this·heading">¶</a></h2>184 <span·id="unaccentextension"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">UnaccentExtension</span></code><a·class="headerlink"·href="#unaccentextension"·title="Link·to·this·heading">¶</a></h2>
184 <dl·class="py·class">185 <dl·class="py·class">
185 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.UnaccentExtension">186 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.operations.UnaccentExtension">
Max diff block lines reached; 20517/37280 bytes (55.03%) of diff not shown.
11.0 KB
html2text {}
Max HTML report size reached
56.0 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/search.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Full·text·search·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Full·text·search·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Validators"·href="validators.html"·/>15 ····<link·rel="next"·title="Validators"·href="validators.html"·/>
15 ····<link·rel="prev"·title="Database·migration·operations"·href="operations.html"·/>16 ····<link·rel="prev"·title="Database·migration·operations"·href="operations.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 15 lines modifiedOffset 81, 15 lines modified
80 ··<section·id="s-full-text-search">81 ··<section·id="s-full-text-search">
81 <span·id="full-text-search"></span><h1>Full·text·search<a·class="headerlink"·href="#full-text-search"·title="Link·to·this·heading">¶</a></h1>82 <span·id="full-text-search"></span><h1>Full·text·search<a·class="headerlink"·href="#full-text-search"·title="Link·to·this·heading">¶</a></h1>
82 <p>The·database·functions·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.search</span></code>·module·ease83 <p>The·database·functions·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.search</span></code>·module·ease
83 the·use·of·PostgreSQL’s·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/textsearch.html">full·text·search·engine</a>.</p>84 the·use·of·PostgreSQL’s·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/textsearch.html">full·text·search·engine</a>.</p>
84 <p>For·the·examples·in·this·document,·we’ll·use·the·models·defined·in85 <p>For·the·examples·in·this·document,·we’ll·use·the·models·defined·in
85 <a·class="reference·internal"·href="../../../topics/db/queries.html"><span·class="doc">Making·queries</span></a>.</p>86 <a·class="reference·internal"·href="../../../topics/db/queries.html"><span·class="doc">Making·queries</span></a>.</p>
86 <div·class="admonition·seealso">87 <div·class="admonition·seealso">
87 <p·class="admonition-title">See·also</p>88 <p·class="admonition-title">Vaata·ka</p>
88 <p>For·a·high-level·overview·of·searching,·see·the·<a·class="reference·internal"·href="../../../topics/db/search.html"><span·class="doc">topic·documentation</span></a>.</p>89 <p>For·a·high-level·overview·of·searching,·see·the·<a·class="reference·internal"·href="../../../topics/db/search.html"><span·class="doc">topic·documentation</span></a>.</p>
89 </div>90 </div>
90 <section·id="s-the-search-lookup">91 <section·id="s-the-search-lookup">
91 <span·id="the-search-lookup"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">search</span></code>·lookup<a·class="headerlink"·href="#the-search-lookup"·title="Link·to·this·heading">¶</a></h2>92 <span·id="the-search-lookup"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">search</span></code>·lookup<a·class="headerlink"·href="#the-search-lookup"·title="Link·to·this·heading">¶</a></h2>
92 <p·id="std-fieldlookup-search">A·common·way·to·use·full·text·search·is·to·search·a·single·term·against·a93 <p·id="std-fieldlookup-search">A·common·way·to·use·full·text·search·is·to·search·a·single·term·against·a
93 single·column·in·the·database.·For·example:</p>94 single·column·in·the·database.·For·example:</p>
94 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">body_text__search</span><span·class="o">=</span><span·class="s2">&quot;Cheese&quot;</span><span·class="p">)</span>95 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">body_text__search</span><span·class="o">=</span><span·class="s2">&quot;Cheese&quot;</span><span·class="p">)</span>
Offset 102, 15 lines modifiedOffset 103, 15 lines modified
102 <p>To·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">search</span></code>·lookup,·<code·class="docutils·literal·notranslate"><span·class="pre">'django.contrib.postgres'</span></code>·must·be·in·your103 <p>To·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">search</span></code>·lookup,·<code·class="docutils·literal·notranslate"><span·class="pre">'django.contrib.postgres'</span></code>·must·be·in·your
103 <a·class="reference·internal"·href="../../settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>.</p>104 <a·class="reference·internal"·href="../../settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>.</p>
104 </section>105 </section>
105 <section·id="s-searchvector">106 <section·id="s-searchvector">
106 <span·id="searchvector"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SearchVector</span></code><a·class="headerlink"·href="#searchvector"·title="Link·to·this·heading">¶</a></h2>107 <span·id="searchvector"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SearchVector</span></code><a·class="headerlink"·href="#searchvector"·title="Link·to·this·heading">¶</a></h2>
107 <dl·class="py·class">108 <dl·class="py·class">
108 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchVector">109 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchVector">
109 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SearchVector</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">config</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">weight</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/search.py#L90"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.search.SearchVector"·title="Link·to·this·definition">¶</a></dt>110 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SearchVector</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">config</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">weight</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/search.py#L90"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.search.SearchVector"·title="Link·to·this·definition">¶</a></dt>
110 <dd></dd></dl>111 <dd></dd></dl>
  
111 <p>Searching·against·a·single·field·is·great·but·rather·limiting.·The·<code·class="docutils·literal·notranslate"><span·class="pre">Entry</span></code>112 <p>Searching·against·a·single·field·is·great·but·rather·limiting.·The·<code·class="docutils·literal·notranslate"><span·class="pre">Entry</span></code>
112 instances·we’re·searching·belong·to·a·<code·class="docutils·literal·notranslate"><span·class="pre">Blog</span></code>,·which·has·a·<code·class="docutils·literal·notranslate"><span·class="pre">tagline</span></code>·field.113 instances·we’re·searching·belong·to·a·<code·class="docutils·literal·notranslate"><span·class="pre">Blog</span></code>,·which·has·a·<code·class="docutils·literal·notranslate"><span·class="pre">tagline</span></code>·field.
113 To·query·against·both·fields,·use·a·<code·class="docutils·literal·notranslate"><span·class="pre">SearchVector</span></code>:</p>114 To·query·against·both·fields,·use·a·<code·class="docutils·literal·notranslate"><span·class="pre">SearchVector</span></code>:</p>
114 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.contrib.postgres.search</span>·<span·class="kn">import</span>·<span·class="n">SearchVector</span>115 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.contrib.postgres.search</span>·<span·class="kn">import</span>·<span·class="n">SearchVector</span>
115 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span>116 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span>
Offset 135, 15 lines modifiedOffset 136, 15 lines modified
135 <a·class="reference·internal"·href="#postgresql-fts-weighting-queries"><span·class="std·std-ref">Weighting·queries</span></a>·for·an·explanation·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">config</span></code>136 <a·class="reference·internal"·href="#postgresql-fts-weighting-queries"><span·class="std·std-ref">Weighting·queries</span></a>·for·an·explanation·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">config</span></code>
136 and·<code·class="docutils·literal·notranslate"><span·class="pre">weight</span></code>·parameters.</p>137 and·<code·class="docutils·literal·notranslate"><span·class="pre">weight</span></code>·parameters.</p>
137 </section>138 </section>
138 <section·id="s-searchquery">139 <section·id="s-searchquery">
139 <span·id="searchquery"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SearchQuery</span></code><a·class="headerlink"·href="#searchquery"·title="Link·to·this·heading">¶</a></h2>140 <span·id="searchquery"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SearchQuery</span></code><a·class="headerlink"·href="#searchquery"·title="Link·to·this·heading">¶</a></h2>
140 <dl·class="py·class">141 <dl·class="py·class">
141 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchQuery">142 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchQuery">
142 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SearchQuery</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">config</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">search_type</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'plain'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/search.py#L188"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.search.SearchQuery"·title="Link·to·this·definition">¶</a></dt>143 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SearchQuery</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">config</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">search_type</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'plain'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/search.py#L188"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.search.SearchQuery"·title="Link·to·this·definition">¶</a></dt>
143 <dd></dd></dl>144 <dd></dd></dl>
  
144 <p><code·class="docutils·literal·notranslate"><span·class="pre">SearchQuery</span></code>·translates·the·terms·the·user·provides·into·a·search·query145 <p><code·class="docutils·literal·notranslate"><span·class="pre">SearchQuery</span></code>·translates·the·terms·the·user·provides·into·a·search·query
145 object·that·the·database·compares·to·a·search·vector.·By·default,·all·the·words146 object·that·the·database·compares·to·a·search·vector.·By·default,·all·the·words
146 the·user·provides·are·passed·through·the·stemming·algorithms,·and·then·it147 the·user·provides·are·passed·through·the·stemming·algorithms,·and·then·it
147 looks·for·matches·for·all·of·the·resulting·terms.</p>148 looks·for·matches·for·all·of·the·resulting·terms.</p>
148 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">search_type</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">'plain'</span></code>,·which·is·the·default,·the·terms·are·treated149 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">search_type</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">'plain'</span></code>,·which·is·the·default,·the·terms·are·treated
Offset 175, 15 lines modifiedOffset 176, 15 lines modified
175 <p>See·<a·class="reference·internal"·href="#postgresql-fts-search-configuration"><span·class="std·std-ref">Changing·the·search·configuration</span></a>·for·an·explanation·of·the176 <p>See·<a·class="reference·internal"·href="#postgresql-fts-search-configuration"><span·class="std·std-ref">Changing·the·search·configuration</span></a>·for·an·explanation·of·the
176 <code·class="docutils·literal·notranslate"><span·class="pre">config</span></code>·parameter.</p>177 <code·class="docutils·literal·notranslate"><span·class="pre">config</span></code>·parameter.</p>
177 </section>178 </section>
178 <section·id="s-searchrank">179 <section·id="s-searchrank">
179 <span·id="searchrank"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SearchRank</span></code><a·class="headerlink"·href="#searchrank"·title="Link·to·this·heading">¶</a></h2>180 <span·id="searchrank"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SearchRank</span></code><a·class="headerlink"·href="#searchrank"·title="Link·to·this·heading">¶</a></h2>
180 <dl·class="py·class">181 <dl·class="py·class">
181 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchRank">182 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchRank">
182 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SearchRank</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">vector</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">weights</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">normalization</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cover_density</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/search.py#L243"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.search.SearchRank"·title="Link·to·this·definition">¶</a></dt>183 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SearchRank</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">vector</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">weights</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">normalization</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cover_density</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/search.py#L243"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.search.SearchRank"·title="Link·to·this·definition">¶</a></dt>
183 <dd></dd></dl>184 <dd></dd></dl>
  
184 <p>So·far,·we’ve·returned·the·results·for·which·any·match·between·the·vector·and185 <p>So·far,·we’ve·returned·the·results·for·which·any·match·between·the·vector·and
185 the·query·are·possible.·It’s·likely·you·may·wish·to·order·the·results·by·some186 the·query·are·possible.·It’s·likely·you·may·wish·to·order·the·results·by·some
186 sort·of·relevancy.·PostgreSQL·provides·a·ranking·function·which·takes·into187 sort·of·relevancy.·PostgreSQL·provides·a·ranking·function·which·takes·into
187 account·how·often·the·query·terms·appear·in·the·document,·how·close·together188 account·how·often·the·query·terms·appear·in·the·document,·how·close·together
188 the·terms·are·in·the·document,·and·how·important·the·part·of·the·document·is189 the·terms·are·in·the·document,·and·how·important·the·part·of·the·document·is
Offset 217, 15 lines modifiedOffset 218, 15 lines modified
217 <p>The·PostgreSQL·documentation·has·more·details·about·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-RANKING">different·rank218 <p>The·PostgreSQL·documentation·has·more·details·about·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-RANKING">different·rank
218 normalization·options</a>.</p>219 normalization·options</a>.</p>
219 </section>220 </section>
220 <section·id="s-searchheadline">221 <section·id="s-searchheadline">
221 <span·id="searchheadline"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SearchHeadline</span></code><a·class="headerlink"·href="#searchheadline"·title="Link·to·this·heading">¶</a></h2>222 <span·id="searchheadline"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SearchHeadline</span></code><a·class="headerlink"·href="#searchheadline"·title="Link·to·this·heading">¶</a></h2>
222 <dl·class="py·class">223 <dl·class="py·class">
223 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchHeadline">224 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchHeadline">
224 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SearchHeadline</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">config</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">start_sel</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">stop_sel</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_words</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">min_words</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">short_word</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">highlight_all</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_fragments</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fragment_delimiter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/search.py#L276"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.search.SearchHeadline"·title="Link·to·this·definition">¶</a></dt>225 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SearchHeadline</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">config</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">start_sel</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">stop_sel</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_words</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">min_words</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">short_word</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">highlight_all</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_fragments</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fragment_delimiter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/search.py#L276"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.search.SearchHeadline"·title="Link·to·this·definition">¶</a></dt>
225 <dd></dd></dl>226 <dd></dd></dl>
  
226 <p>Accepts·a·single·text·field·or·an·expression,·a·query,·a·config,·and·a·set·of227 <p>Accepts·a·single·text·field·or·an·expression,·a·query,·a·config,·and·a·set·of
227 options.·Returns·highlighted·search·results.</p>228 options.·Returns·highlighted·search·results.</p>
228 <p>Set·the·<code·class="docutils·literal·notranslate"><span·class="pre">start_sel</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">stop_sel</span></code>·parameters·to·the·string·values·to·be229 <p>Set·the·<code·class="docutils·literal·notranslate"><span·class="pre">start_sel</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">stop_sel</span></code>·parameters·to·the·string·values·to·be
229 used·to·wrap·highlighted·query·terms·in·the·document.·PostgreSQL’s·defaults·are230 used·to·wrap·highlighted·query·terms·in·the·document.·PostgreSQL’s·defaults·are
230 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;b&gt;</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;/b&gt;</span></code>.</p>231 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;b&gt;</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;/b&gt;</span></code>.</p>
Offset 324, 15 lines modifiedOffset 325, 15 lines modified
324 </div>325 </div>
325 <p>The·PostgreSQL·documentation·has·details·on326 <p>The·PostgreSQL·documentation·has·details·on
326 <a·class="reference·external"·href="https://www.postgresql.org/docs/current/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX">creating·indexes·for·full·text·search</a>.</p>327 <a·class="reference·external"·href="https://www.postgresql.org/docs/current/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX">creating·indexes·for·full·text·search</a>.</p>
327 <section·id="s-searchvectorfield">328 <section·id="s-searchvectorfield">
328 <span·id="searchvectorfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">SearchVectorField</span></code><a·class="headerlink"·href="#searchvectorfield"·title="Link·to·this·heading">¶</a></h3>329 <span·id="searchvectorfield"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">SearchVectorField</span></code><a·class="headerlink"·href="#searchvectorfield"·title="Link·to·this·heading">¶</a></h3>
329 <dl·class="py·class">330 <dl·class="py·class">
330 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchVectorField">331 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.search.SearchVectorField">
Max diff block lines reached; 19932/42276 bytes (47.15%) of diff not shown.
14.6 KB
html2text {}
Max HTML report size reached
16.3 KB
./usr/share/doc/python-django-doc/html/ref/contrib/postgres/validators.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Validators·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Validators·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="The·redirects·app"·href="../redirects.html"·/>15 ····<link·rel="next"·title="The·redirects·app"·href="../redirects.html"·/>
15 ····<link·rel="prev"·title="Full·text·search"·href="search.html"·/>16 ····<link·rel="prev"·title="Full·text·search"·href="search.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 44 lines modifiedOffset 82, 44 lines modified
81 <span·id="s-validators"></span><span·id="module-django.contrib.postgres.validators"></span><span·id="validators"></span><h1>Validators<a·class="headerlink"·href="#module-django.contrib.postgres.validators"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-validators"></span><span·id="module-django.contrib.postgres.validators"></span><span·id="validators"></span><h1>Validators<a·class="headerlink"·href="#module-django.contrib.postgres.validators"·title="Link·to·this·heading">¶</a></h1>
82 <p>These·validators·are·available·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.validators</span></code>83 <p>These·validators·are·available·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.validators</span></code>
83 module.</p>84 module.</p>
84 <section·id="s-keysvalidator">85 <section·id="s-keysvalidator">
85 <span·id="keysvalidator"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">KeysValidator</span></code><a·class="headerlink"·href="#keysvalidator"·title="Link·to·this·heading">¶</a></h2>86 <span·id="keysvalidator"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">KeysValidator</span></code><a·class="headerlink"·href="#keysvalidator"·title="Link·to·this·heading">¶</a></h2>
86 <dl·class="py·class">87 <dl·class="py·class">
87 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.validators.KeysValidator">88 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.validators.KeysValidator">
88 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">KeysValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">keys</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">strict</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/validators.py#L34"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.validators.KeysValidator"·title="Link·to·this·definition">¶</a></dt>89 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">KeysValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">keys</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">strict</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/validators.py#L34"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.validators.KeysValidator"·title="Link·to·this·definition">¶</a></dt>
89 <dd><p>Validates·that·the·given·keys·are·contained·in·the·value.·If·<code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is90 <dd><p>Validates·that·the·given·keys·are·contained·in·the·value.·If·<code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is
90 <code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·then·it·also·checks·that·there·are·no·other·keys·present.</p>91 <code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·then·it·also·checks·that·there·are·no·other·keys·present.</p>
91 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">messages</span></code>·passed·should·be·a·dict·containing·the·keys92 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">messages</span></code>·passed·should·be·a·dict·containing·the·keys
92 <code·class="docutils·literal·notranslate"><span·class="pre">missing_keys</span></code>·and/or·<code·class="docutils·literal·notranslate"><span·class="pre">extra_keys</span></code>.</p>93 <code·class="docutils·literal·notranslate"><span·class="pre">missing_keys</span></code>·and/or·<code·class="docutils·literal·notranslate"><span·class="pre">extra_keys</span></code>.</p>
93 <div·class="admonition·note">94 <div·class="admonition·note">
94 <p·class="admonition-title">Note</p>95 <p·class="admonition-title">rkus</p>
95 <p>Note·that·this·checks·only·for·the·existence·of·a·given·key,·not·that96 <p>Note·that·this·checks·only·for·the·existence·of·a·given·key,·not·that
96 the·value·of·a·key·is·non-empty.</p>97 the·value·of·a·key·is·non-empty.</p>
97 </div>98 </div>
98 </dd></dl>99 </dd></dl>
  
99 </section>100 </section>
100 <section·id="s-range-validators">101 <section·id="s-range-validators">
101 <span·id="range-validators"></span><h2>Range·validators<a·class="headerlink"·href="#range-validators"·title="Link·to·this·heading">¶</a></h2>102 <span·id="range-validators"></span><h2>Range·validators<a·class="headerlink"·href="#range-validators"·title="Link·to·this·heading">¶</a></h2>
102 <section·id="s-rangemaxvaluevalidator">103 <section·id="s-rangemaxvaluevalidator">
103 <span·id="rangemaxvaluevalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RangeMaxValueValidator</span></code><a·class="headerlink"·href="#rangemaxvaluevalidator"·title="Link·to·this·heading">¶</a></h3>104 <span·id="rangemaxvaluevalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RangeMaxValueValidator</span></code><a·class="headerlink"·href="#rangemaxvaluevalidator"·title="Link·to·this·heading">¶</a></h3>
104 <dl·class="py·class">105 <dl·class="py·class">
105 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.validators.RangeMaxValueValidator">106 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.validators.RangeMaxValueValidator">
106 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RangeMaxValueValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">limit_value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/validators.py#L76"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.validators.RangeMaxValueValidator"·title="Link·to·this·definition">¶</a></dt>107 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RangeMaxValueValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">limit_value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/validators.py#L76"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.validators.RangeMaxValueValidator"·title="Link·to·this·definition">¶</a></dt>
107 <dd><p>Validates·that·the·upper·bound·of·the·range·is·not·greater·than108 <dd><p>Validates·that·the·upper·bound·of·the·range·is·not·greater·than
108 <code·class="docutils·literal·notranslate"><span·class="pre">limit_value</span></code>.</p>109 <code·class="docutils·literal·notranslate"><span·class="pre">limit_value</span></code>.</p>
109 </dd></dl>110 </dd></dl>
  
110 </section>111 </section>
111 <section·id="s-rangeminvaluevalidator">112 <section·id="s-rangeminvaluevalidator">
112 <span·id="rangeminvaluevalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RangeMinValueValidator</span></code><a·class="headerlink"·href="#rangeminvaluevalidator"·title="Link·to·this·heading">¶</a></h3>113 <span·id="rangeminvaluevalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RangeMinValueValidator</span></code><a·class="headerlink"·href="#rangeminvaluevalidator"·title="Link·to·this·heading">¶</a></h3>
113 <dl·class="py·class">114 <dl·class="py·class">
114 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.validators.RangeMinValueValidator">115 <dt·class="sig·sig-object·py"·id="django.contrib.postgres.validators.RangeMinValueValidator">
115 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RangeMinValueValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">limit_value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/validators.py#L85"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.validators.RangeMinValueValidator"·title="Link·to·this·definition">¶</a></dt>116 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RangeMinValueValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">limit_value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/postgres/validators.py#L85"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.postgres.validators.RangeMinValueValidator"·title="Link·to·this·definition">¶</a></dt>
116 <dd><p>Validates·that·the·lower·bound·of·the·range·is·not·less·than·the117 <dd><p>Validates·that·the·lower·bound·of·the·range·is·not·less·than·the
117 <code·class="docutils·literal·notranslate"><span·class="pre">limit_value</span></code>.</p>118 <code·class="docutils·literal·notranslate"><span·class="pre">limit_value</span></code>.</p>
118 </dd></dl>119 </dd></dl>
  
119 </section>120 </section>
120 </section>121 </section>
121 </section>122 </section>
Offset 130, 52 lines modifiedOffset 131, 52 lines modified
130 ······131 ······
131 ········132 ········
132 ··········<div·class="yui-b"·id="sidebar">133 ··········<div·class="yui-b"·id="sidebar">
133 ············134 ············
134 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
135 ········<div·class="sphinxsidebarwrapper">136 ········<div·class="sphinxsidebarwrapper">
136 ··<div>137 ··<div>
137 ····<h3><a·href="../../../contents.html">Table·of·Contents</a></h3>138 ····<h3><a·href="../../../contents.html">Sisukorratabel</a></h3>
138 ····<ul>139 ····<ul>
139 <li><a·class="reference·internal"·href="#">Validators</a><ul>140 <li><a·class="reference·internal"·href="#">Validators</a><ul>
140 <li><a·class="reference·internal"·href="#keysvalidator"><code·class="docutils·literal·notranslate"><span·class="pre">KeysValidator</span></code></a></li>141 <li><a·class="reference·internal"·href="#keysvalidator"><code·class="docutils·literal·notranslate"><span·class="pre">KeysValidator</span></code></a></li>
141 <li><a·class="reference·internal"·href="#range-validators">Range·validators</a><ul>142 <li><a·class="reference·internal"·href="#range-validators">Range·validators</a><ul>
142 <li><a·class="reference·internal"·href="#rangemaxvaluevalidator"><code·class="docutils·literal·notranslate"><span·class="pre">RangeMaxValueValidator</span></code></a></li>143 <li><a·class="reference·internal"·href="#rangemaxvaluevalidator"><code·class="docutils·literal·notranslate"><span·class="pre">RangeMaxValueValidator</span></code></a></li>
143 <li><a·class="reference·internal"·href="#rangeminvaluevalidator"><code·class="docutils·literal·notranslate"><span·class="pre">RangeMinValueValidator</span></code></a></li>144 <li><a·class="reference·internal"·href="#rangeminvaluevalidator"><code·class="docutils·literal·notranslate"><span·class="pre">RangeMinValueValidator</span></code></a></li>
144 </ul>145 </ul>
145 </li>146 </li>
146 </ul>147 </ul>
147 </li>148 </li>
148 </ul>149 </ul>
  
149 ··</div>150 ··</div>
150 ··<div>151 ··<div>
151 ····<h4>Previous·topic</h4>152 ····<h4>Eelmine·teema</h4>
152 ····<p·class="topless"><a·href="search.html"153 ····<p·class="topless"><a·href="search.html"
153 ··························title="previous·chapter">Full·text·search</a></p>154 ··························title="eelmine·jaotis">Full·text·search</a></p>
154 ··</div>155 ··</div>
155 ··<div>156 ··<div>
156 ····<h4>Next·topic</h4>157 ····<h4>Järgmine·teema</h4>
157 ····<p·class="topless"><a·href="../redirects.html"158 ····<p·class="topless"><a·href="../redirects.html"
158 ··························title="next·chapter">The·redirects·app</a></p>159 ··························title="järgmine·jaotis">The·redirects·app</a></p>
159 ··</div>160 ··</div>
160 <search·id="searchbox"·style="display:·none"·role="search">161 <search·id="searchbox"·style="display:·none"·role="search">
161 ··<h3·id="searchlabel">Quick·search</h3>162 ··<h3·id="searchlabel">Kiirotsing</h3>
162 ····<div·class="searchformwrapper">163 ····<div·class="searchformwrapper">
163 ····<form·class="search"·action="../../../search.html"·method="get">164 ····<form·class="search"·action="../../../search.html"·method="get">
164 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>165 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
165 ······<input·type="submit"·value="Go"·/>166 ······<input·type="submit"·value="Otsi"·/>
166 ····</form>167 ····</form>
167 ····</div>168 ····</div>
168 </search>169 </search>
169 <script>document.getElementById('searchbox').style.display·=·"block"</script>170 <script>document.getElementById('searchbox').style.display·=·"block"</script>
170 ········</div>171 ········</div>
Max diff block lines reached; 233/12779 bytes (1.82%) of diff not shown.
3.65 KB
html2text {}
Max HTML report size reached
14.5 KB
./usr/share/doc/python-django-doc/html/ref/contrib/redirects.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·redirects·app·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·redirects·app·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·sitemap·framework"·href="sitemaps.html"·/>15 ····<link·rel="next"·title="The·sitemap·framework"·href="sitemaps.html"·/>
15 ····<link·rel="prev"·title="Validators"·href="postgres/validators.html"·/>16 ····<link·rel="prev"·title="Validators"·href="postgres/validators.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 21 lines modifiedOffset 103, 21 lines modified
102 does·all·of·the·work.·Each·time·any·Django·application·raises·a·404103 does·all·of·the·work.·Each·time·any·Django·application·raises·a·404
103 error,·this·middleware·checks·the·redirects·database·for·the·requested104 error,·this·middleware·checks·the·redirects·database·for·the·requested
104 URL·as·a·last·resort.·Specifically,·it·checks·for·a·redirect·with·the105 URL·as·a·last·resort.·Specifically,·it·checks·for·a·redirect·with·the
105 given·<code·class="docutils·literal·notranslate"><span·class="pre">old_path</span></code>·with·a·site·ID·that·corresponds·to·the106 given·<code·class="docutils·literal·notranslate"><span·class="pre">old_path</span></code>·with·a·site·ID·that·corresponds·to·the
106 <a·class="reference·internal"·href="../settings.html#std-setting-SITE_ID"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SITE_ID</span></code></a>·setting.</p>107 <a·class="reference·internal"·href="../settings.html#std-setting-SITE_ID"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SITE_ID</span></code></a>·setting.</p>
107 <ul·class="simple">108 <ul·class="simple">
108 <li><p>If·it·finds·a·match,·and·<code·class="docutils·literal·notranslate"><span·class="pre">new_path</span></code>·is·not·empty,·it·redirects·to109 <li><p>If·it·finds·a·match,·and·<code·class="docutils·literal·notranslate"><span·class="pre">new_path</span></code>·is·not·empty,·it·redirects·to
109 <code·class="docutils·literal·notranslate"><span·class="pre">new_path</span></code>·using·a·301·(Moved·Permanently)·redirect.·You·can·subclass110 <code·class="docutils·literal·notranslate"><span·class="pre">new_path</span></code>·using·a·301·(Moved·Permanently)·redirect.·You·can·subclass
110 <a·class="reference·internal"·href="#django.contrib.redirects.middleware.RedirectFallbackMiddleware"·title="django.contrib.redirects.middleware.RedirectFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RedirectFallbackMiddleware</span></code></a>111 <a·class="reference·internal"·href="#django.contrib.redirects.middleware.RedirectFallbackMiddleware"·title="django.contrib.redirects.middleware.RedirectFallbackMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RedirectFallbackMiddleware</span></code></a>
111 and·set112 and·set
112 <a·class="reference·internal"·href="#django.contrib.redirects.middleware.RedirectFallbackMiddleware.response_redirect_class"·title="django.contrib.redirects.middleware.RedirectFallbackMiddleware.response_redirect_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">response_redirect_class</span></code></a>113 <a·class="reference·internal"·href="#django.contrib.redirects.middleware.RedirectFallbackMiddleware.response_redirect_class"·title="django.contrib.redirects.middleware.RedirectFallbackMiddleware.response_redirect_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">response_redirect_class</span></code></a>
113 to·<a·class="reference·internal"·href="../request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.http.HttpResponseRedirect</span></code></a>·to·use·a114 to·<a·class="reference·internal"·href="../request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.http.HttpResponseRedirect</span></code></a>·to·use·a
114 <code·class="docutils·literal·notranslate"><span·class="pre">302</span>·<span·class="pre">Moved</span>·<span·class="pre">Temporarily</span></code>·redirect·instead.</p></li>115 <code·class="docutils·literal·notranslate"><span·class="pre">302</span>·<span·class="pre">Moved</span>·<span·class="pre">Temporarily</span></code>·redirect·instead.</p></li>
115 <li><p>If·it·finds·a·match,·and·<code·class="docutils·literal·notranslate"><span·class="pre">new_path</span></code>·is·empty,·it·sends·a·410·(Gone)116 <li><p>If·it·finds·a·match,·and·<code·class="docutils·literal·notranslate"><span·class="pre">new_path</span></code>·is·empty,·it·sends·a·410·(Gone)
116 HTTP·header·and·empty·(content-less)·response.</p></li>117 HTTP·header·and·empty·(content-less)·response.</p></li>
117 <li><p>If·it·doesn’t·find·a·match,·the·request·continues·to·be·processed·as118 <li><p>If·it·doesn’t·find·a·match,·the·request·continues·to·be·processed·as
118 usual.</p></li>119 usual.</p></li>
119 </ul>120 </ul>
120 <p>The·middleware·only·gets·activated·for·404s··not·for·500s·or·responses·of·any121 <p>The·middleware·only·gets·activated·for·404s··not·for·500s·or·responses·of·any
121 other·status·code.</p>122 other·status·code.</p>
122 <p>Note·that·the·order·of·<a·class="reference·internal"·href="../settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>·matters.·Generally,·you·can·put123 <p>Note·that·the·order·of·<a·class="reference·internal"·href="../settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>·matters.·Generally,·you·can·put
Offset 125, 15 lines modifiedOffset 126, 15 lines modified
125 <p>For·more·on·middleware,·read·the·<a·class="reference·internal"·href="../../topics/http/middleware.html"><span·class="doc">middleware·docs</span></a>.</p>126 <p>For·more·on·middleware,·read·the·<a·class="reference·internal"·href="../../topics/http/middleware.html"><span·class="doc">middleware·docs</span></a>.</p>
126 </section>127 </section>
127 <section·id="s-how-to-add-change-and-delete-redirects">128 <section·id="s-how-to-add-change-and-delete-redirects">
128 <span·id="how-to-add-change-and-delete-redirects"></span><h2>How·to·add,·change·and·delete·redirects<a·class="headerlink"·href="#how-to-add-change-and-delete-redirects"·title="Link·to·this·heading">¶</a></h2>129 <span·id="how-to-add-change-and-delete-redirects"></span><h2>How·to·add,·change·and·delete·redirects<a·class="headerlink"·href="#how-to-add-change-and-delete-redirects"·title="Link·to·this·heading">¶</a></h2>
129 <section·id="s-via-the-admin-interface">130 <section·id="s-via-the-admin-interface">
130 <span·id="via-the-admin-interface"></span><h3>Via·the·admin·interface<a·class="headerlink"·href="#via-the-admin-interface"·title="Link·to·this·heading">¶</a></h3>131 <span·id="via-the-admin-interface"></span><h3>Via·the·admin·interface<a·class="headerlink"·href="#via-the-admin-interface"·title="Link·to·this·heading">¶</a></h3>
131 <p>If·you’ve·activated·the·automatic·Django·admin·interface,·you·should·see·a132 <p>If·you’ve·activated·the·automatic·Django·admin·interface,·you·should·see·a
132 Redirects·section·on·the·admin·index·page.·Edit·redirects·as·you·edit·any133 Redirects·section·on·the·admin·index·page.·Edit·redirects·as·you·edit·any
133 other·object·in·the·system.</p>134 other·object·in·the·system.</p>
134 </section>135 </section>
135 <section·id="s-via-the-python-api">136 <section·id="s-via-the-python-api">
136 <span·id="via-the-python-api"></span><h3>Via·the·Python·API<a·class="headerlink"·href="#via-the-python-api"·title="Link·to·this·heading">¶</a></h3>137 <span·id="via-the-python-api"></span><h3>Via·the·Python·API<a·class="headerlink"·href="#via-the-python-api"·title="Link·to·this·heading">¶</a></h3>
137 <dl·class="py·class">138 <dl·class="py·class">
138 <dt·class="sig·sig-object·py"·id="django.contrib.redirects.models.Redirect">139 <dt·class="sig·sig-object·py"·id="django.contrib.redirects.models.Redirect">
139 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">models.</span></span><span·class="sig-name·descname"><span·class="pre">Redirect</span></span><a·class="headerlink"·href="#django.contrib.redirects.models.Redirect"·title="Link·to·this·definition">¶</a></dt>140 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">models.</span></span><span·class="sig-name·descname"><span·class="pre">Redirect</span></span><a·class="headerlink"·href="#django.contrib.redirects.models.Redirect"·title="Link·to·this·definition">¶</a></dt>
Offset 200, 15 lines modifiedOffset 201, 15 lines modified
200 ······201 ······
201 ········202 ········
202 ··········<div·class="yui-b"·id="sidebar">203 ··········<div·class="yui-b"·id="sidebar">
203 ············204 ············
204 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">205 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
205 ········<div·class="sphinxsidebarwrapper">206 ········<div·class="sphinxsidebarwrapper">
206 ··<div>207 ··<div>
207 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>208 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
208 ····<ul>209 ····<ul>
209 <li><a·class="reference·internal"·href="#">The·redirects·app</a><ul>210 <li><a·class="reference·internal"·href="#">The·redirects·app</a><ul>
210 <li><a·class="reference·internal"·href="#installation">Installation</a></li>211 <li><a·class="reference·internal"·href="#installation">Installation</a></li>
211 <li><a·class="reference·internal"·href="#how-it-works">How·it·works</a></li>212 <li><a·class="reference·internal"·href="#how-it-works">How·it·works</a></li>
212 <li><a·class="reference·internal"·href="#how-to-add-change-and-delete-redirects">How·to·add,·change·and·delete·redirects</a><ul>213 <li><a·class="reference·internal"·href="#how-to-add-change-and-delete-redirects">How·to·add,·change·and·delete·redirects</a><ul>
213 <li><a·class="reference·internal"·href="#via-the-admin-interface">Via·the·admin·interface</a></li>214 <li><a·class="reference·internal"·href="#via-the-admin-interface">Via·the·admin·interface</a></li>
214 <li><a·class="reference·internal"·href="#via-the-python-api">Via·the·Python·API</a></li>215 <li><a·class="reference·internal"·href="#via-the-python-api">Via·the·Python·API</a></li>
Offset 217, 37 lines modifiedOffset 218, 37 lines modified
217 <li><a·class="reference·internal"·href="#middleware">Middleware</a></li>218 <li><a·class="reference·internal"·href="#middleware">Middleware</a></li>
218 </ul>219 </ul>
219 </li>220 </li>
220 </ul>221 </ul>
  
221 ··</div>222 ··</div>
222 ··<div>223 ··<div>
223 ····<h4>Previous·topic</h4>224 ····<h4>Eelmine·teema</h4>
224 ····<p·class="topless"><a·href="postgres/validators.html"225 ····<p·class="topless"><a·href="postgres/validators.html"
225 ··························title="previous·chapter">Validators</a></p>226 ··························title="eelmine·jaotis">Validators</a></p>
226 ··</div>227 ··</div>
227 ··<div>228 ··<div>
228 ····<h4>Next·topic</h4>229 ····<h4>Järgmine·teema</h4>
229 ····<p·class="topless"><a·href="sitemaps.html"230 ····<p·class="topless"><a·href="sitemaps.html"
230 ··························title="next·chapter">The·sitemap·framework</a></p>231 ··························title="järgmine·jaotis">The·sitemap·framework</a></p>
231 ··</div>232 ··</div>
232 <search·id="searchbox"·style="display:·none"·role="search">233 <search·id="searchbox"·style="display:·none"·role="search">
233 ··<h3·id="searchlabel">Quick·search</h3>234 ··<h3·id="searchlabel">Kiirotsing</h3>
234 ····<div·class="searchformwrapper">235 ····<div·class="searchformwrapper">
235 ····<form·class="search"·action="../../search.html"·method="get">236 ····<form·class="search"·action="../../search.html"·method="get">
236 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>237 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
237 ······<input·type="submit"·value="Go"·/>238 ······<input·type="submit"·value="Otsi"·/>
238 ····</form>239 ····</form>
239 ····</div>240 ····</div>
240 </search>241 </search>
241 <script>document.getElementById('searchbox').style.display·=·"block"</script>242 <script>document.getElementById('searchbox').style.display·=·"block"</script>
242 ········</div>243 ········</div>
243 ······</div>244 ······</div>
244 ··············<h3>Last·update:</h3>245 ··············<h3>Last·update:</h3>
245 ··············<p·class="topless">Nov·05,·2024</p>246 ··············<p·class="topless">nov·05,·2024</p>
246 ··········</div>247 ··········</div>
247 ········248 ········
248 ······249 ······
Max diff block lines reached; 46/9123 bytes (0.50%) of diff not shown.
5.46 KB
html2text {}
Max HTML report size reached
46.8 KB
./usr/share/doc/python-django-doc/html/ref/contrib/sitemaps.html
    
Offset 1, 23 lines modifiedOffset 1, 24 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·sitemap·framework·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·sitemap·framework·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·sites·framework"·href="sites.html"·/>15 ····<link·rel="next"·title="The·sites·framework"·href="sites.html"·/>
15 ····<link·rel="prev"·title="The·redirects·app"·href="redirects.html"·/>16 ····<link·rel="prev"·title="The·redirects·app"·href="redirects.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
18 <script>19 <script>
Offset 53, 42 lines modifiedOffset 54, 42 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="redirects.html"·title="The·redirects·app">previous</a>67 ····&laquo;·<a·href="redirects.html"·title="The·redirects·app">previous</a>
67 ·····|68 ·····|
68 ····<a·href="../index.html"·title="API·Reference"·accesskey="U">up</a>69 ····<a·href="../index.html"·title="API·Reference"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="sites.html"·title="The·sites·framework">next</a>·&raquo;</div>71 ····<a·href="sites.html"·title="The·sites·framework">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
75 ··········<div·class="yui-g"·id="ref-contrib-sitemaps">76 ··········<div·class="yui-g"·id="ref-contrib-sitemaps">
76 ············77 ············
77 ··<section·id="s-module-django.contrib.sitemaps">78 ··<section·id="s-module-django.contrib.sitemaps">
78 <span·id="s-the-sitemap-framework"></span><span·id="module-django.contrib.sitemaps"></span><span·id="the-sitemap-framework"></span><h1>The·sitemap·framework<a·class="headerlink"·href="#module-django.contrib.sitemaps"·title="Link·to·this·heading">¶</a></h1>79 <span·id="s-the-sitemap-framework"></span><span·id="module-django.contrib.sitemaps"></span><span·id="the-sitemap-framework"></span><h1>The·sitemap·framework<a·class="headerlink"·href="#module-django.contrib.sitemaps"·title="Link·to·this·heading">¶</a></h1>
79 <p>Django·comes·with·a·high-level·sitemap-generating·framework·to·create·<a·class="reference·external"·href="https://www.sitemaps.org/">sitemap</a>80 <p>Django·comes·with·a·high-level·sitemap-generating·framework·to·create·<a·class="reference·external"·href="https://www.sitemaps.org/">sitemap</a>
80 XML·files.</p>81 XML·files.</p>
81 <section·id="s-overview">82 <section·id="s-overview">
82 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>83 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>
83 <p>A·sitemap·is·an·XML·file·on·your·website·that·tells·search-engine·indexers·how84 <p>A·sitemap·is·an·XML·file·on·your·website·that·tells·search-engine·indexers·how
84 frequently·your·pages·change·and·how·important·certain·pages·are·in·relation85 frequently·your·pages·change·and·how·important·certain·pages·are·in·relation
85 to·other·pages·on·your·site.·This·information·helps·search·engines·index·your86 to·other·pages·on·your·site.·This·information·helps·search·engines·index·your
86 site.</p>87 site.</p>
87 <p>The·Django·sitemap·framework·automates·the·creation·of·this·XML·file·by·letting88 <p>The·Django·sitemap·framework·automates·the·creation·of·this·XML·file·by·letting
88 you·express·this·information·in·Python·code.</p>89 you·express·this·information·in·Python·code.</p>
89 <p>It·works·much·like·Django’s·<a·class="reference·internal"·href="syndication.html"><span·class="doc">syndication·framework</span></a>.·To·create·a·sitemap,·write·a90 <p>It·works·much·like·Django’s·<a·class="reference·internal"·href="syndication.html"><span·class="doc">syndication·framework</span></a>.·To·create·a·sitemap,·write·a
90 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap"·title="django.contrib.sitemaps.Sitemap"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sitemap</span></code></a>·class·and·point·to·it·in·your91 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap"·title="django.contrib.sitemaps.Sitemap"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sitemap</span></code></a>·class·and·point·to·it·in·your
91 <a·class="reference·internal"·href="../../topics/http/urls.html"><span·class="doc">URLconf</span></a>.</p>92 <a·class="reference·internal"·href="../../topics/http/urls.html"><span·class="doc">URLconf</span></a>.</p>
Offset 140, 15 lines modifiedOffset 141, 15 lines modified
140 (e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">BlogSitemap</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">NewsSitemap</span></code>).·It·may·also·map·to·an·<em>instance</em>·of141 (e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">BlogSitemap</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">NewsSitemap</span></code>).·It·may·also·map·to·an·<em>instance</em>·of
141 a·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap"·title="django.contrib.sitemaps.Sitemap"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sitemap</span></code></a>·class·(e.g.,142 a·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap"·title="django.contrib.sitemaps.Sitemap"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sitemap</span></code></a>·class·(e.g.,
142 <code·class="docutils·literal·notranslate"><span·class="pre">BlogSitemap(some_var)</span></code>).</p>143 <code·class="docutils·literal·notranslate"><span·class="pre">BlogSitemap(some_var)</span></code>).</p>
143 </section>144 </section>
144 <section·id="s-sitemap-classes">145 <section·id="s-sitemap-classes">
145 <span·id="sitemap-classes"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Sitemap</span></code>·classes<a·class="headerlink"·href="#sitemap-classes"·title="Link·to·this·heading">¶</a></h2>146 <span·id="sitemap-classes"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Sitemap</span></code>·classes<a·class="headerlink"·href="#sitemap-classes"·title="Link·to·this·heading">¶</a></h2>
146 <p>A·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap"·title="django.contrib.sitemaps.Sitemap"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sitemap</span></code></a>·class·is·a·Python·class·that147 <p>A·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap"·title="django.contrib.sitemaps.Sitemap"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sitemap</span></code></a>·class·is·a·Python·class·that
147 represents·a·section·of·entries·in·your·sitemap.·For·example,·one148 represents·a·section·of·entries·in·your·sitemap.·For·example,·one
148 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap"·title="django.contrib.sitemaps.Sitemap"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sitemap</span></code></a>·class·could·represent·all·the·entries149 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap"·title="django.contrib.sitemaps.Sitemap"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sitemap</span></code></a>·class·could·represent·all·the·entries
149 of·your·blog,·while·another·could·represent·all·of·the·events·in·your·events150 of·your·blog,·while·another·could·represent·all·of·the·events·in·your·events
150 calendar.</p>151 calendar.</p>
151 <p>In·the·simplest·case,·all·these·sections·get·lumped·together·into·one152 <p>In·the·simplest·case,·all·these·sections·get·lumped·together·into·one
152 <code·class="file·docutils·literal·notranslate"><span·class="pre">sitemap.xml</span></code>,·but·it’s·also·possible·to·use·the·framework·to·generate·a153 <code·class="file·docutils·literal·notranslate"><span·class="pre">sitemap.xml</span></code>,·but·it’s·also·possible·to·use·the·framework·to·generate·a
153 sitemap·index·that·references·individual·sitemap·files,·one·per·section.·(See154 sitemap·index·that·references·individual·sitemap·files,·one·per·section.·(See
154 <a·class="reference·internal"·href="#creating-a-sitemap-index">Creating·a·sitemap·index</a>·below.)</p>155 <a·class="reference·internal"·href="#creating-a-sitemap-index">Creating·a·sitemap·index</a>·below.)</p>
Offset 177, 52 lines modifiedOffset 178, 52 lines modified
177 </div>178 </div>
178 <p>Note:</p>179 <p>Note:</p>
179 <ul·class="simple">180 <ul·class="simple">
180 <li><p><a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.changefreq"·title="django.contrib.sitemaps.Sitemap.changefreq"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">changefreq</span></code></a>·and·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.priority"·title="django.contrib.sitemaps.Sitemap.priority"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">priority</span></code></a>·are·class181 <li><p><a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.changefreq"·title="django.contrib.sitemaps.Sitemap.changefreq"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">changefreq</span></code></a>·and·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.priority"·title="django.contrib.sitemaps.Sitemap.priority"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">priority</span></code></a>·are·class
181 attributes·corresponding·to·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;changefreq&gt;</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;priority&gt;</span></code>·elements,182 attributes·corresponding·to·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;changefreq&gt;</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;priority&gt;</span></code>·elements,
182 respectively.·They·can·be·made·callable·as·functions,·as183 respectively.·They·can·be·made·callable·as·functions,·as
183 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.lastmod"·title="django.contrib.sitemaps.Sitemap.lastmod"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lastmod</span></code></a>·was·in·the·example.</p></li>184 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.lastmod"·title="django.contrib.sitemaps.Sitemap.lastmod"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lastmod</span></code></a>·was·in·the·example.</p></li>
184 <li><p><a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.items"·title="django.contrib.sitemaps.Sitemap.items"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">items()</span></code></a>·is·a·method·that·returns·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·or185 <li><p><a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.items"·title="django.contrib.sitemaps.Sitemap.items"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">items()</span></code></a>·is·a·method·that·returns·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·or
185 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·of·objects.·The·objects·returned·will·get·passed·to·any·callable186 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·of·objects.·The·objects·returned·will·get·passed·to·any·callable
186 methods·corresponding·to·a·sitemap·property·(<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.location"·title="django.contrib.sitemaps.Sitemap.location"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">location</span></code></a>,187 methods·corresponding·to·a·sitemap·property·(<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.location"·title="django.contrib.sitemaps.Sitemap.location"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">location</span></code></a>,
187 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.lastmod"·title="django.contrib.sitemaps.Sitemap.lastmod"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lastmod</span></code></a>,·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.changefreq"·title="django.contrib.sitemaps.Sitemap.changefreq"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">changefreq</span></code></a>,·and188 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.lastmod"·title="django.contrib.sitemaps.Sitemap.lastmod"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lastmod</span></code></a>,·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.changefreq"·title="django.contrib.sitemaps.Sitemap.changefreq"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">changefreq</span></code></a>,·and
188 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.priority"·title="django.contrib.sitemaps.Sitemap.priority"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">priority</span></code></a>).</p></li>189 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.priority"·title="django.contrib.sitemaps.Sitemap.priority"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">priority</span></code></a>).</p></li>
189 <li><p><a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.lastmod"·title="django.contrib.sitemaps.Sitemap.lastmod"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lastmod</span></code></a>·should·return·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>.</p></li>190 <li><p><a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.lastmod"·title="django.contrib.sitemaps.Sitemap.lastmod"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lastmod</span></code></a>·should·return·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>.</p></li>
190 <li><p>There·is·no·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.location"·title="django.contrib.sitemaps.Sitemap.location"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">location</span></code></a>·method·in·this·example,·but·you191 <li><p>There·is·no·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.location"·title="django.contrib.sitemaps.Sitemap.location"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">location</span></code></a>·method·in·this·example,·but·you
191 can·provide·it·in·order·to·specify·the·URL·for·your·object.·By·default,192 can·provide·it·in·order·to·specify·the·URL·for·your·object.·By·default,
192 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.location"·title="django.contrib.sitemaps.Sitemap.location"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">location()</span></code></a>·calls·<code·class="docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code>·on·each·object193 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.location"·title="django.contrib.sitemaps.Sitemap.location"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">location()</span></code></a>·calls·<code·class="docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code>·on·each·object
193 and·returns·the·result.</p></li>194 and·returns·the·result.</p></li>
194 </ul>195 </ul>
195 </section>196 </section>
196 <section·id="s-sitemap-class-reference">197 <section·id="s-sitemap-class-reference">
197 <span·id="sitemap-class-reference"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Sitemap</span></code>·class·reference<a·class="headerlink"·href="#sitemap-class-reference"·title="Link·to·this·heading">¶</a></h2>198 <span·id="sitemap-class-reference"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Sitemap</span></code>·class·reference<a·class="headerlink"·href="#sitemap-class-reference"·title="Link·to·this·heading">¶</a></h2>
198 <dl·class="py·class">199 <dl·class="py·class">
199 <dt·class="sig·sig-object·py"·id="django.contrib.sitemaps.Sitemap">200 <dt·class="sig·sig-object·py"·id="django.contrib.sitemaps.Sitemap">
200 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Sitemap</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/sitemaps/__init__.py#L8"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.sitemaps.Sitemap"·title="Link·to·this·definition">¶</a></dt>201 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Sitemap</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/sitemaps/__init__.py#L8"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.sitemaps.Sitemap"·title="Link·to·this·definition">¶</a></dt>
201 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Sitemap</span></code>·class·can·define·the·following·methods/attributes:</p>202 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Sitemap</span></code>·class·can·define·the·following·methods/attributes:</p>
202 <dl·class="py·attribute">203 <dl·class="py·attribute">
203 <dt·class="sig·sig-object·py"·id="django.contrib.sitemaps.Sitemap.items">204 <dt·class="sig·sig-object·py"·id="django.contrib.sitemaps.Sitemap.items">
204 <span·class="sig-name·descname"><span·class="pre">items</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/sitemaps/__init__.py#L75"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.sitemaps.Sitemap.items"·title="Link·to·this·definition">¶</a></dt>205 <span·class="sig-name·descname"><span·class="pre">items</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/sitemaps/__init__.py#L75"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.sitemaps.Sitemap.items"·title="Link·to·this·definition">¶</a></dt>
205 <dd><p><strong>Required.</strong>·A·method·that·returns·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·or·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>206 <dd><p><strong>Required.</strong>·A·method·that·returns·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·or·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>
206 of·objects.·The·framework·doesn’t·care·what·<em>type</em>·of·objects·they·are;207 of·objects.·The·framework·doesn’t·care·what·<em>type</em>·of·objects·they·are;
207 all·that·matters·is·that·these·objects·get·passed·to·the208 all·that·matters·is·that·these·objects·get·passed·to·the
208 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.location"·title="django.contrib.sitemaps.Sitemap.location"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">location()</span></code></a>,·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.lastmod"·title="django.contrib.sitemaps.Sitemap.lastmod"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lastmod()</span></code></a>,209 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.location"·title="django.contrib.sitemaps.Sitemap.location"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">location()</span></code></a>,·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.lastmod"·title="django.contrib.sitemaps.Sitemap.lastmod"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lastmod()</span></code></a>,
209 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.changefreq"·title="django.contrib.sitemaps.Sitemap.changefreq"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">changefreq()</span></code></a>·and·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.priority"·title="django.contrib.sitemaps.Sitemap.priority"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">priority()</span></code></a>·methods.</p>210 <a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.changefreq"·title="django.contrib.sitemaps.Sitemap.changefreq"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">changefreq()</span></code></a>·and·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.priority"·title="django.contrib.sitemaps.Sitemap.priority"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">priority()</span></code></a>·methods.</p>
210 </dd></dl>211 </dd></dl>
  
211 <dl·class="py·attribute">212 <dl·class="py·attribute">
212 <dt·class="sig·sig-object·py"·id="django.contrib.sitemaps.Sitemap.location">213 <dt·class="sig·sig-object·py"·id="django.contrib.sitemaps.Sitemap.location">
213 <span·class="sig-name·descname"><span·class="pre">location</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/sitemaps/__init__.py#L78"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.sitemaps.Sitemap.location"·title="Link·to·this·definition">¶</a></dt>214 <span·class="sig-name·descname"><span·class="pre">location</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/sitemaps/__init__.py#L78"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.sitemaps.Sitemap.location"·title="Link·to·this·definition">¶</a></dt>
214 <dd><p><strong>Optional.</strong>·Either·a·method·or·attribute.</p>215 <dd><p><strong>Optional.</strong>·Either·a·method·or·attribute.</p>
215 <p>If·it’s·a·method,·it·should·return·the·absolute·path·for·a·given·object216 <p>If·it’s·a·method,·it·should·return·the·absolute·path·for·a·given·object
216 as·returned·by·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.items"·title="django.contrib.sitemaps.Sitemap.items"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">items()</span></code></a>.</p>217 as·returned·by·<a·class="reference·internal"·href="#django.contrib.sitemaps.Sitemap.items"·title="django.contrib.sitemaps.Sitemap.items"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">items()</span></code></a>.</p>
217 <p>If·it’s·an·attribute,·its·value·should·be·a·string·representing·an218 <p>If·it’s·an·attribute,·its·value·should·be·a·string·representing·an
218 absolute·path·to·use·for·<em>every</em>·object·returned·by219 absolute·path·to·use·for·<em>every</em>·object·returned·by
Max diff block lines reached; 19668/36605 bytes (53.73%) of diff not shown.
11.0 KB
html2text {}
Max HTML report size reached
29.2 KB
./usr/share/doc/python-django-doc/html/ref/contrib/sites.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·sites·framework·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·sites·framework·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·staticfiles·app"·href="staticfiles.html"·/>15 ····<link·rel="next"·title="The·staticfiles·app"·href="staticfiles.html"·/>
15 ····<link·rel="prev"·title="The·sitemap·framework"·href="sitemaps.html"·/>16 ····<link·rel="prev"·title="The·sitemap·framework"·href="sitemaps.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 74, 18 lines modifiedOffset 75, 18 lines modified
  
74 ····<div·id="bd">75 ····<div·id="bd">
75 ······<div·id="yui-main">76 ······<div·id="yui-main">
76 ········<div·class="yui-b">77 ········<div·class="yui-b">
77 ··········<div·class="yui-g"·id="ref-contrib-sites">78 ··········<div·class="yui-g"·id="ref-contrib-sites">
78 ············79 ············
79 ··<section·id="s-module-django.contrib.sites">80 ··<section·id="s-module-django.contrib.sites">
80 <span·id="s-the-sites-framework"></span><span·id="module-django.contrib.sites"></span><span·id="the-sites-framework"></span><h1>The·sites·framework<a·class="headerlink"·href="#module-django.contrib.sites"·title="Link·to·this·heading">¶</a></h1>81 <span·id="s-the-sites-framework"></span><span·id="module-django.contrib.sites"></span><span·id="the-sites-framework"></span><h1>The·sites·framework<a·class="headerlink"·href="#module-django.contrib.sites"·title="Link·to·this·heading">¶</a></h1>
81 <p>Django·comes·with·an·optional·sites·framework.·It’s·a·hook·for·associating82 <p>Django·comes·with·an·optional·sites·framework.·It’s·a·hook·for·associating
82 objects·and·functionality·to·particular·websites,·and·it’s·a·holding·place·for83 objects·and·functionality·to·particular·websites,·and·it’s·a·holding·place·for
83 the·domain·names·and·verbose·names·of·your·Django-powered·sites.</p>84 the·domain·names·and·verbose·names·of·your·Django-powered·sites.</p>
84 <p>Use·it·if·your·single·Django·installation·powers·more·than·one·site·and·you85 <p>Use·it·if·your·single·Django·installation·powers·more·than·one·site·and·you
85 need·to·differentiate·between·those·sites·in·some·way.</p>86 need·to·differentiate·between·those·sites·in·some·way.</p>
86 <p>The·sites·framework·is·mainly·based·on·this·model:</p>87 <p>The·sites·framework·is·mainly·based·on·this·model:</p>
87 <dl·class="py·class">88 <dl·class="py·class">
88 <dt·class="sig·sig-object·py"·id="django.contrib.sites.models.Site">89 <dt·class="sig·sig-object·py"·id="django.contrib.sites.models.Site">
89 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">models.</span></span><span·class="sig-name·descname"><span·class="pre">Site</span></span><a·class="headerlink"·href="#django.contrib.sites.models.Site"·title="Link·to·this·definition">¶</a></dt>90 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">models.</span></span><span·class="sig-name·descname"><span·class="pre">Site</span></span><a·class="headerlink"·href="#django.contrib.sites.models.Site"·title="Link·to·this·definition">¶</a></dt>
90 <dd><p>A·model·for·storing·the·<code·class="docutils·literal·notranslate"><span·class="pre">domain</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·attributes·of·a·website.</p>91 <dd><p>A·model·for·storing·the·<code·class="docutils·literal·notranslate"><span·class="pre">domain</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·attributes·of·a·website.</p>
Offset 95, 15 lines modifiedOffset 96, 15 lines modified
95 <dd><p>The·fully·qualified·domain·name·associated·with·the·website.96 <dd><p>The·fully·qualified·domain·name·associated·with·the·website.
96 For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">www.example.com</span></code>.</p>97 For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">www.example.com</span></code>.</p>
97 </dd></dl>98 </dd></dl>
  
98 <dl·class="py·attribute">99 <dl·class="py·attribute">
99 <dt·class="sig·sig-object·py"·id="django.contrib.sites.models.Site.name">100 <dt·class="sig·sig-object·py"·id="django.contrib.sites.models.Site.name">
100 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="headerlink"·href="#django.contrib.sites.models.Site.name"·title="Link·to·this·definition">¶</a></dt>101 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="headerlink"·href="#django.contrib.sites.models.Site.name"·title="Link·to·this·definition">¶</a></dt>
101 <dd><p>A·human-readable·verbose·name·for·the·website.</p>102 <dd><p>A·human-readable·verbose·name·for·the·website.</p>
102 </dd></dl>103 </dd></dl>
  
103 </dd></dl>104 </dd></dl>
  
104 <p>The·<a·class="reference·internal"·href="../settings.html#std-setting-SITE_ID"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SITE_ID</span></code></a>·setting·specifies·the·database·ID·of·the105 <p>The·<a·class="reference·internal"·href="../settings.html#std-setting-SITE_ID"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SITE_ID</span></code></a>·setting·specifies·the·database·ID·of·the
105 <a·class="reference·internal"·href="#django.contrib.sites.models.Site"·title="django.contrib.sites.models.Site"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Site</span></code></a>·object·associated·with·that106 <a·class="reference·internal"·href="#django.contrib.sites.models.Site"·title="django.contrib.sites.models.Site"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Site</span></code></a>·object·associated·with·that
106 particular·settings·file.·If·the·setting·is·omitted,·the107 particular·settings·file.·If·the·setting·is·omitted,·the
Offset 238, 20 lines modifiedOffset 239, 20 lines modified
238 </div>239 </div>
239 </section>240 </section>
240 <section·id="s-getting-the-current-domain-for-display">241 <section·id="s-getting-the-current-domain-for-display">
241 <span·id="getting-the-current-domain-for-display"></span><h3>Getting·the·current·domain·for·display<a·class="headerlink"·href="#getting-the-current-domain-for-display"·title="Link·to·this·heading">¶</a></h3>242 <span·id="getting-the-current-domain-for-display"></span><h3>Getting·the·current·domain·for·display<a·class="headerlink"·href="#getting-the-current-domain-for-display"·title="Link·to·this·heading">¶</a></h3>
242 <p>LJWorld.com·and·Lawrence.com·both·have·email·alert·functionality,·which·lets243 <p>LJWorld.com·and·Lawrence.com·both·have·email·alert·functionality,·which·lets
243 readers·sign·up·to·get·notifications·when·news·happens.·It’s·pretty·basic:·A244 readers·sign·up·to·get·notifications·when·news·happens.·It’s·pretty·basic:·A
244 reader·signs·up·on·a·web·form·and·immediately·gets·an·email·saying,245 reader·signs·up·on·a·web·form·and·immediately·gets·an·email·saying,
245 Thanks·for·your·subscription.</p>246 Thanks·for·your·subscription.</p>
246 <p>It’d·be·inefficient·and·redundant·to·implement·this·sign·up·processing·code247 <p>It’d·be·inefficient·and·redundant·to·implement·this·sign·up·processing·code
247 twice,·so·the·sites·use·the·same·code·behind·the·scenes.·But·the·thank·you·for248 twice,·so·the·sites·use·the·same·code·behind·the·scenes.·But·the·thank·you·for
248 signing·up·notice·needs·to·be·different·for·each·site.·By·using249 signing·up·notice·needs·to·be·different·for·each·site.·By·using
249 <a·class="reference·internal"·href="#django.contrib.sites.models.Site"·title="django.contrib.sites.models.Site"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Site</span></code></a>250 <a·class="reference·internal"·href="#django.contrib.sites.models.Site"·title="django.contrib.sites.models.Site"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Site</span></code></a>
250 objects,·we·can·abstract·the·thank·you·notice·to·use·the·values·of·the251 objects,·we·can·abstract·the·thank·you·notice·to·use·the·values·of·the
251 current·site’s·<a·class="reference·internal"·href="#django.contrib.sites.models.Site.name"·title="django.contrib.sites.models.Site.name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">name</span></code></a>·and252 current·site’s·<a·class="reference·internal"·href="#django.contrib.sites.models.Site.name"·title="django.contrib.sites.models.Site.name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">name</span></code></a>·and
252 <a·class="reference·internal"·href="#django.contrib.sites.models.Site.domain"·title="django.contrib.sites.models.Site.domain"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">domain</span></code></a>.</p>253 <a·class="reference·internal"·href="#django.contrib.sites.models.Site.domain"·title="django.contrib.sites.models.Site.domain"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">domain</span></code></a>.</p>
253 <p>Here’s·an·example·of·what·the·form-handling·view·looks·like:</p>254 <p>Here’s·an·example·of·what·the·form-handling·view·looks·like:</p>
254 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.sites.shortcuts</span>·<span·class="kn">import</span>·<span·class="n">get_current_site</span>255 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.contrib.sites.shortcuts</span>·<span·class="kn">import</span>·<span·class="n">get_current_site</span>
255 <span·class="kn">from</span>·<span·class="nn">django.core.mail</span>·<span·class="kn">import</span>·<span·class="n">send_mail</span>256 <span·class="kn">from</span>·<span·class="nn">django.core.mail</span>·<span·class="kn">import</span>·<span·class="n">send_mail</span>
  
  
Offset 267, 17 lines modifiedOffset 268, 17 lines modified
267 ········<span·class="s2">&quot;editor@</span><span·class="si">%s</span><span·class="s2">&quot;</span>·<span·class="o">%</span>·<span·class="n">current_site</span><span·class="o">.</span><span·class="n">domain</span><span·class="p">,</span>268 ········<span·class="s2">&quot;editor@</span><span·class="si">%s</span><span·class="s2">&quot;</span>·<span·class="o">%</span>·<span·class="n">current_site</span><span·class="o">.</span><span·class="n">domain</span><span·class="p">,</span>
268 ········<span·class="p">[</span><span·class="n">user</span><span·class="o">.</span><span·class="n">email</span><span·class="p">],</span>269 ········<span·class="p">[</span><span·class="n">user</span><span·class="o">.</span><span·class="n">email</span><span·class="p">],</span>
269 ····<span·class="p">)</span>270 ····<span·class="p">)</span>
  
270 ····<span·class="c1">#·...</span>271 ····<span·class="c1">#·...</span>
271 </pre></div>272 </pre></div>
272 </div>273 </div>
273 <p>On·Lawrence.com,·this·email·has·the·subject·line·Thanks·for·subscribing·to274 <p>On·Lawrence.com,·this·email·has·the·subject·line·Thanks·for·subscribing·to
274 lawrence.com·alerts.·On·LJWorld.com,·the·email·has·the·subject·Thanks·for275 lawrence.com·alerts.·On·LJWorld.com,·the·email·has·the·subject·Thanks·for
275 subscribing·to·LJWorld.com·alerts.·Same·goes·for·the·email’s·message·body.</p>276 subscribing·to·LJWorld.com·alerts.·Same·goes·for·the·email’s·message·body.</p>
276 <p>Note·that·an·even·more·flexible·(but·more·heavyweight)·way·of·doing·this·would277 <p>Note·that·an·even·more·flexible·(but·more·heavyweight)·way·of·doing·this·would
277 be·to·use·Django’s·template·system.·Assuming·Lawrence.com·and·LJWorld.com·have278 be·to·use·Django’s·template·system.·Assuming·Lawrence.com·and·LJWorld.com·have
278 different·template·directories·(<a·class="reference·internal"·href="../settings.html#std-setting-TEMPLATES-DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DIRS</span></code></a>),·you·could279 different·template·directories·(<a·class="reference·internal"·href="../settings.html#std-setting-TEMPLATES-DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DIRS</span></code></a>),·you·could
279 farm·out·to·the·template·system·like·so:</p>280 farm·out·to·the·template·system·like·so:</p>
280 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.core.mail</span>·<span·class="kn">import</span>·<span·class="n">send_mail</span>281 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.core.mail</span>·<span·class="kn">import</span>·<span·class="n">send_mail</span>
281 <span·class="kn">from</span>·<span·class="nn">django.template</span>·<span·class="kn">import</span>·<span·class="n">loader</span>282 <span·class="kn">from</span>·<span·class="nn">django.template</span>·<span·class="kn">import</span>·<span·class="n">loader</span>
  
Offset 297, 15 lines modifiedOffset 298, 15 lines modified
297 template·files·for·both·the·LJWorld.com·and·Lawrence.com·template·directories.298 template·files·for·both·the·LJWorld.com·and·Lawrence.com·template·directories.
298 That·gives·you·more·flexibility,·but·it’s·also·more·complex.</p>299 That·gives·you·more·flexibility,·but·it’s·also·more·complex.</p>
299 <p>It’s·a·good·idea·to·exploit·the·<a·class="reference·internal"·href="#django.contrib.sites.models.Site"·title="django.contrib.sites.models.Site"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Site</span></code></a>300 <p>It’s·a·good·idea·to·exploit·the·<a·class="reference·internal"·href="#django.contrib.sites.models.Site"·title="django.contrib.sites.models.Site"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Site</span></code></a>
300 objects·as·much·as·possible,·to·remove·unneeded·complexity·and·redundancy.</p>301 objects·as·much·as·possible,·to·remove·unneeded·complexity·and·redundancy.</p>
301 </section>302 </section>
302 <section·id="s-getting-the-current-domain-for-full-urls">303 <section·id="s-getting-the-current-domain-for-full-urls">
303 <span·id="getting-the-current-domain-for-full-urls"></span><h3>Getting·the·current·domain·for·full·URLs<a·class="headerlink"·href="#getting-the-current-domain-for-full-urls"·title="Link·to·this·heading">¶</a></h3>304 <span·id="getting-the-current-domain-for-full-urls"></span><h3>Getting·the·current·domain·for·full·URLs<a·class="headerlink"·href="#getting-the-current-domain-for-full-urls"·title="Link·to·this·heading">¶</a></h3>
304 <p>Django’s·<code·class="docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code>·convention·is·nice·for·getting·your·objects305 <p>Django’s·<code·class="docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code>·convention·is·nice·for·getting·your·objects
305 URL·without·the·domain·name,·but·in·some·cases·you·might·want·to·display·the306 URL·without·the·domain·name,·but·in·some·cases·you·might·want·to·display·the
306 full·URL··with·<code·class="docutils·literal·notranslate"><span·class="pre">https://</span></code>·and·the·domain·and·everything··for·an·object.307 full·URL··with·<code·class="docutils·literal·notranslate"><span·class="pre">https://</span></code>·and·the·domain·and·everything··for·an·object.
307 To·do·this,·you·can·use·the·sites·framework.·An·example:</p>308 To·do·this,·you·can·use·the·sites·framework.·An·example:</p>
308 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.contrib.sites.models</span>·<span·class="kn">import</span>·<span·class="n">Site</span>309 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.contrib.sites.models</span>·<span·class="kn">import</span>·<span·class="n">Site</span>
309 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">obj</span>·<span·class="o">=</span>·<span·class="n">MyModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="nb">id</span><span·class="o">=</span><span·class="mi">3</span><span·class="p">)</span>310 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">obj</span>·<span·class="o">=</span>·<span·class="n">MyModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="nb">id</span><span·class="o">=</span><span·class="mi">3</span><span·class="p">)</span>
Max diff block lines reached; 8162/19628 bytes (41.58%) of diff not shown.
9.94 KB
html2text {}
Max HTML report size reached
21.0 KB
./usr/share/doc/python-django-doc/html/ref/contrib/staticfiles.html
    
Offset 1, 24 lines modifiedOffset 1, 25 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·staticfiles·app·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·staticfiles·app·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·syndication·feed·framework"·href="syndication.html"·/>15 ····<link·rel="next"·title="The·syndication·feed·framework"·href="syndication.html"·/>
15 ····<link·rel="prev"·title="The·sites·framework"·href="sites.html"·/>16 ····<link·rel="prev"·title="The·sites·framework"·href="sites.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
18 <script>19 <script>
19 (function($)·{20 (function($)·{
Offset 66, 23 lines modifiedOffset 67, 23 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
80 ····&laquo;·<a·href="sites.html"·title="The·sites·framework">previous</a>81 ····&laquo;·<a·href="sites.html"·title="The·sites·framework">previous</a>
81 ·····|82 ·····|
82 ····<a·href="../index.html"·title="API·Reference"·accesskey="U">up</a>83 ····<a·href="../index.html"·title="API·Reference"·accesskey="U">up</a>
83 ···|84 ···|
84 ····<a·href="syndication.html"·title="The·syndication·feed·framework">next</a>·&raquo;</div>85 ····<a·href="syndication.html"·title="The·syndication·feed·framework">next</a>·&raquo;</div>
85 ····</div>86 ····</div>
  
86 ····<div·id="bd">87 ····<div·id="bd">
Offset 92, 15 lines modifiedOffset 93, 15 lines modified
92 ············93 ············
93 ··<section·id="s-module-django.contrib.staticfiles">94 ··<section·id="s-module-django.contrib.staticfiles">
94 <span·id="s-the-staticfiles-app"></span><span·id="module-django.contrib.staticfiles"></span><span·id="the-staticfiles-app"></span><h1>The·<code·class="docutils·literal·notranslate"><span·class="pre">staticfiles</span></code>·app<a·class="headerlink"·href="#module-django.contrib.staticfiles"·title="Link·to·this·heading">¶</a></h1>95 <span·id="s-the-staticfiles-app"></span><span·id="module-django.contrib.staticfiles"></span><span·id="the-staticfiles-app"></span><h1>The·<code·class="docutils·literal·notranslate"><span·class="pre">staticfiles</span></code>·app<a·class="headerlink"·href="#module-django.contrib.staticfiles"·title="Link·to·this·heading">¶</a></h1>
95 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code>·collects·static·files·from·each·of·your96 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code>·collects·static·files·from·each·of·your
96 applications·(and·any·other·places·you·specify)·into·a·single·location·that97 applications·(and·any·other·places·you·specify)·into·a·single·location·that
97 can·easily·be·served·in·production.</p>98 can·easily·be·served·in·production.</p>
98 <div·class="admonition·seealso">99 <div·class="admonition·seealso">
99 <p·class="admonition-title">See·also</p>100 <p·class="admonition-title">Vaata·ka</p>
100 <p>For·an·introduction·to·the·static·files·app·and·some·usage·examples,·see101 <p>For·an·introduction·to·the·static·files·app·and·some·usage·examples,·see
101 <a·class="reference·internal"·href="../../howto/static-files/index.html"><span·class="doc">How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)</span></a>.·For·guidelines·on·deploying·static·files,102 <a·class="reference·internal"·href="../../howto/static-files/index.html"><span·class="doc">How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)</span></a>.·For·guidelines·on·deploying·static·files,
102 see·<a·class="reference·internal"·href="../../howto/static-files/deployment.html"><span·class="doc">How·to·deploy·static·files</span></a>.</p>103 see·<a·class="reference·internal"·href="../../howto/static-files/deployment.html"><span·class="doc">How·to·deploy·static·files</span></a>.</p>
103 </div>104 </div>
104 <section·id="s-settings">105 <section·id="s-settings">
105 <span·id="s-staticfiles-settings"></span><span·id="settings"></span><span·id="staticfiles-settings"></span><h2>Settings<a·class="headerlink"·href="#settings"·title="Link·to·this·heading">¶</a></h2>106 <span·id="s-staticfiles-settings"></span><span·id="settings"></span><span·id="staticfiles-settings"></span><h2>Settings<a·class="headerlink"·href="#settings"·title="Link·to·this·heading">¶</a></h2>
106 <p>See·<a·class="reference·internal"·href="../settings.html#settings-staticfiles"><span·class="std·std-ref">staticfiles·settings</span></a>·for·details·on·the107 <p>See·<a·class="reference·internal"·href="../settings.html#settings-staticfiles"><span·class="std·std-ref">staticfiles·settings</span></a>·for·details·on·the
Offset 647, 24 lines modifiedOffset 648, 24 lines modified
647 <dl·class="py·function">648 <dl·class="py·function">
648 <dt·class="sig·sig-object·py"·id="django.contrib.staticfiles.views.serve">649 <dt·class="sig·sig-object·py"·id="django.contrib.staticfiles.views.serve">
649 <span·class="sig-prename·descclassname"><span·class="pre">views.</span></span><span·class="sig-name·descname"><span·class="pre">serve</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span></em>)<a·class="headerlink"·href="#django.contrib.staticfiles.views.serve"·title="Link·to·this·definition">¶</a></dt>650 <span·class="sig-prename·descclassname"><span·class="pre">views.</span></span><span·class="sig-name·descname"><span·class="pre">serve</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span></em>)<a·class="headerlink"·href="#django.contrib.staticfiles.views.serve"·title="Link·to·this·definition">¶</a></dt>
650 <dd></dd></dl>651 <dd></dd></dl>
  
651 <p>This·view·function·serves·static·files·in·development.</p>652 <p>This·view·function·serves·static·files·in·development.</p>
652 <div·class="admonition·warning">653 <div·class="admonition·warning">
653 <p·class="admonition-title">Warning</p>654 <p·class="admonition-title">Hoiatus</p>
654 <p>This·view·will·only·work·if·<a·class="reference·internal"·href="../settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>655 <p>This·view·will·only·work·if·<a·class="reference·internal"·href="../settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>
655 <p>That’s·because·this·view·is·<strong>grossly·inefficient</strong>·and·probably656 <p>That’s·because·this·view·is·<strong>grossly·inefficient</strong>·and·probably
656 <strong>insecure</strong>.·This·is·only·intended·for·local·development,·and·should657 <strong>insecure</strong>.·This·is·only·intended·for·local·development,·and·should
657 <strong>never·be·used·in·production</strong>.</p>658 <strong>never·be·used·in·production</strong>.</p>
658 </div>659 </div>
659 <div·class="admonition·note">660 <div·class="admonition·note">
660 <p·class="admonition-title">Note</p>661 <p·class="admonition-title">rkus</p>
661 <p>To·guess·the·served·files·content·types,·this·view·relies·on·the662 <p>To·guess·the·served·files·content·types,·this·view·relies·on·the
662 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/mimetypes.html#module-mimetypes"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">mimetypes</span></code></a>·module·from·the·Python·standard·library,·which·itself663 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/mimetypes.html#module-mimetypes"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">mimetypes</span></code></a>·module·from·the·Python·standard·library,·which·itself
663 relies·on·the·underlying·platform’s·map·files.·If·you·find·that·this·view664 relies·on·the·underlying·platform’s·map·files.·If·you·find·that·this·view
664 doesn’t·return·proper·content·types·for·certain·files,·it·is·most·likely665 doesn’t·return·proper·content·types·for·certain·files,·it·is·most·likely
665 that·the·platform’s·map·files·are·incorrect·or·need·to·be·updated.·This·can666 that·the·platform’s·map·files·are·incorrect·or·need·to·be·updated.·This·can
666 be·achieved,·for·example,·by·installing·or·updating·the·<code·class="docutils·literal·notranslate"><span·class="pre">mailcap</span></code>·package667 be·achieved,·for·example,·by·installing·or·updating·the·<code·class="docutils·literal·notranslate"><span·class="pre">mailcap</span></code>·package
667 on·a·Red·Hat·distribution,·<code·class="docutils·literal·notranslate"><span·class="pre">mime-support</span></code>·on·a·Debian·distribution,·or·by668 on·a·Red·Hat·distribution,·<code·class="docutils·literal·notranslate"><span·class="pre">mime-support</span></code>·on·a·Debian·distribution,·or·by
668 editing·the·keys·under·<code·class="docutils·literal·notranslate"><span·class="pre">HKEY_CLASSES_ROOT</span></code>·in·the·Windows·registry.</p>669 editing·the·keys·under·<code·class="docutils·literal·notranslate"><span·class="pre">HKEY_CLASSES_ROOT</span></code>·in·the·Windows·registry.</p>
669 </div>670 </div>
Offset 702, 25 lines modifiedOffset 703, 25 lines modified
702 </div>703 </div>
703 <p>This·will·inspect·your·<a·class="reference·internal"·href="../settings.html#std-setting-STATIC_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_URL</span></code></a>·setting·and·wire·up·the·view704 <p>This·will·inspect·your·<a·class="reference·internal"·href="../settings.html#std-setting-STATIC_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_URL</span></code></a>·setting·and·wire·up·the·view
704 to·serve·static·files·accordingly.·Don’t·forget·to·set·the705 to·serve·static·files·accordingly.·Don’t·forget·to·set·the
705 <a·class="reference·internal"·href="../settings.html#std-setting-STATICFILES_DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_DIRS</span></code></a>·setting·appropriately·to·let706 <a·class="reference·internal"·href="../settings.html#std-setting-STATICFILES_DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_DIRS</span></code></a>·setting·appropriately·to·let
706 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code>·know·where·to·look·for·files·in·addition·to707 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code>·know·where·to·look·for·files·in·addition·to
707 files·in·app·directories.</p>708 files·in·app·directories.</p>
708 <div·class="admonition·warning">709 <div·class="admonition·warning">
709 <p·class="admonition-title">Warning</p>710 <p·class="admonition-title">Hoiatus</p>
710 <p>This·helper·function·will·only·work·if·<a·class="reference·internal"·href="../settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>711 <p>This·helper·function·will·only·work·if·<a·class="reference·internal"·href="../settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>
711 and·your·<a·class="reference·internal"·href="../settings.html#std-setting-STATIC_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_URL</span></code></a>·setting·is·neither·empty·nor·a·full712 and·your·<a·class="reference·internal"·href="../settings.html#std-setting-STATIC_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_URL</span></code></a>·setting·is·neither·empty·nor·a·full
712 URL·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">http://static.example.com/</span></code>.</p>713 URL·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">http://static.example.com/</span></code>.</p>
713 <p>That’s·because·this·view·is·<strong>grossly·inefficient</strong>·and·probably714 <p>That’s·because·this·view·is·<strong>grossly·inefficient</strong>·and·probably
714 <strong>insecure</strong>.·This·is·only·intended·for·local·development,·and·should715 <strong>insecure</strong>.·This·is·only·intended·for·local·development,·and·should
715 <strong>never·be·used·in·production</strong>.</p>716 <strong>never·be·used·in·production</strong>.</p>
716 </div>717 </div>
717 </section>718 </section>
718 <section·id="s-specialized-test-case-to-support-live-testing">719 <section·id="s-specialized-test-case-to-support-live-testing">
719 <span·id="specialized-test-case-to-support-live-testing"></span><h3>Specialized·test·case·to·support·live·testing<a·class="headerlink"·href="#specialized-test-case-to-support-live-testing"·title="Link·to·this·heading">¶</a></h3>720 <span·id="specialized-test-case-to-support-live-testing"></span><h3>Specialized·test·case·to·support·live·testing<a·class="headerlink"·href="#specialized-test-case-to-support-live-testing"·title="Link·to·this·heading">¶</a></h3>
720 <dl·class="py·class">721 <dl·class="py·class">
721 <dt·class="sig·sig-object·py"·id="django.contrib.staticfiles.testing.StaticLiveServerTestCase">722 <dt·class="sig·sig-object·py"·id="django.contrib.staticfiles.testing.StaticLiveServerTestCase">
722 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">testing.</span></span><span·class="sig-name·descname"><span·class="pre">StaticLiveServerTestCase</span></span><a·class="headerlink"·href="#django.contrib.staticfiles.testing.StaticLiveServerTestCase"·title="Link·to·this·definition">¶</a></dt>723 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">testing.</span></span><span·class="sig-name·descname"><span·class="pre">StaticLiveServerTestCase</span></span><a·class="headerlink"·href="#django.contrib.staticfiles.testing.StaticLiveServerTestCase"·title="Link·to·this·definition">¶</a></dt>
723 <dd></dd></dl>724 <dd></dd></dl>
  
724 <p>This·unittest·TestCase·subclass·extends·<a·class="reference·internal"·href="../../topics/testing/tools.html#django.test.LiveServerTestCase"·title="django.test.LiveServerTestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.LiveServerTestCase</span></code></a>.</p>725 <p>This·unittest·TestCase·subclass·extends·<a·class="reference·internal"·href="../../topics/testing/tools.html#django.test.LiveServerTestCase"·title="django.test.LiveServerTestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.LiveServerTestCase</span></code></a>.</p>
725 <p>Just·like·its·parent,·you·can·use·it·to·write·tests·that·involve·running·the726 <p>Just·like·its·parent,·you·can·use·it·to·write·tests·that·involve·running·the
Offset 743, 15 lines modifiedOffset 744, 15 lines modified
743 ······744 ······
744 ········745 ········
745 ··········<div·class="yui-b"·id="sidebar">746 ··········<div·class="yui-b"·id="sidebar">
746 ············747 ············
747 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">748 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
748 ········<div·class="sphinxsidebarwrapper">749 ········<div·class="sphinxsidebarwrapper">
749 ··<div>750 ··<div>
750 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>751 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
751 ····<ul>752 ····<ul>
752 <li><a·class="reference·internal"·href="#">The·<code·class="docutils·literal·notranslate"><span·class="pre">staticfiles</span></code>·app</a><ul>753 <li><a·class="reference·internal"·href="#">The·<code·class="docutils·literal·notranslate"><span·class="pre">staticfiles</span></code>·app</a><ul>
Max diff block lines reached; 3167/14062 bytes (22.52%) of diff not shown.
7.19 KB
html2text {}
Max HTML report size reached
30.4 KB
./usr/share/doc/python-django-doc/html/ref/contrib/syndication.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·syndication·feed·framework·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·syndication·feed·framework·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Cross·Site·Request·Forgery·protection"·href="../csrf.html"·/>15 ····<link·rel="next"·title="Cross·Site·Request·Forgery·protection"·href="../csrf.html"·/>
15 ····<link·rel="prev"·title="The·staticfiles·app"·href="staticfiles.html"·/>16 ····<link·rel="prev"·title="The·staticfiles·app"·href="staticfiles.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 15 lines modifiedOffset 96, 15 lines modified
95 feed,·write·a·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feed</span></code></a>·class96 feed,·write·a·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feed</span></code></a>·class
96 and·point·to·an·instance·of·it·in·your·<a·class="reference·internal"·href="../../topics/http/urls.html"><span·class="doc">URLconf</span></a>.</p>97 and·point·to·an·instance·of·it·in·your·<a·class="reference·internal"·href="../../topics/http/urls.html"><span·class="doc">URLconf</span></a>.</p>
97 </section>98 </section>
98 <section·id="s-feed-classes">99 <section·id="s-feed-classes">
99 <span·id="feed-classes"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·classes<a·class="headerlink"·href="#feed-classes"·title="Link·to·this·heading">¶</a></h3>100 <span·id="feed-classes"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·classes<a·class="headerlink"·href="#feed-classes"·title="Link·to·this·heading">¶</a></h3>
100 <p>A·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feed</span></code></a>·class·is·a·Python101 <p>A·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feed</span></code></a>·class·is·a·Python
101 class·that·represents·a·syndication·feed.·A·feed·can·be·simple·(e.g.,102 class·that·represents·a·syndication·feed.·A·feed·can·be·simple·(e.g.,
102 a·site·news·feed,·or·a·basic·feed·displaying·the·latest·entries·of·a103 a·site·news·feed,·or·a·basic·feed·displaying·the·latest·entries·of·a
103 blog)·or·more·complex·(e.g.,·a·feed·displaying·all·the·blog·entries·in104 blog)·or·more·complex·(e.g.,·a·feed·displaying·all·the·blog·entries·in
104 a·particular·category,·where·the·category·is·variable).</p>105 a·particular·category,·where·the·category·is·variable).</p>
105 <p>Feed·classes·subclass·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.syndication.views.Feed</span></code></a>.106 <p>Feed·classes·subclass·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.syndication.views.Feed</span></code></a>.
106 They·can·live·anywhere·in·your·codebase.</p>107 They·can·live·anywhere·in·your·codebase.</p>
107 <p>Instances·of·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feed</span></code></a>·classes108 <p>Instances·of·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feed</span></code></a>·classes
108 are·views·which·can·be·used·in·your·<a·class="reference·internal"·href="../../topics/http/urls.html"><span·class="doc">URLconf</span></a>.</p>109 are·views·which·can·be·used·in·your·<a·class="reference·internal"·href="../../topics/http/urls.html"><span·class="doc">URLconf</span></a>.</p>
109 </section>110 </section>
Offset 152, 15 lines modifiedOffset 153, 15 lines modified
152 <li><p>The·Feed·class·subclasses·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.syndication.views.Feed</span></code></a>.</p></li>153 <li><p>The·Feed·class·subclasses·<a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.syndication.views.Feed</span></code></a>.</p></li>
153 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">title</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">link</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>·correspond·to·the154 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">title</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">link</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>·correspond·to·the
154 standard·RSS·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;title&gt;</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;link&gt;</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;description&gt;</span></code>·elements,155 standard·RSS·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;title&gt;</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;link&gt;</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;description&gt;</span></code>·elements,
155 respectively.</p></li>156 respectively.</p></li>
156 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">items()</span></code>·is,·a·method·that·returns·a·list·of·objects·that·should·be157 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">items()</span></code>·is,·a·method·that·returns·a·list·of·objects·that·should·be
157 included·in·the·feed·as·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;item&gt;</span></code>·elements.·Although·this·example·returns158 included·in·the·feed·as·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;item&gt;</span></code>·elements.·Although·this·example·returns
158 <code·class="docutils·literal·notranslate"><span·class="pre">NewsItem</span></code>·objects·using·Django’s·<a·class="reference·internal"·href="../models/querysets.html"><span·class="doc">object-relational·mapper</span></a>,·<code·class="docutils·literal·notranslate"><span·class="pre">items()</span></code>·doesn’t·have·to·return·model·instances.159 <code·class="docutils·literal·notranslate"><span·class="pre">NewsItem</span></code>·objects·using·Django’s·<a·class="reference·internal"·href="../models/querysets.html"><span·class="doc">object-relational·mapper</span></a>,·<code·class="docutils·literal·notranslate"><span·class="pre">items()</span></code>·doesn’t·have·to·return·model·instances.
159 Although·you·get·a·few·bits·of·functionality·for·free·by·using·Django160 Although·you·get·a·few·bits·of·functionality·for·free·by·using·Django
160 models,·<code·class="docutils·literal·notranslate"><span·class="pre">items()</span></code>·can·return·any·type·of·object·you·want.</p></li>161 models,·<code·class="docutils·literal·notranslate"><span·class="pre">items()</span></code>·can·return·any·type·of·object·you·want.</p></li>
161 <li><p>If·you’re·creating·an·Atom·feed,·rather·than·an·RSS·feed,·set·the162 <li><p>If·you’re·creating·an·Atom·feed,·rather·than·an·RSS·feed,·set·the
162 <code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>·attribute·instead·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>·attribute.163 <code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>·attribute·instead·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>·attribute.
163 See·<a·class="reference·internal"·href="#publishing-atom-and-rss-feeds-in-tandem">Publishing·Atom·and·RSS·feeds·in·tandem</a>,·later,·for·an·example.</p></li>164 See·<a·class="reference·internal"·href="#publishing-atom-and-rss-feeds-in-tandem">Publishing·Atom·and·RSS·feeds·in·tandem</a>,·later,·for·an·example.</p></li>
164 </ul>165 </ul>
165 <p>One·thing·is·left·to·do.·In·an·RSS·feed,·each·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;item&gt;</span></code>·has·a·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;title&gt;</span></code>,166 <p>One·thing·is·left·to·do.·In·an·RSS·feed,·each·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;item&gt;</span></code>·has·a·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;title&gt;</span></code>,
166 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;link&gt;</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;description&gt;</span></code>.·We·need·to·tell·the·framework·what·data·to·put167 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;link&gt;</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;description&gt;</span></code>.·We·need·to·tell·the·framework·what·data·to·put
Offset 386, 18 lines modifiedOffset 387, 18 lines modified
  
386 <span·class="k">class</span>·<span·class="nc">AtomSiteNewsFeed</span><span·class="p">(</span><span·class="n">RssSiteNewsFeed</span><span·class="p">):</span>387 <span·class="k">class</span>·<span·class="nc">AtomSiteNewsFeed</span><span·class="p">(</span><span·class="n">RssSiteNewsFeed</span><span·class="p">):</span>
387 ····<span·class="n">feed_type</span>·<span·class="o">=</span>·<span·class="n">Atom1Feed</span>388 ····<span·class="n">feed_type</span>·<span·class="o">=</span>·<span·class="n">Atom1Feed</span>
388 ····<span·class="n">subtitle</span>·<span·class="o">=</span>·<span·class="n">RssSiteNewsFeed</span><span·class="o">.</span><span·class="n">description</span>389 ····<span·class="n">subtitle</span>·<span·class="o">=</span>·<span·class="n">RssSiteNewsFeed</span><span·class="o">.</span><span·class="n">description</span>
389 </pre></div>390 </pre></div>
390 </div>391 </div>
391 <div·class="admonition·note">392 <div·class="admonition·note">
392 <p·class="admonition-title">Note</p>393 <p·class="admonition-title">rkus</p>
393 <p>In·this·example,·the·RSS·feed·uses·a·<code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>·while·the·Atom394 <p>In·this·example,·the·RSS·feed·uses·a·<code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>·while·the·Atom
394 feed·uses·a·<code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>.·That’s·because·Atom·feeds·don’t·provide·for395 feed·uses·a·<code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>.·That’s·because·Atom·feeds·don’t·provide·for
395 a·feed-level·description,·but·they·<em>do</em>·provide·for·a·subtitle.</p>396 a·feed-level·description,·but·they·<em>do</em>·provide·for·a·subtitle.</p>
396 <p>If·you·provide·a·<code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>·in·your397 <p>If·you·provide·a·<code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>·in·your
397 <a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feed</span></code></a>·class,·Django·will·<em>not</em>398 <a·class="reference·internal"·href="#django.contrib.syndication.views.Feed"·title="django.contrib.syndication.views.Feed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Feed</span></code></a>·class,·Django·will·<em>not</em>
398 automatically·put·that·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>·element,·because·a399 automatically·put·that·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>·element,·because·a
399 subtitle·and·description·are·not·necessarily·the·same·thing.·Instead,·you400 subtitle·and·description·are·not·necessarily·the·same·thing.·Instead,·you
400 should·define·a·<code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>·attribute.</p>401 should·define·a·<code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>·attribute.</p>
401 <p>In·the·above·example,·we·set·the·Atom·feed’s·<code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>·to·the·RSS·feed’s402 <p>In·the·above·example,·we·set·the·Atom·feed’s·<code·class="docutils·literal·notranslate"><span·class="pre">subtitle</span></code>·to·the·RSS·feed’s
402 <code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>,·because·it’s·quite·short·already.</p>403 <code·class="docutils·literal·notranslate"><span·class="pre">description</span></code>,·because·it’s·quite·short·already.</p>
Offset 949, 15 lines modifiedOffset 950, 15 lines modified
949 </pre></div>950 </pre></div>
950 </div>951 </div>
951 </section>952 </section>
952 </section>953 </section>
953 <section·id="s-the-low-level-framework">954 <section·id="s-the-low-level-framework">
954 <span·id="the-low-level-framework"></span><h2>The·low-level·framework<a·class="headerlink"·href="#the-low-level-framework"·title="Link·to·this·heading">¶</a></h2>955 <span·id="the-low-level-framework"></span><h2>The·low-level·framework<a·class="headerlink"·href="#the-low-level-framework"·title="Link·to·this·heading">¶</a></h2>
955 <p>Behind·the·scenes,·the·high-level·RSS·framework·uses·a·lower-level·framework956 <p>Behind·the·scenes,·the·high-level·RSS·framework·uses·a·lower-level·framework
956 for·generating·feeds·XML.·This·framework·lives·in·a·single·module:957 for·generating·feeds·XML.·This·framework·lives·in·a·single·module:
957 <a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/utils/feedgenerator.py">django/utils/feedgenerator.py</a>.</p>958 <a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/utils/feedgenerator.py">django/utils/feedgenerator.py</a>.</p>
958 <p>You·use·this·framework·on·your·own,·for·lower-level·feed·generation.·You·can959 <p>You·use·this·framework·on·your·own,·for·lower-level·feed·generation.·You·can
959 also·create·custom·feed·generator·subclasses·for·use·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">feed_type</span></code>960 also·create·custom·feed·generator·subclasses·for·use·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">feed_type</span></code>
960 <code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·option.</p>961 <code·class="docutils·literal·notranslate"><span·class="pre">Feed</span></code>·option.</p>
961 <section·id="s-syndicationfeed-classes">962 <section·id="s-syndicationfeed-classes">
962 <span·id="syndicationfeed-classes"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">SyndicationFeed</span></code>·classes<a·class="headerlink"·href="#syndicationfeed-classes"·title="Link·to·this·heading">¶</a></h3>963 <span·id="syndicationfeed-classes"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">SyndicationFeed</span></code>·classes<a·class="headerlink"·href="#syndicationfeed-classes"·title="Link·to·this·heading">¶</a></h3>
963 <p>The·<a·class="reference·internal"·href="../utils.html#module-django.utils.feedgenerator"·title="django.utils.feedgenerator:·Syndication·feed·generation·library·--·used·for·generating·RSS,·etc."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">feedgenerator</span></code></a>·module·contains·a·base·class:</p>964 <p>The·<a·class="reference·internal"·href="../utils.html#module-django.utils.feedgenerator"·title="django.utils.feedgenerator:·Syndication·feed·generation·library·--·used·for·generating·RSS,·etc."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">feedgenerator</span></code></a>·module·contains·a·base·class:</p>
Offset 995, 15 lines modifiedOffset 996, 15 lines modified
995 </ul>996 </ul>
996 <p>Any·extra·keyword·arguments·you·pass·to·<code·class="docutils·literal·notranslate"><span·class="pre">__init__</span></code>·will·be·stored·in997 <p>Any·extra·keyword·arguments·you·pass·to·<code·class="docutils·literal·notranslate"><span·class="pre">__init__</span></code>·will·be·stored·in
997 <code·class="docutils·literal·notranslate"><span·class="pre">self.feed</span></code>·for·use·with·<a·class="reference·internal"·href="#custom-feed-generators">custom·feed·generators</a>.</p>998 <code·class="docutils·literal·notranslate"><span·class="pre">self.feed</span></code>·for·use·with·<a·class="reference·internal"·href="#custom-feed-generators">custom·feed·generators</a>.</p>
998 <p>All·parameters·should·be·strings,·except·<code·class="docutils·literal·notranslate"><span·class="pre">categories</span></code>,·which·should·be·a999 <p>All·parameters·should·be·strings,·except·<code·class="docutils·literal·notranslate"><span·class="pre">categories</span></code>,·which·should·be·a
999 sequence·of·strings.·Beware·that·some·control·characters1000 sequence·of·strings.·Beware·that·some·control·characters
1000 are·<a·class="reference·external"·href="https://www.w3.org/International/questions/qa-controls">not·allowed</a>1001 are·<a·class="reference·external"·href="https://www.w3.org/International/questions/qa-controls">not·allowed</a>
1001 in·XML·documents.·If·your·content·has·some·of·them,·you·might·encounter·a1002 in·XML·documents.·If·your·content·has·some·of·them,·you·might·encounter·a
1002 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>·when·producing·the·feed.</p>1003 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>·when·producing·the·feed.</p>
1003 </dd>1004 </dd>
1004 <dt><a·class="reference·internal"·href="../utils.html#django.utils.feedgenerator.SyndicationFeed.add_item"·title="django.utils.feedgenerator.SyndicationFeed.add_item"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">SyndicationFeed.add_item()</span></code></a></dt><dd><p>Add·an·item·to·the·feed·with·the·given·parameters.</p>1005 <dt><a·class="reference·internal"·href="../utils.html#django.utils.feedgenerator.SyndicationFeed.add_item"·title="django.utils.feedgenerator.SyndicationFeed.add_item"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">SyndicationFeed.add_item()</span></code></a></dt><dd><p>Add·an·item·to·the·feed·with·the·given·parameters.</p>
1005 <p>Required·keyword·arguments·are:</p>1006 <p>Required·keyword·arguments·are:</p>
1006 <ul·class="simple">1007 <ul·class="simple">
1007 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">title</span></code></p></li>1008 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">title</span></code></p></li>
1008 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">link</span></code></p></li>1009 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">link</span></code></p></li>
1009 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">description</span></code></p></li>1010 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">description</span></code></p></li>
Offset 1021, 16 lines modifiedOffset 1022, 16 lines modified
1021 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">item_copyright</span></code></p></li>1022 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">item_copyright</span></code></p></li>
1022 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">ttl</span></code></p></li>1023 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">ttl</span></code></p></li>
1023 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">updateddate</span></code></p></li>1024 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">updateddate</span></code></p></li>
1024 </ul>1025 </ul>
Max diff block lines reached; 9244/22318 bytes (41.42%) of diff not shown.
8.45 KB
html2text {}
Max HTML report size reached
28.8 KB
./usr/share/doc/python-django-doc/html/ref/csrf.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Cross·Site·Request·Forgery·protection·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Cross·Site·Request·Forgery·protection·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Databases"·href="databases.html"·/>15 ····<link·rel="next"·title="Databases"·href="databases.html"·/>
15 ····<link·rel="prev"·title="The·syndication·feed·framework"·href="contrib/syndication.html"·/>16 ····<link·rel="prev"·title="The·syndication·feed·framework"·href="contrib/syndication.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 43 lines modifiedOffset 81, 43 lines modified
80 ··<section·id="s-module-django.middleware.csrf">81 ··<section·id="s-module-django.middleware.csrf">
81 <span·id="s-cross-site-request-forgery-protection"></span><span·id="module-django.middleware.csrf"></span><span·id="cross-site-request-forgery-protection"></span><h1>Cross·Site·Request·Forgery·protection<a·class="headerlink"·href="#module-django.middleware.csrf"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-cross-site-request-forgery-protection"></span><span·id="module-django.middleware.csrf"></span><span·id="cross-site-request-forgery-protection"></span><h1>Cross·Site·Request·Forgery·protection<a·class="headerlink"·href="#module-django.middleware.csrf"·title="Link·to·this·heading">¶</a></h1>
82 <p>The·CSRF·middleware·and·template·tag·provides·easy-to-use·protection·against83 <p>The·CSRF·middleware·and·template·tag·provides·easy-to-use·protection·against
83 <a·class="reference·external"·href="https://owasp.org/www-community/attacks/csrf#overview">Cross·Site·Request·Forgeries</a>.·This·type·of·attack·occurs·when·a·malicious84 <a·class="reference·external"·href="https://owasp.org/www-community/attacks/csrf#overview">Cross·Site·Request·Forgeries</a>.·This·type·of·attack·occurs·when·a·malicious
84 website·contains·a·link,·a·form·button·or·some·JavaScript·that·is·intended·to85 website·contains·a·link,·a·form·button·or·some·JavaScript·that·is·intended·to
85 perform·some·action·on·your·website,·using·the·credentials·of·a·logged-in·user86 perform·some·action·on·your·website,·using·the·credentials·of·a·logged-in·user
86 who·visits·the·malicious·site·in·their·browser.·A·related·type·of·attack,87 who·visits·the·malicious·site·in·their·browser.·A·related·type·of·attack,
87 login·CSRF,·where·an·attacking·site·tricks·a·user’s·browser·into·logging·into88 login·CSRF,·where·an·attacking·site·tricks·a·user’s·browser·into·logging·into
88 a·site·with·someone·else’s·credentials,·is·also·covered.</p>89 a·site·with·someone·else’s·credentials,·is·also·covered.</p>
89 <p>The·first·defense·against·CSRF·attacks·is·to·ensure·that·GET·requests·(and·other90 <p>The·first·defense·against·CSRF·attacks·is·to·ensure·that·GET·requests·(and·other
90 safe·methods,·as·defined·by·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-9.2.1"><strong>RFC·9110#section-9.2.1</strong></a>)·are·side·effect·free.91 safe·methods,·as·defined·by·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-9.2.1"><strong>RFC·9110#section-9.2.1</strong></a>)·are·side·effect·free.
91 Requests·via·unsafe·methods,·such·as·POST,·PUT,·and·DELETE,·can·then·be92 Requests·via·unsafe·methods,·such·as·POST,·PUT,·and·DELETE,·can·then·be
92 protected·by·the·steps·outlined·in·<a·class="reference·internal"·href="../howto/csrf.html#using-csrf"><span·class="std·std-ref">How·to·use·Django’s·CSRF·protection</span></a>.</p>93 protected·by·the·steps·outlined·in·<a·class="reference·internal"·href="../howto/csrf.html#using-csrf"><span·class="std·std-ref">How·to·use·Django’s·CSRF·protection</span></a>.</p>
93 <section·id="s-how-it-works">94 <section·id="s-how-it-works">
94 <span·id="s-how-csrf-works"></span><span·id="how-it-works"></span><span·id="how-csrf-works"></span><h2>How·it·works<a·class="headerlink"·href="#how-it-works"·title="Link·to·this·heading">¶</a></h2>95 <span·id="s-how-csrf-works"></span><span·id="how-it-works"></span><span·id="how-csrf-works"></span><h2>How·it·works<a·class="headerlink"·href="#how-it-works"·title="Link·to·this·heading">¶</a></h2>
95 <p>The·CSRF·protection·is·based·on·the·following·things:</p>96 <p>The·CSRF·protection·is·based·on·the·following·things:</p>
96 <ol·class="arabic">97 <ol·class="arabic">
97 <li><p>A·CSRF·cookie·that·is·a·random·secret·value,·which·other·sites·will·not·have98 <li><p>A·CSRF·cookie·that·is·a·random·secret·value,·which·other·sites·will·not·have
98 access·to.</p>99 access·to.</p>
99 <p><code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>·sends·this·cookie·with·the·response·whenever100 <p><code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>·sends·this·cookie·with·the·response·whenever
100 <code·class="docutils·literal·notranslate"><span·class="pre">django.middleware.csrf.get_token()</span></code>·is·called.·It·can·also·send·it·in101 <code·class="docutils·literal·notranslate"><span·class="pre">django.middleware.csrf.get_token()</span></code>·is·called.·It·can·also·send·it·in
101 other·cases.·For·security·reasons,·the·value·of·the·secret·is·changed·each102 other·cases.·For·security·reasons,·the·value·of·the·secret·is·changed·each
102 time·a·user·logs·in.</p>103 time·a·user·logs·in.</p>
103 </li>104 </li>
104 <li><p>A·hidden·form·field·with·the·name·csrfmiddlewaretoken,·present·in·all105 <li><p>A·hidden·form·field·with·the·name·csrfmiddlewaretoken,·present·in·all
105 outgoing·POST·forms.</p>106 outgoing·POST·forms.</p>
106 <p>In·order·to·protect·against·<a·class="reference·external"·href="https://www.breachattack.com/">BREACH</a>·attacks,·the·value·of·this·field·is107 <p>In·order·to·protect·against·<a·class="reference·external"·href="https://www.breachattack.com/">BREACH</a>·attacks,·the·value·of·this·field·is
107 not·simply·the·secret.·It·is·scrambled·differently·with·each·response·using108 not·simply·the·secret.·It·is·scrambled·differently·with·each·response·using
108 a·mask.·The·mask·is·generated·randomly·on·every·call·to·<code·class="docutils·literal·notranslate"><span·class="pre">get_token()</span></code>,·so109 a·mask.·The·mask·is·generated·randomly·on·every·call·to·<code·class="docutils·literal·notranslate"><span·class="pre">get_token()</span></code>,·so
109 the·form·field·value·is·different·each·time.</p>110 the·form·field·value·is·different·each·time.</p>
110 <p>This·part·is·done·by·the·<a·class="reference·internal"·href="templates/builtins.html#std-templatetag-csrf_token"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">csrf_token</span></code></a>·template·tag.</p>111 <p>This·part·is·done·by·the·<a·class="reference·internal"·href="templates/builtins.html#std-templatetag-csrf_token"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">csrf_token</span></code></a>·template·tag.</p>
111 </li>112 </li>
112 <li><p>For·all·incoming·requests·that·are·not·using·HTTP·GET,·HEAD,·OPTIONS·or113 <li><p>For·all·incoming·requests·that·are·not·using·HTTP·GET,·HEAD,·OPTIONS·or
113 TRACE,·a·CSRF·cookie·must·be·present,·and·the·csrfmiddlewaretoken·field114 TRACE,·a·CSRF·cookie·must·be·present,·and·the·csrfmiddlewaretoken·field
114 must·be·present·and·correct.·If·it·isn’t,·the·user·will·get·a·403·error.</p>115 must·be·present·and·correct.·If·it·isn’t,·the·user·will·get·a·403·error.</p>
115 <p>When·validating·the·csrfmiddlewaretoken·field·value,·only·the·secret,116 <p>When·validating·the·csrfmiddlewaretoken·field·value,·only·the·secret,
116 not·the·full·token,·is·compared·with·the·secret·in·the·cookie·value.117 not·the·full·token,·is·compared·with·the·secret·in·the·cookie·value.
117 This·allows·the·use·of·ever-changing·tokens.·While·each·request·may·use·its118 This·allows·the·use·of·ever-changing·tokens.·While·each·request·may·use·its
118 own·token,·the·secret·remains·common·to·all.</p>119 own·token,·the·secret·remains·common·to·all.</p>
119 <p>This·check·is·done·by·<code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>.</p>120 <p>This·check·is·done·by·<code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>.</p>
120 </li>121 </li>
121 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>·verifies·the·<a·class="reference·external"·href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin">Origin·header</a>,·if·provided·by·the122 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>·verifies·the·<a·class="reference·external"·href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin">Origin·header</a>,·if·provided·by·the
122 browser,·against·the·current·host·and·the·<a·class="reference·internal"·href="settings.html#std-setting-CSRF_TRUSTED_ORIGINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_TRUSTED_ORIGINS</span></code></a>123 browser,·against·the·current·host·and·the·<a·class="reference·internal"·href="settings.html#std-setting-CSRF_TRUSTED_ORIGINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_TRUSTED_ORIGINS</span></code></a>
Offset 140, 18 lines modifiedOffset 141, 18 lines modified
140 <p>Expanding·the·accepted·referers·beyond·the·current·host·or·cookie·domain·can141 <p>Expanding·the·accepted·referers·beyond·the·current·host·or·cookie·domain·can
141 be·done·with·the·<a·class="reference·internal"·href="settings.html#std-setting-CSRF_TRUSTED_ORIGINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_TRUSTED_ORIGINS</span></code></a>·setting.</p>142 be·done·with·the·<a·class="reference·internal"·href="settings.html#std-setting-CSRF_TRUSTED_ORIGINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_TRUSTED_ORIGINS</span></code></a>·setting.</p>
142 </li>143 </li>
143 </ol>144 </ol>
144 <p>This·ensures·that·only·forms·that·have·originated·from·trusted·domains·can·be145 <p>This·ensures·that·only·forms·that·have·originated·from·trusted·domains·can·be
145 used·to·POST·data·back.</p>146 used·to·POST·data·back.</p>
146 <p>It·deliberately·ignores·GET·requests·(and·other·requests·that·are·defined·as147 <p>It·deliberately·ignores·GET·requests·(and·other·requests·that·are·defined·as
147 safe·by·<span·class="target"·id="index-1"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-9.2.1"><strong>RFC·9110#section-9.2.1</strong></a>).·These·requests·ought·never·to·have·any148 safe·by·<span·class="target"·id="index-1"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-9.2.1"><strong>RFC·9110#section-9.2.1</strong></a>).·These·requests·ought·never·to·have·any
148 potentially·dangerous·side·effects,·and·so·a·CSRF·attack·with·a·GET·request149 potentially·dangerous·side·effects,·and·so·a·CSRF·attack·with·a·GET·request
149 ought·to·be·harmless.·<span·class="target"·id="index-2"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-9.2.1"><strong>RFC·9110#section-9.2.1</strong></a>·defines·POST,·PUT,·and·DELETE150 ought·to·be·harmless.·<span·class="target"·id="index-2"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-9.2.1"><strong>RFC·9110#section-9.2.1</strong></a>·defines·POST,·PUT,·and·DELETE
150 as·unsafe,·and·all·other·methods·are·also·assumed·to·be·unsafe,·for·maximum151 as·unsafe,·and·all·other·methods·are·also·assumed·to·be·unsafe,·for·maximum
151 protection.</p>152 protection.</p>
152 <p>The·CSRF·protection·cannot·protect·against·man-in-the-middle·attacks,·so·use153 <p>The·CSRF·protection·cannot·protect·against·man-in-the-middle·attacks,·so·use
153 <a·class="reference·internal"·href="../topics/security.html#security-recommendation-ssl"><span·class="std·std-ref">HTTPS</span></a>·with154 <a·class="reference·internal"·href="../topics/security.html#security-recommendation-ssl"><span·class="std·std-ref">HTTPS</span></a>·with
154 <a·class="reference·internal"·href="middleware.html#http-strict-transport-security"><span·class="std·std-ref">HTTP·Strict·Transport·Security</span></a>.·It·also·assumes·<a·class="reference·internal"·href="../topics/security.html#host-headers-virtual-hosting"><span·class="std·std-ref">validation·of155 <a·class="reference·internal"·href="middleware.html#http-strict-transport-security"><span·class="std·std-ref">HTTP·Strict·Transport·Security</span></a>.·It·also·assumes·<a·class="reference·internal"·href="../topics/security.html#host-headers-virtual-hosting"><span·class="std·std-ref">validation·of
155 the·HOST·header</span></a>·and·that·there·aren’t·any156 the·HOST·header</span></a>·and·that·there·aren’t·any
156 <a·class="reference·internal"·href="../topics/security.html#cross-site-scripting"><span·class="std·std-ref">cross-site·scripting·vulnerabilities</span></a>·on·your·site157 <a·class="reference·internal"·href="../topics/security.html#cross-site-scripting"><span·class="std·std-ref">cross-site·scripting·vulnerabilities</span></a>·on·your·site
157 (because·XSS·vulnerabilities·already·let·an·attacker·do·anything·a·CSRF158 (because·XSS·vulnerabilities·already·let·an·attacker·do·anything·a·CSRF
Offset 159, 15 lines modifiedOffset 160, 15 lines modified
159 <div·class="admonition-removing-the-referer-header·admonition">160 <div·class="admonition-removing-the-referer-header·admonition">
160 <p·class="admonition-title">Removing·the·<code·class="docutils·literal·notranslate"><span·class="pre">Referer</span></code>·header</p>161 <p·class="admonition-title">Removing·the·<code·class="docutils·literal·notranslate"><span·class="pre">Referer</span></code>·header</p>
161 <p>To·avoid·disclosing·the·referrer·URL·to·third-party·sites,·you·might·want162 <p>To·avoid·disclosing·the·referrer·URL·to·third-party·sites,·you·might·want
162 to·<a·class="reference·external"·href="https://www.w3.org/TR/referrer-policy/#referrer-policy-delivery">disable·the·referer</a>·on·your·site’s·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;a&gt;</span></code>·tags.·For·example,·you163 to·<a·class="reference·external"·href="https://www.w3.org/TR/referrer-policy/#referrer-policy-delivery">disable·the·referer</a>·on·your·site’s·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;a&gt;</span></code>·tags.·For·example,·you
163 might·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;meta</span>·<span·class="pre">name=&quot;referrer&quot;</span>·<span·class="pre">content=&quot;no-referrer&quot;&gt;</span></code>·tag·or164 might·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;meta</span>·<span·class="pre">name=&quot;referrer&quot;</span>·<span·class="pre">content=&quot;no-referrer&quot;&gt;</span></code>·tag·or
164 include·the·<code·class="docutils·literal·notranslate"><span·class="pre">Referrer-Policy:</span>·<span·class="pre">no-referrer</span></code>·header.·Due·to·the·CSRF165 include·the·<code·class="docutils·literal·notranslate"><span·class="pre">Referrer-Policy:</span>·<span·class="pre">no-referrer</span></code>·header.·Due·to·the·CSRF
165 protection’s·strict·referer·checking·on·HTTPS·requests,·those·techniques166 protection’s·strict·referer·checking·on·HTTPS·requests,·those·techniques
166 cause·a·CSRF·failure·on·requests·with·unsafe·methods.·Instead,·use167 cause·a·CSRF·failure·on·requests·with·unsafe·methods.·Instead,·use
167 alternatives·like·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;a</span>·<span·class="pre">rel=&quot;noreferrer&quot;</span>·<span·class="pre">...&gt;&quot;</span></code>·for·links·to·third-party168 alternatives·like·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;a</span>·<span·class="pre">rel=&quot;noreferrer&quot;</span>·<span·class="pre">...&gt;&quot;</span></code>·for·links·to·third-party
168 sites.</p>169 sites.</p>
169 </div>170 </div>
170 </section>171 </section>
171 <section·id="s-limitations">172 <section·id="s-limitations">
172 <span·id="s-csrf-limitations"></span><span·id="limitations"></span><span·id="csrf-limitations"></span><h2>Limitations<a·class="headerlink"·href="#limitations"·title="Link·to·this·heading">¶</a></h2>173 <span·id="s-csrf-limitations"></span><span·id="limitations"></span><span·id="csrf-limitations"></span><h2>Limitations<a·class="headerlink"·href="#limitations"·title="Link·to·this·heading">¶</a></h2>
173 <p>Subdomains·within·a·site·will·be·able·to·set·cookies·on·the·client·for·the·whole174 <p>Subdomains·within·a·site·will·be·able·to·set·cookies·on·the·client·for·the·whole
Offset 181, 15 lines modifiedOffset 182, 15 lines modified
181 <section·id="s-module-django.views.decorators.csrf">182 <section·id="s-module-django.views.decorators.csrf">
182 <span·id="s-utilities"></span><span·id="module-django.views.decorators.csrf"></span><span·id="utilities"></span><h2>Utilities<a·class="headerlink"·href="#module-django.views.decorators.csrf"·title="Link·to·this·heading">¶</a></h2>183 <span·id="s-utilities"></span><span·id="module-django.views.decorators.csrf"></span><span·id="utilities"></span><h2>Utilities<a·class="headerlink"·href="#module-django.views.decorators.csrf"·title="Link·to·this·heading">¶</a></h2>
183 <p>The·examples·below·assume·you·are·using·function-based·views.·If·you184 <p>The·examples·below·assume·you·are·using·function-based·views.·If·you
184 are·working·with·class-based·views,·you·can·refer·to·<a·class="reference·internal"·href="../topics/class-based-views/intro.html#id1"><span·class="std·std-ref">Decorating185 are·working·with·class-based·views,·you·can·refer·to·<a·class="reference·internal"·href="../topics/class-based-views/intro.html#id1"><span·class="std·std-ref">Decorating
185 class-based·views</span></a>.</p>186 class-based·views</span></a>.</p>
186 <dl·class="py·function">187 <dl·class="py·function">
187 <dt·class="sig·sig-object·py"·id="django.views.decorators.csrf.csrf_exempt">188 <dt·class="sig·sig-object·py"·id="django.views.decorators.csrf.csrf_exempt">
188 <span·class="sig-name·descname"><span·class="pre">csrf_exempt</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">view</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/csrf.py#L51"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.decorators.csrf.csrf_exempt"·title="Link·to·this·definition">¶</a></dt>189 <span·class="sig-name·descname"><span·class="pre">csrf_exempt</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">view</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/csrf.py#L51"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.decorators.csrf.csrf_exempt"·title="Link·to·this·definition">¶</a></dt>
Max diff block lines reached; 4542/17417 bytes (26.08%) of diff not shown.
11.7 KB
html2text {}
Max HTML report size reached
50.0 KB
./usr/share/doc/python-django-doc/html/ref/databases.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Databases·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Databases·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="django-admin·and·manage.py"·href="django-admin.html"·/>15 ····<link·rel="next"·title="django-admin·and·manage.py"·href="django-admin.html"·/>
15 ····<link·rel="prev"·title="Cross·Site·Request·Forgery·protection"·href="csrf.html"·/>16 ····<link·rel="prev"·title="Cross·Site·Request·Forgery·protection"·href="csrf.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 159, 25 lines modifiedOffset 160, 25 lines modified
159 closed,·or·timeout·occurs.·You·can·use·<code·class="docutils·literal·notranslate"><span·class="pre">django.db.close_old_connections()</span></code>·to160 closed,·or·timeout·occurs.·You·can·use·<code·class="docutils·literal·notranslate"><span·class="pre">django.db.close_old_connections()</span></code>·to
160 close·all·old·or·unusable·connections.</p>161 close·all·old·or·unusable·connections.</p>
161 </section>162 </section>
162 </section>163 </section>
163 <section·id="s-encoding">164 <section·id="s-encoding">
164 <span·id="encoding"></span><h3>Encoding<a·class="headerlink"·href="#encoding"·title="Link·to·this·heading">¶</a></h3>165 <span·id="encoding"></span><h3>Encoding<a·class="headerlink"·href="#encoding"·title="Link·to·this·heading">¶</a></h3>
165 <p>Django·assumes·that·all·databases·use·UTF-8·encoding.·Using·other·encodings·may166 <p>Django·assumes·that·all·databases·use·UTF-8·encoding.·Using·other·encodings·may
166 result·in·unexpected·behavior·such·as·value·too·long·errors·from·your167 result·in·unexpected·behavior·such·as·value·too·long·errors·from·your
167 database·for·data·that·is·valid·in·Django.·See·the·database·specific·notes168 database·for·data·that·is·valid·in·Django.·See·the·database·specific·notes
168 below·for·information·on·how·to·set·up·your·database·correctly.</p>169 below·for·information·on·how·to·set·up·your·database·correctly.</p>
169 </section>170 </section>
170 </section>171 </section>
171 <section·id="s-postgresql-notes">172 <section·id="s-postgresql-notes">
172 <span·id="s-id1"></span><span·id="postgresql-notes"></span><span·id="id1"></span><h2>PostgreSQL·notes<a·class="headerlink"·href="#postgresql-notes"·title="Link·to·this·heading">¶</a></h2>173 <span·id="s-id1"></span><span·id="postgresql-notes"></span><span·id="id1"></span><h2>PostgreSQL·notes<a·class="headerlink"·href="#postgresql-notes"·title="Link·to·this·heading">¶</a></h2>
173 <p>Django·supports·PostgreSQL·13·and·higher.·<a·class="reference·external"·href="https://www.psycopg.org/psycopg3/">psycopg</a>·3.1.8+·or·<a·class="reference·external"·href="https://www.psycopg.org/">psycopg2</a>174 <p>Django·supports·PostgreSQL·13·and·higher.·<a·class="reference·external"·href="https://www.psycopg.org/psycopg3/">psycopg</a>·3.1.8+·or·<a·class="reference·external"·href="https://www.psycopg.org/">psycopg2</a>
174 2.8.4+·is·required,·though·the·latest·<a·class="reference·external"·href="https://www.psycopg.org/psycopg3/">psycopg</a>·3.1.8+·is·recommended.</p>175 2.8.4+·is·required,·though·the·latest·<a·class="reference·external"·href="https://www.psycopg.org/psycopg3/">psycopg</a>·3.1.8+·is·recommended.</p>
175 <div·class="admonition·note">176 <div·class="admonition·note">
176 <p·class="admonition-title">Note</p>177 <p·class="admonition-title">rkus</p>
177 <p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">psycopg2</span></code>·is·likely·to·be·deprecated·and·removed·at·some178 <p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">psycopg2</span></code>·is·likely·to·be·deprecated·and·removed·at·some
178 point·in·the·future.</p>179 point·in·the·future.</p>
179 </div>180 </div>
180 <section·id="s-postgresql-connection-settings">181 <section·id="s-postgresql-connection-settings">
181 <span·id="s-id2"></span><span·id="postgresql-connection-settings"></span><span·id="id2"></span><h3>PostgreSQL·connection·settings<a·class="headerlink"·href="#postgresql-connection-settings"·title="Link·to·this·heading">¶</a></h3>182 <span·id="s-id2"></span><span·id="postgresql-connection-settings"></span><span·id="id2"></span><h3>PostgreSQL·connection·settings<a·class="headerlink"·href="#postgresql-connection-settings"·title="Link·to·this·heading">¶</a></h3>
182 <p>See·<a·class="reference·internal"·href="settings.html#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>·for·details.</p>183 <p>See·<a·class="reference·internal"·href="settings.html#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>·for·details.</p>
183 <p>To·connect·using·a·service·name·from·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/libpq-pgservice.html">connection·service·file</a>·and·a184 <p>To·connect·using·a·service·name·from·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/libpq-pgservice.html">connection·service·file</a>·and·a
Offset 214, 15 lines modifiedOffset 215, 15 lines modified
214 </div>215 </div>
215 </div>216 </div>
216 <p>The·PostgreSQL·backend·passes·the·content·of·<a·class="reference·internal"·href="settings.html#std-setting-OPTIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">OPTIONS</span></code></a>·as·keyword217 <p>The·PostgreSQL·backend·passes·the·content·of·<a·class="reference·internal"·href="settings.html#std-setting-OPTIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">OPTIONS</span></code></a>·as·keyword
217 arguments·to·the·connection·constructor,·allowing·for·more·advanced·control218 arguments·to·the·connection·constructor,·allowing·for·more·advanced·control
218 of·driver·behavior.·All·available·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS">parameters</a>·are·described·in·detail·in·the219 of·driver·behavior.·All·available·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS">parameters</a>·are·described·in·detail·in·the
219 PostgreSQL·documentation.</p>220 PostgreSQL·documentation.</p>
220 <div·class="admonition·warning">221 <div·class="admonition·warning">
221 <p·class="admonition-title">Warning</p>222 <p·class="admonition-title">Hoiatus</p>
222 <p>Using·a·service·name·for·testing·purposes·is·not·supported.·This223 <p>Using·a·service·name·for·testing·purposes·is·not·supported.·This
223 <a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33685">may·be·implemented·later</a>.</p>224 <a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33685">may·be·implemented·later</a>.</p>
224 </div>225 </div>
225 </section>226 </section>
226 <section·id="s-optimizing-postgresql-s-configuration">227 <section·id="s-optimizing-postgresql-s-configuration">
227 <span·id="optimizing-postgresql-s-configuration"></span><h3>Optimizing·PostgreSQL’s·configuration<a·class="headerlink"·href="#optimizing-postgresql-s-configuration"·title="Link·to·this·heading">¶</a></h3>228 <span·id="optimizing-postgresql-s-configuration"></span><h3>Optimizing·PostgreSQL’s·configuration<a·class="headerlink"·href="#optimizing-postgresql-s-configuration"·title="Link·to·this·heading">¶</a></h3>
228 <p>Django·needs·the·following·parameters·for·its·database·connections:</p>229 <p>Django·needs·the·following·parameters·for·its·database·connections:</p>
Offset 261, 15 lines modifiedOffset 262, 15 lines modified
261 ····<span·class="s2">&quot;OPTIONS&quot;</span><span·class="p">:</span>·<span·class="p">{</span>262 ····<span·class="s2">&quot;OPTIONS&quot;</span><span·class="p">:</span>·<span·class="p">{</span>
262 ········<span·class="s2">&quot;isolation_level&quot;</span><span·class="p">:</span>·<span·class="n">IsolationLevel</span><span·class="o">.</span><span·class="n">SERIALIZABLE</span><span·class="p">,</span>263 ········<span·class="s2">&quot;isolation_level&quot;</span><span·class="p">:</span>·<span·class="n">IsolationLevel</span><span·class="o">.</span><span·class="n">SERIALIZABLE</span><span·class="p">,</span>
263 ····<span·class="p">},</span>264 ····<span·class="p">},</span>
264 <span·class="p">}</span>265 <span·class="p">}</span>
265 </pre></div>266 </pre></div>
266 </div>267 </div>
267 <div·class="admonition·note">268 <div·class="admonition·note">
268 <p·class="admonition-title">Note</p>269 <p·class="admonition-title">rkus</p>
269 <p>Under·higher·isolation·levels,·your·application·should·be·prepared·to270 <p>Under·higher·isolation·levels,·your·application·should·be·prepared·to
270 handle·exceptions·raised·on·serialization·failures.·This·option·is271 handle·exceptions·raised·on·serialization·failures.·This·option·is
271 designed·for·advanced·uses.</p>272 designed·for·advanced·uses.</p>
272 </div>273 </div>
273 </section>274 </section>
274 <section·id="s-role">275 <section·id="s-role">
275 <span·id="s-database-role"></span><span·id="role"></span><span·id="database-role"></span><h3>Role<a·class="headerlink"·href="#role"·title="Link·to·this·heading">¶</a></h3>276 <span·id="s-database-role"></span><span·id="role"></span><span·id="database-role"></span><h3>Role<a·class="headerlink"·href="#role"·title="Link·to·this·heading">¶</a></h3>
Offset 345, 15 lines modifiedOffset 346, 15 lines modified
345 <span·id="migration-operation-for-adding-extensions"></span><h3>Migration·operation·for·adding·extensions<a·class="headerlink"·href="#migration-operation-for-adding-extensions"·title="Link·to·this·heading">¶</a></h3>346 <span·id="migration-operation-for-adding-extensions"></span><h3>Migration·operation·for·adding·extensions<a·class="headerlink"·href="#migration-operation-for-adding-extensions"·title="Link·to·this·heading">¶</a></h3>
346 <p>If·you·need·to·add·a·PostgreSQL·extension·(like·<code·class="docutils·literal·notranslate"><span·class="pre">hstore</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">postgis</span></code>,·etc.)347 <p>If·you·need·to·add·a·PostgreSQL·extension·(like·<code·class="docutils·literal·notranslate"><span·class="pre">hstore</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">postgis</span></code>,·etc.)
347 using·a·migration,·use·the348 using·a·migration,·use·the
348 <a·class="reference·internal"·href="contrib/postgres/operations.html#django.contrib.postgres.operations.CreateExtension"·title="django.contrib.postgres.operations.CreateExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CreateExtension</span></code></a>·operation.</p>349 <a·class="reference·internal"·href="contrib/postgres/operations.html#django.contrib.postgres.operations.CreateExtension"·title="django.contrib.postgres.operations.CreateExtension"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CreateExtension</span></code></a>·operation.</p>
349 </section>350 </section>
350 <section·id="s-server-side-cursors">351 <section·id="s-server-side-cursors">
351 <span·id="s-postgresql-server-side-cursors"></span><span·id="server-side-cursors"></span><span·id="postgresql-server-side-cursors"></span><h3>Server-side·cursors<a·class="headerlink"·href="#server-side-cursors"·title="Link·to·this·heading">¶</a></h3>352 <span·id="s-postgresql-server-side-cursors"></span><span·id="server-side-cursors"></span><span·id="postgresql-server-side-cursors"></span><h3>Server-side·cursors<a·class="headerlink"·href="#server-side-cursors"·title="Link·to·this·heading">¶</a></h3>
352 <p>When·using·<a·class="reference·internal"·href="models/querysets.html#django.db.models.query.QuerySet.iterator"·title="django.db.models.query.QuerySet.iterator"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.iterator()</span></code></a>,·Django·opens·a·<a·class="reference·external"·href="/usr/share/doc/python-psycopg2-doc/html/usage.html#server-side-cursors"·title="(in·Psycopg·v2.9)"><span·class="xref·std·std-ref">server-side353 <p>When·using·<a·class="reference·internal"·href="models/querysets.html#django.db.models.query.QuerySet.iterator"·title="django.db.models.query.QuerySet.iterator"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.iterator()</span></code></a>,·Django·opens·a·<a·class="reference·external"·href="/usr/share/doc/python-psycopg2-doc/html/usage.html#server-side-cursors"·title="(projektis·Psycopg·v2.9)"><span·class="xref·std·std-ref">server-side
353 cursor</span></a>.·By·default,·PostgreSQL·assumes·that354 cursor</span></a>.·By·default,·PostgreSQL·assumes·that
354 only·the·first·10%·of·the·results·of·cursor·queries·will·be·fetched.·The·query355 only·the·first·10%·of·the·results·of·cursor·queries·will·be·fetched.·The·query
355 planner·spends·less·time·planning·the·query·and·starts·returning·results356 planner·spends·less·time·planning·the·query·and·starts·returning·results
356 faster,·but·this·could·diminish·performance·if·more·than·10%·of·the·results·are357 faster,·but·this·could·diminish·performance·if·more·than·10%·of·the·results·are
357 retrieved.·PostgreSQL’s·assumptions·on·the·number·of·rows·retrieved·for·a358 retrieved.·PostgreSQL’s·assumptions·on·the·number·of·rows·retrieved·for·a
358 cursor·query·is·controlled·with·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-CURSOR-TUPLE-FRACTION">cursor_tuple_fraction</a>·option.</p>359 cursor·query·is·controlled·with·the·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-CURSOR-TUPLE-FRACTION">cursor_tuple_fraction</a>·option.</p>
359 <section·id="s-transaction-pooling-and-server-side-cursors">360 <section·id="s-transaction-pooling-and-server-side-cursors">
Offset 406, 15 lines modifiedOffset 407, 15 lines modified
406 a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createdatabase.html">template</a>·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">'template0'</span></code>)·from·which·to·create·a·test·database.</p>407 a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createdatabase.html">template</a>·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">'template0'</span></code>)·from·which·to·create·a·test·database.</p>
407 </section>408 </section>
408 <section·id="s-speeding-up-test-execution-with-non-durable-settings">409 <section·id="s-speeding-up-test-execution-with-non-durable-settings">
409 <span·id="speeding-up-test-execution-with-non-durable-settings"></span><h3>Speeding·up·test·execution·with·non-durable·settings<a·class="headerlink"·href="#speeding-up-test-execution-with-non-durable-settings"·title="Link·to·this·heading">¶</a></h3>410 <span·id="speeding-up-test-execution-with-non-durable-settings"></span><h3>Speeding·up·test·execution·with·non-durable·settings<a·class="headerlink"·href="#speeding-up-test-execution-with-non-durable-settings"·title="Link·to·this·heading">¶</a></h3>
410 <p>You·can·speed·up·test·execution·times·by·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/non-durability.html">configuring·PostgreSQL·to·be411 <p>You·can·speed·up·test·execution·times·by·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/non-durability.html">configuring·PostgreSQL·to·be
411 non-durable</a>.</p>412 non-durable</a>.</p>
412 <div·class="admonition·warning">413 <div·class="admonition·warning">
413 <p·class="admonition-title">Warning</p>414 <p·class="admonition-title">Hoiatus</p>
414 <p>This·is·dangerous:·it·will·make·your·database·more·susceptible·to·data·loss415 <p>This·is·dangerous:·it·will·make·your·database·more·susceptible·to·data·loss
415 or·corruption·in·the·case·of·a·server·crash·or·power·loss.·Only·use·this·on416 or·corruption·in·the·case·of·a·server·crash·or·power·loss.·Only·use·this·on
416 a·development·machine·where·you·can·easily·restore·the·entire·contents·of417 a·development·machine·where·you·can·easily·restore·the·entire·contents·of
417 all·databases·in·the·cluster.</p>418 all·databases·in·the·cluster.</p>
418 </div>419 </div>
Max diff block lines reached; 21523/32008 bytes (67.24%) of diff not shown.
18.7 KB
html2text {}
Max HTML report size reached
67.6 KB
./usr/share/doc/python-django-doc/html/ref/django-admin.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>django-admin·and·manage.py·&#8212;·Django·5.1.3·documentation</title>6 ····<title>django-admin·and·manage.py·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·Exceptions"·href="exceptions.html"·/>15 ····<link·rel="next"·title="Django·Exceptions"·href="exceptions.html"·/>
15 ····<link·rel="prev"·title="Databases"·href="databases.html"·/>16 ····<link·rel="prev"·title="Databases"·href="databases.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 145, 15 lines modifiedOffset 146, 15 lines modified
145 <p>Run·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span>·<span·class="pre">help</span>·<span·class="pre">--commands</span></code>·to·display·a·list·of·all·available146 <p>Run·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span>·<span·class="pre">help</span>·<span·class="pre">--commands</span></code>·to·display·a·list·of·all·available
146 commands.</p>147 commands.</p>
147 <p>Run·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span>·<span·class="pre">help</span>·<span·class="pre">&lt;command&gt;</span></code>·to·display·a·description·of·the·given148 <p>Run·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span>·<span·class="pre">help</span>·<span·class="pre">&lt;command&gt;</span></code>·to·display·a·description·of·the·given
148 command·and·a·list·of·its·available·options.</p>149 command·and·a·list·of·its·available·options.</p>
149 </section>150 </section>
150 <section·id="s-app-names">151 <section·id="s-app-names">
151 <span·id="app-names"></span><h3>App·names<a·class="headerlink"·href="#app-names"·title="Link·to·this·heading">¶</a></h3>152 <span·id="app-names"></span><h3>App·names<a·class="headerlink"·href="#app-names"·title="Link·to·this·heading">¶</a></h3>
152 <p>Many·commands·take·a·list·of·app·names.·An·app·name·is·the·basename·of153 <p>Many·commands·take·a·list·of·app·names.·An·app·name·is·the·basename·of
153 the·package·containing·your·models.·For·example,·if·your·<a·class="reference·internal"·href="settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>154 the·package·containing·your·models.·For·example,·if·your·<a·class="reference·internal"·href="settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>
154 contains·the·string·<code·class="docutils·literal·notranslate"><span·class="pre">'mysite.blog'</span></code>,·the·app·name·is·<code·class="docutils·literal·notranslate"><span·class="pre">blog</span></code>.</p>155 contains·the·string·<code·class="docutils·literal·notranslate"><span·class="pre">'mysite.blog'</span></code>,·the·app·name·is·<code·class="docutils·literal·notranslate"><span·class="pre">blog</span></code>.</p>
155 </section>156 </section>
156 <section·id="s-determining-the-version">157 <section·id="s-determining-the-version">
157 <span·id="determining-the-version"></span><h3>Determining·the·version<a·class="headerlink"·href="#determining-the-version"·title="Link·to·this·heading">¶</a></h3>158 <span·id="determining-the-version"></span><h3>Determining·the·version<a·class="headerlink"·href="#determining-the-version"·title="Link·to·this·heading">¶</a></h3>
158 <dl·class="std·django-admin">159 <dl·class="std·django-admin">
159 <dt·class="sig·sig-object·std"·id="django-admin-version">160 <dt·class="sig·sig-object·std"·id="django-admin-version">
Offset 283, 15 lines modifiedOffset 284, 15 lines modified
283 </pre></div>284 </pre></div>
284 </div>285 </div>
285 <dl·class="django-admin-option">286 <dl·class="django-admin-option">
286 <dt·class="sig·sig-object"·id="cmdoption-compilemessages-ignore">287 <dt·class="sig·sig-object"·id="cmdoption-compilemessages-ignore">
287 <span·id="cmdoption-compilemessages-i"></span><span·class="sig-name·descname"><span·class="pre">--ignore</span></span><span·class="sig-prename·descclassname">·<span·class="pre">PATTERN</span></span><span·class="sig-prename·descclassname"><span·class="pre">,</span>·</span><span·class="sig-name·descname"><span·class="pre">-i</span></span><span·class="sig-prename·descclassname">·<span·class="pre">PATTERN</span></span><a·class="headerlink"·href="#cmdoption-compilemessages-ignore"·title="Link·to·this·definition">¶</a></dt>288 <span·id="cmdoption-compilemessages-i"></span><span·class="sig-name·descname"><span·class="pre">--ignore</span></span><span·class="sig-prename·descclassname">·<span·class="pre">PATTERN</span></span><span·class="sig-prename·descclassname"><span·class="pre">,</span>·</span><span·class="sig-name·descname"><span·class="pre">-i</span></span><span·class="sig-prename·descclassname">·<span·class="pre">PATTERN</span></span><a·class="headerlink"·href="#cmdoption-compilemessages-ignore"·title="Link·to·this·definition">¶</a></dt>
288 <dd></dd></dl>289 <dd></dd></dl>
  
289 <p>Ignores·directories·matching·the·given·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/glob.html#module-glob"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">glob</span></code></a>-style·pattern.·Use290 <p>Ignores·directories·matching·the·given·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/glob.html#module-glob"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">glob</span></code></a>-style·pattern.·Use
290 multiple·times·to·ignore·more.</p>291 multiple·times·to·ignore·more.</p>
291 <p>Example·usage:</p>292 <p>Example·usage:</p>
292 <div·class="highlight-console·notranslate"><div·class="highlight"><pre><span></span><span·class="go">django-admin·compilemessages·--ignore=cache·--ignore=outdated/*/locale</span>293 <div·class="highlight-console·notranslate"><div·class="highlight"><pre><span></span><span·class="go">django-admin·compilemessages·--ignore=cache·--ignore=outdated/*/locale</span>
293 </pre></div>294 </pre></div>
294 </div>295 </div>
295 </section>296 </section>
296 <section·id="s-createcachetable">297 <section·id="s-createcachetable">
Offset 399, 15 lines modifiedOffset 400, 15 lines modified
399 <span·class="go">+----------------------+</span>400 <span·class="go">+----------------------+</span>
400 <span·class="go">|·djangonaut@localhost·|</span>401 <span·class="go">|·djangonaut@localhost·|</span>
401 <span·class="go">+----------------------+</span>402 <span·class="go">+----------------------+</span>
402 </pre></div>403 </pre></div>
403 </section>404 </section>
404 </div>405 </div>
405 <div·class="admonition·note">406 <div·class="admonition·note">
406 <p·class="admonition-title">Note</p>407 <p·class="admonition-title">rkus</p>
407 <p>Be·aware·that·not·all·options·set·in·the·<a·class="reference·internal"·href="settings.html#std-setting-OPTIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">OPTIONS</span></code></a>·part·of·your408 <p>Be·aware·that·not·all·options·set·in·the·<a·class="reference·internal"·href="settings.html#std-setting-OPTIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">OPTIONS</span></code></a>·part·of·your
408 database·configuration·in·<a·class="reference·internal"·href="settings.html#std-setting-DATABASES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASES</span></code></a>·are·passed·to·the409 database·configuration·in·<a·class="reference·internal"·href="settings.html#std-setting-DATABASES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASES</span></code></a>·are·passed·to·the
409 command-line·client,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">'isolation_level'</span></code>.</p>410 command-line·client,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">'isolation_level'</span></code>.</p>
410 </div>411 </div>
411 </section>412 </section>
412 <section·id="s-diffsettings">413 <section·id="s-diffsettings">
413 <span·id="diffsettings"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">diffsettings</span></code><a·class="headerlink"·href="#diffsettings"·title="Link·to·this·heading">¶</a></h3>414 <span·id="diffsettings"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">diffsettings</span></code><a·class="headerlink"·href="#diffsettings"·title="Link·to·this·heading">¶</a></h3>
Offset 610, 15 lines modifiedOffset 611, 15 lines modified
610 the·<code·class="docutils·literal·notranslate"><span·class="pre">db_column</span></code>·attribute·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">'for'</span></code>.·<code·class="docutils·literal·notranslate"><span·class="pre">inspectdb</span></code>·will·insert611 the·<code·class="docutils·literal·notranslate"><span·class="pre">db_column</span></code>·attribute·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">'for'</span></code>.·<code·class="docutils·literal·notranslate"><span·class="pre">inspectdb</span></code>·will·insert
611 the·Python·comment612 the·Python·comment
612 <code·class="docutils·literal·notranslate"><span·class="pre">'Field</span>·<span·class="pre">renamed</span>·<span·class="pre">because</span>·<span·class="pre">it</span>·<span·class="pre">was</span>·<span·class="pre">a</span>·<span·class="pre">Python</span>·<span·class="pre">reserved</span>·<span·class="pre">word.'</span></code>·next·to·the613 <code·class="docutils·literal·notranslate"><span·class="pre">'Field</span>·<span·class="pre">renamed</span>·<span·class="pre">because</span>·<span·class="pre">it</span>·<span·class="pre">was</span>·<span·class="pre">a</span>·<span·class="pre">Python</span>·<span·class="pre">reserved</span>·<span·class="pre">word.'</span></code>·next·to·the
613 field.</p></li>614 field.</p></li>
614 </ul>615 </ul>
615 <p>This·feature·is·meant·as·a·shortcut,·not·as·definitive·model·generation.·After616 <p>This·feature·is·meant·as·a·shortcut,·not·as·definitive·model·generation.·After
616 you·run·it,·you’ll·want·to·look·over·the·generated·models·yourself·to·make617 you·run·it,·you’ll·want·to·look·over·the·generated·models·yourself·to·make
617 customizations.·In·particular,·you’ll·need·to·rearrange·models·order,·so·that618 customizations.·In·particular,·you’ll·need·to·rearrange·models·order,·so·that
618 models·that·refer·to·other·models·are·ordered·properly.</p>619 models·that·refer·to·other·models·are·ordered·properly.</p>
619 <p>Django·doesn’t·create·database·defaults·when·a620 <p>Django·doesn’t·create·database·defaults·when·a
620 <a·class="reference·internal"·href="models/fields.html#django.db.models.Field.default"·title="django.db.models.Field.default"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">default</span></code></a>·is·specified·on·a·model·field.621 <a·class="reference·internal"·href="models/fields.html#django.db.models.Field.default"·title="django.db.models.Field.default"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">default</span></code></a>·is·specified·on·a·model·field.
621 Similarly,·database·defaults·aren’t·translated·to·model·field·defaults·or622 Similarly,·database·defaults·aren’t·translated·to·model·field·defaults·or
622 detected·in·any·fashion·by·<code·class="docutils·literal·notranslate"><span·class="pre">inspectdb</span></code>.</p>623 detected·in·any·fashion·by·<code·class="docutils·literal·notranslate"><span·class="pre">inspectdb</span></code>.</p>
623 <p>By·default,·<code·class="docutils·literal·notranslate"><span·class="pre">inspectdb</span></code>·creates·unmanaged·models.·That·is,·<code·class="docutils·literal·notranslate"><span·class="pre">managed</span>·<span·class="pre">=</span>·<span·class="pre">False</span></code>624 <p>By·default,·<code·class="docutils·literal·notranslate"><span·class="pre">inspectdb</span></code>·creates·unmanaged·models.·That·is,·<code·class="docutils·literal·notranslate"><span·class="pre">managed</span>·<span·class="pre">=</span>·<span·class="pre">False</span></code>
624 in·the·model’s·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·class·tells·Django·not·to·manage·each·table’s·creation,625 in·the·model’s·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·class·tells·Django·not·to·manage·each·table’s·creation,
Offset 723, 15 lines modifiedOffset 724, 15 lines modified
723 <p>Loading·from·<code·class="docutils·literal·notranslate"><span·class="pre">stdin</span></code>·is·useful·with·standard·input·and·output·redirections.724 <p>Loading·from·<code·class="docutils·literal·notranslate"><span·class="pre">stdin</span></code>·is·useful·with·standard·input·and·output·redirections.
724 For·example:</p>725 For·example:</p>
725 <div·class="highlight-console·notranslate"><div·class="highlight"><pre><span></span><span·class="go">django-admin·dumpdata·--format=json·--database=test·app_label.ModelName·|·django-admin·loaddata·--format=json·--database=prod·-</span>726 <div·class="highlight-console·notranslate"><div·class="highlight"><pre><span></span><span·class="go">django-admin·dumpdata·--format=json·--database=test·app_label.ModelName·|·django-admin·loaddata·--format=json·--database=prod·-</span>
726 </pre></div>727 </pre></div>
727 </div>728 </div>
728 <p>The·<a·class="reference·internal"·href="#django-admin-dumpdata"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dumpdata</span></code></a>·command·can·be·used·to·generate·input·for·<code·class="docutils·literal·notranslate"><span·class="pre">loaddata</span></code>.</p>729 <p>The·<a·class="reference·internal"·href="#django-admin-dumpdata"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dumpdata</span></code></a>·command·can·be·used·to·generate·input·for·<code·class="docutils·literal·notranslate"><span·class="pre">loaddata</span></code>.</p>
729 <div·class="admonition·seealso">730 <div·class="admonition·seealso">
730 <p·class="admonition-title">See·also</p>731 <p·class="admonition-title">Vaata·ka</p>
731 <p>For·more·detail·about·fixtures·see·the·<a·class="reference·internal"·href="../topics/db/fixtures.html#fixtures-explanation"><span·class="std·std-ref">Fixtures</span></a>·topic.</p>732 <p>For·more·detail·about·fixtures·see·the·<a·class="reference·internal"·href="../topics/db/fixtures.html#fixtures-explanation"><span·class="std·std-ref">Fixtures</span></a>·topic.</p>
732 </div>733 </div>
733 </section>734 </section>
734 </section>735 </section>
735 <section·id="s-makemessages">736 <section·id="s-makemessages">
736 <span·id="makemessages"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">makemessages</span></code><a·class="headerlink"·href="#makemessages"·title="Link·to·this·heading">¶</a></h3>737 <span·id="makemessages"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">makemessages</span></code><a·class="headerlink"·href="#makemessages"·title="Link·to·this·heading">¶</a></h3>
737 <dl·class="std·django-admin">738 <dl·class="std·django-admin">
Offset 815, 15 lines modifiedOffset 816, 15 lines modified
815 </pre></div>816 </pre></div>
816 </div>817 </div>
817 <dl·class="django-admin-option">818 <dl·class="django-admin-option">
818 <dt·class="sig·sig-object"·id="cmdoption-makemessages-ignore">819 <dt·class="sig·sig-object"·id="cmdoption-makemessages-ignore">
819 <span·id="cmdoption-makemessages-i"></span><span·class="sig-name·descname"><span·class="pre">--ignore</span></span><span·class="sig-prename·descclassname">·<span·class="pre">PATTERN</span></span><span·class="sig-prename·descclassname"><span·class="pre">,</span>·</span><span·class="sig-name·descname"><span·class="pre">-i</span></span><span·class="sig-prename·descclassname">·<span·class="pre">PATTERN</span></span><a·class="headerlink"·href="#cmdoption-makemessages-ignore"·title="Link·to·this·definition">¶</a></dt>820 <span·id="cmdoption-makemessages-i"></span><span·class="sig-name·descname"><span·class="pre">--ignore</span></span><span·class="sig-prename·descclassname">·<span·class="pre">PATTERN</span></span><span·class="sig-prename·descclassname"><span·class="pre">,</span>·</span><span·class="sig-name·descname"><span·class="pre">-i</span></span><span·class="sig-prename·descclassname">·<span·class="pre">PATTERN</span></span><a·class="headerlink"·href="#cmdoption-makemessages-ignore"·title="Link·to·this·definition">¶</a></dt>
820 <dd></dd></dl>821 <dd></dd></dl>
  
Max diff block lines reached; 37291/48464 bytes (76.95%) of diff not shown.
20.1 KB
html2text {}
Max HTML report size reached
74.6 KB
./usr/share/doc/python-django-doc/html/ref/exceptions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·Exceptions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·Exceptions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="File·handling"·href="files/index.html"·/>15 ····<link·rel="next"·title="File·handling"·href="files/index.html"·/>
15 ····<link·rel="prev"·title="django-admin·and·manage.py"·href="django-admin.html"·/>16 ····<link·rel="prev"·title="django-admin·and·manage.py"·href="django-admin.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 83, 84 lines modifiedOffset 84, 84 lines modified
83 <section·id="s-module-django.core.exceptions">84 <section·id="s-module-django.core.exceptions">
84 <span·id="s-django-core-exceptions"></span><span·id="module-django.core.exceptions"></span><span·id="django-core-exceptions"></span><h2>Django·Core·Exceptions<a·class="headerlink"·href="#module-django.core.exceptions"·title="Link·to·this·heading">¶</a></h2>85 <span·id="s-django-core-exceptions"></span><span·id="module-django.core.exceptions"></span><span·id="django-core-exceptions"></span><h2>Django·Core·Exceptions<a·class="headerlink"·href="#module-django.core.exceptions"·title="Link·to·this·heading">¶</a></h2>
85 <p>Django·core·exception·classes·are·defined·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.exceptions</span></code>.</p>86 <p>Django·core·exception·classes·are·defined·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.exceptions</span></code>.</p>
86 <section·id="s-appregistrynotready">87 <section·id="s-appregistrynotready">
87 <span·id="appregistrynotready"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AppRegistryNotReady</span></code><a·class="headerlink"·href="#appregistrynotready"·title="Link·to·this·heading">¶</a></h3>88 <span·id="appregistrynotready"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AppRegistryNotReady</span></code><a·class="headerlink"·href="#appregistrynotready"·title="Link·to·this·heading">¶</a></h3>
88 <dl·class="py·exception">89 <dl·class="py·exception">
89 <dt·class="sig·sig-object·py"·id="django.core.exceptions.AppRegistryNotReady">90 <dt·class="sig·sig-object·py"·id="django.core.exceptions.AppRegistryNotReady">
90 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AppRegistryNotReady</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L16"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.AppRegistryNotReady"·title="Link·to·this·definition">¶</a></dt>91 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AppRegistryNotReady</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L16"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.AppRegistryNotReady"·title="Link·to·this·definition">¶</a></dt>
91 <dd><p>This·exception·is·raised·when·attempting·to·use·models·before·the·<a·class="reference·internal"·href="applications.html#app-loading-process"><span·class="std·std-ref">app92 <dd><p>This·exception·is·raised·when·attempting·to·use·models·before·the·<a·class="reference·internal"·href="applications.html#app-loading-process"><span·class="std·std-ref">app
92 loading·process</span></a>,·which·initializes·the·ORM,·is93 loading·process</span></a>,·which·initializes·the·ORM,·is
93 complete.</p>94 complete.</p>
94 </dd></dl>95 </dd></dl>
  
95 </section>96 </section>
96 <section·id="s-objectdoesnotexist">97 <section·id="s-objectdoesnotexist">
97 <span·id="objectdoesnotexist"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">ObjectDoesNotExist</span></code><a·class="headerlink"·href="#objectdoesnotexist"·title="Link·to·this·heading">¶</a></h3>98 <span·id="objectdoesnotexist"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">ObjectDoesNotExist</span></code><a·class="headerlink"·href="#objectdoesnotexist"·title="Link·to·this·heading">¶</a></h3>
98 <dl·class="py·exception">99 <dl·class="py·exception">
99 <dt·class="sig·sig-object·py"·id="django.core.exceptions.ObjectDoesNotExist">100 <dt·class="sig·sig-object·py"·id="django.core.exceptions.ObjectDoesNotExist">
100 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ObjectDoesNotExist</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L22"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.ObjectDoesNotExist"·title="Link·to·this·definition">¶</a></dt>101 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ObjectDoesNotExist</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L22"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.ObjectDoesNotExist"·title="Link·to·this·definition">¶</a></dt>
101 <dd><p>The·base·class·for·<a·class="reference·internal"·href="models/class.html#django.db.models.Model.DoesNotExist"·title="django.db.models.Model.DoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">Model.DoesNotExist</span></code></a>·exceptions.·A·<code·class="docutils·literal·notranslate"><span·class="pre">try/except</span></code>·for102 <dd><p>The·base·class·for·<a·class="reference·internal"·href="models/class.html#django.db.models.Model.DoesNotExist"·title="django.db.models.Model.DoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">Model.DoesNotExist</span></code></a>·exceptions.·A·<code·class="docutils·literal·notranslate"><span·class="pre">try/except</span></code>·for
102 <code·class="docutils·literal·notranslate"><span·class="pre">ObjectDoesNotExist</span></code>·will·catch103 <code·class="docutils·literal·notranslate"><span·class="pre">ObjectDoesNotExist</span></code>·will·catch
103 <a·class="reference·internal"·href="models/class.html#django.db.models.Model.DoesNotExist"·title="django.db.models.Model.DoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">DoesNotExist</span></code></a>·exceptions·for·all·models.</p>104 <a·class="reference·internal"·href="models/class.html#django.db.models.Model.DoesNotExist"·title="django.db.models.Model.DoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">DoesNotExist</span></code></a>·exceptions·for·all·models.</p>
104 <p>See·<a·class="reference·internal"·href="models/querysets.html#django.db.models.query.QuerySet.get"·title="django.db.models.query.QuerySet.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get()</span></code></a>.</p>105 <p>See·<a·class="reference·internal"·href="models/querysets.html#django.db.models.query.QuerySet.get"·title="django.db.models.query.QuerySet.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get()</span></code></a>.</p>
105 </dd></dl>106 </dd></dl>
  
106 </section>107 </section>
107 <section·id="s-emptyresultset">108 <section·id="s-emptyresultset">
108 <span·id="emptyresultset"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">EmptyResultSet</span></code><a·class="headerlink"·href="#emptyresultset"·title="Link·to·this·heading">¶</a></h3>109 <span·id="emptyresultset"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">EmptyResultSet</span></code><a·class="headerlink"·href="#emptyresultset"·title="Link·to·this·heading">¶</a></h3>
109 <dl·class="py·exception">110 <dl·class="py·exception">
110 <dt·class="sig·sig-object·py"·id="django.core.exceptions.EmptyResultSet">111 <dt·class="sig·sig-object·py"·id="django.core.exceptions.EmptyResultSet">
111 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">EmptyResultSet</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L240"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.EmptyResultSet"·title="Link·to·this·definition">¶</a></dt>112 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">EmptyResultSet</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L240"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.EmptyResultSet"·title="Link·to·this·definition">¶</a></dt>
112 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">EmptyResultSet</span></code>·may·be·raised·during·query·generation·if·a·query·won’t113 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">EmptyResultSet</span></code>·may·be·raised·during·query·generation·if·a·query·won’t
113 return·any·results.·Most·Django·projects·won’t·encounter·this·exception,114 return·any·results.·Most·Django·projects·won’t·encounter·this·exception,
114 but·it·might·be·useful·for·implementing·custom·lookups·and·expressions.</p>115 but·it·might·be·useful·for·implementing·custom·lookups·and·expressions.</p>
115 </dd></dl>116 </dd></dl>
  
116 </section>117 </section>
117 <section·id="s-fullresultset">118 <section·id="s-fullresultset">
118 <span·id="fullresultset"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">FullResultSet</span></code><a·class="headerlink"·href="#fullresultset"·title="Link·to·this·heading">¶</a></h3>119 <span·id="fullresultset"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">FullResultSet</span></code><a·class="headerlink"·href="#fullresultset"·title="Link·to·this·heading">¶</a></h3>
119 <dl·class="py·exception">120 <dl·class="py·exception">
120 <dt·class="sig·sig-object·py"·id="django.core.exceptions.FullResultSet">121 <dt·class="sig·sig-object·py"·id="django.core.exceptions.FullResultSet">
121 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FullResultSet</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L246"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.FullResultSet"·title="Link·to·this·definition">¶</a></dt>122 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FullResultSet</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L246"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.FullResultSet"·title="Link·to·this·definition">¶</a></dt>
122 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">FullResultSet</span></code>·may·be·raised·during·query·generation·if·a·query·will123 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">FullResultSet</span></code>·may·be·raised·during·query·generation·if·a·query·will
123 match·everything.·Most·Django·projects·won’t·encounter·this·exception,·but124 match·everything.·Most·Django·projects·won’t·encounter·this·exception,·but
124 it·might·be·useful·for·implementing·custom·lookups·and·expressions.</p>125 it·might·be·useful·for·implementing·custom·lookups·and·expressions.</p>
125 </dd></dl>126 </dd></dl>
  
126 </section>127 </section>
127 <section·id="s-fielddoesnotexist">128 <section·id="s-fielddoesnotexist">
128 <span·id="fielddoesnotexist"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">FieldDoesNotExist</span></code><a·class="headerlink"·href="#fielddoesnotexist"·title="Link·to·this·heading">¶</a></h3>129 <span·id="fielddoesnotexist"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">FieldDoesNotExist</span></code><a·class="headerlink"·href="#fielddoesnotexist"·title="Link·to·this·heading">¶</a></h3>
129 <dl·class="py·exception">130 <dl·class="py·exception">
130 <dt·class="sig·sig-object·py"·id="django.core.exceptions.FieldDoesNotExist">131 <dt·class="sig·sig-object·py"·id="django.core.exceptions.FieldDoesNotExist">
131 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FieldDoesNotExist</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L10"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.FieldDoesNotExist"·title="Link·to·this·definition">¶</a></dt>132 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FieldDoesNotExist</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L10"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.FieldDoesNotExist"·title="Link·to·this·definition">¶</a></dt>
132 <dd><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">FieldDoesNotExist</span></code>·exception·is·raised·by·a·model’s133 <dd><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">FieldDoesNotExist</span></code>·exception·is·raised·by·a·model’s
133 <code·class="docutils·literal·notranslate"><span·class="pre">_meta.get_field()</span></code>·method·when·the·requested·field·does·not·exist·on·the134 <code·class="docutils·literal·notranslate"><span·class="pre">_meta.get_field()</span></code>·method·when·the·requested·field·does·not·exist·on·the
134 model·or·on·the·model’s·parents.</p>135 model·or·on·the·model’s·parents.</p>
135 </dd></dl>136 </dd></dl>
  
136 </section>137 </section>
137 <section·id="s-multipleobjectsreturned">138 <section·id="s-multipleobjectsreturned">
138 <span·id="multipleobjectsreturned"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code><a·class="headerlink"·href="#multipleobjectsreturned"·title="Link·to·this·heading">¶</a></h3>139 <span·id="multipleobjectsreturned"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code><a·class="headerlink"·href="#multipleobjectsreturned"·title="Link·to·this·heading">¶</a></h3>
139 <dl·class="py·exception">140 <dl·class="py·exception">
140 <dt·class="sig·sig-object·py"·id="django.core.exceptions.MultipleObjectsReturned">141 <dt·class="sig·sig-object·py"·id="django.core.exceptions.MultipleObjectsReturned">
141 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultipleObjectsReturned</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L28"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.MultipleObjectsReturned"·title="Link·to·this·definition">¶</a></dt>142 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">MultipleObjectsReturned</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L28"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.MultipleObjectsReturned"·title="Link·to·this·definition">¶</a></dt>
142 <dd><p>The·base·class·for·<a·class="reference·internal"·href="models/class.html#django.db.models.Model.MultipleObjectsReturned"·title="django.db.models.Model.MultipleObjectsReturned"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">Model.MultipleObjectsReturned</span></code></a>·exceptions.·A143 <dd><p>The·base·class·for·<a·class="reference·internal"·href="models/class.html#django.db.models.Model.MultipleObjectsReturned"·title="django.db.models.Model.MultipleObjectsReturned"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">Model.MultipleObjectsReturned</span></code></a>·exceptions.·A
143 <code·class="docutils·literal·notranslate"><span·class="pre">try/except</span></code>·for·<code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code>·will·catch144 <code·class="docutils·literal·notranslate"><span·class="pre">try/except</span></code>·for·<code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code>·will·catch
144 <a·class="reference·internal"·href="models/class.html#django.db.models.Model.MultipleObjectsReturned"·title="django.db.models.Model.MultipleObjectsReturned"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code></a>·exceptions·for·all145 <a·class="reference·internal"·href="models/class.html#django.db.models.Model.MultipleObjectsReturned"·title="django.db.models.Model.MultipleObjectsReturned"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code></a>·exceptions·for·all
145 models.</p>146 models.</p>
146 <p>See·<a·class="reference·internal"·href="models/querysets.html#django.db.models.query.QuerySet.get"·title="django.db.models.query.QuerySet.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get()</span></code></a>.</p>147 <p>See·<a·class="reference·internal"·href="models/querysets.html#django.db.models.query.QuerySet.get"·title="django.db.models.query.QuerySet.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get()</span></code></a>.</p>
147 </dd></dl>148 </dd></dl>
  
148 </section>149 </section>
149 <section·id="s-suspiciousoperation">150 <section·id="s-suspiciousoperation">
150 <span·id="suspiciousoperation"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">SuspiciousOperation</span></code><a·class="headerlink"·href="#suspiciousoperation"·title="Link·to·this·heading">¶</a></h3>151 <span·id="suspiciousoperation"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">SuspiciousOperation</span></code><a·class="headerlink"·href="#suspiciousoperation"·title="Link·to·this·heading">¶</a></h3>
151 <dl·class="py·exception">152 <dl·class="py·exception">
152 <dt·class="sig·sig-object·py"·id="django.core.exceptions.SuspiciousOperation">153 <dt·class="sig·sig-object·py"·id="django.core.exceptions.SuspiciousOperation">
153 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SuspiciousOperation</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L34"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.SuspiciousOperation"·title="Link·to·this·definition">¶</a></dt>154 <em·class="property"><span·class="pre">exception</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SuspiciousOperation</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/exceptions.py#L34"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.exceptions.SuspiciousOperation"·title="Link·to·this·definition">¶</a></dt>
154 <dd><p>The·<a·class="reference·internal"·href="#django.core.exceptions.SuspiciousOperation"·title="django.core.exceptions.SuspiciousOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">SuspiciousOperation</span></code></a>·exception·is·raised·when·a·user·has155 <dd><p>The·<a·class="reference·internal"·href="#django.core.exceptions.SuspiciousOperation"·title="django.core.exceptions.SuspiciousOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">SuspiciousOperation</span></code></a>·exception·is·raised·when·a·user·has
155 performed·an·operation·that·should·be·considered·suspicious·from·a·security156 performed·an·operation·that·should·be·considered·suspicious·from·a·security
156 perspective,·such·as·tampering·with·a·session·cookie.·Subclasses·of157 perspective,·such·as·tampering·with·a·session·cookie.·Subclasses·of
157 <code·class="docutils·literal·notranslate"><span·class="pre">SuspiciousOperation</span></code>·include:</p>158 <code·class="docutils·literal·notranslate"><span·class="pre">SuspiciousOperation</span></code>·include:</p>
158 <ul·class="simple">159 <ul·class="simple">
159 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DisallowedHost</span></code></p></li>160 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DisallowedHost</span></code></p></li>
160 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DisallowedModelAdminLookup</span></code></p></li>161 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DisallowedModelAdminLookup</span></code></p></li>
Offset 181, 56 lines modifiedOffset 182, 56 lines modified
181 </dd></dl>182 </dd></dl>
  
Max diff block lines reached; 41754/57798 bytes (72.24%) of diff not shown.
18.1 KB
html2text {}
Max HTML report size reached
38.4 KB
./usr/share/doc/python-django-doc/html/ref/files/file.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·File·object·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·File·object·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="File·storage·API"·href="storage.html"·/>15 ····<link·rel="next"·title="File·storage·API"·href="storage.html"·/>
15 ····<link·rel="prev"·title="File·handling"·href="index.html"·/>16 ····<link·rel="prev"·title="File·handling"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 42 lines modifiedOffset 82, 42 lines modified
81 <span·id="the-file-object"></span><h1>The·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object<a·class="headerlink"·href="#the-file-object"·title="Link·to·this·heading">¶</a></h1>82 <span·id="the-file-object"></span><h1>The·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object<a·class="headerlink"·href="#the-file-object"·title="Link·to·this·heading">¶</a></h1>
82 <p>The·<a·class="reference·internal"·href="index.html#module-django.core.files"·title="django.core.files:·File·handling·and·storage"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.core.files</span></code></a>·module·and·its·submodules·contain·built-in·classes83 <p>The·<a·class="reference·internal"·href="index.html#module-django.core.files"·title="django.core.files:·File·handling·and·storage"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.core.files</span></code></a>·module·and·its·submodules·contain·built-in·classes
83 for·basic·file·handling·in·Django.</p>84 for·basic·file·handling·in·Django.</p>
84 <section·id="s-the-file-class">85 <section·id="s-the-file-class">
85 <span·id="the-file-class"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·class<a·class="headerlink"·href="#the-file-class"·title="Link·to·this·heading">¶</a></h2>86 <span·id="the-file-class"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·class<a·class="headerlink"·href="#the-file-class"·title="Link·to·this·heading">¶</a></h2>
86 <dl·class="py·class">87 <dl·class="py·class">
87 <dt·class="sig·sig-object·py"·id="django.core.files.File">88 <dt·class="sig·sig-object·py"·id="django.core.files.File">
88 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">File</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">file_object</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L8"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.File"·title="Link·to·this·definition">¶</a></dt>89 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">File</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">file_object</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L8"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.File"·title="Link·to·this·definition">¶</a></dt>
89 <dd><p>The·<a·class="reference·internal"·href="#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>·class·is·a·thin·wrapper·around·a·Python90 <dd><p>The·<a·class="reference·internal"·href="#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>·class·is·a·thin·wrapper·around·a·Python
90 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-file-object"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">file·object</span></a>·with·some·Django-specific·additions.91 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-file-object"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">file·object</span></a>·with·some·Django-specific·additions.
91 Internally,·Django·uses·this·class·when·it·needs·to·represent·a·file.</p>92 Internally,·Django·uses·this·class·when·it·needs·to·represent·a·file.</p>
92 <p><a·class="reference·internal"·href="#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>·objects·have·the·following·attributes·and·methods:</p>93 <p><a·class="reference·internal"·href="#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>·objects·have·the·following·attributes·and·methods:</p>
93 <dl·class="py·attribute">94 <dl·class="py·attribute">
94 <dt·class="sig·sig-object·py"·id="django.core.files.File.name">95 <dt·class="sig·sig-object·py"·id="django.core.files.File.name">
95 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="headerlink"·href="#django.core.files.File.name"·title="Link·to·this·definition">¶</a></dt>96 <span·class="sig-name·descname"><span·class="pre">name</span></span><a·class="headerlink"·href="#django.core.files.File.name"·title="Link·to·this·definition">¶</a></dt>
96 <dd><p>The·name·of·the·file·including·the·relative·path·from97 <dd><p>The·name·of·the·file·including·the·relative·path·from
97 <a·class="reference·internal"·href="../settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>.</p>98 <a·class="reference·internal"·href="../settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>.</p>
98 </dd></dl>99 </dd></dl>
  
99 <dl·class="py·attribute">100 <dl·class="py·attribute">
100 <dt·class="sig·sig-object·py"·id="django.core.files.File.size">101 <dt·class="sig·sig-object·py"·id="django.core.files.File.size">
101 <span·class="sig-name·descname"><span·class="pre">size</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L32"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.File.size"·title="Link·to·this·definition">¶</a></dt>102 <span·class="sig-name·descname"><span·class="pre">size</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L32"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.File.size"·title="Link·to·this·definition">¶</a></dt>
102 <dd><p>The·size·of·the·file·in·bytes.</p>103 <dd><p>The·size·of·the·file·in·bytes.</p>
103 </dd></dl>104 </dd></dl>
  
104 <dl·class="py·attribute">105 <dl·class="py·attribute">
105 <dt·class="sig·sig-object·py"·id="django.core.files.File.file">106 <dt·class="sig·sig-object·py"·id="django.core.files.File.file">
106 <span·class="sig-name·descname"><span·class="pre">file</span></span><a·class="headerlink"·href="#django.core.files.File.file"·title="Link·to·this·definition">¶</a></dt>107 <span·class="sig-name·descname"><span·class="pre">file</span></span><a·class="headerlink"·href="#django.core.files.File.file"·title="Link·to·this·definition">¶</a></dt>
107 <dd><p>The·underlying·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-file-object"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">file·object</span></a>·that·this·class·wraps.</p>108 <dd><p>The·underlying·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-file-object"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">file·object</span></a>·that·this·class·wraps.</p>
108 <div·class="admonition-be-careful-with-this-attribute-in-subclasses·admonition">109 <div·class="admonition-be-careful-with-this-attribute-in-subclasses·admonition">
109 <p·class="admonition-title">Be·careful·with·this·attribute·in·subclasses.</p>110 <p·class="admonition-title">Be·careful·with·this·attribute·in·subclasses.</p>
110 <p>Some·subclasses·of·<a·class="reference·internal"·href="#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>,·including111 <p>Some·subclasses·of·<a·class="reference·internal"·href="#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>,·including
111 <a·class="reference·internal"·href="#django.core.files.base.ContentFile"·title="django.core.files.base.ContentFile"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentFile</span></code></a>·and112 <a·class="reference·internal"·href="#django.core.files.base.ContentFile"·title="django.core.files.base.ContentFile"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ContentFile</span></code></a>·and
112 <a·class="reference·internal"·href="../models/fields.html#django.db.models.fields.files.FieldFile"·title="django.db.models.fields.files.FieldFile"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FieldFile</span></code></a>,·may·replace·this113 <a·class="reference·internal"·href="../models/fields.html#django.db.models.fields.files.FieldFile"·title="django.db.models.fields.files.FieldFile"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FieldFile</span></code></a>,·may·replace·this
113 attribute·with·an·object·other·than·a·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-file-object"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">file·object</span></a>.114 attribute·with·an·object·other·than·a·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-file-object"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">file·object</span></a>.
114 In·these·cases,·this·attribute·may·itself·be·a·<a·class="reference·internal"·href="#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>115 In·these·cases,·this·attribute·may·itself·be·a·<a·class="reference·internal"·href="#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>
115 subclass·(and·not·necessarily·the·same·subclass).·Whenever116 subclass·(and·not·necessarily·the·same·subclass).·Whenever
116 possible,·use·the·attributes·and·methods·of·the·subclass·itself117 possible,·use·the·attributes·and·methods·of·the·subclass·itself
117 rather·than·the·those·of·the·subclass’s·<code·class="docutils·literal·notranslate"><span·class="pre">file</span></code>·attribute.</p>118 rather·than·the·those·of·the·subclass’s·<code·class="docutils·literal·notranslate"><span·class="pre">file</span></code>·attribute.</p>
118 </div>119 </div>
119 </dd></dl>120 </dd></dl>
  
Offset 124, 53 lines modifiedOffset 125, 53 lines modified
124 <dt·class="sig·sig-object·py"·id="django.core.files.File.mode">125 <dt·class="sig·sig-object·py"·id="django.core.files.File.mode">
125 <span·class="sig-name·descname"><span·class="pre">mode</span></span><a·class="headerlink"·href="#django.core.files.File.mode"·title="Link·to·this·definition">¶</a></dt>126 <span·class="sig-name·descname"><span·class="pre">mode</span></span><a·class="headerlink"·href="#django.core.files.File.mode"·title="Link·to·this·definition">¶</a></dt>
126 <dd><p>The·read/write·mode·for·the·file.</p>127 <dd><p>The·read/write·mode·for·the·file.</p>
127 </dd></dl>128 </dd></dl>
  
128 <dl·class="py·method">129 <dl·class="py·method">
129 <dt·class="sig·sig-object·py"·id="django.core.files.File.open">130 <dt·class="sig·sig-object·py"·id="django.core.files.File.open">
130 <span·class="sig-name·descname"><span·class="pre">open</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L108"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.File.open"·title="Link·to·this·definition">¶</a></dt>131 <span·class="sig-name·descname"><span·class="pre">open</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L108"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.File.open"·title="Link·to·this·definition">¶</a></dt>
131 <dd><p>Open·or·reopen·the·file·(which·also·does·<code·class="docutils·literal·notranslate"><span·class="pre">File.seek(0)</span></code>).132 <dd><p>Open·or·reopen·the·file·(which·also·does·<code·class="docutils·literal·notranslate"><span·class="pre">File.seek(0)</span></code>).
132 The·<code·class="docutils·literal·notranslate"><span·class="pre">mode</span></code>·argument·allows·the·same·values133 The·<code·class="docutils·literal·notranslate"><span·class="pre">mode</span></code>·argument·allows·the·same·values
133 as·Python’s·built-in·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#open"·title="(in·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">open()</span></code></a>.·<code·class="docutils·literal·notranslate"><span·class="pre">*args</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>134 as·Python’s·built-in·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#open"·title="(projektis·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">open()</span></code></a>.·<code·class="docutils·literal·notranslate"><span·class="pre">*args</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>
134 are·passed·after·<code·class="docutils·literal·notranslate"><span·class="pre">mode</span></code>·to·Python’s·built-in·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#open"·title="(in·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">open()</span></code></a>.</p>135 are·passed·after·<code·class="docutils·literal·notranslate"><span·class="pre">mode</span></code>·to·Python’s·built-in·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#open"·title="(projektis·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">open()</span></code></a>.</p>
135 <p>When·reopening·a·file,·<code·class="docutils·literal·notranslate"><span·class="pre">mode</span></code>·will·override·whatever·mode·the·file136 <p>When·reopening·a·file,·<code·class="docutils·literal·notranslate"><span·class="pre">mode</span></code>·will·override·whatever·mode·the·file
136 was·originally·opened·with;·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·means·to·reopen·with·the·original137 was·originally·opened·with;·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·means·to·reopen·with·the·original
137 mode.</p>138 mode.</p>
138 <p>It·can·be·used·as·a·context·manager,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">with</span>·<span·class="pre">file.open()</span>·<span·class="pre">as</span>·<span·class="pre">f:</span></code>.</p>139 <p>It·can·be·used·as·a·context·manager,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">with</span>·<span·class="pre">file.open()</span>·<span·class="pre">as</span>·<span·class="pre">f:</span></code>.</p>
139 <div·class="versionchanged">140 <div·class="versionchanged">
140 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·passing·<code·class="docutils·literal·notranslate"><span·class="pre">*args</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>·was·added.</p>141 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·passing·<code·class="docutils·literal·notranslate"><span·class="pre">*args</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>·was·added.</p>
141 </div>142 </div>
142 </dd></dl>143 </dd></dl>
  
143 <dl·class="py·method">144 <dl·class="py·method">
144 <dt·class="sig·sig-object·py"·id="django.core.files.File.__iter__">145 <dt·class="sig·sig-object·py"·id="django.core.files.File.__iter__">
145 <span·class="sig-name·descname"><span·class="pre">__iter__</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L75"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.File.__iter__"·title="Link·to·this·definition">¶</a></dt>146 <span·class="sig-name·descname"><span·class="pre">__iter__</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L75"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.File.__iter__"·title="Link·to·this·definition">¶</a></dt>
146 <dd><p>Iterate·over·the·file·yielding·one·line·at·a·time.</p>147 <dd><p>Iterate·over·the·file·yielding·one·line·at·a·time.</p>
147 </dd></dl>148 </dd></dl>
  
148 <dl·class="py·method">149 <dl·class="py·method">
149 <dt·class="sig·sig-object·py"·id="django.core.files.File.chunks">150 <dt·class="sig·sig-object·py"·id="django.core.files.File.chunks">
150 <span·class="sig-name·descname"><span·class="pre">chunks</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">chunk_size</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L48"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.File.chunks"·title="Link·to·this·definition">¶</a></dt>151 <span·class="sig-name·descname"><span·class="pre">chunks</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">chunk_size</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L48"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.File.chunks"·title="Link·to·this·definition">¶</a></dt>
151 <dd><p>Iterate·over·the·file·yielding·chunks·of·a·given·size.·<code·class="docutils·literal·notranslate"><span·class="pre">chunk_size</span></code>152 <dd><p>Iterate·over·the·file·yielding·chunks·of·a·given·size.·<code·class="docutils·literal·notranslate"><span·class="pre">chunk_size</span></code>
152 defaults·to·64·KB.</p>153 defaults·to·64·KB.</p>
153 <p>This·is·especially·useful·with·very·large·files·since·it·allows·them·to154 <p>This·is·especially·useful·with·very·large·files·since·it·allows·them·to
154 be·streamed·off·disk·and·avoids·storing·the·whole·file·in·memory.</p>155 be·streamed·off·disk·and·avoids·storing·the·whole·file·in·memory.</p>
155 </dd></dl>156 </dd></dl>
  
156 <dl·class="py·method">157 <dl·class="py·method">
157 <dt·class="sig·sig-object·py"·id="django.core.files.File.multiple_chunks">158 <dt·class="sig·sig-object·py"·id="django.core.files.File.multiple_chunks">
158 <span·class="sig-name·descname"><span·class="pre">multiple_chunks</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">chunk_size</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L65"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.File.multiple_chunks"·title="Link·to·this·definition">¶</a></dt>159 <span·class="sig-name·descname"><span·class="pre">multiple_chunks</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">chunk_size</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/base.py#L65"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.File.multiple_chunks"·title="Link·to·this·definition">¶</a></dt>
159 <dd><p>Returns·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·if·the·file·is·large·enough·to·require·multiple·chunks160 <dd><p>Returns·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·if·the·file·is·large·enough·to·require·multiple·chunks
160 to·access·all·of·its·content·give·some·<code·class="docutils·literal·notranslate"><span·class="pre">chunk_size</span></code>.</p>161 to·access·all·of·its·content·give·some·<code·class="docutils·literal·notranslate"><span·class="pre">chunk_size</span></code>.</p>
161 </dd></dl>162 </dd></dl>
  
162 <dl·class="py·method">163 <dl·class="py·method">
Max diff block lines reached; 12189/30590 bytes (39.85%) of diff not shown.
8.37 KB
html2text {}
Max HTML report size reached
6.05 KB
./usr/share/doc/python-django-doc/html/ref/files/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>File·handling·&#8212;·Django·5.1.3·documentation</title>6 ····<title>File·handling·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·File·object"·href="file.html"·/>15 ····<link·rel="next"·title="The·File·object"·href="file.html"·/>
15 ····<link·rel="prev"·title="Django·Exceptions"·href="../exceptions.html"·/>16 ····<link·rel="prev"·title="Django·Exceptions"·href="../exceptions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 112, 37 lines modifiedOffset 113, 37 lines modified
112 ······113 ······
113 ········114 ········
114 ··········<div·class="yui-b"·id="sidebar">115 ··········<div·class="yui-b"·id="sidebar">
115 ············116 ············
116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
117 ········<div·class="sphinxsidebarwrapper">118 ········<div·class="sphinxsidebarwrapper">
118 ··<div>119 ··<div>
119 ····<h4>Previous·topic</h4>120 ····<h4>Eelmine·teema</h4>
120 ····<p·class="topless"><a·href="../exceptions.html"121 ····<p·class="topless"><a·href="../exceptions.html"
121 ··························title="previous·chapter">Django·Exceptions</a></p>122 ··························title="eelmine·jaotis">Django·Exceptions</a></p>
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Next·topic</h4>125 ····<h4>Järgmine·teema</h4>
125 ····<p·class="topless"><a·href="file.html"126 ····<p·class="topless"><a·href="file.html"
126 ··························title="next·chapter">The·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object</a></p>127 ··························title="järgmine·jaotis">The·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object</a></p>
127 ··</div>128 ··</div>
128 <search·id="searchbox"·style="display:·none"·role="search">129 <search·id="searchbox"·style="display:·none"·role="search">
129 ··<h3·id="searchlabel">Quick·search</h3>130 ··<h3·id="searchlabel">Kiirotsing</h3>
130 ····<div·class="searchformwrapper">131 ····<div·class="searchformwrapper">
131 ····<form·class="search"·action="../../search.html"·method="get">132 ····<form·class="search"·action="../../search.html"·method="get">
132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
133 ······<input·type="submit"·value="Go"·/>134 ······<input·type="submit"·value="Otsi"·/>
134 ····</form>135 ····</form>
135 ····</div>136 ····</div>
136 </search>137 </search>
137 <script>document.getElementById('searchbox').style.display·=·"block"</script>138 <script>document.getElementById('searchbox').style.display·=·"block"</script>
138 ········</div>139 ········</div>
139 ······</div>140 ······</div>
140 ··············<h3>Last·update:</h3>141 ··············<h3>Last·update:</h3>
141 ··············<p·class="topless">Nov·05,·2024</p>142 ··············<p·class="topless">nov·05,·2024</p>
142 ··········</div>143 ··········</div>
143 ········144 ········
144 ······145 ······
145 ····</div>146 ····</div>
  
146 ····<div·id="ft">147 ····<div·id="ft">
147 ······<div·class="nav">148 ······<div·class="nav">
2.11 KB
html2text {}
Max HTML report size reached
75.4 KB
./usr/share/doc/python-django-doc/html/ref/files/storage.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>File·storage·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>File·storage·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Uploaded·Files·and·Upload·Handlers"·href="uploads.html"·/>15 ····<link·rel="next"·title="Uploaded·Files·and·Upload·Handlers"·href="uploads.html"·/>
15 ····<link·rel="prev"·title="The·File·object"·href="file.html"·/>16 ····<link·rel="prev"·title="The·File·object"·href="file.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 101, 15 lines modifiedOffset 102, 15 lines modified
101 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">storage_instance</span>·<span·class="o">=</span>·<span·class="n">storages</span><span·class="o">.</span><span·class="n">create_storage</span><span·class="p">({</span><span·class="s2">&quot;BACKEND&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;package.storage.CustomStorage&quot;</span><span·class="p">})</span>102 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">storage_instance</span>·<span·class="o">=</span>·<span·class="n">storages</span><span·class="o">.</span><span·class="n">create_storage</span><span·class="p">({</span><span·class="s2">&quot;BACKEND&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;package.storage.CustomStorage&quot;</span><span·class="p">})</span>
102 </pre></div>103 </pre></div>
103 </div>104 </div>
104 </dd></dl>105 </dd></dl>
  
105 <dl·class="py·class">106 <dl·class="py·class">
106 <dt·class="sig·sig-object·py"·id="django.core.files.storage.DefaultStorage">107 <dt·class="sig·sig-object·py"·id="django.core.files.storage.DefaultStorage">
107 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DefaultStorage</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/__init__.py#L21"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.DefaultStorage"·title="Link·to·this·definition">¶</a></dt>108 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DefaultStorage</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/__init__.py#L21"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.DefaultStorage"·title="Link·to·this·definition">¶</a></dt>
108 <dd><p><a·class="reference·internal"·href="#django.core.files.storage.DefaultStorage"·title="django.core.files.storage.DefaultStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DefaultStorage</span></code></a>·provides109 <dd><p><a·class="reference·internal"·href="#django.core.files.storage.DefaultStorage"·title="django.core.files.storage.DefaultStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DefaultStorage</span></code></a>·provides
109 lazy·access·to·the·default·storage·system·as·defined·by·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·key·in110 lazy·access·to·the·default·storage·system·as·defined·by·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·key·in
110 <a·class="reference·internal"·href="../settings.html#std-setting-STORAGES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STORAGES</span></code></a>.·<a·class="reference·internal"·href="#django.core.files.storage.DefaultStorage"·title="django.core.files.storage.DefaultStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DefaultStorage</span></code></a>·uses111 <a·class="reference·internal"·href="../settings.html#std-setting-STORAGES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STORAGES</span></code></a>.·<a·class="reference·internal"·href="#django.core.files.storage.DefaultStorage"·title="django.core.files.storage.DefaultStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DefaultStorage</span></code></a>·uses
111 <a·class="reference·internal"·href="#django.core.files.storage.storages"·title="django.core.files.storage.storages"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">storages</span></code></a>·internally.</p>112 <a·class="reference·internal"·href="#django.core.files.storage.storages"·title="django.core.files.storage.storages"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">storages</span></code></a>·internally.</p>
112 </dd></dl>113 </dd></dl>
  
113 <dl·class="py·data">114 <dl·class="py·data">
Offset 120, 48 lines modifiedOffset 121, 48 lines modified
120 </dd></dl>121 </dd></dl>
  
121 </section>122 </section>
122 <section·id="s-the-filesystemstorage-class">123 <section·id="s-the-filesystemstorage-class">
123 <span·id="the-filesystemstorage-class"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">FileSystemStorage</span></code>·class<a·class="headerlink"·href="#the-filesystemstorage-class"·title="Link·to·this·heading">¶</a></h2>124 <span·id="the-filesystemstorage-class"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">FileSystemStorage</span></code>·class<a·class="headerlink"·href="#the-filesystemstorage-class"·title="Link·to·this·heading">¶</a></h2>
124 <dl·class="py·class">125 <dl·class="py·class">
125 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage">126 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage">
126 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FileSystemStorage</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">location</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">base_url</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">file_permissions_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">directory_permissions_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">allow_overwrite</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L21"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage"·title="Link·to·this·definition">¶</a></dt>127 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FileSystemStorage</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">location</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">base_url</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">file_permissions_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">directory_permissions_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">allow_overwrite</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L21"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage"·title="Link·to·this·definition">¶</a></dt>
127 <dd><p>The·<a·class="reference·internal"·href="#django.core.files.storage.FileSystemStorage"·title="django.core.files.storage.FileSystemStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileSystemStorage</span></code></a>·class·implements128 <dd><p>The·<a·class="reference·internal"·href="#django.core.files.storage.FileSystemStorage"·title="django.core.files.storage.FileSystemStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileSystemStorage</span></code></a>·class·implements
128 basic·file·storage·on·a·local·filesystem.·It·inherits·from129 basic·file·storage·on·a·local·filesystem.·It·inherits·from
129 <a·class="reference·internal"·href="#django.core.files.storage.Storage"·title="django.core.files.storage.Storage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Storage</span></code></a>·and·provides·implementations130 <a·class="reference·internal"·href="#django.core.files.storage.Storage"·title="django.core.files.storage.Storage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Storage</span></code></a>·and·provides·implementations
130 for·all·the·public·methods·thereof.</p>131 for·all·the·public·methods·thereof.</p>
131 <div·class="admonition·note">132 <div·class="admonition·note">
132 <p·class="admonition-title">Note</p>133 <p·class="admonition-title">rkus</p>
133 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">FileSystemStorage.delete()</span></code>·method·will·not·raise·an·exception134 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">FileSystemStorage.delete()</span></code>·method·will·not·raise·an·exception
134 if·the·given·file·name·does·not·exist.</p>135 if·the·given·file·name·does·not·exist.</p>
135 </div>136 </div>
136 <dl·class="py·attribute">137 <dl·class="py·attribute">
137 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.location">138 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.location">
138 <span·class="sig-name·descname"><span·class="pre">location</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L59"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.location"·title="Link·to·this·definition">¶</a></dt>139 <span·class="sig-name·descname"><span·class="pre">location</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L59"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.location"·title="Link·to·this·definition">¶</a></dt>
139 <dd><p>Absolute·path·to·the·directory·that·will·hold·the·files.140 <dd><p>Absolute·path·to·the·directory·that·will·hold·the·files.
140 Defaults·to·the·value·of·your·<a·class="reference·internal"·href="../settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>·setting.</p>141 Defaults·to·the·value·of·your·<a·class="reference·internal"·href="../settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>·setting.</p>
141 </dd></dl>142 </dd></dl>
  
142 <dl·class="py·attribute">143 <dl·class="py·attribute">
143 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.base_url">144 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.base_url">
144 <span·class="sig-name·descname"><span·class="pre">base_url</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L63"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.base_url"·title="Link·to·this·definition">¶</a></dt>145 <span·class="sig-name·descname"><span·class="pre">base_url</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L63"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.base_url"·title="Link·to·this·definition">¶</a></dt>
145 <dd><p>URL·that·serves·the·files·stored·at·this·location.146 <dd><p>URL·that·serves·the·files·stored·at·this·location.
146 Defaults·to·the·value·of·your·<a·class="reference·internal"·href="../settings.html#std-setting-MEDIA_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_URL</span></code></a>·setting.</p>147 Defaults·to·the·value·of·your·<a·class="reference·internal"·href="../settings.html#std-setting-MEDIA_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_URL</span></code></a>·setting.</p>
147 </dd></dl>148 </dd></dl>
  
148 <dl·class="py·attribute">149 <dl·class="py·attribute">
149 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.file_permissions_mode">150 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.file_permissions_mode">
150 <span·class="sig-name·descname"><span·class="pre">file_permissions_mode</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L69"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.file_permissions_mode"·title="Link·to·this·definition">¶</a></dt>151 <span·class="sig-name·descname"><span·class="pre">file_permissions_mode</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L69"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.file_permissions_mode"·title="Link·to·this·definition">¶</a></dt>
151 <dd><p>The·file·system·permissions·that·the·file·will·receive·when·it·is152 <dd><p>The·file·system·permissions·that·the·file·will·receive·when·it·is
152 saved.·Defaults·to·<a·class="reference·internal"·href="../settings.html#std-setting-FILE_UPLOAD_PERMISSIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">FILE_UPLOAD_PERMISSIONS</span></code></a>.</p>153 saved.·Defaults·to·<a·class="reference·internal"·href="../settings.html#std-setting-FILE_UPLOAD_PERMISSIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">FILE_UPLOAD_PERMISSIONS</span></code></a>.</p>
153 </dd></dl>154 </dd></dl>
  
154 <dl·class="py·attribute">155 <dl·class="py·attribute">
155 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.directory_permissions_mode">156 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.directory_permissions_mode">
156 <span·class="sig-name·descname"><span·class="pre">directory_permissions_mode</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L75"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.directory_permissions_mode"·title="Link·to·this·definition">¶</a></dt>157 <span·class="sig-name·descname"><span·class="pre">directory_permissions_mode</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L75"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.directory_permissions_mode"·title="Link·to·this·definition">¶</a></dt>
157 <dd><p>The·file·system·permissions·that·the·directory·will·receive·when·it·is158 <dd><p>The·file·system·permissions·that·the·directory·will·receive·when·it·is
158 saved.·Defaults·to·<a·class="reference·internal"·href="../settings.html#std-setting-FILE_UPLOAD_DIRECTORY_PERMISSIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">FILE_UPLOAD_DIRECTORY_PERMISSIONS</span></code></a>.</p>159 saved.·Defaults·to·<a·class="reference·internal"·href="../settings.html#std-setting-FILE_UPLOAD_DIRECTORY_PERMISSIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">FILE_UPLOAD_DIRECTORY_PERMISSIONS</span></code></a>.</p>
159 </dd></dl>160 </dd></dl>
  
160 <dl·class="py·attribute">161 <dl·class="py·attribute">
161 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.allow_overwrite">162 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.allow_overwrite">
162 <span·class="sig-name·descname"><span·class="pre">allow_overwrite</span></span><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.allow_overwrite"·title="Link·to·this·definition">¶</a></dt>163 <span·class="sig-name·descname"><span·class="pre">allow_overwrite</span></span><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.allow_overwrite"·title="Link·to·this·definition">¶</a></dt>
Offset 169, 217 lines modifiedOffset 170, 217 lines modified
169 <span·class="title">New·in·Django·5.1.</span>·</div>170 <span·class="title">New·in·Django·5.1.</span>·</div>
170 <p>Flag·to·control·allowing·saving·a·new·file·over·an·existing·one.171 <p>Flag·to·control·allowing·saving·a·new·file·over·an·existing·one.
171 Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>172 Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
172 </dd></dl>173 </dd></dl>
  
173 <dl·class="py·method">174 <dl·class="py·method">
174 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.get_created_time">175 <dt·class="sig·sig-object·py"·id="django.core.files.storage.FileSystemStorage.get_created_time">
175 <span·class="sig-name·descname"><span·class="pre">get_created_time</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L244"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.get_created_time"·title="Link·to·this·definition">¶</a></dt>176 <span·class="sig-name·descname"><span·class="pre">get_created_time</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/filesystem.py#L244"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.FileSystemStorage.get_created_time"·title="Link·to·this·definition">¶</a></dt>
176 <dd><p>Returns·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·of·the·system’s·ctime,·i.e.177 <dd><p>Returns·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·of·the·system’s·ctime,·i.e.
177 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/os.path.html#os.path.getctime"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">os.path.getctime()</span></code></a>.·On·some·systems·(like·Unix),·this·is·the178 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/os.path.html#os.path.getctime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">os.path.getctime()</span></code></a>.·On·some·systems·(like·Unix),·this·is·the
178 time·of·the·last·metadata·change,·and·on·others·(like·Windows),·it’s179 time·of·the·last·metadata·change,·and·on·others·(like·Windows),·it’s
179 the·creation·time·of·the·file.</p>180 the·creation·time·of·the·file.</p>
180 </dd></dl>181 </dd></dl>
  
181 </dd></dl>182 </dd></dl>
  
182 </section>183 </section>
183 <section·id="s-the-inmemorystorage-class">184 <section·id="s-the-inmemorystorage-class">
184 <span·id="the-inmemorystorage-class"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">InMemoryStorage</span></code>·class<a·class="headerlink"·href="#the-inmemorystorage-class"·title="Link·to·this·heading">¶</a></h2>185 <span·id="the-inmemorystorage-class"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">InMemoryStorage</span></code>·class<a·class="headerlink"·href="#the-inmemorystorage-class"·title="Link·to·this·heading">¶</a></h2>
185 <dl·class="py·class">186 <dl·class="py·class">
186 <dt·class="sig·sig-object·py"·id="django.core.files.storage.InMemoryStorage">187 <dt·class="sig·sig-object·py"·id="django.core.files.storage.InMemoryStorage">
187 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">InMemoryStorage</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">location</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">base_url</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">file_permissions_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">directory_permissions_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/memory.py#L165"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.InMemoryStorage"·title="Link·to·this·definition">¶</a></dt>188 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">InMemoryStorage</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">location</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">base_url</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">file_permissions_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">directory_permissions_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/storage/memory.py#L165"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.storage.InMemoryStorage"·title="Link·to·this·definition">¶</a></dt>
Max diff block lines reached; 40507/61132 bytes (66.26%) of diff not shown.
15.6 KB
html2text {}
Max HTML report size reached
47.8 KB
./usr/share/doc/python-django-doc/html/ref/files/uploads.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Uploaded·Files·and·Upload·Handlers·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Uploaded·Files·and·Upload·Handlers·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Forms"·href="../forms/index.html"·/>15 ····<link·rel="next"·title="Forms"·href="../forms/index.html"·/>
15 ····<link·rel="prev"·title="File·storage·API"·href="storage.html"·/>16 ····<link·rel="prev"·title="File·storage·API"·href="storage.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-module-django.core.files.uploadedfile">81 ··<section·id="s-module-django.core.files.uploadedfile">
81 <span·id="s-uploaded-files-and-upload-handlers"></span><span·id="module-django.core.files.uploadedfile"></span><span·id="uploaded-files-and-upload-handlers"></span><h1>Uploaded·Files·and·Upload·Handlers<a·class="headerlink"·href="#module-django.core.files.uploadedfile"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-uploaded-files-and-upload-handlers"></span><span·id="module-django.core.files.uploadedfile"></span><span·id="uploaded-files-and-upload-handlers"></span><h1>Uploaded·Files·and·Upload·Handlers<a·class="headerlink"·href="#module-django.core.files.uploadedfile"·title="Link·to·this·heading">¶</a></h1>
82 <section·id="s-uploaded-files">83 <section·id="s-uploaded-files">
83 <span·id="uploaded-files"></span><h2>Uploaded·files<a·class="headerlink"·href="#uploaded-files"·title="Link·to·this·heading">¶</a></h2>84 <span·id="uploaded-files"></span><h2>Uploaded·files<a·class="headerlink"·href="#uploaded-files"·title="Link·to·this·heading">¶</a></h2>
84 <dl·class="py·class">85 <dl·class="py·class">
85 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile">86 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile">
86 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">UploadedFile</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/uploadedfile.py#L21"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.uploadedfile.UploadedFile"·title="Link·to·this·definition">¶</a></dt>87 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">UploadedFile</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/uploadedfile.py#L21"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.uploadedfile.UploadedFile"·title="Link·to·this·definition">¶</a></dt>
87 <dd></dd></dl>88 <dd></dd></dl>
  
88 <p>During·file·uploads,·the·actual·file·data·is·stored·in·<a·class="reference·internal"·href="../request-response.html#django.http.HttpRequest.FILES"·title="django.http.HttpRequest.FILES"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.FILES</span></code></a>.·Each·entry·in·this·dictionary·is·an89 <p>During·file·uploads,·the·actual·file·data·is·stored·in·<a·class="reference·internal"·href="../request-response.html#django.http.HttpRequest.FILES"·title="django.http.HttpRequest.FILES"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.FILES</span></code></a>.·Each·entry·in·this·dictionary·is·an
89 <code·class="docutils·literal·notranslate"><span·class="pre">UploadedFile</span></code>·object·(or·a·subclass)··a·wrapper·around·an·uploaded·file.90 <code·class="docutils·literal·notranslate"><span·class="pre">UploadedFile</span></code>·object·(or·a·subclass)··a·wrapper·around·an·uploaded·file.
90 You’ll·usually·use·one·of·these·methods·to·access·the·uploaded·content:</p>91 You’ll·usually·use·one·of·these·methods·to·access·the·uploaded·content:</p>
91 <dl·class="py·method">92 <dl·class="py·method">
92 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile.read">93 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile.read">
Offset 132, 15 lines modifiedOffset 133, 15 lines modified
132 <dl·class="py·attribute">133 <dl·class="py·attribute">
133 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile.content_type">134 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile.content_type">
134 <span·class="sig-prename·descclassname"><span·class="pre">UploadedFile.</span></span><span·class="sig-name·descname"><span·class="pre">content_type</span></span><a·class="headerlink"·href="#django.core.files.uploadedfile.UploadedFile.content_type"·title="Link·to·this·definition">¶</a></dt>135 <span·class="sig-prename·descclassname"><span·class="pre">UploadedFile.</span></span><span·class="sig-name·descname"><span·class="pre">content_type</span></span><a·class="headerlink"·href="#django.core.files.uploadedfile.UploadedFile.content_type"·title="Link·to·this·definition">¶</a></dt>
135 <dd><p>The·content-type·header·uploaded·with·the·file·(e.g.·<em·class="mimetype">text/plain</em>136 <dd><p>The·content-type·header·uploaded·with·the·file·(e.g.·<em·class="mimetype">text/plain</em>
136 or·<em·class="mimetype">application/pdf</em>).·Like·any·data·supplied·by·the·user,·you137 or·<em·class="mimetype">application/pdf</em>).·Like·any·data·supplied·by·the·user,·you
137 shouldn’t·trust·that·the·uploaded·file·is·actually·this·type.·You’ll·still138 shouldn’t·trust·that·the·uploaded·file·is·actually·this·type.·You’ll·still
138 need·to·validate·that·the·file·contains·the·content·that·the·content-type139 need·to·validate·that·the·file·contains·the·content·that·the·content-type
139 header·claims··trust·but·verify.</p>140 header·claims··trust·but·verify.</p>
140 </dd></dl>141 </dd></dl>
  
141 <dl·class="py·attribute">142 <dl·class="py·attribute">
142 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile.content_type_extra">143 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile.content_type_extra">
143 <span·class="sig-prename·descclassname"><span·class="pre">UploadedFile.</span></span><span·class="sig-name·descname"><span·class="pre">content_type_extra</span></span><a·class="headerlink"·href="#django.core.files.uploadedfile.UploadedFile.content_type_extra"·title="Link·to·this·definition">¶</a></dt>144 <span·class="sig-prename·descclassname"><span·class="pre">UploadedFile.</span></span><span·class="sig-name·descname"><span·class="pre">content_type_extra</span></span><a·class="headerlink"·href="#django.core.files.uploadedfile.UploadedFile.content_type_extra"·title="Link·to·this·definition">¶</a></dt>
144 <dd><p>A·dictionary·containing·extra·parameters·passed·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">content-type</span></code>145 <dd><p>A·dictionary·containing·extra·parameters·passed·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">content-type</span></code>
145 header.·This·is·typically·provided·by·services,·such·as·Google·App·Engine,146 header.·This·is·typically·provided·by·services,·such·as·Google·App·Engine,
Offset 149, 135 lines modifiedOffset 150, 135 lines modified
149 other·pointer·to·the·file·(see·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc2388.html#section-5.3"><strong>RFC·2388</strong></a>).</p>150 other·pointer·to·the·file·(see·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc2388.html#section-5.3"><strong>RFC·2388</strong></a>).</p>
150 </dd></dl>151 </dd></dl>
  
151 <dl·class="py·attribute">152 <dl·class="py·attribute">
152 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile.charset">153 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.UploadedFile.charset">
153 <span·class="sig-prename·descclassname"><span·class="pre">UploadedFile.</span></span><span·class="sig-name·descname"><span·class="pre">charset</span></span><a·class="headerlink"·href="#django.core.files.uploadedfile.UploadedFile.charset"·title="Link·to·this·definition">¶</a></dt>154 <span·class="sig-prename·descclassname"><span·class="pre">UploadedFile.</span></span><span·class="sig-name·descname"><span·class="pre">charset</span></span><a·class="headerlink"·href="#django.core.files.uploadedfile.UploadedFile.charset"·title="Link·to·this·definition">¶</a></dt>
154 <dd><p>For·<em·class="mimetype">text/*</em>·content-types,·the·character·set·(i.e.·<code·class="docutils·literal·notranslate"><span·class="pre">utf8</span></code>)155 <dd><p>For·<em·class="mimetype">text/*</em>·content-types,·the·character·set·(i.e.·<code·class="docutils·literal·notranslate"><span·class="pre">utf8</span></code>)
155 supplied·by·the·browser.·Again,·trust·but·verify·is·the·best·policy·here.</p>156 supplied·by·the·browser.·Again,·trust·but·verify·is·the·best·policy·here.</p>
156 </dd></dl>157 </dd></dl>
  
157 <div·class="admonition·note">158 <div·class="admonition·note">
158 <p·class="admonition-title">Note</p>159 <p·class="admonition-title">rkus</p>
159 <p>Like·regular·Python·files,·you·can·read·the·file·line-by-line·by·iterating160 <p>Like·regular·Python·files,·you·can·read·the·file·line-by-line·by·iterating
160 over·the·uploaded·file:</p>161 over·the·uploaded·file:</p>
161 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">for</span>·<span·class="n">line</span>·<span·class="ow">in</span>·<span·class="n">uploadedfile</span><span·class="p">:</span>162 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">for</span>·<span·class="n">line</span>·<span·class="ow">in</span>·<span·class="n">uploadedfile</span><span·class="p">:</span>
162 ····<span·class="n">do_something_with</span><span·class="p">(</span><span·class="n">line</span><span·class="p">)</span>163 ····<span·class="n">do_something_with</span><span·class="p">(</span><span·class="n">line</span><span·class="p">)</span>
163 </pre></div>164 </pre></div>
164 </div>165 </div>
165 <p>Lines·are·split·using·<span·class="target"·id="index-1"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0278/"><strong>universal·newlines</strong></a>.·The·following·are166 <p>Lines·are·split·using·<span·class="target"·id="index-1"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0278/"><strong>universal·newlines</strong></a>.·The·following·are
166 recognized·as·ending·a·line:·the·Unix·end-of-line·convention·<code·class="docutils·literal·notranslate"><span·class="pre">'\n'</span></code>,·the167 recognized·as·ending·a·line:·the·Unix·end-of-line·convention·<code·class="docutils·literal·notranslate"><span·class="pre">'\n'</span></code>,·the
167 Windows·convention·<code·class="docutils·literal·notranslate"><span·class="pre">'\r\n'</span></code>,·and·the·old·Macintosh·convention·<code·class="docutils·literal·notranslate"><span·class="pre">'\r'</span></code>.</p>168 Windows·convention·<code·class="docutils·literal·notranslate"><span·class="pre">'\r\n'</span></code>,·and·the·old·Macintosh·convention·<code·class="docutils·literal·notranslate"><span·class="pre">'\r'</span></code>.</p>
168 </div>169 </div>
169 <p>Subclasses·of·<code·class="docutils·literal·notranslate"><span·class="pre">UploadedFile</span></code>·include:</p>170 <p>Subclasses·of·<code·class="docutils·literal·notranslate"><span·class="pre">UploadedFile</span></code>·include:</p>
170 <dl·class="py·class">171 <dl·class="py·class">
171 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.TemporaryUploadedFile">172 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.TemporaryUploadedFile">
172 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">TemporaryUploadedFile</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/uploadedfile.py#L70"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.uploadedfile.TemporaryUploadedFile"·title="Link·to·this·definition">¶</a></dt>173 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">TemporaryUploadedFile</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/uploadedfile.py#L70"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.uploadedfile.TemporaryUploadedFile"·title="Link·to·this·definition">¶</a></dt>
173 <dd><p>A·file·uploaded·to·a·temporary·location·(i.e.·stream-to-disk).·This·class174 <dd><p>A·file·uploaded·to·a·temporary·location·(i.e.·stream-to-disk).·This·class
174 is·used·by·the175 is·used·by·the
175 <a·class="reference·internal"·href="#django.core.files.uploadhandler.TemporaryFileUploadHandler"·title="django.core.files.uploadhandler.TemporaryFileUploadHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemporaryFileUploadHandler</span></code></a>.·In176 <a·class="reference·internal"·href="#django.core.files.uploadhandler.TemporaryFileUploadHandler"·title="django.core.files.uploadhandler.TemporaryFileUploadHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemporaryFileUploadHandler</span></code></a>.·In
176 addition·to·the·methods·from·<a·class="reference·internal"·href="#django.core.files.uploadedfile.UploadedFile"·title="django.core.files.uploadedfile.UploadedFile"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UploadedFile</span></code></a>,·it·has·one·additional177 addition·to·the·methods·from·<a·class="reference·internal"·href="#django.core.files.uploadedfile.UploadedFile"·title="django.core.files.uploadedfile.UploadedFile"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UploadedFile</span></code></a>,·it·has·one·additional
177 method:</p>178 method:</p>
178 </dd></dl>179 </dd></dl>
  
179 <dl·class="py·method">180 <dl·class="py·method">
180 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.TemporaryUploadedFile.temporary_file_path">181 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.TemporaryUploadedFile.temporary_file_path">
181 <span·class="sig-prename·descclassname"><span·class="pre">TemporaryUploadedFile.</span></span><span·class="sig-name·descname"><span·class="pre">temporary_file_path</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/uploadedfile.py#L82"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.uploadedfile.TemporaryUploadedFile.temporary_file_path"·title="Link·to·this·definition">¶</a></dt>182 <span·class="sig-prename·descclassname"><span·class="pre">TemporaryUploadedFile.</span></span><span·class="sig-name·descname"><span·class="pre">temporary_file_path</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/uploadedfile.py#L82"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.uploadedfile.TemporaryUploadedFile.temporary_file_path"·title="Link·to·this·definition">¶</a></dt>
182 <dd><p>Returns·the·full·path·to·the·temporary·uploaded·file.</p>183 <dd><p>Returns·the·full·path·to·the·temporary·uploaded·file.</p>
183 </dd></dl>184 </dd></dl>
  
184 <dl·class="py·class">185 <dl·class="py·class">
185 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.InMemoryUploadedFile">186 <dt·class="sig·sig-object·py"·id="django.core.files.uploadedfile.InMemoryUploadedFile">
186 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">InMemoryUploadedFile</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/uploadedfile.py#L96"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.files.uploadedfile.InMemoryUploadedFile"·title="Link·to·this·definition">¶</a></dt>187 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">InMemoryUploadedFile</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/files/uploadedfile.py#L96"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.files.uploadedfile.InMemoryUploadedFile"·title="Link·to·this·definition">¶</a></dt>
187 <dd><p>A·file·uploaded·into·memory·(i.e.·stream-to-memory).·This·class·is·used188 <dd><p>A·file·uploaded·into·memory·(i.e.·stream-to-memory).·This·class·is·used
188 by·the·<a·class="reference·internal"·href="#django.core.files.uploadhandler.MemoryFileUploadHandler"·title="django.core.files.uploadhandler.MemoryFileUploadHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MemoryFileUploadHandler</span></code></a>.</p>189 by·the·<a·class="reference·internal"·href="#django.core.files.uploadhandler.MemoryFileUploadHandler"·title="django.core.files.uploadhandler.MemoryFileUploadHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MemoryFileUploadHandler</span></code></a>.</p>
189 </dd></dl>190 </dd></dl>
  
190 </section>191 </section>
191 <section·id="s-module-django.core.files.uploadhandler">192 <section·id="s-module-django.core.files.uploadhandler">
192 <span·id="s-built-in-upload-handlers"></span><span·id="module-django.core.files.uploadhandler"></span><span·id="built-in-upload-handlers"></span><h2>Built-in·upload·handlers<a·class="headerlink"·href="#module-django.core.files.uploadhandler"·title="Link·to·this·heading">¶</a></h2>193 <span·id="s-built-in-upload-handlers"></span><span·id="module-django.core.files.uploadhandler"></span><span·id="built-in-upload-handlers"></span><h2>Built-in·upload·handlers<a·class="headerlink"·href="#module-django.core.files.uploadhandler"·title="Link·to·this·heading">¶</a></h2>
193 <p>Together·the·<a·class="reference·internal"·href="#django.core.files.uploadhandler.MemoryFileUploadHandler"·title="django.core.files.uploadhandler.MemoryFileUploadHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MemoryFileUploadHandler</span></code></a>·and194 <p>Together·the·<a·class="reference·internal"·href="#django.core.files.uploadhandler.MemoryFileUploadHandler"·title="django.core.files.uploadhandler.MemoryFileUploadHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MemoryFileUploadHandler</span></code></a>·and
194 <a·class="reference·internal"·href="#django.core.files.uploadhandler.TemporaryFileUploadHandler"·title="django.core.files.uploadhandler.TemporaryFileUploadHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemporaryFileUploadHandler</span></code></a>·provide·Django’s·default·file·upload195 <a·class="reference·internal"·href="#django.core.files.uploadhandler.TemporaryFileUploadHandler"·title="django.core.files.uploadhandler.TemporaryFileUploadHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemporaryFileUploadHandler</span></code></a>·provide·Django’s·default·file·upload
195 behavior·of·reading·small·files·into·memory·and·large·ones·onto·disk.·They196 behavior·of·reading·small·files·into·memory·and·large·ones·onto·disk.·They
196 are·located·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.files.uploadhandler</span></code>.</p>197 are·located·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.files.uploadhandler</span></code>.</p>
197 <dl·class="py·class">198 <dl·class="py·class">
198 <dt·class="sig·sig-object·py"·id="django.core.files.uploadhandler.MemoryFileUploadHandler">199 <dt·class="sig·sig-object·py"·id="django.core.files.uploadhandler.MemoryFileUploadHandler">
Max diff block lines reached; 21563/36721 bytes (58.72%) of diff not shown.
11.8 KB
html2text {}
Max HTML report size reached
100 KB
./usr/share/doc/python-django-doc/html/ref/forms/api.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·Forms·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·Forms·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Form·fields"·href="fields.html"·/>15 ····<link·rel="next"·title="Form·fields"·href="fields.html"·/>
15 ····<link·rel="prev"·title="Forms"·href="index.html"·/>16 ····<link·rel="prev"·title="Forms"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 92, 15 lines modifiedOffset 93, 15 lines modified
92 <li><p>If·it’s·<strong>bound</strong>·to·a·set·of·data,·it’s·capable·of·validating·that·data93 <li><p>If·it’s·<strong>bound</strong>·to·a·set·of·data,·it’s·capable·of·validating·that·data
93 and·rendering·the·form·as·HTML·with·the·data·displayed·in·the·HTML.</p></li>94 and·rendering·the·form·as·HTML·with·the·data·displayed·in·the·HTML.</p></li>
94 <li><p>If·it’s·<strong>unbound</strong>,·it·cannot·do·validation·(because·there’s·no·data·to95 <li><p>If·it’s·<strong>unbound</strong>,·it·cannot·do·validation·(because·there’s·no·data·to
95 validate!),·but·it·can·still·render·the·blank·form·as·HTML.</p></li>96 validate!),·but·it·can·still·render·the·blank·form·as·HTML.</p></li>
96 </ul>97 </ul>
97 <dl·class="py·class">98 <dl·class="py·class">
98 <dt·class="sig·sig-object·py"·id="django.forms.Form">99 <dt·class="sig·sig-object·py"·id="django.forms.Form">
99 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Form</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/forms.py#L420"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.Form"·title="Link·to·this·definition">¶</a></dt>100 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Form</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/forms.py#L420"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.Form"·title="Link·to·this·definition">¶</a></dt>
100 <dd></dd></dl>101 <dd></dd></dl>
  
101 <p>To·create·an·unbound·<a·class="reference·internal"·href="#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·instance,·instantiate·the·class:</p>102 <p>To·create·an·unbound·<a·class="reference·internal"·href="#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·instance,·instantiate·the·class:</p>
102 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">f</span>·<span·class="o">=</span>·<span·class="n">ContactForm</span><span·class="p">()</span>103 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">f</span>·<span·class="o">=</span>·<span·class="n">ContactForm</span><span·class="p">()</span>
103 </pre></div>104 </pre></div>
104 </div>105 </div>
105 <p>To·bind·data·to·a·form,·pass·the·data·as·a·dictionary·as·the·first·parameter·to106 <p>To·bind·data·to·a·form,·pass·the·data·as·a·dictionary·as·the·first·parameter·to
Offset 461, 22 lines modifiedOffset 462, 22 lines modified
461 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">another_f</span>·<span·class="o">=</span>·<span·class="n">ContactForm</span><span·class="p">(</span><span·class="n">auto_id</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span>462 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">another_f</span>·<span·class="o">=</span>·<span·class="n">ContactForm</span><span·class="p">(</span><span·class="n">auto_id</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span>
462 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">another_f</span><span·class="o">.</span><span·class="n">as_div</span><span·class="p">()</span><span·class="o">.</span><span·class="n">split</span><span·class="p">(</span><span·class="s2">&quot;&lt;/div&gt;&quot;</span><span·class="p">)[</span><span·class="mi">0</span><span·class="p">]</span>463 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">another_f</span><span·class="o">.</span><span·class="n">as_div</span><span·class="p">()</span><span·class="o">.</span><span·class="n">split</span><span·class="p">(</span><span·class="s2">&quot;&lt;/div&gt;&quot;</span><span·class="p">)[</span><span·class="mi">0</span><span·class="p">]</span>
463 <span·class="go">&#39;&lt;div&gt;&lt;label·for=&quot;id_subject&quot;&gt;Subject?&lt;/label&gt;&lt;input·type=&quot;text&quot;·name=&quot;subject&quot;·maxlength=&quot;100&quot;·required·id=&quot;id_subject&quot;&gt;&#39;</span>464 <span·class="go">&#39;&lt;div&gt;&lt;label·for=&quot;id_subject&quot;&gt;Subject?&lt;/label&gt;&lt;input·type=&quot;text&quot;·name=&quot;subject&quot;·maxlength=&quot;100&quot;·required·id=&quot;id_subject&quot;&gt;&#39;</span>
464 </pre></div>465 </pre></div>
465 </div>466 </div>
466 </section>467 </section>
467 <section·id="s-accessing-clean-data">468 <section·id="s-accessing-clean-data">
468 <span·id="accessing-clean-data"></span><h2>Accessing·clean·data<a·class="headerlink"·href="#accessing-clean-data"·title="Link·to·this·heading">¶</a></h2>469 <span·id="accessing-clean-data"></span><h2>Accessing·clean·data<a·class="headerlink"·href="#accessing-clean-data"·title="Link·to·this·heading">¶</a></h2>
469 <dl·class="py·attribute">470 <dl·class="py·attribute">
470 <dt·class="sig·sig-object·py"·id="django.forms.Form.cleaned_data">471 <dt·class="sig·sig-object·py"·id="django.forms.Form.cleaned_data">
471 <span·class="sig-prename·descclassname"><span·class="pre">Form.</span></span><span·class="sig-name·descname"><span·class="pre">cleaned_data</span></span><a·class="headerlink"·href="#django.forms.Form.cleaned_data"·title="Link·to·this·definition">¶</a></dt>472 <span·class="sig-prename·descclassname"><span·class="pre">Form.</span></span><span·class="sig-name·descname"><span·class="pre">cleaned_data</span></span><a·class="headerlink"·href="#django.forms.Form.cleaned_data"·title="Link·to·this·definition">¶</a></dt>
472 <dd></dd></dl>473 <dd></dd></dl>
  
473 <p>Each·field·in·a·<a·class="reference·internal"·href="#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·class·is·responsible·not·only·for·validating474 <p>Each·field·in·a·<a·class="reference·internal"·href="#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·class·is·responsible·not·only·for·validating
474 data,·but·also·for·cleaning·it··normalizing·it·to·a·consistent·format.·This475 data,·but·also·for·cleaning·it··normalizing·it·to·a·consistent·format.·This
475 is·a·nice·feature,·because·it·allows·data·for·a·particular·field·to·be·input·in476 is·a·nice·feature,·because·it·allows·data·for·a·particular·field·to·be·input·in
476 a·variety·of·ways,·always·resulting·in·consistent·output.</p>477 a·variety·of·ways,·always·resulting·in·consistent·output.</p>
477 <p>For·example,·<a·class="reference·internal"·href="fields.html#django.forms.DateField"·title="django.forms.DateField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DateField</span></code></a>·normalizes·input·into·a478 <p>For·example,·<a·class="reference·internal"·href="fields.html#django.forms.DateField"·title="django.forms.DateField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DateField</span></code></a>·normalizes·input·into·a
478 Python·<code·class="docutils·literal·notranslate"><span·class="pre">datetime.date</span></code>·object.·Regardless·of·whether·you·pass·it·a·string·in479 Python·<code·class="docutils·literal·notranslate"><span·class="pre">datetime.date</span></code>·object.·Regardless·of·whether·you·pass·it·a·string·in
479 the·format·<code·class="docutils·literal·notranslate"><span·class="pre">'1994-07-15'</span></code>,·a·<code·class="docutils·literal·notranslate"><span·class="pre">datetime.date</span></code>·object,·or·a·number·of·other480 the·format·<code·class="docutils·literal·notranslate"><span·class="pre">'1994-07-15'</span></code>,·a·<code·class="docutils·literal·notranslate"><span·class="pre">datetime.date</span></code>·object,·or·a·number·of·other
480 formats,·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>·will·always·normalize·it·to·a·<code·class="docutils·literal·notranslate"><span·class="pre">datetime.date</span></code>·object481 formats,·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>·will·always·normalize·it·to·a·<code·class="docutils·literal·notranslate"><span·class="pre">datetime.date</span></code>·object
481 as·long·as·it’s·valid.</p>482 as·long·as·it’s·valid.</p>
Offset 549, 18 lines modifiedOffset 550, 18 lines modified
549 <span·class="go">True</span>550 <span·class="go">True</span>
550 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">f</span><span·class="o">.</span><span·class="n">cleaned_data</span>551 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">f</span><span·class="o">.</span><span·class="n">cleaned_data</span>
551 <span·class="go">{&#39;nick_name&#39;:·&#39;&#39;,·&#39;first_name&#39;:·&#39;John&#39;,·&#39;last_name&#39;:·&#39;Lennon&#39;}</span>552 <span·class="go">{&#39;nick_name&#39;:·&#39;&#39;,·&#39;first_name&#39;:·&#39;John&#39;,·&#39;last_name&#39;:·&#39;Lennon&#39;}</span>
552 </pre></div>553 </pre></div>
553 </div>554 </div>
554 <p>In·this·above·example,·the·<code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>·value·for·<code·class="docutils·literal·notranslate"><span·class="pre">nick_name</span></code>·is·set·to·an555 <p>In·this·above·example,·the·<code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>·value·for·<code·class="docutils·literal·notranslate"><span·class="pre">nick_name</span></code>·is·set·to·an
555 empty·string,·because·<code·class="docutils·literal·notranslate"><span·class="pre">nick_name</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">CharField</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">CharField</span></code>s·treat556 empty·string,·because·<code·class="docutils·literal·notranslate"><span·class="pre">nick_name</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">CharField</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">CharField</span></code>s·treat
556 empty·values·as·an·empty·string.·Each·field·type·knows·what·its·blank·value557 empty·values·as·an·empty·string.·Each·field·type·knows·what·its·blank·value
557 is··e.g.,·for·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>,·it’s·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·instead·of·the·empty·string.·For558 is··e.g.,·for·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>,·it’s·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·instead·of·the·empty·string.·For
558 full·details·on·each·field’s·behavior·in·this·case,·see·the·Empty·value·note559 full·details·on·each·field’s·behavior·in·this·case,·see·the·Empty·value·note
559 for·each·field·in·the·Built-in·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·classes·section·below.</p>560 for·each·field·in·the·Built-in·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·classes·section·below.</p>
560 <p>You·can·write·code·to·perform·validation·for·particular·form·fields·(based·on561 <p>You·can·write·code·to·perform·validation·for·particular·form·fields·(based·on
561 their·name)·or·for·the·form·as·a·whole·(considering·combinations·of·various562 their·name)·or·for·the·form·as·a·whole·(considering·combinations·of·various
562 fields).·More·information·about·this·is·in·<a·class="reference·internal"·href="validation.html"><span·class="doc">Form·and·field·validation</span></a>.</p>563 fields).·More·information·about·this·is·in·<a·class="reference·internal"·href="validation.html"><span·class="doc">Form·and·field·validation</span></a>.</p>
563 </section>564 </section>
564 <section·id="s-outputting-forms-as-html">565 <section·id="s-outputting-forms-as-html">
565 <span·id="s-ref-forms-api-outputting-html"></span><span·id="outputting-forms-as-html"></span><span·id="ref-forms-api-outputting-html"></span><h2>Outputting·forms·as·HTML<a·class="headerlink"·href="#outputting-forms-as-html"·title="Link·to·this·heading">¶</a></h2>566 <span·id="s-ref-forms-api-outputting-html"></span><span·id="outputting-forms-as-html"></span><span·id="ref-forms-api-outputting-html"></span><h2>Outputting·forms·as·HTML<a·class="headerlink"·href="#outputting-forms-as-html"·title="Link·to·this·heading">¶</a></h2>
566 <p>The·second·task·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·object·is·to·render·itself·as·HTML.·To·do·so,567 <p>The·second·task·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·object·is·to·render·itself·as·HTML.·To·do·so,
Offset 689, 15 lines modifiedOffset 690, 15 lines modified
689 <span·id="output-styles"></span><h3>Output·styles<a·class="headerlink"·href="#output-styles"·title="Link·to·this·heading">¶</a></h3>690 <span·id="output-styles"></span><h3>Output·styles<a·class="headerlink"·href="#output-styles"·title="Link·to·this·heading">¶</a></h3>
690 <p>The·recommended·approach·for·changing·form·output·style·is·to·set·a·custom·form691 <p>The·recommended·approach·for·changing·form·output·style·is·to·set·a·custom·form
691 template·either·site-wide,·per-form,·or·per-instance.·See692 template·either·site-wide,·per-form,·or·per-instance.·See
692 <a·class="reference·internal"·href="../../topics/forms/index.html#reusable-form-templates"><span·class="std·std-ref">Reusable·form·templates</span></a>·for·examples.</p>693 <a·class="reference·internal"·href="../../topics/forms/index.html#reusable-form-templates"><span·class="std·std-ref">Reusable·form·templates</span></a>·for·examples.</p>
693 <p>The·following·helper·functions·are·provided·for·backward·compatibility·and·are694 <p>The·following·helper·functions·are·provided·for·backward·compatibility·and·are
694 a·proxy·to·<a·class="reference·internal"·href="#django.forms.Form.render"·title="django.forms.Form.render"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Form.render()</span></code></a>·passing·a·particular·<code·class="docutils·literal·notranslate"><span·class="pre">template_name</span></code>·value.</p>695 a·proxy·to·<a·class="reference·internal"·href="#django.forms.Form.render"·title="django.forms.Form.render"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Form.render()</span></code></a>·passing·a·particular·<code·class="docutils·literal·notranslate"><span·class="pre">template_name</span></code>·value.</p>
695 <div·class="admonition·note">696 <div·class="admonition·note">
696 <p·class="admonition-title">Note</p>697 <p·class="admonition-title">rkus</p>
697 <p>Of·the·framework·provided·templates·and·output·styles,·the·default698 <p>Of·the·framework·provided·templates·and·output·styles,·the·default
698 <code·class="docutils·literal·notranslate"><span·class="pre">as_div()</span></code>·is·recommended·over·the·<code·class="docutils·literal·notranslate"><span·class="pre">as_p()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">as_table()</span></code>,·and699 <code·class="docutils·literal·notranslate"><span·class="pre">as_div()</span></code>·is·recommended·over·the·<code·class="docutils·literal·notranslate"><span·class="pre">as_p()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">as_table()</span></code>,·and
699 <code·class="docutils·literal·notranslate"><span·class="pre">as_ul()</span></code>·versions·as·the·template·implements·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;fieldset&gt;</span></code>·and700 <code·class="docutils·literal·notranslate"><span·class="pre">as_ul()</span></code>·versions·as·the·template·implements·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;fieldset&gt;</span></code>·and
700 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;legend&gt;</span></code>·to·group·related·inputs·and·is·easier·for·screen·reader·users701 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;legend&gt;</span></code>·to·group·related·inputs·and·is·easier·for·screen·reader·users
701 to·navigate.</p>702 to·navigate.</p>
702 </div>703 </div>
703 <p>Each·helper·pairs·a·form·method·with·an·attribute·giving·the·appropriate704 <p>Each·helper·pairs·a·form·method·with·an·attribute·giving·the·appropriate
Offset 865, 15 lines modifiedOffset 866, 15 lines modified
865 <span·class="go">&lt;label·for=&quot;id_subject&quot;·class=&quot;foo·required&quot;&gt;Subject:&lt;/label&gt;</span>866 <span·class="go">&lt;label·for=&quot;id_subject&quot;·class=&quot;foo·required&quot;&gt;Subject:&lt;/label&gt;</span>
866 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">f</span><span·class="p">[</span><span·class="s2">&quot;subject&quot;</span><span·class="p">]</span><span·class="o">.</span><span·class="n">legend_tag</span><span·class="p">(</span><span·class="n">attrs</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;class&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;foo&quot;</span><span·class="p">})</span>867 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">f</span><span·class="p">[</span><span·class="s2">&quot;subject&quot;</span><span·class="p">]</span><span·class="o">.</span><span·class="n">legend_tag</span><span·class="p">(</span><span·class="n">attrs</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;class&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;foo&quot;</span><span·class="p">})</span>
867 <span·class="go">&lt;legend·for=&quot;id_subject&quot;·class=&quot;foo·required&quot;&gt;Subject:&lt;/legend&gt;</span>868 <span·class="go">&lt;legend·for=&quot;id_subject&quot;·class=&quot;foo·required&quot;&gt;Subject:&lt;/legend&gt;</span>
868 </pre></div>869 </pre></div>
869 </div>870 </div>
870 </section>871 </section>
871 <section·id="s-configuring-form-elements-html-id-attributes-and-label-tags">872 <section·id="s-configuring-form-elements-html-id-attributes-and-label-tags">
872 <span·id="s-ref-forms-api-configuring-label"></span><span·id="configuring-form-elements-html-id-attributes-and-label-tags"></span><span·id="ref-forms-api-configuring-label"></span><h3>Configuring·form·elements·HTML·<code·class="docutils·literal·notranslate"><span·class="pre">id</span></code>·attributes·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;label&gt;</span></code>·tags<a·class="headerlink"·href="#configuring-form-elements-html-id-attributes-and-label-tags"·title="Link·to·this·heading">¶</a></h3>873 <span·id="s-ref-forms-api-configuring-label"></span><span·id="configuring-form-elements-html-id-attributes-and-label-tags"></span><span·id="ref-forms-api-configuring-label"></span><h3>Configuring·form·elements·HTML·<code·class="docutils·literal·notranslate"><span·class="pre">id</span></code>·attributes·and·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;label&gt;</span></code>·tags<a·class="headerlink"·href="#configuring-form-elements-html-id-attributes-and-label-tags"·title="Link·to·this·heading">¶</a></h3>
873 <dl·class="py·attribute">874 <dl·class="py·attribute">
874 <dt·class="sig·sig-object·py"·id="django.forms.Form.auto_id">875 <dt·class="sig·sig-object·py"·id="django.forms.Form.auto_id">
875 <span·class="sig-prename·descclassname"><span·class="pre">Form.</span></span><span·class="sig-name·descname"><span·class="pre">auto_id</span></span><a·class="headerlink"·href="#django.forms.Form.auto_id"·title="Link·to·this·definition">¶</a></dt>876 <span·class="sig-prename·descclassname"><span·class="pre">Form.</span></span><span·class="sig-name·descname"><span·class="pre">auto_id</span></span><a·class="headerlink"·href="#django.forms.Form.auto_id"·title="Link·to·this·definition">¶</a></dt>
876 <dd></dd></dl>877 <dd></dd></dl>
  
Max diff block lines reached; 61004/74653 bytes (81.72%) of diff not shown.
27.2 KB
html2text {}
Max HTML report size reached
160 KB
./usr/share/doc/python-django-doc/html/ref/forms/fields.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Form·fields·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Form·fields·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Model·Form·Functions"·href="models.html"·/>15 ····<link·rel="next"·title="Model·Form·Functions"·href="models.html"·/>
15 ····<link·rel="prev"·title="The·Forms·API"·href="api.html"·/>16 ····<link·rel="prev"·title="The·Forms·API"·href="api.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 77, 23 lines modifiedOffset 78, 23 lines modified
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-forms-fields">79 ··········<div·class="yui-g"·id="ref-forms-fields">
79 ············80 ············
80 ··<section·id="s-module-django.forms.fields">81 ··<section·id="s-module-django.forms.fields">
81 <span·id="s-form-fields"></span><span·id="module-django.forms.fields"></span><span·id="form-fields"></span><h1>Form·fields<a·class="headerlink"·href="#module-django.forms.fields"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-form-fields"></span><span·id="module-django.forms.fields"></span><span·id="form-fields"></span><h1>Form·fields<a·class="headerlink"·href="#module-django.forms.fields"·title="Link·to·this·heading">¶</a></h1>
82 <dl·class="py·class">83 <dl·class="py·class">
83 <dt·class="sig·sig-object·py"·id="django.forms.Field">84 <dt·class="sig·sig-object·py"·id="django.forms.Field">
84 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Field</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/fields.py#L86"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.Field"·title="Link·to·this·definition">¶</a></dt>85 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Field</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/fields.py#L86"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.Field"·title="Link·to·this·definition">¶</a></dt>
85 <dd></dd></dl>86 <dd></dd></dl>
  
86 <p>When·you·create·a·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·class,·the·most·important·part·is·defining·the87 <p>When·you·create·a·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·class,·the·most·important·part·is·defining·the
87 fields·of·the·form.·Each·field·has·custom·validation·logic,·along·with·a·few88 fields·of·the·form.·Each·field·has·custom·validation·logic,·along·with·a·few
88 other·hooks.</p>89 other·hooks.</p>
89 <dl·class="py·method">90 <dl·class="py·method">
90 <dt·class="sig·sig-object·py"·id="django.forms.Field.clean">91 <dt·class="sig·sig-object·py"·id="django.forms.Field.clean">
91 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">clean</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/fields.py#L199"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.Field.clean"·title="Link·to·this·definition">¶</a></dt>92 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">clean</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/fields.py#L199"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.Field.clean"·title="Link·to·this·definition">¶</a></dt>
92 <dd></dd></dl>93 <dd></dd></dl>
  
93 <p>Although·the·primary·way·you’ll·use·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·classes·is·in·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·classes,94 <p>Although·the·primary·way·you’ll·use·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·classes·is·in·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·classes,
94 you·can·also·instantiate·them·and·use·them·directly·to·get·a·better·idea·of95 you·can·also·instantiate·them·and·use·them·directly·to·get·a·better·idea·of
95 how·they·work.·Each·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·instance·has·a·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method,·which·takes96 how·they·work.·Each·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·instance·has·a·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method,·which·takes
96 a·single·argument·and·either·raises·a97 a·single·argument·and·either·raises·a
97 <code·class="docutils·literal·notranslate"><span·class="pre">django.core.exceptions.ValidationError</span></code>·exception·or·returns·the·clean98 <code·class="docutils·literal·notranslate"><span·class="pre">django.core.exceptions.ValidationError</span></code>·exception·or·returns·the·clean
Offset 175, 15 lines modifiedOffset 176, 15 lines modified
175 <section·id="s-label">176 <section·id="s-label">
176 <span·id="label"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">label</span></code><a·class="headerlink"·href="#label"·title="Link·to·this·heading">¶</a></h3>177 <span·id="label"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">label</span></code><a·class="headerlink"·href="#label"·title="Link·to·this·heading">¶</a></h3>
177 <dl·class="py·attribute">178 <dl·class="py·attribute">
178 <dt·class="sig·sig-object·py"·id="django.forms.Field.label">179 <dt·class="sig·sig-object·py"·id="django.forms.Field.label">
179 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">label</span></span><a·class="headerlink"·href="#django.forms.Field.label"·title="Link·to·this·definition">¶</a></dt>180 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">label</span></span><a·class="headerlink"·href="#django.forms.Field.label"·title="Link·to·this·definition">¶</a></dt>
180 <dd></dd></dl>181 <dd></dd></dl>
  
181 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">label</span></code>·argument·lets·you·specify·the·human-friendly·label·for·this182 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">label</span></code>·argument·lets·you·specify·the·human-friendly·label·for·this
182 field.·This·is·used·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·is·displayed·in·a·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>.</p>183 field.·This·is·used·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·is·displayed·in·a·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>.</p>
183 <p>As·explained·in·<a·class="reference·internal"·href="api.html#ref-forms-api-outputting-html"><span·class="std·std-ref">Outputting·forms·as·HTML</span></a>,·the·default·label·for·a184 <p>As·explained·in·<a·class="reference·internal"·href="api.html#ref-forms-api-outputting-html"><span·class="std·std-ref">Outputting·forms·as·HTML</span></a>,·the·default·label·for·a
184 <code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·is·generated·from·the·field·name·by·converting·all·underscores·to185 <code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·is·generated·from·the·field·name·by·converting·all·underscores·to
185 spaces·and·upper-casing·the·first·letter.·Specify·<code·class="docutils·literal·notranslate"><span·class="pre">label</span></code>·if·that·default186 spaces·and·upper-casing·the·first·letter.·Specify·<code·class="docutils·literal·notranslate"><span·class="pre">label</span></code>·if·that·default
186 behavior·doesn’t·result·in·an·adequate·label.</p>187 behavior·doesn’t·result·in·an·adequate·label.</p>
187 <p>Here’s·a·full·example·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·that·implements·<code·class="docutils·literal·notranslate"><span·class="pre">label</span></code>·for·two·of·its·fields.188 <p>Here’s·a·full·example·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·that·implements·<code·class="docutils·literal·notranslate"><span·class="pre">label</span></code>·for·two·of·its·fields.
188 We’ve·specified·<code·class="docutils·literal·notranslate"><span·class="pre">auto_id=False</span></code>·to·simplify·the·output:</p>189 We’ve·specified·<code·class="docutils·literal·notranslate"><span·class="pre">auto_id=False</span></code>·to·simplify·the·output:</p>
Offset 229, 15 lines modifiedOffset 230, 15 lines modified
229 <dt·class="sig·sig-object·py"·id="django.forms.Field.initial">230 <dt·class="sig·sig-object·py"·id="django.forms.Field.initial">
230 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">initial</span></span><a·class="headerlink"·href="#django.forms.Field.initial"·title="Link·to·this·definition">¶</a></dt>231 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">initial</span></span><a·class="headerlink"·href="#django.forms.Field.initial"·title="Link·to·this·definition">¶</a></dt>
231 <dd></dd></dl>232 <dd></dd></dl>
  
232 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·argument·lets·you·specify·the·initial·value·to·use·when233 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·argument·lets·you·specify·the·initial·value·to·use·when
233 rendering·this·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·in·an·unbound·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>.</p>234 rendering·this·<code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·in·an·unbound·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>.</p>
234 <p>To·specify·dynamic·initial·data,·see·the·<a·class="reference·internal"·href="api.html#django.forms.Form.initial"·title="django.forms.Form.initial"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Form.initial</span></code></a>·parameter.</p>235 <p>To·specify·dynamic·initial·data,·see·the·<a·class="reference·internal"·href="api.html#django.forms.Form.initial"·title="django.forms.Form.initial"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Form.initial</span></code></a>·parameter.</p>
235 <p>The·use-case·for·this·is·when·you·want·to·display·an·empty·form·in·which·a236 <p>The·use-case·for·this·is·when·you·want·to·display·an·empty·form·in·which·a
236 field·is·initialized·to·a·particular·value.·For·example:</p>237 field·is·initialized·to·a·particular·value.·For·example:</p>
237 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django</span>·<span·class="kn">import</span>·<span·class="n">forms</span>238 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django</span>·<span·class="kn">import</span>·<span·class="n">forms</span>
238 <span·class="gp">&gt;&gt;&gt;·</span><span·class="k">class</span>·<span·class="nc">CommentForm</span><span·class="p">(</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">Form</span><span·class="p">):</span>239 <span·class="gp">&gt;&gt;&gt;·</span><span·class="k">class</span>·<span·class="nc">CommentForm</span><span·class="p">(</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">Form</span><span·class="p">):</span>
239 <span·class="gp">...·</span>····<span·class="n">name</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">initial</span><span·class="o">=</span><span·class="s2">&quot;Your·name&quot;</span><span·class="p">)</span>240 <span·class="gp">...·</span>····<span·class="n">name</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">initial</span><span·class="o">=</span><span·class="s2">&quot;Your·name&quot;</span><span·class="p">)</span>
240 <span·class="gp">...·</span>····<span·class="n">url</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">URLField</span><span·class="p">(</span><span·class="n">initial</span><span·class="o">=</span><span·class="s2">&quot;https://&quot;</span><span·class="p">)</span>241 <span·class="gp">...·</span>····<span·class="n">url</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">URLField</span><span·class="p">(</span><span·class="n">initial</span><span·class="o">=</span><span·class="s2">&quot;https://&quot;</span><span·class="p">)</span>
241 <span·class="gp">...·</span>····<span·class="n">comment</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">()</span>242 <span·class="gp">...·</span>····<span·class="n">comment</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">()</span>
242 <span·class="gp">...</span>243 <span·class="gp">...</span>
Offset 270, 15 lines modifiedOffset 271, 15 lines modified
270 <span·class="go">··&lt;ul·class=&quot;errorlist&quot;&gt;&lt;li&gt;This·field·is·required.&lt;/li&gt;&lt;/ul&gt;</span>271 <span·class="go">··&lt;ul·class=&quot;errorlist&quot;&gt;&lt;li&gt;This·field·is·required.&lt;/li&gt;&lt;/ul&gt;</span>
271 <span·class="go">··&lt;input·type=&quot;text&quot;·name=&quot;comment&quot;·required·aria-invalid=&quot;true&quot;&gt;</span>272 <span·class="go">··&lt;input·type=&quot;text&quot;·name=&quot;comment&quot;·required·aria-invalid=&quot;true&quot;&gt;</span>
272 <span·class="go">&lt;/div&gt;</span>273 <span·class="go">&lt;/div&gt;</span>
273 </pre></div>274 </pre></div>
274 </div>275 </div>
275 <p>This·is·why·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·values·are·only·displayed·for·unbound·forms.·For·bound276 <p>This·is·why·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·values·are·only·displayed·for·unbound·forms.·For·bound
276 forms,·the·HTML·output·will·use·the·bound·data.</p>277 forms,·the·HTML·output·will·use·the·bound·data.</p>
277 <p>Also·note·that·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·values·are·<em>not</em>·used·as·fallback·data·in278 <p>Also·note·that·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·values·are·<em>not</em>·used·as·fallback·data·in
278 validation·if·a·particular·field’s·value·is·not·given.·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·values·are279 validation·if·a·particular·field’s·value·is·not·given.·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·values·are
279 <em>only</em>·intended·for·initial·form·display:</p>280 <em>only</em>·intended·for·initial·form·display:</p>
280 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="k">class</span>·<span·class="nc">CommentForm</span><span·class="p">(</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">Form</span><span·class="p">):</span>281 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="k">class</span>·<span·class="nc">CommentForm</span><span·class="p">(</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">Form</span><span·class="p">):</span>
281 <span·class="gp">...·</span>····<span·class="n">name</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">initial</span><span·class="o">=</span><span·class="s2">&quot;Your·name&quot;</span><span·class="p">)</span>282 <span·class="gp">...·</span>····<span·class="n">name</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">initial</span><span·class="o">=</span><span·class="s2">&quot;Your·name&quot;</span><span·class="p">)</span>
282 <span·class="gp">...·</span>····<span·class="n">url</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">URLField</span><span·class="p">(</span><span·class="n">initial</span><span·class="o">=</span><span·class="s2">&quot;https://&quot;</span><span·class="p">)</span>283 <span·class="gp">...·</span>····<span·class="n">url</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">URLField</span><span·class="p">(</span><span·class="n">initial</span><span·class="o">=</span><span·class="s2">&quot;https://&quot;</span><span·class="p">)</span>
283 <span·class="gp">...·</span>····<span·class="n">comment</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">()</span>284 <span·class="gp">...·</span>····<span·class="n">comment</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">()</span>
284 <span·class="gp">...</span>285 <span·class="gp">...</span>
Offset 466, 15 lines modifiedOffset 467, 15 lines modified
466 </section>467 </section>
467 <section·id="s-checking-if-the-field-data-has-changed">468 <section·id="s-checking-if-the-field-data-has-changed">
468 <span·id="checking-if-the-field-data-has-changed"></span><h2>Checking·if·the·field·data·has·changed<a·class="headerlink"·href="#checking-if-the-field-data-has-changed"·title="Link·to·this·heading">¶</a></h2>469 <span·id="checking-if-the-field-data-has-changed"></span><h2>Checking·if·the·field·data·has·changed<a·class="headerlink"·href="#checking-if-the-field-data-has-changed"·title="Link·to·this·heading">¶</a></h2>
469 <section·id="s-has-changed">470 <section·id="s-has-changed">
470 <span·id="has-changed"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">has_changed()</span></code><a·class="headerlink"·href="#has-changed"·title="Link·to·this·heading">¶</a></h3>471 <span·id="has-changed"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">has_changed()</span></code><a·class="headerlink"·href="#has-changed"·title="Link·to·this·heading">¶</a></h3>
471 <dl·class="py·method">472 <dl·class="py·method">
472 <dt·class="sig·sig-object·py"·id="django.forms.Field.has_changed">473 <dt·class="sig·sig-object·py"·id="django.forms.Field.has_changed">
473 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">has_changed</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/fields.py#L230"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.Field.has_changed"·title="Link·to·this·definition">¶</a></dt>474 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">has_changed</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/fields.py#L230"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.Field.has_changed"·title="Link·to·this·definition">¶</a></dt>
474 <dd></dd></dl>475 <dd></dd></dl>
  
475 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">has_changed()</span></code>·method·is·used·to·determine·if·the·field·value·has·changed476 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">has_changed()</span></code>·method·is·used·to·determine·if·the·field·value·has·changed
476 from·the·initial·value.·Returns·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>477 from·the·initial·value.·Returns·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
477 <p>See·the·<a·class="reference·internal"·href="api.html#django.forms.Form.has_changed"·title="django.forms.Form.has_changed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form.has_changed()</span></code></a>·documentation·for·more·information.</p>478 <p>See·the·<a·class="reference·internal"·href="api.html#django.forms.Form.has_changed"·title="django.forms.Form.has_changed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form.has_changed()</span></code></a>·documentation·for·more·information.</p>
478 </section>479 </section>
479 </section>480 </section>
Max diff block lines reached; 106141/120680 bytes (87.95%) of diff not shown.
42.0 KB
html2text {}
Max HTML report size reached
13.2 KB
./usr/share/doc/python-django-doc/html/ref/forms/formsets.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Formset·Functions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Formset·Functions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·form·rendering·API"·href="renderers.html"·/>15 ····<link·rel="next"·title="The·form·rendering·API"·href="renderers.html"·/>
15 ····<link·rel="prev"·title="Model·Form·Functions"·href="models.html"·/>16 ····<link·rel="prev"·title="Model·Form·Functions"·href="models.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="formset-functions"></span><h1>Formset·Functions<a·class="headerlink"·href="#formset-functions"·title="Link·to·this·heading">¶</a></h1>82 <span·id="formset-functions"></span><h1>Formset·Functions<a·class="headerlink"·href="#formset-functions"·title="Link·to·this·heading">¶</a></h1>
82 <p>Formset·API·reference.·For·introductory·material·about·formsets,·see·the83 <p>Formset·API·reference.·For·introductory·material·about·formsets,·see·the
83 <a·class="reference·internal"·href="../../topics/forms/formsets.html"><span·class="doc">Formsets</span></a>·topic·guide.</p>84 <a·class="reference·internal"·href="../../topics/forms/formsets.html"><span·class="doc">Formsets</span></a>·topic·guide.</p>
84 <section·id="s-formset-factory">85 <section·id="s-formset-factory">
85 <span·id="s-module-django.forms.formsets"></span><span·id="formset-factory"></span><span·id="module-django.forms.formsets"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">formset_factory</span></code><a·class="headerlink"·href="#formset-factory"·title="Link·to·this·heading">¶</a></h2>86 <span·id="s-module-django.forms.formsets"></span><span·id="formset-factory"></span><span·id="module-django.forms.formsets"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">formset_factory</span></code><a·class="headerlink"·href="#formset-factory"·title="Link·to·this·heading">¶</a></h2>
86 <dl·class="py·function">87 <dl·class="py·function">
87 <dt·class="sig·sig-object·py"·id="django.forms.formsets.formset_factory">88 <dt·class="sig·sig-object·py"·id="django.forms.formsets.formset_factory">
88 <span·class="sig-name·descname"><span·class="pre">formset_factory</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">form</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">BaseFormSet</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">1</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_order</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">min_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_min</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">absolute_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete_extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">renderer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/formsets.py#L534"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.formsets.formset_factory"·title="Link·to·this·definition">¶</a></dt>89 <span·class="sig-name·descname"><span·class="pre">formset_factory</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">form</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">BaseFormSet</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">1</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_order</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">min_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_min</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">absolute_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete_extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">renderer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/formsets.py#L534"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.formsets.formset_factory"·title="Link·to·this·definition">¶</a></dt>
89 <dd><p>Returns·a·<code·class="docutils·literal·notranslate"><span·class="pre">FormSet</span></code>·class·for·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">form</span></code>·class.</p>90 <dd><p>Returns·a·<code·class="docutils·literal·notranslate"><span·class="pre">FormSet</span></code>·class·for·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">form</span></code>·class.</p>
90 <p>See·<a·class="reference·internal"·href="../../topics/forms/formsets.html"><span·class="doc">formsets</span></a>·for·example·usage.</p>91 <p>See·<a·class="reference·internal"·href="../../topics/forms/formsets.html"><span·class="doc">formsets</span></a>·for·example·usage.</p>
91 </dd></dl>92 </dd></dl>
  
92 </section>93 </section>
93 </section>94 </section>
  
Offset 100, 47 lines modifiedOffset 101, 47 lines modified
100 ······101 ······
101 ········102 ········
102 ··········<div·class="yui-b"·id="sidebar">103 ··········<div·class="yui-b"·id="sidebar">
103 ············104 ············
104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
105 ········<div·class="sphinxsidebarwrapper">106 ········<div·class="sphinxsidebarwrapper">
106 ··<div>107 ··<div>
107 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>108 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
108 ····<ul>109 ····<ul>
109 <li><a·class="reference·internal"·href="#">Formset·Functions</a><ul>110 <li><a·class="reference·internal"·href="#">Formset·Functions</a><ul>
110 <li><a·class="reference·internal"·href="#formset-factory"><code·class="docutils·literal·notranslate"><span·class="pre">formset_factory</span></code></a></li>111 <li><a·class="reference·internal"·href="#formset-factory"><code·class="docutils·literal·notranslate"><span·class="pre">formset_factory</span></code></a></li>
111 </ul>112 </ul>
112 </li>113 </li>
113 </ul>114 </ul>
  
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Previous·topic</h4>117 ····<h4>Eelmine·teema</h4>
117 ····<p·class="topless"><a·href="models.html"118 ····<p·class="topless"><a·href="models.html"
118 ··························title="previous·chapter">Model·Form·Functions</a></p>119 ··························title="eelmine·jaotis">Model·Form·Functions</a></p>
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Next·topic</h4>122 ····<h4>Järgmine·teema</h4>
122 ····<p·class="topless"><a·href="renderers.html"123 ····<p·class="topless"><a·href="renderers.html"
123 ··························title="next·chapter">The·form·rendering·API</a></p>124 ··························title="järgmine·jaotis">The·form·rendering·API</a></p>
124 ··</div>125 ··</div>
125 <search·id="searchbox"·style="display:·none"·role="search">126 <search·id="searchbox"·style="display:·none"·role="search">
126 ··<h3·id="searchlabel">Quick·search</h3>127 ··<h3·id="searchlabel">Kiirotsing</h3>
127 ····<div·class="searchformwrapper">128 ····<div·class="searchformwrapper">
128 ····<form·class="search"·action="../../search.html"·method="get">129 ····<form·class="search"·action="../../search.html"·method="get">
129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
130 ······<input·type="submit"·value="Go"·/>131 ······<input·type="submit"·value="Otsi"·/>
131 ····</form>132 ····</form>
132 ····</div>133 ····</div>
133 </search>134 </search>
134 <script>document.getElementById('searchbox').style.display·=·"block"</script>135 <script>document.getElementById('searchbox').style.display·=·"block"</script>
135 ········</div>136 ········</div>
136 ······</div>137 ······</div>
137 ··············<h3>Last·update:</h3>138 ··············<h3>Last·update:</h3>
138 ··············<p·class="topless">Nov·05,·2024</p>139 ··············<p·class="topless">nov·05,·2024</p>
139 ··········</div>140 ··········</div>
140 ········141 ········
141 ······142 ······
142 ····</div>143 ····</div>
  
143 ····<div·id="ft">144 ····<div·id="ft">
144 ······<div·class="nav">145 ······<div·class="nav">
2.54 KB
html2text {}
Max HTML report size reached
8.9 KB
./usr/share/doc/python-django-doc/html/ref/forms/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Forms·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Forms·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·Forms·API"·href="api.html"·/>15 ····<link·rel="next"·title="The·Forms·API"·href="api.html"·/>
15 ····<link·rel="prev"·title="Uploaded·Files·and·Upload·Handlers"·href="../files/uploads.html"·/>16 ····<link·rel="prev"·title="Uploaded·Files·and·Upload·Handlers"·href="../files/uploads.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 85, 15 lines modifiedOffset 86, 15 lines modified
85 <ul>86 <ul>
86 <li·class="toctree-l1"><a·class="reference·internal"·href="api.html">The·Forms·API</a><ul>87 <li·class="toctree-l1"><a·class="reference·internal"·href="api.html">The·Forms·API</a><ul>
87 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#bound-and-unbound-forms">Bound·and·unbound·forms</a></li>88 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#bound-and-unbound-forms">Bound·and·unbound·forms</a></li>
88 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#using-forms-to-validate-data">Using·forms·to·validate·data</a></li>89 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#using-forms-to-validate-data">Using·forms·to·validate·data</a></li>
89 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#initial-form-values">Initial·form·values</a></li>90 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#initial-form-values">Initial·form·values</a></li>
90 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#checking-which-form-data-has-changed">Checking·which·form·data·has·changed</a></li>91 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#checking-which-form-data-has-changed">Checking·which·form·data·has·changed</a></li>
91 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#accessing-the-fields-from-the-form">Accessing·the·fields·from·the·form</a></li>92 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#accessing-the-fields-from-the-form">Accessing·the·fields·from·the·form</a></li>
92 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#accessing-clean-data">Accessing·clean·data</a></li>93 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#accessing-clean-data">Accessing·clean·data</a></li>
93 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#outputting-forms-as-html">Outputting·forms·as·HTML</a></li>94 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#outputting-forms-as-html">Outputting·forms·as·HTML</a></li>
94 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#more-granular-output">More·granular·output</a></li>95 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#more-granular-output">More·granular·output</a></li>
95 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#customizing-boundfield">Customizing·<code·class="docutils·literal·notranslate"><span·class="pre">BoundField</span></code></a></li>96 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#customizing-boundfield">Customizing·<code·class="docutils·literal·notranslate"><span·class="pre">BoundField</span></code></a></li>
96 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#binding-uploaded-files-to-a-form">Binding·uploaded·files·to·a·form</a></li>97 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#binding-uploaded-files-to-a-form">Binding·uploaded·files·to·a·form</a></li>
97 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#subclassing-forms">Subclassing·forms</a></li>98 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#subclassing-forms">Subclassing·forms</a></li>
98 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#prefixes-for-forms">Prefixes·for·forms</a></li>99 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#prefixes-for-forms">Prefixes·for·forms</a></li>
99 </ul>100 </ul>
Offset 155, 37 lines modifiedOffset 156, 37 lines modified
155 ······156 ······
156 ········157 ········
157 ··········<div·class="yui-b"·id="sidebar">158 ··········<div·class="yui-b"·id="sidebar">
158 ············159 ············
159 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">160 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
160 ········<div·class="sphinxsidebarwrapper">161 ········<div·class="sphinxsidebarwrapper">
161 ··<div>162 ··<div>
162 ····<h4>Previous·topic</h4>163 ····<h4>Eelmine·teema</h4>
163 ····<p·class="topless"><a·href="../files/uploads.html"164 ····<p·class="topless"><a·href="../files/uploads.html"
164 ··························title="previous·chapter">Uploaded·Files·and·Upload·Handlers</a></p>165 ··························title="eelmine·jaotis">Uploaded·Files·and·Upload·Handlers</a></p>
165 ··</div>166 ··</div>
166 ··<div>167 ··<div>
167 ····<h4>Next·topic</h4>168 ····<h4>Järgmine·teema</h4>
168 ····<p·class="topless"><a·href="api.html"169 ····<p·class="topless"><a·href="api.html"
169 ··························title="next·chapter">The·Forms·API</a></p>170 ··························title="järgmine·jaotis">The·Forms·API</a></p>
170 ··</div>171 ··</div>
171 <search·id="searchbox"·style="display:·none"·role="search">172 <search·id="searchbox"·style="display:·none"·role="search">
172 ··<h3·id="searchlabel">Quick·search</h3>173 ··<h3·id="searchlabel">Kiirotsing</h3>
173 ····<div·class="searchformwrapper">174 ····<div·class="searchformwrapper">
174 ····<form·class="search"·action="../../search.html"·method="get">175 ····<form·class="search"·action="../../search.html"·method="get">
175 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>176 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
176 ······<input·type="submit"·value="Go"·/>177 ······<input·type="submit"·value="Otsi"·/>
177 ····</form>178 ····</form>
178 ····</div>179 ····</div>
179 </search>180 </search>
180 <script>document.getElementById('searchbox').style.display·=·"block"</script>181 <script>document.getElementById('searchbox').style.display·=·"block"</script>
181 ········</div>182 ········</div>
182 ······</div>183 ······</div>
183 ··············<h3>Last·update:</h3>184 ··············<h3>Last·update:</h3>
184 ··············<p·class="topless">Nov·05,·2024</p>185 ··············<p·class="topless">nov·05,·2024</p>
185 ··········</div>186 ··········</div>
186 ········187 ········
187 ······188 ······
188 ····</div>189 ····</div>
  
189 ····<div·id="ft">190 ····<div·id="ft">
190 ······<div·class="nav">191 ······<div·class="nav">
3.24 KB
html2text {}
Max HTML report size reached
42.4 KB
./usr/share/doc/python-django-doc/html/ref/forms/models.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Model·Form·Functions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Model·Form·Functions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Formset·Functions"·href="formsets.html"·/>15 ····<link·rel="next"·title="Formset·Functions"·href="formsets.html"·/>
15 ····<link·rel="prev"·title="Form·fields"·href="fields.html"·/>16 ····<link·rel="prev"·title="Form·fields"·href="fields.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="model-form-functions"></span><h1>Model·Form·Functions<a·class="headerlink"·href="#model-form-functions"·title="Link·to·this·heading">¶</a></h1>82 <span·id="model-form-functions"></span><h1>Model·Form·Functions<a·class="headerlink"·href="#model-form-functions"·title="Link·to·this·heading">¶</a></h1>
82 <p>Model·Form·API·reference.·For·introductory·material·about·model·forms,·see·the83 <p>Model·Form·API·reference.·For·introductory·material·about·model·forms,·see·the
83 <a·class="reference·internal"·href="../../topics/forms/modelforms.html"><span·class="doc">Creating·forms·from·models</span></a>·topic·guide.</p>84 <a·class="reference·internal"·href="../../topics/forms/modelforms.html"><span·class="doc">Creating·forms·from·models</span></a>·topic·guide.</p>
84 <section·id="s-modelform-factory">85 <section·id="s-modelform-factory">
85 <span·id="s-module-django.forms.models"></span><span·id="modelform-factory"></span><span·id="module-django.forms.models"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">modelform_factory</span></code><a·class="headerlink"·href="#modelform-factory"·title="Link·to·this·heading">¶</a></h2>86 <span·id="s-module-django.forms.models"></span><span·id="modelform-factory"></span><span·id="module-django.forms.models"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">modelform_factory</span></code><a·class="headerlink"·href="#modelform-factory"·title="Link·to·this·heading">¶</a></h2>
86 <dl·class="py·function">87 <dl·class="py·function">
87 <dt·class="sig·sig-object·py"·id="django.forms.models.modelform_factory">88 <dt·class="sig·sig-object·py"·id="django.forms.models.modelform_factory">
88 <span·class="sig-name·descname"><span·class="pre">modelform_factory</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">form</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">ModelForm</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formfield_callback</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">widgets</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">localized_fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">labels</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">help_texts</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">error_messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">field_classes</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/models.py#L569"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.models.modelform_factory"·title="Link·to·this·definition">¶</a></dt>89 <span·class="sig-name·descname"><span·class="pre">modelform_factory</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">form</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">ModelForm</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formfield_callback</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">widgets</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">localized_fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">labels</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">help_texts</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">error_messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">field_classes</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/models.py#L569"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.models.modelform_factory"·title="Link·to·this·definition">¶</a></dt>
89 <dd><p>Returns·a·<a·class="reference·internal"·href="../../topics/forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>·class·for·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>.90 <dd><p>Returns·a·<a·class="reference·internal"·href="../../topics/forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>·class·for·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>.
90 You·can·optionally·pass·a·<code·class="docutils·literal·notranslate"><span·class="pre">form</span></code>·argument·to·use·as·a·starting·point·for91 You·can·optionally·pass·a·<code·class="docutils·literal·notranslate"><span·class="pre">form</span></code>·argument·to·use·as·a·starting·point·for
91 constructing·the·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>.</p>92 constructing·the·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>.</p>
92 <p><code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·is·an·optional·list·of·field·names.·If·provided,·only·the·named93 <p><code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·is·an·optional·list·of·field·names.·If·provided,·only·the·named
93 fields·will·be·included·in·the·returned·fields.</p>94 fields·will·be·included·in·the·returned·fields.</p>
94 <p><code·class="docutils·literal·notranslate"><span·class="pre">exclude</span></code>·is·an·optional·list·of·field·names.·If·provided,·the·named95 <p><code·class="docutils·literal·notranslate"><span·class="pre">exclude</span></code>·is·an·optional·list·of·field·names.·If·provided,·the·named
95 fields·will·be·excluded·from·the·returned·fields,·even·if·they·are·listed96 fields·will·be·excluded·from·the·returned·fields,·even·if·they·are·listed
Offset 113, 15 lines modifiedOffset 114, 15 lines modified
113 </dd></dl>114 </dd></dl>
  
114 </section>115 </section>
115 <section·id="s-modelformset-factory">116 <section·id="s-modelformset-factory">
116 <span·id="modelformset-factory"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">modelformset_factory</span></code><a·class="headerlink"·href="#modelformset-factory"·title="Link·to·this·heading">¶</a></h2>117 <span·id="modelformset-factory"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">modelformset_factory</span></code><a·class="headerlink"·href="#modelformset-factory"·title="Link·to·this·heading">¶</a></h2>
117 <dl·class="py·function">118 <dl·class="py·function">
118 <dt·class="sig·sig-object·py"·id="django.forms.models.modelformset_factory">119 <dt·class="sig·sig-object·py"·id="django.forms.models.modelformset_factory">
119 <span·class="sig-name·descname"><span·class="pre">modelformset_factory</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">form</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">ModelForm</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formfield_callback</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">BaseModelFormSet</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">1</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_order</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">widgets</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">localized_fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">labels</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">help_texts</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">error_messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">min_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_min</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">field_classes</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">absolute_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete_extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">renderer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">edit_only</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/models.py#L1015"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.models.modelformset_factory"·title="Link·to·this·definition">¶</a></dt>120 <span·class="sig-name·descname"><span·class="pre">modelformset_factory</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">form</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">ModelForm</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formfield_callback</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">BaseModelFormSet</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">1</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_order</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">widgets</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">localized_fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">labels</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">help_texts</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">error_messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">min_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_min</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">field_classes</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">absolute_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete_extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">renderer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">edit_only</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/models.py#L1015"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.models.modelformset_factory"·title="Link·to·this·definition">¶</a></dt>
120 <dd><p>Returns·a·<code·class="docutils·literal·notranslate"><span·class="pre">FormSet</span></code>·class·for·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>·class.</p>121 <dd><p>Returns·a·<code·class="docutils·literal·notranslate"><span·class="pre">FormSet</span></code>·class·for·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>·class.</p>
121 <p>Arguments·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">form</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">exclude</span></code>,122 <p>Arguments·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">form</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">exclude</span></code>,
122 <code·class="docutils·literal·notranslate"><span·class="pre">formfield_callback</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">widgets</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">localized_fields</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">labels</span></code>,123 <code·class="docutils·literal·notranslate"><span·class="pre">formfield_callback</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">widgets</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">localized_fields</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">labels</span></code>,
123 <code·class="docutils·literal·notranslate"><span·class="pre">help_texts</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">error_messages</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">field_classes</span></code>·are·all·passed124 <code·class="docutils·literal·notranslate"><span·class="pre">help_texts</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">error_messages</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">field_classes</span></code>·are·all·passed
124 through·to·<a·class="reference·internal"·href="#django.forms.models.modelform_factory"·title="django.forms.models.modelform_factory"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">modelform_factory()</span></code></a>.</p>125 through·to·<a·class="reference·internal"·href="#django.forms.models.modelform_factory"·title="django.forms.models.modelform_factory"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">modelform_factory()</span></code></a>.</p>
125 <p>Arguments·<code·class="docutils·literal·notranslate"><span·class="pre">formset</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">extra</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">can_delete</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">can_order</span></code>,126 <p>Arguments·<code·class="docutils·literal·notranslate"><span·class="pre">formset</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">extra</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">can_delete</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">can_order</span></code>,
126 <code·class="docutils·literal·notranslate"><span·class="pre">max_num</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">validate_max</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">min_num</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">validate_min</span></code>,127 <code·class="docutils·literal·notranslate"><span·class="pre">max_num</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">validate_max</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">min_num</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">validate_min</span></code>,
Offset 133, 15 lines modifiedOffset 134, 15 lines modified
133 </dd></dl>134 </dd></dl>
  
134 </section>135 </section>
135 <section·id="s-inlineformset-factory">136 <section·id="s-inlineformset-factory">
136 <span·id="inlineformset-factory"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">inlineformset_factory</span></code><a·class="headerlink"·href="#inlineformset-factory"·title="Link·to·this·heading">¶</a></h2>137 <span·id="inlineformset-factory"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">inlineformset_factory</span></code><a·class="headerlink"·href="#inlineformset-factory"·title="Link·to·this·heading">¶</a></h2>
137 <dl·class="py·function">138 <dl·class="py·function">
138 <dt·class="sig·sig-object·py"·id="django.forms.models.inlineformset_factory">139 <dt·class="sig·sig-object·py"·id="django.forms.models.inlineformset_factory">
139 <span·class="sig-name·descname"><span·class="pre">inlineformset_factory</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">parent_model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">form</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">ModelForm</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">BaseInlineFormSet</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fk_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">3</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_order</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formfield_callback</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">widgets</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">localized_fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">labels</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">help_texts</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">error_messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">min_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_min</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">field_classes</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">absolute_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete_extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">renderer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">edit_only</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/models.py#L1282"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.models.inlineformset_factory"·title="Link·to·this·definition">¶</a></dt>140 <span·class="sig-name·descname"><span·class="pre">inlineformset_factory</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">parent_model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">form</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">ModelForm</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">BaseInlineFormSet</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fk_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">3</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_order</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">formfield_callback</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">widgets</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">localized_fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">labels</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">help_texts</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">error_messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">min_num</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_min</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">field_classes</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">absolute_max</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">can_delete_extra</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">renderer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">edit_only</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/models.py#L1282"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.models.inlineformset_factory"·title="Link·to·this·definition">¶</a></dt>
140 <dd><p>Returns·an·<code·class="docutils·literal·notranslate"><span·class="pre">InlineFormSet</span></code>·using·<a·class="reference·internal"·href="#django.forms.models.modelformset_factory"·title="django.forms.models.modelformset_factory"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">modelformset_factory()</span></code></a>·with141 <dd><p>Returns·an·<code·class="docutils·literal·notranslate"><span·class="pre">InlineFormSet</span></code>·using·<a·class="reference·internal"·href="#django.forms.models.modelformset_factory"·title="django.forms.models.modelformset_factory"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">modelformset_factory()</span></code></a>·with
141 defaults·of·<code·class="docutils·literal·notranslate"><span·class="pre">formset=</span></code><a·class="reference·internal"·href="../../topics/forms/modelforms.html#django.forms.models.BaseInlineFormSet"·title="django.forms.models.BaseInlineFormSet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BaseInlineFormSet</span></code></a>,142 defaults·of·<code·class="docutils·literal·notranslate"><span·class="pre">formset=</span></code><a·class="reference·internal"·href="../../topics/forms/modelforms.html#django.forms.models.BaseInlineFormSet"·title="django.forms.models.BaseInlineFormSet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BaseInlineFormSet</span></code></a>,
142 <code·class="docutils·literal·notranslate"><span·class="pre">can_delete=True</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra=3</span></code>.</p>143 <code·class="docutils·literal·notranslate"><span·class="pre">can_delete=True</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra=3</span></code>.</p>
143 <p>If·your·model·has·more·than·one·<a·class="reference·internal"·href="../models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·to144 <p>If·your·model·has·more·than·one·<a·class="reference·internal"·href="../models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·to
144 the·<code·class="docutils·literal·notranslate"><span·class="pre">parent_model</span></code>,·you·must·specify·a·<code·class="docutils·literal·notranslate"><span·class="pre">fk_name</span></code>.</p>145 the·<code·class="docutils·literal·notranslate"><span·class="pre">parent_model</span></code>,·you·must·specify·a·<code·class="docutils·literal·notranslate"><span·class="pre">fk_name</span></code>.</p>
145 <p>See·<a·class="reference·internal"·href="../../topics/forms/modelforms.html#inline-formsets"><span·class="std·std-ref">Inline·formsets</span></a>·for·example·usage.</p>146 <p>See·<a·class="reference·internal"·href="../../topics/forms/modelforms.html#inline-formsets"><span·class="std·std-ref">Inline·formsets</span></a>·for·example·usage.</p>
146 </dd></dl>147 </dd></dl>
Offset 156, 49 lines modifiedOffset 157, 49 lines modified
156 ······157 ······
157 ········158 ········
158 ··········<div·class="yui-b"·id="sidebar">159 ··········<div·class="yui-b"·id="sidebar">
159 ············160 ············
160 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">161 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
161 ········<div·class="sphinxsidebarwrapper">162 ········<div·class="sphinxsidebarwrapper">
162 ··<div>163 ··<div>
163 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>164 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
164 ····<ul>165 ····<ul>
165 <li><a·class="reference·internal"·href="#">Model·Form·Functions</a><ul>166 <li><a·class="reference·internal"·href="#">Model·Form·Functions</a><ul>
166 <li><a·class="reference·internal"·href="#modelform-factory"><code·class="docutils·literal·notranslate"><span·class="pre">modelform_factory</span></code></a></li>167 <li><a·class="reference·internal"·href="#modelform-factory"><code·class="docutils·literal·notranslate"><span·class="pre">modelform_factory</span></code></a></li>
167 <li><a·class="reference·internal"·href="#modelformset-factory"><code·class="docutils·literal·notranslate"><span·class="pre">modelformset_factory</span></code></a></li>168 <li><a·class="reference·internal"·href="#modelformset-factory"><code·class="docutils·literal·notranslate"><span·class="pre">modelformset_factory</span></code></a></li>
168 <li><a·class="reference·internal"·href="#inlineformset-factory"><code·class="docutils·literal·notranslate"><span·class="pre">inlineformset_factory</span></code></a></li>169 <li><a·class="reference·internal"·href="#inlineformset-factory"><code·class="docutils·literal·notranslate"><span·class="pre">inlineformset_factory</span></code></a></li>
169 </ul>170 </ul>
170 </li>171 </li>
171 </ul>172 </ul>
  
172 ··</div>173 ··</div>
173 ··<div>174 ··<div>
174 ····<h4>Previous·topic</h4>175 ····<h4>Eelmine·teema</h4>
175 ····<p·class="topless"><a·href="fields.html"176 ····<p·class="topless"><a·href="fields.html"
176 ··························title="previous·chapter">Form·fields</a></p>177 ··························title="eelmine·jaotis">Form·fields</a></p>
177 ··</div>178 ··</div>
178 ··<div>179 ··<div>
179 ····<h4>Next·topic</h4>180 ····<h4>Järgmine·teema</h4>
180 ····<p·class="topless"><a·href="formsets.html"181 ····<p·class="topless"><a·href="formsets.html"
181 ··························title="next·chapter">Formset·Functions</a></p>182 ··························title="järgmine·jaotis">Formset·Functions</a></p>
182 ··</div>183 ··</div>
183 <search·id="searchbox"·style="display:·none"·role="search">184 <search·id="searchbox"·style="display:·none"·role="search">
184 ··<h3·id="searchlabel">Quick·search</h3>185 ··<h3·id="searchlabel">Kiirotsing</h3>
185 ····<div·class="searchformwrapper">186 ····<div·class="searchformwrapper">
186 ····<form·class="search"·action="../../search.html"·method="get">187 ····<form·class="search"·action="../../search.html"·method="get">
187 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>188 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
188 ······<input·type="submit"·value="Go"·/>189 ······<input·type="submit"·value="Otsi"·/>
189 ····</form>190 ····</form>
190 ····</div>191 ····</div>
191 </search>192 </search>
192 <script>document.getElementById('searchbox').style.display·=·"block"</script>193 <script>document.getElementById('searchbox').style.display·=·"block"</script>
193 ········</div>194 ········</div>
Max diff block lines reached; 233/36036 bytes (0.65%) of diff not shown.
7.14 KB
html2text {}
Max HTML report size reached
30.6 KB
./usr/share/doc/python-django-doc/html/ref/forms/renderers.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·form·rendering·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·form·rendering·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Widgets"·href="widgets.html"·/>15 ····<link·rel="next"·title="Widgets"·href="widgets.html"·/>
15 ····<link·rel="prev"·title="Formset·Functions"·href="formsets.html"·/>16 ····<link·rel="prev"·title="Formset·Functions"·href="formsets.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 105, 15 lines modifiedOffset 106, 15 lines modified
105 discussion.</p>106 discussion.</p>
106 <p>Use·one·of·the·<a·class="reference·internal"·href="#built-in-template-form-renderers"><span·class="std·std-ref">built-in·template·form·renderers</span></a>·or·implement·your·own.·Custom·renderers107 <p>Use·one·of·the·<a·class="reference·internal"·href="#built-in-template-form-renderers"><span·class="std·std-ref">built-in·template·form·renderers</span></a>·or·implement·your·own.·Custom·renderers
107 must·implement·a·<code·class="docutils·literal·notranslate"><span·class="pre">render(template_name,</span>·<span·class="pre">context,</span>·<span·class="pre">request=None)</span></code>·method.·It108 must·implement·a·<code·class="docutils·literal·notranslate"><span·class="pre">render(template_name,</span>·<span·class="pre">context,</span>·<span·class="pre">request=None)</span></code>·method.·It
108 should·return·a·rendered·templates·(as·a·string)·or·raise109 should·return·a·rendered·templates·(as·a·string)·or·raise
109 <a·class="reference·internal"·href="../../topics/templates.html#django.template.TemplateDoesNotExist"·title="django.template.TemplateDoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TemplateDoesNotExist</span></code></a>.</p>110 <a·class="reference·internal"·href="../../topics/templates.html#django.template.TemplateDoesNotExist"·title="django.template.TemplateDoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TemplateDoesNotExist</span></code></a>.</p>
110 <dl·class="py·class">111 <dl·class="py·class">
111 <dt·class="sig·sig-object·py"·id="django.forms.renderers.BaseRenderer">112 <dt·class="sig·sig-object·py"·id="django.forms.renderers.BaseRenderer">
112 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseRenderer</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L19"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.BaseRenderer"·title="Link·to·this·definition">¶</a></dt>113 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseRenderer</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L19"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.BaseRenderer"·title="Link·to·this·definition">¶</a></dt>
113 <dd><p>The·base·class·for·the·built-in·form·renderers.</p>114 <dd><p>The·base·class·for·the·built-in·form·renderers.</p>
114 <dl·class="py·attribute">115 <dl·class="py·attribute">
115 <dt·class="sig·sig-object·py"·id="django.forms.renderers.BaseRenderer.form_template_name">116 <dt·class="sig·sig-object·py"·id="django.forms.renderers.BaseRenderer.form_template_name">
116 <span·class="sig-name·descname"><span·class="pre">form_template_name</span></span><a·class="headerlink"·href="#django.forms.renderers.BaseRenderer.form_template_name"·title="Link·to·this·definition">¶</a></dt>117 <span·class="sig-name·descname"><span·class="pre">form_template_name</span></span><a·class="headerlink"·href="#django.forms.renderers.BaseRenderer.form_template_name"·title="Link·to·this·definition">¶</a></dt>
117 <dd><p>The·default·name·of·the·template·to·use·to·render·a·form.</p>118 <dd><p>The·default·name·of·the·template·to·use·to·render·a·form.</p>
118 <p>Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;django/forms/div.html&quot;</span></code>·template.</p>119 <p>Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;django/forms/div.html&quot;</span></code>·template.</p>
119 </dd></dl>120 </dd></dl>
Offset 132, 88 lines modifiedOffset 133, 88 lines modified
132 <span·class="title">New·in·Django·5.0.</span>·</div>133 <span·class="title">New·in·Django·5.0.</span>·</div>
133 <p>The·default·name·of·the·template·used·to·render·a·<code·class="docutils·literal·notranslate"><span·class="pre">BoundField</span></code>.</p>134 <p>The·default·name·of·the·template·used·to·render·a·<code·class="docutils·literal·notranslate"><span·class="pre">BoundField</span></code>.</p>
134 <p>Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;django/forms/field.html&quot;</span></code></p>135 <p>Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;django/forms/field.html&quot;</span></code></p>
135 </dd></dl>136 </dd></dl>
  
136 <dl·class="py·method">137 <dl·class="py·method">
137 <dt·class="sig·sig-object·py"·id="django.forms.renderers.BaseRenderer.get_template">138 <dt·class="sig·sig-object·py"·id="django.forms.renderers.BaseRenderer.get_template">
138 <span·class="sig-name·descname"><span·class="pre">get_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L24"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.BaseRenderer.get_template"·title="Link·to·this·definition">¶</a></dt>139 <span·class="sig-name·descname"><span·class="pre">get_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L24"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.BaseRenderer.get_template"·title="Link·to·this·definition">¶</a></dt>
139 <dd><p>Subclasses·must·implement·this·method·with·the·appropriate·template140 <dd><p>Subclasses·must·implement·this·method·with·the·appropriate·template
140 finding·logic.</p>141 finding·logic.</p>
141 </dd></dl>142 </dd></dl>
  
142 <dl·class="py·method">143 <dl·class="py·method">
143 <dt·class="sig·sig-object·py"·id="django.forms.renderers.BaseRenderer.render">144 <dt·class="sig·sig-object·py"·id="django.forms.renderers.BaseRenderer.render">
144 <span·class="sig-name·descname"><span·class="pre">render</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">context</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L27"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.BaseRenderer.render"·title="Link·to·this·definition">¶</a></dt>145 <span·class="sig-name·descname"><span·class="pre">render</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">context</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L27"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.BaseRenderer.render"·title="Link·to·this·definition">¶</a></dt>
145 <dd><p>Renders·the·given·template,·or·raises146 <dd><p>Renders·the·given·template,·or·raises
146 <a·class="reference·internal"·href="../../topics/templates.html#django.template.TemplateDoesNotExist"·title="django.template.TemplateDoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TemplateDoesNotExist</span></code></a>.</p>147 <a·class="reference·internal"·href="../../topics/templates.html#django.template.TemplateDoesNotExist"·title="django.template.TemplateDoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TemplateDoesNotExist</span></code></a>.</p>
147 </dd></dl>148 </dd></dl>
  
148 </dd></dl>149 </dd></dl>
  
149 </section>150 </section>
150 <section·id="s-built-in-template-form-renderers">151 <section·id="s-built-in-template-form-renderers">
151 <span·id="s-id1"></span><span·id="built-in-template-form-renderers"></span><span·id="id1"></span><h2>Built-in-template·form·renderers<a·class="headerlink"·href="#built-in-template-form-renderers"·title="Link·to·this·heading">¶</a></h2>152 <span·id="s-id1"></span><span·id="built-in-template-form-renderers"></span><span·id="id1"></span><h2>Built-in-template·form·renderers<a·class="headerlink"·href="#built-in-template-form-renderers"·title="Link·to·this·heading">¶</a></h2>
152 <section·id="s-djangotemplates">153 <section·id="s-djangotemplates">
153 <span·id="djangotemplates"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code><a·class="headerlink"·href="#djangotemplates"·title="Link·to·this·heading">¶</a></h3>154 <span·id="djangotemplates"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code><a·class="headerlink"·href="#djangotemplates"·title="Link·to·this·heading">¶</a></h3>
154 <dl·class="py·class">155 <dl·class="py·class">
155 <dt·class="sig·sig-object·py"·id="django.forms.renderers.DjangoTemplates">156 <dt·class="sig·sig-object·py"·id="django.forms.renderers.DjangoTemplates">
156 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DjangoTemplates</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L48"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.DjangoTemplates"·title="Link·to·this·definition">¶</a></dt>157 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DjangoTemplates</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L48"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.DjangoTemplates"·title="Link·to·this·definition">¶</a></dt>
157 <dd></dd></dl>158 <dd></dd></dl>
  
158 <p>This·renderer·uses·a·standalone159 <p>This·renderer·uses·a·standalone
159 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>160 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>
160 engine·(unconnected·to·what·you·might·have·configured·in·the161 engine·(unconnected·to·what·you·might·have·configured·in·the
161 <a·class="reference·internal"·href="../settings.html#std-setting-TEMPLATES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEMPLATES</span></code></a>·setting).·It·loads·templates·first·from·the·built-in·form162 <a·class="reference·internal"·href="../settings.html#std-setting-TEMPLATES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEMPLATES</span></code></a>·setting).·It·loads·templates·first·from·the·built-in·form
162 templates·directory·in·<a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/forms/templates">django/forms/templates</a>·and·then·from·the163 templates·directory·in·<a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/forms/templates">django/forms/templates</a>·and·then·from·the
163 installed·apps·templates·directories·using·the·<a·class="reference·internal"·href="../templates/api.html#django.template.loaders.app_directories.Loader"·title="django.template.loaders.app_directories.Loader"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">app_directories</span></code></a>·loader.</p>164 installed·apps·templates·directories·using·the·<a·class="reference·internal"·href="../templates/api.html#django.template.loaders.app_directories.Loader"·title="django.template.loaders.app_directories.Loader"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">app_directories</span></code></a>·loader.</p>
164 <p>If·you·want·to·render·templates·with·customizations·from·your165 <p>If·you·want·to·render·templates·with·customizations·from·your
165 <a·class="reference·internal"·href="../settings.html#std-setting-TEMPLATES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEMPLATES</span></code></a>·setting,·such·as·context·processors·for·example,·use·the166 <a·class="reference·internal"·href="../settings.html#std-setting-TEMPLATES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEMPLATES</span></code></a>·setting,·such·as·context·processors·for·example,·use·the
166 <a·class="reference·internal"·href="#django.forms.renderers.TemplatesSetting"·title="django.forms.renderers.TemplatesSetting"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplatesSetting</span></code></a>·renderer.</p>167 <a·class="reference·internal"·href="#django.forms.renderers.TemplatesSetting"·title="django.forms.renderers.TemplatesSetting"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplatesSetting</span></code></a>·renderer.</p>
167 <dl·class="py·class">168 <dl·class="py·class">
168 <dt·class="sig·sig-object·py"·id="django.forms.renderers.DjangoDivFormRenderer">169 <dt·class="sig·sig-object·py"·id="django.forms.renderers.DjangoDivFormRenderer">
169 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DjangoDivFormRenderer</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L71"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.DjangoDivFormRenderer"·title="Link·to·this·definition">¶</a></dt>170 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DjangoDivFormRenderer</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L71"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.DjangoDivFormRenderer"·title="Link·to·this·definition">¶</a></dt>
170 <dd></dd></dl>171 <dd></dd></dl>
  
171 <div·class="deprecated">172 <div·class="deprecated">
172 <p><span·class="versionmodified·deprecated">Deprecated·since·version·5.0.</span></p>173 <p><span·class="versionmodified·deprecated">Iganenud·alates·versioonist·5.0.</span></p>
173 </div>174 </div>
174 <p>The·alias·of·<a·class="reference·internal"·href="#django.forms.renderers.DjangoTemplates"·title="django.forms.renderers.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>.</p>175 <p>The·alias·of·<a·class="reference·internal"·href="#django.forms.renderers.DjangoTemplates"·title="django.forms.renderers.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>.</p>
175 </section>176 </section>
176 <section·id="s-jinja2">177 <section·id="s-jinja2">
177 <span·id="jinja2"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Jinja2</span></code><a·class="headerlink"·href="#jinja2"·title="Link·to·this·heading">¶</a></h3>178 <span·id="jinja2"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Jinja2</span></code><a·class="headerlink"·href="#jinja2"·title="Link·to·this·heading">¶</a></h3>
178 <dl·class="py·class">179 <dl·class="py·class">
179 <dt·class="sig·sig-object·py"·id="django.forms.renderers.Jinja2">180 <dt·class="sig·sig-object·py"·id="django.forms.renderers.Jinja2">
180 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Jinja2</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L57"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.Jinja2"·title="Link·to·this·definition">¶</a></dt>181 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Jinja2</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L57"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.Jinja2"·title="Link·to·this·definition">¶</a></dt>
181 <dd></dd></dl>182 <dd></dd></dl>
  
182 <p>This·renderer·is·the·same·as·the·<a·class="reference·internal"·href="#django.forms.renderers.DjangoTemplates"·title="django.forms.renderers.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>·renderer·except·that183 <p>This·renderer·is·the·same·as·the·<a·class="reference·internal"·href="#django.forms.renderers.DjangoTemplates"·title="django.forms.renderers.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>·renderer·except·that
183 it·uses·a·<a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.jinja2.Jinja2"·title="django.template.backends.jinja2.Jinja2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Jinja2</span></code></a>·backend.·Templates184 it·uses·a·<a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.jinja2.Jinja2"·title="django.template.backends.jinja2.Jinja2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Jinja2</span></code></a>·backend.·Templates
184 for·the·built-in·widgets·are·located·in·<a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/forms/jinja2">django/forms/jinja2</a>·and185 for·the·built-in·widgets·are·located·in·<a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/forms/jinja2">django/forms/jinja2</a>·and
185 installed·apps·can·provide·templates·in·a·<code·class="docutils·literal·notranslate"><span·class="pre">jinja2</span></code>·directory.</p>186 installed·apps·can·provide·templates·in·a·<code·class="docutils·literal·notranslate"><span·class="pre">jinja2</span></code>·directory.</p>
186 <p>To·use·this·backend,·all·the·forms·and·widgets·in·your·project·and·its187 <p>To·use·this·backend,·all·the·forms·and·widgets·in·your·project·and·its
187 third-party·apps·must·have·Jinja2·templates.·Unless·you·provide·your·own·Jinja2188 third-party·apps·must·have·Jinja2·templates.·Unless·you·provide·your·own·Jinja2
188 templates·for·widgets·that·don’t·have·any,·you·can’t·use·this·renderer.·For189 templates·for·widgets·that·don’t·have·any,·you·can’t·use·this·renderer.·For
189 example,·<a·class="reference·internal"·href="../contrib/admin/index.html#module-django.contrib.admin"·title="django.contrib.admin:·Django's·admin·site."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code></a>·doesn’t·include·Jinja2·templates·for·its190 example,·<a·class="reference·internal"·href="../contrib/admin/index.html#module-django.contrib.admin"·title="django.contrib.admin:·Django's·admin·site."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code></a>·doesn’t·include·Jinja2·templates·for·its
190 widgets·due·to·their·usage·of·Django·template·tags.</p>191 widgets·due·to·their·usage·of·Django·template·tags.</p>
191 <dl·class="py·class">192 <dl·class="py·class">
192 <dt·class="sig·sig-object·py"·id="django.forms.renderers.Jinja2DivFormRenderer">193 <dt·class="sig·sig-object·py"·id="django.forms.renderers.Jinja2DivFormRenderer">
193 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Jinja2DivFormRenderer</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L88"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.Jinja2DivFormRenderer"·title="Link·to·this·definition">¶</a></dt>194 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Jinja2DivFormRenderer</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/renderers.py#L88"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.renderers.Jinja2DivFormRenderer"·title="Link·to·this·definition">¶</a></dt>
194 <dd></dd></dl>195 <dd></dd></dl>
  
Max diff block lines reached; 5103/22146 bytes (23.04%) of diff not shown.
8.82 KB
html2text {}
Max HTML report size reached
14.6 KB
./usr/share/doc/python-django-doc/html/ref/forms/validation.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Form·and·field·validation·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Form·and·field·validation·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Logging"·href="../logging.html"·/>15 ····<link·rel="next"·title="Logging"·href="../logging.html"·/>
15 ····<link·rel="prev"·title="Widgets"·href="widgets.html"·/>16 ····<link·rel="prev"·title="Widgets"·href="widgets.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 137, 23 lines modifiedOffset 138, 23 lines modified
137 the·data.</p>138 the·data.</p>
138 <p>The·return·value·of·this·method·replaces·the·existing·value·in139 <p>The·return·value·of·this·method·replaces·the·existing·value·in
139 <code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>,·so·it·must·be·the·field’s·value·from·<code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>·(even140 <code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>,·so·it·must·be·the·field’s·value·from·<code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>·(even
140 if·this·method·didn’t·change·it)·or·a·new·cleaned·value.</p>141 if·this·method·didn’t·change·it)·or·a·new·cleaned·value.</p>
141 </li>142 </li>
142 <li><p>The·form·subclass’s·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·can·perform·validation·that·requires143 <li><p>The·form·subclass’s·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·can·perform·validation·that·requires
143 access·to·multiple·form·fields.·This·is·where·you·might·put·in·checks·such·as144 access·to·multiple·form·fields.·This·is·where·you·might·put·in·checks·such·as
144 if·field·<code·class="docutils·literal·notranslate"><span·class="pre">A</span></code>·is·supplied,·field·<code·class="docutils·literal·notranslate"><span·class="pre">B</span></code>·must·contain·a·valid·email·address.145 if·field·<code·class="docutils·literal·notranslate"><span·class="pre">A</span></code>·is·supplied,·field·<code·class="docutils·literal·notranslate"><span·class="pre">B</span></code>·must·contain·a·valid·email·address.
145 This·method·can·return·a·completely·different·dictionary·if·it·wishes,·which146 This·method·can·return·a·completely·different·dictionary·if·it·wishes,·which
146 will·be·used·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>.</p>147 will·be·used·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>.</p>
147 <p>Since·the·field·validation·methods·have·been·run·by·the·time·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·is148 <p>Since·the·field·validation·methods·have·been·run·by·the·time·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·is
148 called,·you·also·have·access·to·the·form’s·<code·class="docutils·literal·notranslate"><span·class="pre">errors</span></code>·attribute·which149 called,·you·also·have·access·to·the·form’s·<code·class="docutils·literal·notranslate"><span·class="pre">errors</span></code>·attribute·which
149 contains·all·the·errors·raised·by·cleaning·of·individual·fields.</p>150 contains·all·the·errors·raised·by·cleaning·of·individual·fields.</p>
150 <p>Note·that·any·errors·raised·by·your·<a·class="reference·internal"·href="api.html#django.forms.Form.clean"·title="django.forms.Form.clean"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Form.clean()</span></code></a>·override·will·not151 <p>Note·that·any·errors·raised·by·your·<a·class="reference·internal"·href="api.html#django.forms.Form.clean"·title="django.forms.Form.clean"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Form.clean()</span></code></a>·override·will·not
151 be·associated·with·any·field·in·particular.·They·go·into·a·special152 be·associated·with·any·field·in·particular.·They·go·into·a·special
152 field·(called·<code·class="docutils·literal·notranslate"><span·class="pre">__all__</span></code>),·which·you·can·access·via·the153 field·(called·<code·class="docutils·literal·notranslate"><span·class="pre">__all__</span></code>),·which·you·can·access·via·the
153 <a·class="reference·internal"·href="api.html#django.forms.Form.non_field_errors"·title="django.forms.Form.non_field_errors"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">non_field_errors()</span></code></a>·method·if·you·need·to.·If·you154 <a·class="reference·internal"·href="api.html#django.forms.Form.non_field_errors"·title="django.forms.Form.non_field_errors"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">non_field_errors()</span></code></a>·method·if·you·need·to.·If·you
154 want·to·attach·errors·to·a·specific·field·in·the·form,·you·need·to·call155 want·to·attach·errors·to·a·specific·field·in·the·form,·you·need·to·call
155 <a·class="reference·internal"·href="api.html#django.forms.Form.add_error"·title="django.forms.Form.add_error"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">add_error()</span></code></a>.</p>156 <a·class="reference·internal"·href="api.html#django.forms.Form.add_error"·title="django.forms.Form.add_error"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">add_error()</span></code></a>.</p>
156 <p>Also·note·that·there·are·special·considerations·when·overriding157 <p>Also·note·that·there·are·special·considerations·when·overriding
157 the·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·subclass.·(see·the158 the·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·subclass.·(see·the
158 <a·class="reference·internal"·href="../../topics/forms/modelforms.html#overriding-modelform-clean-method"><span·class="std·std-ref">ModelForm·documentation</span></a>·for·more·information)</p>159 <a·class="reference·internal"·href="../../topics/forms/modelforms.html#overriding-modelform-clean-method"><span·class="std·std-ref">ModelForm·documentation</span></a>·for·more·information)</p>
159 </li>160 </li>
Offset 433, 15 lines modifiedOffset 434, 15 lines modified
433 ····<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">clean</span><span·class="p">()</span>434 ····<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">clean</span><span·class="p">()</span>
434 ····<span·class="n">cc_myself</span>·<span·class="o">=</span>·<span·class="bp">self</span><span·class="o">.</span><span·class="n">cleaned_data</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="s2">&quot;cc_myself&quot;</span><span·class="p">)</span>435 ····<span·class="n">cc_myself</span>·<span·class="o">=</span>·<span·class="bp">self</span><span·class="o">.</span><span·class="n">cleaned_data</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="s2">&quot;cc_myself&quot;</span><span·class="p">)</span>
435 ····<span·class="o">...</span>436 ····<span·class="o">...</span>
436 </pre></div>437 </pre></div>
437 </div>438 </div>
438 <p>The·second·approach·for·reporting·validation·errors·might·involve·assigning·the439 <p>The·second·approach·for·reporting·validation·errors·might·involve·assigning·the
439 error·message·to·one·of·the·fields.·In·this·case,·let’s·assign·an·error·message440 error·message·to·one·of·the·fields.·In·this·case,·let’s·assign·an·error·message
440 to·both·the·subject·and·cc_myself·rows·in·the·form·display.·Be·careful·when441 to·both·the·subject·and·cc_myself·rows·in·the·form·display.·Be·careful·when
441 doing·this·in·practice,·since·it·can·lead·to·confusing·form·output.·We’re442 doing·this·in·practice,·since·it·can·lead·to·confusing·form·output.·We’re
442 showing·what·is·possible·here·and·leaving·it·up·to·you·and·your·designers·to443 showing·what·is·possible·here·and·leaving·it·up·to·you·and·your·designers·to
443 work·out·what·works·effectively·in·your·particular·situation.·Our·new·code444 work·out·what·works·effectively·in·your·particular·situation.·Our·new·code
444 (replacing·the·previous·sample)·looks·like·this:</p>445 (replacing·the·previous·sample)·looks·like·this:</p>
445 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django</span>·<span·class="kn">import</span>·<span·class="n">forms</span>446 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django</span>·<span·class="kn">import</span>·<span·class="n">forms</span>
  
  
Offset 475, 15 lines modifiedOffset 476, 15 lines modified
475 ······476 ······
476 ········477 ········
477 ··········<div·class="yui-b"·id="sidebar">478 ··········<div·class="yui-b"·id="sidebar">
478 ············479 ············
479 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">480 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
480 ········<div·class="sphinxsidebarwrapper">481 ········<div·class="sphinxsidebarwrapper">
481 ··<div>482 ··<div>
482 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>483 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
483 ····<ul>484 ····<ul>
484 <li><a·class="reference·internal"·href="#">Form·and·field·validation</a><ul>485 <li><a·class="reference·internal"·href="#">Form·and·field·validation</a><ul>
485 <li><a·class="reference·internal"·href="#raising-validationerror">Raising·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a><ul>486 <li><a·class="reference·internal"·href="#raising-validationerror">Raising·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a><ul>
486 <li><a·class="reference·internal"·href="#raising-multiple-errors">Raising·multiple·errors</a></li>487 <li><a·class="reference·internal"·href="#raising-multiple-errors">Raising·multiple·errors</a></li>
487 </ul>488 </ul>
488 </li>489 </li>
489 <li><a·class="reference·internal"·href="#using-validation-in-practice">Using·validation·in·practice</a><ul>490 <li><a·class="reference·internal"·href="#using-validation-in-practice">Using·validation·in·practice</a><ul>
Offset 495, 37 lines modifiedOffset 496, 37 lines modified
495 </li>496 </li>
496 </ul>497 </ul>
497 </li>498 </li>
498 </ul>499 </ul>
  
499 ··</div>500 ··</div>
500 ··<div>501 ··<div>
501 ····<h4>Previous·topic</h4>502 ····<h4>Eelmine·teema</h4>
502 ····<p·class="topless"><a·href="widgets.html"503 ····<p·class="topless"><a·href="widgets.html"
503 ··························title="previous·chapter">Widgets</a></p>504 ··························title="eelmine·jaotis">Widgets</a></p>
504 ··</div>505 ··</div>
505 ··<div>506 ··<div>
506 ····<h4>Next·topic</h4>507 ····<h4>Järgmine·teema</h4>
507 ····<p·class="topless"><a·href="../logging.html"508 ····<p·class="topless"><a·href="../logging.html"
508 ··························title="next·chapter">Logging</a></p>509 ··························title="järgmine·jaotis">Logging</a></p>
509 ··</div>510 ··</div>
510 <search·id="searchbox"·style="display:·none"·role="search">511 <search·id="searchbox"·style="display:·none"·role="search">
511 ··<h3·id="searchlabel">Quick·search</h3>512 ··<h3·id="searchlabel">Kiirotsing</h3>
512 ····<div·class="searchformwrapper">513 ····<div·class="searchformwrapper">
513 ····<form·class="search"·action="../../search.html"·method="get">514 ····<form·class="search"·action="../../search.html"·method="get">
514 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>515 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
515 ······<input·type="submit"·value="Go"·/>516 ······<input·type="submit"·value="Otsi"·/>
516 ····</form>517 ····</form>
517 ····</div>518 ····</div>
518 </search>519 </search>
519 <script>document.getElementById('searchbox').style.display·=·"block"</script>520 <script>document.getElementById('searchbox').style.display·=·"block"</script>
520 ········</div>521 ········</div>
521 ······</div>522 ······</div>
522 ··············<h3>Last·update:</h3>523 ··············<h3>Last·update:</h3>
523 ··············<p·class="topless">Nov·05,·2024</p>524 ··············<p·class="topless">nov·05,·2024</p>
524 ··········</div>525 ··········</div>
Max diff block lines reached; 66/9009 bytes (0.73%) of diff not shown.
5.7 KB
html2text {}
Max HTML report size reached
119 KB
./usr/share/doc/python-django-doc/html/ref/forms/widgets.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Widgets·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Widgets·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Form·and·field·validation"·href="validation.html"·/>15 ····<link·rel="next"·title="Form·and·field·validation"·href="validation.html"·/>
15 ····<link·rel="prev"·title="The·form·rendering·API"·href="renderers.html"·/>16 ····<link·rel="prev"·title="The·form·rendering·API"·href="renderers.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 82, 15 lines modifiedOffset 83, 15 lines modified
82 <p>A·widget·is·Django’s·representation·of·an·HTML·input·element.·The·widget83 <p>A·widget·is·Django’s·representation·of·an·HTML·input·element.·The·widget
83 handles·the·rendering·of·the·HTML,·and·the·extraction·of·data·from·a·GET/POST84 handles·the·rendering·of·the·HTML,·and·the·extraction·of·data·from·a·GET/POST
84 dictionary·that·corresponds·to·the·widget.</p>85 dictionary·that·corresponds·to·the·widget.</p>
85 <p>The·HTML·generated·by·the·built-in·widgets·uses·HTML5·syntax,·targeting86 <p>The·HTML·generated·by·the·built-in·widgets·uses·HTML5·syntax,·targeting
86 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;!DOCTYPE</span>·<span·class="pre">html&gt;</span></code>.·For·example,·it·uses·boolean·attributes·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">checked</span></code>87 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;!DOCTYPE</span>·<span·class="pre">html&gt;</span></code>.·For·example,·it·uses·boolean·attributes·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">checked</span></code>
87 rather·than·the·XHTML·style·of·<code·class="docutils·literal·notranslate"><span·class="pre">checked='checked'</span></code>.</p>88 rather·than·the·XHTML·style·of·<code·class="docutils·literal·notranslate"><span·class="pre">checked='checked'</span></code>.</p>
88 <div·class="admonition·tip">89 <div·class="admonition·tip">
89 <p·class="admonition-title">Tip</p>90 <p·class="admonition-title">Nõuanne</p>
90 <p>Widgets·should·not·be·confused·with·the·<a·class="reference·internal"·href="fields.html"><span·class="doc">form·fields</span></a>.91 <p>Widgets·should·not·be·confused·with·the·<a·class="reference·internal"·href="fields.html"><span·class="doc">form·fields</span></a>.
91 Form·fields·deal·with·the·logic·of·input·validation·and·are·used·directly92 Form·fields·deal·with·the·logic·of·input·validation·and·are·used·directly
92 in·templates.·Widgets·deal·with·rendering·of·HTML·form·input·elements·on93 in·templates.·Widgets·deal·with·rendering·of·HTML·form·input·elements·on
93 the·web·page·and·extraction·of·raw·submitted·data.·However,·widgets·do94 the·web·page·and·extraction·of·raw·submitted·data.·However,·widgets·do
94 need·to·be·<a·class="reference·internal"·href="#widget-to-field"><span·class="std·std-ref">assigned</span></a>·to·form·fields.</p>95 need·to·be·<a·class="reference·internal"·href="#widget-to-field"><span·class="std·std-ref">assigned</span></a>·to·form·fields.</p>
95 </div>96 </div>
96 <section·id="s-specifying-widgets">97 <section·id="s-specifying-widgets">
Offset 203, 16 lines modifiedOffset 204, 16 lines modified
203 <span·class="go">&lt;div&gt;Name:&lt;input·type=&quot;text&quot;·name=&quot;name&quot;·required&gt;&lt;/div&gt;</span>204 <span·class="go">&lt;div&gt;Name:&lt;input·type=&quot;text&quot;·name=&quot;name&quot;·required&gt;&lt;/div&gt;</span>
204 <span·class="go">&lt;div&gt;Url:&lt;input·type=&quot;url&quot;·name=&quot;url&quot;·required&gt;&lt;/div&gt;</span>205 <span·class="go">&lt;div&gt;Url:&lt;input·type=&quot;url&quot;·name=&quot;url&quot;·required&gt;&lt;/div&gt;</span>
205 <span·class="go">&lt;div&gt;Comment:&lt;input·type=&quot;text&quot;·name=&quot;comment&quot;·required&gt;&lt;/div&gt;</span>206 <span·class="go">&lt;div&gt;Comment:&lt;input·type=&quot;text&quot;·name=&quot;comment&quot;·required&gt;&lt;/div&gt;</span>
206 </pre></div>207 </pre></div>
207 </div>208 </div>
208 <p>On·a·real·web·page,·you·probably·don’t·want·every·widget·to·look·the·same.·You209 <p>On·a·real·web·page,·you·probably·don’t·want·every·widget·to·look·the·same.·You
209 might·want·a·larger·input·element·for·the·comment,·and·you·might·want·the210 might·want·a·larger·input·element·for·the·comment,·and·you·might·want·the
210 name·widget·to·have·some·special·CSS·class.·It·is·also·possible·to·specify211 name·widget·to·have·some·special·CSS·class.·It·is·also·possible·to·specify
211 the·type·attribute·to·take·advantage·of·the·new·HTML5·input·types.··To·do212 the·type·attribute·to·take·advantage·of·the·new·HTML5·input·types.··To·do
212 this,·you·use·the·<a·class="reference·internal"·href="#django.forms.Widget.attrs"·title="django.forms.Widget.attrs"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Widget.attrs</span></code></a>·argument·when·creating·the·widget:</p>213 this,·you·use·the·<a·class="reference·internal"·href="#django.forms.Widget.attrs"·title="django.forms.Widget.attrs"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Widget.attrs</span></code></a>·argument·when·creating·the·widget:</p>
213 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">CommentForm</span><span·class="p">(</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">Form</span><span·class="p">):</span>214 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">CommentForm</span><span·class="p">(</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">Form</span><span·class="p">):</span>
214 ····<span·class="n">name</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">widget</span><span·class="o">=</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">TextInput</span><span·class="p">(</span><span·class="n">attrs</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;class&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;special&quot;</span><span·class="p">}))</span>215 ····<span·class="n">name</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">widget</span><span·class="o">=</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">TextInput</span><span·class="p">(</span><span·class="n">attrs</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;class&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;special&quot;</span><span·class="p">}))</span>
215 ····<span·class="n">url</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">URLField</span><span·class="p">()</span>216 ····<span·class="n">url</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">URLField</span><span·class="p">()</span>
216 ····<span·class="n">comment</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">widget</span><span·class="o">=</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">TextInput</span><span·class="p">(</span><span·class="n">attrs</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;size&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;40&quot;</span><span·class="p">}))</span>217 ····<span·class="n">comment</span>·<span·class="o">=</span>·<span·class="n">forms</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">widget</span><span·class="o">=</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">TextInput</span><span·class="p">(</span><span·class="n">attrs</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;size&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;40&quot;</span><span·class="p">}))</span>
217 </pre></div>218 </pre></div>
218 </div>219 </div>
Offset 247, 30 lines modifiedOffset 248, 30 lines modified
247 <a·class="reference·internal"·href="api.html#django.forms.BoundField.id_for_label"·title="django.forms.BoundField.id_for_label"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">BoundField.id_for_label</span></code></a>·for·an·example.</p>248 <a·class="reference·internal"·href="api.html#django.forms.BoundField.id_for_label"·title="django.forms.BoundField.id_for_label"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">BoundField.id_for_label</span></code></a>·for·an·example.</p>
248 </section>249 </section>
249 <section·id="s-styling-widget-classes">250 <section·id="s-styling-widget-classes">
250 <span·id="s-id2"></span><span·id="styling-widget-classes"></span><span·id="id2"></span><h3>Styling·widget·classes<a·class="headerlink"·href="#styling-widget-classes"·title="Link·to·this·heading">¶</a></h3>251 <span·id="s-id2"></span><span·id="styling-widget-classes"></span><span·id="id2"></span><h3>Styling·widget·classes<a·class="headerlink"·href="#styling-widget-classes"·title="Link·to·this·heading">¶</a></h3>
251 <p>With·widgets,·it·is·possible·to·add·assets·(<code·class="docutils·literal·notranslate"><span·class="pre">css</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">javascript</span></code>)252 <p>With·widgets,·it·is·possible·to·add·assets·(<code·class="docutils·literal·notranslate"><span·class="pre">css</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">javascript</span></code>)
252 and·more·deeply·customize·their·appearance·and·behavior.</p>253 and·more·deeply·customize·their·appearance·and·behavior.</p>
253 <p>In·a·nutshell,·you·will·need·to·subclass·the·widget·and·either254 <p>In·a·nutshell,·you·will·need·to·subclass·the·widget·and·either
254 <a·class="reference·internal"·href="../../topics/forms/media.html#assets-as-a-static-definition"><span·class="std·std-ref">define·a·Media·inner·class</span></a>·or255 <a·class="reference·internal"·href="../../topics/forms/media.html#assets-as-a-static-definition"><span·class="std·std-ref">define·a·Media·inner·class</span></a>·or
255 <a·class="reference·internal"·href="../../topics/forms/media.html#dynamic-property"><span·class="std·std-ref">create·a·media·property</span></a>.</p>256 <a·class="reference·internal"·href="../../topics/forms/media.html#dynamic-property"><span·class="std·std-ref">create·a·media·property</span></a>.</p>
256 <p>These·methods·involve·somewhat·advanced·Python·programming·and·are·described·in257 <p>These·methods·involve·somewhat·advanced·Python·programming·and·are·described·in
257 detail·in·the·<a·class="reference·internal"·href="../../topics/forms/media.html"><span·class="doc">Form·Assets</span></a>·topic·guide.</p>258 detail·in·the·<a·class="reference·internal"·href="../../topics/forms/media.html"><span·class="doc">Form·Assets</span></a>·topic·guide.</p>
258 </section>259 </section>
259 </section>260 </section>
260 <section·id="s-base-widget-classes">261 <section·id="s-base-widget-classes">
261 <span·id="s-id3"></span><span·id="base-widget-classes"></span><span·id="id3"></span><h2>Base·widget·classes<a·class="headerlink"·href="#base-widget-classes"·title="Link·to·this·heading">¶</a></h2>262 <span·id="s-id3"></span><span·id="base-widget-classes"></span><span·id="id3"></span><h2>Base·widget·classes<a·class="headerlink"·href="#base-widget-classes"·title="Link·to·this·heading">¶</a></h2>
262 <p>Base·widget·classes·<a·class="reference·internal"·href="#django.forms.Widget"·title="django.forms.Widget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Widget</span></code></a>·and·<a·class="reference·internal"·href="#django.forms.MultiWidget"·title="django.forms.MultiWidget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultiWidget</span></code></a>·are·subclassed·by263 <p>Base·widget·classes·<a·class="reference·internal"·href="#django.forms.Widget"·title="django.forms.Widget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Widget</span></code></a>·and·<a·class="reference·internal"·href="#django.forms.MultiWidget"·title="django.forms.MultiWidget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultiWidget</span></code></a>·are·subclassed·by
263 all·the·<a·class="reference·internal"·href="#built-in-widgets"><span·class="std·std-ref">built-in·widgets</span></a>·and·may·serve·as·a264 all·the·<a·class="reference·internal"·href="#built-in-widgets"><span·class="std·std-ref">built-in·widgets</span></a>·and·may·serve·as·a
264 foundation·for·custom·widgets.</p>265 foundation·for·custom·widgets.</p>
265 <section·id="s-widget">266 <section·id="s-widget">
266 <span·id="widget"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Widget</span></code><a·class="headerlink"·href="#widget"·title="Link·to·this·heading">¶</a></h3>267 <span·id="widget"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Widget</span></code><a·class="headerlink"·href="#widget"·title="Link·to·this·heading">¶</a></h3>
267 <dl·class="py·class">268 <dl·class="py·class">
268 <dt·class="sig·sig-object·py"·id="django.forms.Widget">269 <dt·class="sig·sig-object·py"·id="django.forms.Widget">
269 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Widget</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">attrs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/widgets.py#L230"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.Widget"·title="Link·to·this·definition">¶</a></dt>270 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Widget</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">attrs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/widgets.py#L230"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.Widget"·title="Link·to·this·definition">¶</a></dt>
270 <dd><p>This·abstract·class·cannot·be·rendered,·but·provides·the·basic·attribute271 <dd><p>This·abstract·class·cannot·be·rendered,·but·provides·the·basic·attribute
271 <a·class="reference·internal"·href="#django.forms.Widget.attrs"·title="django.forms.Widget.attrs"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">attrs</span></code></a>.··You·may·also·implement·or·override·the272 <a·class="reference·internal"·href="#django.forms.Widget.attrs"·title="django.forms.Widget.attrs"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">attrs</span></code></a>.··You·may·also·implement·or·override·the
272 <a·class="reference·internal"·href="#django.forms.Widget.render"·title="django.forms.Widget.render"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">render()</span></code></a>·method·on·custom·widgets.</p>273 <a·class="reference·internal"·href="#django.forms.Widget.render"·title="django.forms.Widget.render"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">render()</span></code></a>·method·on·custom·widgets.</p>
273 <dl·class="py·attribute">274 <dl·class="py·attribute">
274 <dt·class="sig·sig-object·py"·id="django.forms.Widget.attrs">275 <dt·class="sig·sig-object·py"·id="django.forms.Widget.attrs">
275 <span·class="sig-name·descname"><span·class="pre">attrs</span></span><a·class="headerlink"·href="#django.forms.Widget.attrs"·title="Link·to·this·definition">¶</a></dt>276 <span·class="sig-name·descname"><span·class="pre">attrs</span></span><a·class="headerlink"·href="#django.forms.Widget.attrs"·title="Link·to·this·definition">¶</a></dt>
276 <dd><p>A·dictionary·containing·HTML·attributes·to·be·set·on·the·rendered277 <dd><p>A·dictionary·containing·HTML·attributes·to·be·set·on·the·rendered
Offset 294, 29 lines modifiedOffset 295, 29 lines modified
294 </div>295 </div>
295 </dd></dl>296 </dd></dl>
  
296 <dl·class="py·attribute">297 <dl·class="py·attribute">
297 <dt·class="sig·sig-object·py"·id="django.forms.Widget.supports_microseconds">298 <dt·class="sig·sig-object·py"·id="django.forms.Widget.supports_microseconds">
298 <span·class="sig-name·descname"><span·class="pre">supports_microseconds</span></span><a·class="headerlink"·href="#django.forms.Widget.supports_microseconds"·title="Link·to·this·definition">¶</a></dt>299 <span·class="sig-name·descname"><span·class="pre">supports_microseconds</span></span><a·class="headerlink"·href="#django.forms.Widget.supports_microseconds"·title="Link·to·this·definition">¶</a></dt>
299 <dd><p>An·attribute·that·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·If·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·the300 <dd><p>An·attribute·that·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·If·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·the
300 microseconds·part·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·and301 microseconds·part·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·and
301 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.time"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">time</span></code></a>·values·will·be·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>.</p>302 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.time"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">time</span></code></a>·values·will·be·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>.</p>
302 </dd></dl>303 </dd></dl>
  
303 <dl·class="py·method">304 <dl·class="py·method">
304 <dt·class="sig·sig-object·py"·id="django.forms.Widget.format_value">305 <dt·class="sig·sig-object·py"·id="django.forms.Widget.format_value">
305 <span·class="sig-name·descname"><span·class="pre">format_value</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/widgets.py#L254"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.Widget.format_value"·title="Link·to·this·definition">¶</a></dt>306 <span·class="sig-name·descname"><span·class="pre">format_value</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/widgets.py#L254"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.Widget.format_value"·title="Link·to·this·definition">¶</a></dt>
306 <dd><p>Cleans·and·returns·a·value·for·use·in·the·widget·template.·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>307 <dd><p>Cleans·and·returns·a·value·for·use·in·the·widget·template.·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>
307 isn’t·guaranteed·to·be·valid·input,·therefore·subclass·implementations308 isn’t·guaranteed·to·be·valid·input,·therefore·subclass·implementations
308 should·program·defensively.</p>309 should·program·defensively.</p>
309 </dd></dl>310 </dd></dl>
  
310 <dl·class="py·method">311 <dl·class="py·method">
311 <dt·class="sig·sig-object·py"·id="django.forms.Widget.get_context">312 <dt·class="sig·sig-object·py"·id="django.forms.Widget.get_context">
312 <span·class="sig-name·descname"><span·class="pre">get_context</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">attrs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/widgets.py#L264"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.Widget.get_context"·title="Link·to·this·definition">¶</a></dt>313 <span·class="sig-name·descname"><span·class="pre">get_context</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">attrs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/widgets.py#L264"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.Widget.get_context"·title="Link·to·this·definition">¶</a></dt>
313 <dd><p>Returns·a·dictionary·of·values·to·use·when·rendering·the·widget314 <dd><p>Returns·a·dictionary·of·values·to·use·when·rendering·the·widget
Max diff block lines reached; 74008/89777 bytes (82.44%) of diff not shown.
31.1 KB
html2text {}
Max HTML report size reached
6.66 KB
./usr/share/doc/python-django-doc/html/ref/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>API·Reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>API·Reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Applications"·href="applications.html"·/>15 ····<link·rel="next"·title="Applications"·href="applications.html"·/>
15 ····<link·rel="prev"·title="Troubleshooting"·href="../faq/troubleshooting.html"·/>16 ····<link·rel="prev"·title="Troubleshooting"·href="../faq/troubleshooting.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="../faq/troubleshooting.html"·title="Troubleshooting">previous</a>67 ····&laquo;·<a·href="../faq/troubleshooting.html"·title="Troubleshooting">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="applications.html"·title="Applications">next</a>·&raquo;</div>71 ····<a·href="applications.html"·title="Applications">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 122, 47 lines modifiedOffset 123, 47 lines modified
122 ······123 ······
123 ········124 ········
124 ··········<div·class="yui-b"·id="sidebar">125 ··········<div·class="yui-b"·id="sidebar">
125 ············126 ············
126 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">127 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
127 ········<div·class="sphinxsidebarwrapper">128 ········<div·class="sphinxsidebarwrapper">
128 ··<div>129 ··<div>
129 ····<h4>Previous·topic</h4>130 ····<h4>Eelmine·teema</h4>
130 ····<p·class="topless"><a·href="../faq/troubleshooting.html"131 ····<p·class="topless"><a·href="../faq/troubleshooting.html"
131 ··························title="previous·chapter">Troubleshooting</a></p>132 ··························title="eelmine·jaotis">Troubleshooting</a></p>
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Next·topic</h4>135 ····<h4>Järgmine·teema</h4>
135 ····<p·class="topless"><a·href="applications.html"136 ····<p·class="topless"><a·href="applications.html"
136 ··························title="next·chapter">Applications</a></p>137 ··························title="järgmine·jaotis">Applications</a></p>
137 ··</div>138 ··</div>
138 <search·id="searchbox"·style="display:·none"·role="search">139 <search·id="searchbox"·style="display:·none"·role="search">
139 ··<h3·id="searchlabel">Quick·search</h3>140 ··<h3·id="searchlabel">Kiirotsing</h3>
140 ····<div·class="searchformwrapper">141 ····<div·class="searchformwrapper">
141 ····<form·class="search"·action="../search.html"·method="get">142 ····<form·class="search"·action="../search.html"·method="get">
142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
143 ······<input·type="submit"·value="Go"·/>144 ······<input·type="submit"·value="Otsi"·/>
144 ····</form>145 ····</form>
145 ····</div>146 ····</div>
146 </search>147 </search>
147 <script>document.getElementById('searchbox').style.display·=·"block"</script>148 <script>document.getElementById('searchbox').style.display·=·"block"</script>
148 ········</div>149 ········</div>
149 ······</div>150 ······</div>
150 ··············<h3>Last·update:</h3>151 ··············<h3>Last·update:</h3>
151 ··············<p·class="topless">Nov·05,·2024</p>152 ··············<p·class="topless">nov·05,·2024</p>
152 ··········</div>153 ··········</div>
153 ········154 ········
154 ······155 ······
155 ····</div>156 ····</div>
  
156 ····<div·id="ft">157 ····<div·id="ft">
157 ······<div·class="nav">158 ······<div·class="nav">
158 ····&laquo;·<a·href="../faq/troubleshooting.html"·title="Troubleshooting">previous</a>159 ····&laquo;·<a·href="../faq/troubleshooting.html"·title="Troubleshooting">previous</a>
159 ·····|160 ·····|
160 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>161 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
161 ···|162 ···|
162 ····<a·href="applications.html"·title="Applications">next</a>·&raquo;</div>163 ····<a·href="applications.html"·title="Applications">next</a>·&raquo;</div>
163 ····</div>164 ····</div>
164 ··</div>165 ··</div>
  
165 ······<div·class="clearer"></div>166 ······<div·class="clearer"></div>
166 ····</div>167 ····</div>
2.08 KB
html2text {}
Max HTML report size reached
31.9 KB
./usr/share/doc/python-django-doc/html/ref/logging.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Logging·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Logging·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Middleware"·href="middleware.html"·/>15 ····<link·rel="next"·title="Middleware"·href="middleware.html"·/>
15 ····<link·rel="prev"·title="Form·and·field·validation"·href="forms/validation.html"·/>16 ····<link·rel="prev"·title="Form·and·field·validation"·href="forms/validation.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 26 lines modifiedOffset 77, 26 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-logging">79 ··········<div·class="yui-g"·id="ref-logging">
79 ············80 ············
80 ··<section·id="s-logging">81 ··<section·id="s-logging">
81 <span·id="s-logging-ref"></span><span·id="logging"></span><span·id="logging-ref"></span><h1>Logging<a·class="headerlink"·href="#logging"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-logging-ref"></span><span·id="logging"></span><span·id="logging-ref"></span><h1>Logging<a·class="headerlink"·href="#logging"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·seealso">83 <div·class="admonition·seealso">
83 <p·class="admonition-title">See·also</p>84 <p·class="admonition-title">Vaata·ka</p>
84 <ul·class="simple">85 <ul·class="simple">
85 <li><p><a·class="reference·internal"·href="../howto/logging.html#logging-how-to"><span·class="std·std-ref">How·to·configure·and·use·logging</span></a></p></li>86 <li><p><a·class="reference·internal"·href="../howto/logging.html#logging-how-to"><span·class="std·std-ref">How·to·configure·and·use·logging</span></a></p></li>
86 <li><p><a·class="reference·internal"·href="../topics/logging.html#logging-explanation"><span·class="std·std-ref">Django·logging·overview</span></a></p></li>87 <li><p><a·class="reference·internal"·href="../topics/logging.html#logging-explanation"><span·class="std·std-ref">Django·logging·overview</span></a></p></li>
87 </ul>88 </ul>
88 </div>89 </div>
89 <p·id="module-django.utils.log">Django’s·logging·module·extends·Python’s·builtin·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#module-logging"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">logging</span></code></a>.</p>90 <p·id="module-django.utils.log">Django’s·logging·module·extends·Python’s·builtin·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#module-logging"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">logging</span></code></a>.</p>
90 <p>Logging·is·configured·as·part·of·the·general·Django·<a·class="reference·internal"·href="applications.html#django.setup"·title="django.setup"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.setup()</span></code></a>91 <p>Logging·is·configured·as·part·of·the·general·Django·<a·class="reference·internal"·href="applications.html#django.setup"·title="django.setup"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.setup()</span></code></a>
91 function,·so·it’s·always·available·unless·explicitly·disabled.</p>92 function,·so·it’s·always·available·unless·explicitly·disabled.</p>
92 <section·id="s-django-s-default-logging-configuration">93 <section·id="s-django-s-default-logging-configuration">
93 <span·id="s-default-logging-configuration"></span><span·id="django-s-default-logging-configuration"></span><span·id="default-logging-configuration"></span><h2>Django’s·default·logging·configuration<a·class="headerlink"·href="#django-s-default-logging-configuration"·title="Link·to·this·heading">¶</a></h2>94 <span·id="s-default-logging-configuration"></span><span·id="django-s-default-logging-configuration"></span><span·id="default-logging-configuration"></span><h2>Django’s·default·logging·configuration<a·class="headerlink"·href="#django-s-default-logging-configuration"·title="Link·to·this·heading">¶</a></h2>
94 <p>By·default,·Django·uses·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#logging-config-dictschema"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">logging.config.dictConfig·format</span></a>.</p>95 <p>By·default,·Django·uses·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#logging-config-dictschema"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">logging.config.dictConfig·format</span></a>.</p>
95 <section·id="s-default-logging-conditions">96 <section·id="s-default-logging-conditions">
96 <span·id="default-logging-conditions"></span><h3>Default·logging·conditions<a·class="headerlink"·href="#default-logging-conditions"·title="Link·to·this·heading">¶</a></h3>97 <span·id="default-logging-conditions"></span><h3>Default·logging·conditions<a·class="headerlink"·href="#default-logging-conditions"·title="Link·to·this·heading">¶</a></h3>
97 <p>The·full·set·of·default·logging·conditions·are:</p>98 <p>The·full·set·of·default·logging·conditions·are:</p>
98 <p>When·<a·class="reference·internal"·href="settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>:</p>99 <p>When·<a·class="reference·internal"·href="settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>:</p>
99 <ul·class="simple">100 <ul·class="simple">
100 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>·logger·sends·messages·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>·hierarchy·(except101 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>·logger·sends·messages·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">django</span></code>·hierarchy·(except
101 <code·class="docutils·literal·notranslate"><span·class="pre">django.server</span></code>)·at·the·<code·class="docutils·literal·notranslate"><span·class="pre">INFO</span></code>·level·or·higher·to·the·console.</p></li>102 <code·class="docutils·literal·notranslate"><span·class="pre">django.server</span></code>)·at·the·<code·class="docutils·literal·notranslate"><span·class="pre">INFO</span></code>·level·or·higher·to·the·console.</p></li>
Offset 205, 15 lines modifiedOffset 206, 15 lines modified
205 <p>Log·messages·related·to·the·handling·of·requests·received·by·the·server·invoked206 <p>Log·messages·related·to·the·handling·of·requests·received·by·the·server·invoked
206 by·the·<a·class="reference·internal"·href="django-admin.html#django-admin-runserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">runserver</span></code></a>·command.·HTTP·5XX·responses·are·logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">ERROR</span></code>207 by·the·<a·class="reference·internal"·href="django-admin.html#django-admin-runserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">runserver</span></code></a>·command.·HTTP·5XX·responses·are·logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">ERROR</span></code>
207 messages,·4XX·responses·are·logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>·messages,·and·everything·else208 messages,·4XX·responses·are·logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>·messages,·and·everything·else
208 is·logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">INFO</span></code>.</p>209 is·logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">INFO</span></code>.</p>
209 <p>Messages·to·this·logger·have·the·following·extra·context:</p>210 <p>Messages·to·this·logger·have·the·following·extra·context:</p>
210 <ul·class="simple">211 <ul·class="simple">
211 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">status_code</span></code>:·The·HTTP·response·code·associated·with·the·request.</p></li>212 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">status_code</span></code>:·The·HTTP·response·code·associated·with·the·request.</p></li>
212 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>:·The·request·object·(a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/socket.html#socket.socket"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">socket.socket</span></code></a>)·that·generated·the·logging·message.</p></li>213 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>:·The·request·object·(a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/socket.html#socket.socket"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">socket.socket</span></code></a>)·that·generated·the·logging·message.</p></li>
213 </ul>214 </ul>
214 </section>215 </section>
215 <section·id="s-django-template">216 <section·id="s-django-template">
216 <span·id="s-django-template-logger"></span><span·id="django-template"></span><span·id="django-template-logger"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">django.template</span></code><a·class="headerlink"·href="#django-template"·title="Link·to·this·heading">¶</a></h4>217 <span·id="s-django-template-logger"></span><span·id="django-template"></span><span·id="django-template-logger"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">django.template</span></code><a·class="headerlink"·href="#django-template"·title="Link·to·this·heading">¶</a></h4>
217 <p>Log·messages·related·to·the·rendering·of·templates.</p>218 <p>Log·messages·related·to·the·rendering·of·templates.</p>
218 <ul·class="simple">219 <ul·class="simple">
219 <li><p>Missing·context·variables·are·logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·messages.</p></li>220 <li><p>Missing·context·variables·are·logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·messages.</p></li>
Offset 329, 25 lines modifiedOffset 330, 25 lines modified
329 <a·class="reference·internal"·href="../topics/http/sessions.html#django.contrib.sessions.backends.cached_db.SessionStore"·title="django.contrib.sessions.backends.cached_db.SessionStore"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions.backends.cached_db.SessionStore</span></code></a>·engine·are330 <a·class="reference·internal"·href="../topics/http/sessions.html#django.contrib.sessions.backends.cached_db.SessionStore"·title="django.contrib.sessions.backends.cached_db.SessionStore"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions.backends.cached_db.SessionStore</span></code></a>·engine·are
330 logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">ERROR</span></code>·messages·with·the·corresponding·traceback.</p></li>331 logged·as·<code·class="docutils·literal·notranslate"><span·class="pre">ERROR</span></code>·messages·with·the·corresponding·traceback.</p></li>
331 </ul>332 </ul>
332 </section>333 </section>
333 </section>334 </section>
334 <section·id="s-handlers">335 <section·id="s-handlers">
335 <span·id="handlers"></span><h3>Handlers<a·class="headerlink"·href="#handlers"·title="Link·to·this·heading">¶</a></h3>336 <span·id="handlers"></span><h3>Handlers<a·class="headerlink"·href="#handlers"·title="Link·to·this·heading">¶</a></h3>
336 <p>Django·provides·one·log·handler·in·addition·to·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.handlers.html#module-logging.handlers"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">those</span>·<span·class="pre">provided</span>·<span·class="pre">by</span>·<span·class="pre">the</span>337 <p>Django·provides·one·log·handler·in·addition·to·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.handlers.html#module-logging.handlers"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">those</span>·<span·class="pre">provided</span>·<span·class="pre">by</span>·<span·class="pre">the</span>
337 <span·class="pre">Python</span>·<span·class="pre">logging</span>·<span·class="pre">module</span></code></a>.</p>338 <span·class="pre">Python</span>·<span·class="pre">logging</span>·<span·class="pre">module</span></code></a>.</p>
338 <dl·class="py·class">339 <dl·class="py·class">
339 <dt·class="sig·sig-object·py"·id="django.utils.log.AdminEmailHandler">340 <dt·class="sig·sig-object·py"·id="django.utils.log.AdminEmailHandler">
340 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AdminEmailHandler</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">include_html</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">email_backend</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">reporter_class</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/log.py#L79"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.utils.log.AdminEmailHandler"·title="Link·to·this·definition">¶</a></dt>341 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AdminEmailHandler</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">include_html</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">email_backend</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">reporter_class</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/log.py#L79"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.utils.log.AdminEmailHandler"·title="Link·to·this·definition">¶</a></dt>
341 <dd><p>This·handler·sends·an·email·to·the·site·<a·class="reference·internal"·href="settings.html#std-setting-ADMINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ADMINS</span></code></a>·for·each·log342 <dd><p>This·handler·sends·an·email·to·the·site·<a·class="reference·internal"·href="settings.html#std-setting-ADMINS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ADMINS</span></code></a>·for·each·log
342 message·it·receives.</p>343 message·it·receives.</p>
343 <p>If·the·log·record·contains·a·<code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·attribute,·the·full·details344 <p>If·the·log·record·contains·a·<code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·attribute,·the·full·details
344 of·the·request·will·be·included·in·the·email.·The·email·subject·will345 of·the·request·will·be·included·in·the·email.·The·email·subject·will
345 include·the·phrase·internal·IP·if·the·client’s·IP·address·is·in·the346 include·the·phrase·internal·IP·if·the·client’s·IP·address·is·in·the
346 <a·class="reference·internal"·href="settings.html#std-setting-INTERNAL_IPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INTERNAL_IPS</span></code></a>·setting;·if·not,·it·will·include·EXTERNAL·IP.</p>347 <a·class="reference·internal"·href="settings.html#std-setting-INTERNAL_IPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INTERNAL_IPS</span></code></a>·setting;·if·not,·it·will·include·EXTERNAL·IP.</p>
347 <p>If·the·log·record·contains·stack·trace·information,·that·stack348 <p>If·the·log·record·contains·stack·trace·information,·that·stack
348 trace·will·be·included·in·the·email.</p>349 trace·will·be·included·in·the·email.</p>
349 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">include_html</span></code>·argument·of·<code·class="docutils·literal·notranslate"><span·class="pre">AdminEmailHandler</span></code>·is·used·to350 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">include_html</span></code>·argument·of·<code·class="docutils·literal·notranslate"><span·class="pre">AdminEmailHandler</span></code>·is·used·to
350 control·whether·the·traceback·email·includes·an·HTML·attachment351 control·whether·the·traceback·email·includes·an·HTML·attachment
351 containing·the·full·content·of·the·debug·web·page·that·would·have·been352 containing·the·full·content·of·the·debug·web·page·that·would·have·been
352 produced·if·<a·class="reference·internal"·href="settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·were·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·To·set·this·value·in·your353 produced·if·<a·class="reference·internal"·href="settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·were·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·To·set·this·value·in·your
353 configuration,·include·it·in·the·handler·definition·for354 configuration,·include·it·in·the·handler·definition·for
Offset 388, 30 lines modifiedOffset 389, 30 lines modified
388 ········<span·class="s2">&quot;reporter_class&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;somepackage.error_reporter.CustomErrorReporter&quot;</span><span·class="p">,</span>389 ········<span·class="s2">&quot;reporter_class&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;somepackage.error_reporter.CustomErrorReporter&quot;</span><span·class="p">,</span>
389 ····<span·class="p">},</span>390 ····<span·class="p">},</span>
390 <span·class="p">}</span>391 <span·class="p">}</span>
391 </pre></div>392 </pre></div>
392 </div>393 </div>
393 <dl·class="py·method">394 <dl·class="py·method">
394 <dt·class="sig·sig-object·py"·id="django.utils.log.AdminEmailHandler.send_mail">395 <dt·class="sig·sig-object·py"·id="django.utils.log.AdminEmailHandler.send_mail">
395 <span·class="sig-name·descname"><span·class="pre">send_mail</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">subject</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/log.py#L137"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.utils.log.AdminEmailHandler.send_mail"·title="Link·to·this·definition">¶</a></dt>396 <span·class="sig-name·descname"><span·class="pre">send_mail</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">subject</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/log.py#L137"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.utils.log.AdminEmailHandler.send_mail"·title="Link·to·this·definition">¶</a></dt>
396 <dd><p>Sends·emails·to·admin·users.·To·customize·this·behavior,·you·can397 <dd><p>Sends·emails·to·admin·users.·To·customize·this·behavior,·you·can
397 subclass·the·<a·class="reference·internal"·href="#django.utils.log.AdminEmailHandler"·title="django.utils.log.AdminEmailHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AdminEmailHandler</span></code></a>·class·and398 subclass·the·<a·class="reference·internal"·href="#django.utils.log.AdminEmailHandler"·title="django.utils.log.AdminEmailHandler"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AdminEmailHandler</span></code></a>·class·and
398 override·this·method.</p>399 override·this·method.</p>
399 </dd></dl>400 </dd></dl>
  
400 </dd></dl>401 </dd></dl>
  
401 </section>402 </section>
402 <section·id="s-filters">403 <section·id="s-filters">
403 <span·id="filters"></span><h3>Filters<a·class="headerlink"·href="#filters"·title="Link·to·this·heading">¶</a></h3>404 <span·id="filters"></span><h3>Filters<a·class="headerlink"·href="#filters"·title="Link·to·this·heading">¶</a></h3>
Max diff block lines reached; 8034/24484 bytes (32.81%) of diff not shown.
7.87 KB
html2text {}
Max HTML report size reached
76.2 KB
./usr/share/doc/python-django-doc/html/ref/middleware.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Middleware·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Middleware·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Migration·Operations"·href="migration-operations.html"·/>15 ····<link·rel="next"·title="Migration·Operations"·href="migration-operations.html"·/>
15 ····<link·rel="prev"·title="Logging"·href="logging.html"·/>16 ····<link·rel="prev"·title="Logging"·href="logging.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 31 lines modifiedOffset 85, 31 lines modified
84 the·<a·class="reference·internal"·href="../topics/http/middleware.html"><span·class="doc">middleware·usage·guide</span></a>.</p>85 the·<a·class="reference·internal"·href="../topics/http/middleware.html"><span·class="doc">middleware·usage·guide</span></a>.</p>
85 <section·id="s-available-middleware">86 <section·id="s-available-middleware">
86 <span·id="available-middleware"></span><h2>Available·middleware<a·class="headerlink"·href="#available-middleware"·title="Link·to·this·heading">¶</a></h2>87 <span·id="available-middleware"></span><h2>Available·middleware<a·class="headerlink"·href="#available-middleware"·title="Link·to·this·heading">¶</a></h2>
87 <section·id="s-module-django.middleware.cache">88 <section·id="s-module-django.middleware.cache">
88 <span·id="s-cache-middleware"></span><span·id="module-django.middleware.cache"></span><span·id="cache-middleware"></span><h3>Cache·middleware<a·class="headerlink"·href="#module-django.middleware.cache"·title="Link·to·this·heading">¶</a></h3>89 <span·id="s-cache-middleware"></span><span·id="module-django.middleware.cache"></span><span·id="cache-middleware"></span><h3>Cache·middleware<a·class="headerlink"·href="#module-django.middleware.cache"·title="Link·to·this·heading">¶</a></h3>
89 <dl·class="py·class">90 <dl·class="py·class">
90 <dt·class="sig·sig-object·py"·id="django.middleware.cache.UpdateCacheMiddleware">91 <dt·class="sig·sig-object·py"·id="django.middleware.cache.UpdateCacheMiddleware">
91 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">UpdateCacheMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/cache.py#L61"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.middleware.cache.UpdateCacheMiddleware"·title="Link·to·this·definition">¶</a></dt>92 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">UpdateCacheMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/cache.py#L61"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.middleware.cache.UpdateCacheMiddleware"·title="Link·to·this·definition">¶</a></dt>
92 <dd></dd></dl>93 <dd></dd></dl>
  
93 <dl·class="py·class">94 <dl·class="py·class">
94 <dt·class="sig·sig-object·py"·id="django.middleware.cache.FetchFromCacheMiddleware">95 <dt·class="sig·sig-object·py"·id="django.middleware.cache.FetchFromCacheMiddleware">
95 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FetchFromCacheMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/cache.py#L133"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.middleware.cache.FetchFromCacheMiddleware"·title="Link·to·this·definition">¶</a></dt>96 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">FetchFromCacheMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/cache.py#L133"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.middleware.cache.FetchFromCacheMiddleware"·title="Link·to·this·definition">¶</a></dt>
96 <dd></dd></dl>97 <dd></dd></dl>
  
97 <p>Enable·the·site-wide·cache.·If·these·are·enabled,·each·Django-powered·page·will98 <p>Enable·the·site-wide·cache.·If·these·are·enabled,·each·Django-powered·page·will
98 be·cached·for·as·long·as·the·<a·class="reference·internal"·href="settings.html#std-setting-CACHE_MIDDLEWARE_SECONDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CACHE_MIDDLEWARE_SECONDS</span></code></a>·setting99 be·cached·for·as·long·as·the·<a·class="reference·internal"·href="settings.html#std-setting-CACHE_MIDDLEWARE_SECONDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CACHE_MIDDLEWARE_SECONDS</span></code></a>·setting
99 defines.·See·the·<a·class="reference·internal"·href="../topics/cache.html"><span·class="doc">cache·documentation</span></a>.</p>100 defines.·See·the·<a·class="reference·internal"·href="../topics/cache.html"><span·class="doc">cache·documentation</span></a>.</p>
100 </section>101 </section>
101 <section·id="s-module-django.middleware.common">102 <section·id="s-module-django.middleware.common">
102 <span·id="s-common-middleware"></span><span·id="module-django.middleware.common"></span><span·id="common-middleware"></span><h3>Common·middleware<a·class="headerlink"·href="#module-django.middleware.common"·title="Link·to·this·heading">¶</a></h3>103 <span·id="s-common-middleware"></span><span·id="module-django.middleware.common"></span><span·id="common-middleware"></span><h3>Common·middleware<a·class="headerlink"·href="#module-django.middleware.common"·title="Link·to·this·heading">¶</a></h3>
103 <dl·class="py·class">104 <dl·class="py·class">
104 <dt·class="sig·sig-object·py"·id="django.middleware.common.CommonMiddleware">105 <dt·class="sig·sig-object·py"·id="django.middleware.common.CommonMiddleware">
105 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CommonMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/common.py#L13"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.middleware.common.CommonMiddleware"·title="Link·to·this·definition">¶</a></dt>106 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CommonMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/common.py#L13"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.middleware.common.CommonMiddleware"·title="Link·to·this·definition">¶</a></dt>
106 <dd><dl·class="py·attribute">107 <dd><dl·class="py·attribute">
107 <dt·class="sig·sig-object·py"·id="django.middleware.common.CommonMiddleware.response_redirect_class">108 <dt·class="sig·sig-object·py"·id="django.middleware.common.CommonMiddleware.response_redirect_class">
108 <span·class="sig-name·descname"><span·class="pre">response_redirect_class</span></span><a·class="headerlink"·href="#django.middleware.common.CommonMiddleware.response_redirect_class"·title="Link·to·this·definition">¶</a></dt>109 <span·class="sig-name·descname"><span·class="pre">response_redirect_class</span></span><a·class="headerlink"·href="#django.middleware.common.CommonMiddleware.response_redirect_class"·title="Link·to·this·definition">¶</a></dt>
109 <dd><p>Defaults·to·<a·class="reference·internal"·href="request-response.html#django.http.HttpResponsePermanentRedirect"·title="django.http.HttpResponsePermanentRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponsePermanentRedirect</span></code></a>.·Subclass110 <dd><p>Defaults·to·<a·class="reference·internal"·href="request-response.html#django.http.HttpResponsePermanentRedirect"·title="django.http.HttpResponsePermanentRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponsePermanentRedirect</span></code></a>.·Subclass
110 <code·class="docutils·literal·notranslate"><span·class="pre">CommonMiddleware</span></code>·and·override·the·attribute·to·customize·the·redirects111 <code·class="docutils·literal·notranslate"><span·class="pre">CommonMiddleware</span></code>·and·override·the·attribute·to·customize·the·redirects
111 issued·by·the·middleware.</p>112 issued·by·the·middleware.</p>
112 </dd></dl>113 </dd></dl>
Offset 125, 16 lines modifiedOffset 126, 16 lines modified
125 with·a·slash,·and·it·is·not·found·in·the·URLconf,·then·a·new·URL·is126 with·a·slash,·and·it·is·not·found·in·the·URLconf,·then·a·new·URL·is
126 formed·by·appending·a·slash·at·the·end.·If·this·new·URL·is·found·in·the127 formed·by·appending·a·slash·at·the·end.·If·this·new·URL·is·found·in·the
127 URLconf,·then·Django·redirects·the·request·to·this·new·URL.·Otherwise,128 URLconf,·then·Django·redirects·the·request·to·this·new·URL.·Otherwise,
128 the·initial·URL·is·processed·as·usual.</p>129 the·initial·URL·is·processed·as·usual.</p>
129 <p>For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar</span></code>·will·be·redirected·to·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar/</span></code>·if130 <p>For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar</span></code>·will·be·redirected·to·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar/</span></code>·if
130 you·don’t·have·a·valid·URL·pattern·for·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar</span></code>·but·<em>do</em>·have·a131 you·don’t·have·a·valid·URL·pattern·for·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar</span></code>·but·<em>do</em>·have·a
131 valid·pattern·for·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar/</span></code>.</p>132 valid·pattern·for·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar/</span></code>.</p>
132 <p>If·<a·class="reference·internal"·href="settings.html#std-setting-PREPEND_WWW"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">PREPEND_WWW</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·URLs·that·lack·a·leading·www.133 <p>If·<a·class="reference·internal"·href="settings.html#std-setting-PREPEND_WWW"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">PREPEND_WWW</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·URLs·that·lack·a·leading·www.
133 will·be·redirected·to·the·same·URL·with·a·leading·www.</p>134 will·be·redirected·to·the·same·URL·with·a·leading·www.</p>
134 <p>Both·of·these·options·are·meant·to·normalize·URLs.·The·philosophy·is·that135 <p>Both·of·these·options·are·meant·to·normalize·URLs.·The·philosophy·is·that
135 each·URL·should·exist·in·one,·and·only·one,·place.·Technically·a·URL136 each·URL·should·exist·in·one,·and·only·one,·place.·Technically·a·URL
136 <code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar</span></code>·is·distinct·from·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar/</span></code>··a·search-engine137 <code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar</span></code>·is·distinct·from·<code·class="docutils·literal·notranslate"><span·class="pre">foo.com/bar/</span></code>··a·search-engine
137 indexer·would·treat·them·as·separate·URLs··so·it’s·best·practice·to138 indexer·would·treat·them·as·separate·URLs··so·it’s·best·practice·to
138 normalize·URLs.</p>139 normalize·URLs.</p>
139 <p>If·necessary,·individual·views·may·be·excluded·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">APPEND_SLASH</span></code>140 <p>If·necessary,·individual·views·may·be·excluded·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">APPEND_SLASH</span></code>
140 behavior·using·the·<a·class="reference·internal"·href="../topics/http/decorators.html#django.views.decorators.common.no_append_slash"·title="django.views.decorators.common.no_append_slash"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">no_append_slash()</span></code></a>141 behavior·using·the·<a·class="reference·internal"·href="../topics/http/decorators.html#django.views.decorators.common.no_append_slash"·title="django.views.decorators.common.no_append_slash"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">no_append_slash()</span></code></a>
Offset 149, 39 lines modifiedOffset 150, 39 lines modified
149 </pre></div>150 </pre></div>
150 </div>151 </div>
151 </li>152 </li>
152 <li><p>Sets·the·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Length</span></code>·header·for·non-streaming·responses.</p></li>153 <li><p>Sets·the·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Length</span></code>·header·for·non-streaming·responses.</p></li>
153 </ul>154 </ul>
154 <dl·class="py·class">155 <dl·class="py·class">
155 <dt·class="sig·sig-object·py"·id="django.middleware.common.BrokenLinkEmailsMiddleware">156 <dt·class="sig·sig-object·py"·id="django.middleware.common.BrokenLinkEmailsMiddleware">
156 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BrokenLinkEmailsMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/common.py#L118"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.middleware.common.BrokenLinkEmailsMiddleware"·title="Link·to·this·definition">¶</a></dt>157 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BrokenLinkEmailsMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/common.py#L118"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.middleware.common.BrokenLinkEmailsMiddleware"·title="Link·to·this·definition">¶</a></dt>
157 <dd></dd></dl>158 <dd></dd></dl>
  
158 <ul·class="simple">159 <ul·class="simple">
159 <li><p>Sends·broken·link·notification·emails·to·<a·class="reference·internal"·href="settings.html#std-setting-MANAGERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MANAGERS</span></code></a>·(see160 <li><p>Sends·broken·link·notification·emails·to·<a·class="reference·internal"·href="settings.html#std-setting-MANAGERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MANAGERS</span></code></a>·(see
160 <a·class="reference·internal"·href="../howto/error-reporting.html"><span·class="doc">How·to·manage·error·reporting</span></a>).</p></li>161 <a·class="reference·internal"·href="../howto/error-reporting.html"><span·class="doc">How·to·manage·error·reporting</span></a>).</p></li>
161 </ul>162 </ul>
162 </section>163 </section>
163 <section·id="s-module-django.middleware.gzip">164 <section·id="s-module-django.middleware.gzip">
164 <span·id="s-gzip-middleware"></span><span·id="module-django.middleware.gzip"></span><span·id="gzip-middleware"></span><h3>GZip·middleware<a·class="headerlink"·href="#module-django.middleware.gzip"·title="Link·to·this·heading">¶</a></h3>165 <span·id="s-gzip-middleware"></span><span·id="module-django.middleware.gzip"></span><span·id="gzip-middleware"></span><h3>GZip·middleware<a·class="headerlink"·href="#module-django.middleware.gzip"·title="Link·to·this·heading">¶</a></h3>
165 <dl·class="py·class">166 <dl·class="py·class">
166 <dt·class="sig·sig-object·py"·id="django.middleware.gzip.GZipMiddleware">167 <dt·class="sig·sig-object·py"·id="django.middleware.gzip.GZipMiddleware">
167 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GZipMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/gzip.py#L9"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.middleware.gzip.GZipMiddleware"·title="Link·to·this·definition">¶</a></dt>168 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">GZipMiddleware</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/middleware/gzip.py#L9"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.middleware.gzip.GZipMiddleware"·title="Link·to·this·definition">¶</a></dt>
168 <dd><dl·class="py·attribute">169 <dd><dl·class="py·attribute">
169 <dt·class="sig·sig-object·py"·id="django.middleware.gzip.GZipMiddleware.max_random_bytes">170 <dt·class="sig·sig-object·py"·id="django.middleware.gzip.GZipMiddleware.max_random_bytes">
170 <span·class="sig-name·descname"><span·class="pre">max_random_bytes</span></span><a·class="headerlink"·href="#django.middleware.gzip.GZipMiddleware.max_random_bytes"·title="Link·to·this·definition">¶</a></dt>171 <span·class="sig-name·descname"><span·class="pre">max_random_bytes</span></span><a·class="headerlink"·href="#django.middleware.gzip.GZipMiddleware.max_random_bytes"·title="Link·to·this·definition">¶</a></dt>
171 <dd><p>Defaults·to·100.·Subclass·<code·class="docutils·literal·notranslate"><span·class="pre">GZipMiddleware</span></code>·and·override·the·attribute172 <dd><p>Defaults·to·100.·Subclass·<code·class="docutils·literal·notranslate"><span·class="pre">GZipMiddleware</span></code>·and·override·the·attribute
172 to·change·the·maximum·number·of·random·bytes·that·is·included·with173 to·change·the·maximum·number·of·random·bytes·that·is·included·with
173 compressed·responses.</p>174 compressed·responses.</p>
174 </dd></dl>175 </dd></dl>
  
175 </dd></dl>176 </dd></dl>
  
176 <div·class="admonition·note">177 <div·class="admonition·note">
177 <p·class="admonition-title">Note</p>178 <p·class="admonition-title">rkus</p>
178 <p>Security·researchers·revealed·that·when·compression·techniques·(including179 <p>Security·researchers·revealed·that·when·compression·techniques·(including
179 <code·class="docutils·literal·notranslate"><span·class="pre">GZipMiddleware</span></code>)·are·used·on·a·website,·the·site·may·become·exposed·to·a180 <code·class="docutils·literal·notranslate"><span·class="pre">GZipMiddleware</span></code>)·are·used·on·a·website,·the·site·may·become·exposed·to·a
180 number·of·possible·attacks.</p>181 number·of·possible·attacks.</p>
181 <p>To·mitigate·attacks,·Django·implements·a·technique·called·<em>Heal·The·Breach182 <p>To·mitigate·attacks,·Django·implements·a·technique·called·<em>Heal·The·Breach
182 (HTB)</em>.·It·adds·up·to·100·bytes·(see183 (HTB)</em>.·It·adds·up·to·100·bytes·(see
183 <a·class="reference·internal"·href="#django.middleware.gzip.GZipMiddleware.max_random_bytes"·title="django.middleware.gzip.GZipMiddleware.max_random_bytes"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">max_random_bytes</span></code></a>)·of·random·bytes·to·each·response184 <a·class="reference·internal"·href="#django.middleware.gzip.GZipMiddleware.max_random_bytes"·title="django.middleware.gzip.GZipMiddleware.max_random_bytes"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">max_random_bytes</span></code></a>)·of·random·bytes·to·each·response
Max diff block lines reached; 40306/55019 bytes (73.26%) of diff not shown.
22.4 KB
html2text {}
Max HTML report size reached
91.3 KB
./usr/share/doc/python-django-doc/html/ref/migration-operations.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Migration·Operations·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Migration·Operations·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Models"·href="models/index.html"·/>15 ····<link·rel="next"·title="Models"·href="models/index.html"·/>
15 ····<link·rel="prev"·title="Middleware"·href="middleware.html"·/>16 ····<link·rel="prev"·title="Middleware"·href="middleware.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 101, 15 lines modifiedOffset 102, 15 lines modified
101 <p>For·introductory·material,·see·the·<a·class="reference·internal"·href="../topics/migrations.html"><span·class="doc">migrations·topic·guide</span></a>.</p>102 <p>For·introductory·material,·see·the·<a·class="reference·internal"·href="../topics/migrations.html"><span·class="doc">migrations·topic·guide</span></a>.</p>
102 <section·id="s-schema-operations">103 <section·id="s-schema-operations">
103 <span·id="schema-operations"></span><h2>Schema·Operations<a·class="headerlink"·href="#schema-operations"·title="Link·to·this·heading">¶</a></h2>104 <span·id="schema-operations"></span><h2>Schema·Operations<a·class="headerlink"·href="#schema-operations"·title="Link·to·this·heading">¶</a></h2>
104 <section·id="s-createmodel">105 <section·id="s-createmodel">
105 <span·id="createmodel"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">CreateModel</span></code><a·class="headerlink"·href="#createmodel"·title="Link·to·this·heading">¶</a></h3>106 <span·id="createmodel"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">CreateModel</span></code><a·class="headerlink"·href="#createmodel"·title="Link·to·this·heading">¶</a></h3>
106 <dl·class="py·class">107 <dl·class="py·class">
107 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.CreateModel">108 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.CreateModel">
108 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CreateModel</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">options</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">bases</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">managers</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L41"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.CreateModel"·title="Link·to·this·definition">¶</a></dt>109 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CreateModel</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">options</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">bases</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">managers</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L41"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.CreateModel"·title="Link·to·this·definition">¶</a></dt>
109 <dd></dd></dl>110 <dd></dd></dl>
  
110 <p>Creates·a·new·model·in·the·project·history·and·a·corresponding·table·in·the111 <p>Creates·a·new·model·in·the·project·history·and·a·corresponding·table·in·the
111 database·to·match·it.</p>112 database·to·match·it.</p>
112 <p><code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·is·the·model·name,·as·would·be·written·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>·file.</p>113 <p><code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·is·the·model·name,·as·would·be·written·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>·file.</p>
113 <p><code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·is·a·list·of·2-tuples·of·<code·class="docutils·literal·notranslate"><span·class="pre">(field_name,</span>·<span·class="pre">field_instance)</span></code>.114 <p><code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·is·a·list·of·2-tuples·of·<code·class="docutils·literal·notranslate"><span·class="pre">(field_name,</span>·<span·class="pre">field_instance)</span></code>.
114 The·field·instance·should·be·an·unbound·field·(so·just115 The·field·instance·should·be·an·unbound·field·(so·just
Offset 124, 136 lines modifiedOffset 125, 136 lines modified
124 The·first·manager·in·the·list·will·be·the·default·manager·for·this·model·during125 The·first·manager·in·the·list·will·be·the·default·manager·for·this·model·during
125 migrations.</p>126 migrations.</p>
126 </section>127 </section>
127 <section·id="s-deletemodel">128 <section·id="s-deletemodel">
128 <span·id="deletemodel"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">DeleteModel</span></code><a·class="headerlink"·href="#deletemodel"·title="Link·to·this·heading">¶</a></h3>129 <span·id="deletemodel"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">DeleteModel</span></code><a·class="headerlink"·href="#deletemodel"·title="Link·to·this·heading">¶</a></h3>
129 <dl·class="py·class">130 <dl·class="py·class">
130 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.DeleteModel">131 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.DeleteModel">
131 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DeleteModel</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L382"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.DeleteModel"·title="Link·to·this·definition">¶</a></dt>132 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DeleteModel</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L382"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.DeleteModel"·title="Link·to·this·definition">¶</a></dt>
132 <dd></dd></dl>133 <dd></dd></dl>
  
133 <p>Deletes·the·model·from·the·project·history·and·its·table·from·the·database.</p>134 <p>Deletes·the·model·from·the·project·history·and·its·table·from·the·database.</p>
134 </section>135 </section>
135 <section·id="s-renamemodel">136 <section·id="s-renamemodel">
136 <span·id="renamemodel"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RenameModel</span></code><a·class="headerlink"·href="#renamemodel"·title="Link·to·this·heading">¶</a></h3>137 <span·id="renamemodel"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RenameModel</span></code><a·class="headerlink"·href="#renamemodel"·title="Link·to·this·heading">¶</a></h3>
137 <dl·class="py·class">138 <dl·class="py·class">
138 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.RenameModel">139 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.RenameModel">
139 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RenameModel</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">old_name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">new_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L419"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.RenameModel"·title="Link·to·this·definition">¶</a></dt>140 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RenameModel</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">old_name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">new_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L419"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.RenameModel"·title="Link·to·this·definition">¶</a></dt>
140 <dd></dd></dl>141 <dd></dd></dl>
  
141 <p>Renames·the·model·from·an·old·name·to·a·new·one.</p>142 <p>Renames·the·model·from·an·old·name·to·a·new·one.</p>
142 <p>You·may·have·to·manually·add143 <p>You·may·have·to·manually·add
143 this·if·you·change·the·model’s·name·and·quite·a·few·of·its·fields·at·once;·to144 this·if·you·change·the·model’s·name·and·quite·a·few·of·its·fields·at·once;·to
144 the·autodetector,·this·will·look·like·you·deleted·a·model·with·the·old·name145 the·autodetector,·this·will·look·like·you·deleted·a·model·with·the·old·name
145 and·added·a·new·one·with·a·different·name,·and·the·migration·it·creates·will146 and·added·a·new·one·with·a·different·name,·and·the·migration·it·creates·will
146 lose·any·data·in·the·old·table.</p>147 lose·any·data·in·the·old·table.</p>
147 </section>148 </section>
148 <section·id="s-altermodeltable">149 <section·id="s-altermodeltable">
149 <span·id="altermodeltable"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AlterModelTable</span></code><a·class="headerlink"·href="#altermodeltable"·title="Link·to·this·heading">¶</a></h3>150 <span·id="altermodeltable"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AlterModelTable</span></code><a·class="headerlink"·href="#altermodeltable"·title="Link·to·this·heading">¶</a></h3>
150 <dl·class="py·class">151 <dl·class="py·class">
151 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.AlterModelTable">152 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.AlterModelTable">
152 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AlterModelTable</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">table</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L552"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.AlterModelTable"·title="Link·to·this·definition">¶</a></dt>153 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AlterModelTable</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">table</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L552"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.AlterModelTable"·title="Link·to·this·definition">¶</a></dt>
153 <dd></dd></dl>154 <dd></dd></dl>
  
154 <p>Changes·the·model’s·table·name·(the·<a·class="reference·internal"·href="models/options.html#django.db.models.Options.db_table"·title="django.db.models.Options.db_table"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_table</span></code></a>155 <p>Changes·the·model’s·table·name·(the·<a·class="reference·internal"·href="models/options.html#django.db.models.Options.db_table"·title="django.db.models.Options.db_table"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_table</span></code></a>
155 option·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·subclass).</p>156 option·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·subclass).</p>
156 </section>157 </section>
157 <section·id="s-altermodeltablecomment">158 <section·id="s-altermodeltablecomment">
158 <span·id="altermodeltablecomment"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AlterModelTableComment</span></code><a·class="headerlink"·href="#altermodeltablecomment"·title="Link·to·this·heading">¶</a></h3>159 <span·id="altermodeltablecomment"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AlterModelTableComment</span></code><a·class="headerlink"·href="#altermodeltablecomment"·title="Link·to·this·heading">¶</a></h3>
159 <dl·class="py·class">160 <dl·class="py·class">
160 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.AlterModelTableComment">161 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.AlterModelTableComment">
161 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AlterModelTableComment</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">table_comment</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L603"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.AlterModelTableComment"·title="Link·to·this·definition">¶</a></dt>162 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AlterModelTableComment</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">table_comment</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L603"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.AlterModelTableComment"·title="Link·to·this·definition">¶</a></dt>
162 <dd></dd></dl>163 <dd></dd></dl>
  
163 <p>Changes·the·model’s·table·comment·(the164 <p>Changes·the·model’s·table·comment·(the
164 <a·class="reference·internal"·href="models/options.html#django.db.models.Options.db_table_comment"·title="django.db.models.Options.db_table_comment"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_table_comment</span></code></a>·option·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>165 <a·class="reference·internal"·href="models/options.html#django.db.models.Options.db_table_comment"·title="django.db.models.Options.db_table_comment"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_table_comment</span></code></a>·option·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>
165 subclass).</p>166 subclass).</p>
166 </section>167 </section>
167 <section·id="s-alteruniquetogether">168 <section·id="s-alteruniquetogether">
168 <span·id="alteruniquetogether"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AlterUniqueTogether</span></code><a·class="headerlink"·href="#alteruniquetogether"·title="Link·to·this·heading">¶</a></h3>169 <span·id="alteruniquetogether"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AlterUniqueTogether</span></code><a·class="headerlink"·href="#alteruniquetogether"·title="Link·to·this·heading">¶</a></h3>
169 <dl·class="py·class">170 <dl·class="py·class">
170 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.AlterUniqueTogether">171 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.AlterUniqueTogether">
171 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AlterUniqueTogether</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">unique_together</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L706"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.AlterUniqueTogether"·title="Link·to·this·definition">¶</a></dt>172 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AlterUniqueTogether</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">unique_together</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L706"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.AlterUniqueTogether"·title="Link·to·this·definition">¶</a></dt>
172 <dd></dd></dl>173 <dd></dd></dl>
  
173 <p>Changes·the·model’s·set·of·unique·constraints·(the174 <p>Changes·the·model’s·set·of·unique·constraints·(the
174 <a·class="reference·internal"·href="models/options.html#django.db.models.Options.unique_together"·title="django.db.models.Options.unique_together"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">unique_together</span></code></a>·option·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>175 <a·class="reference·internal"·href="models/options.html#django.db.models.Options.unique_together"·title="django.db.models.Options.unique_together"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">unique_together</span></code></a>·option·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>
175 subclass).</p>176 subclass).</p>
176 </section>177 </section>
177 <section·id="s-alterindextogether">178 <section·id="s-alterindextogether">
178 <span·id="alterindextogether"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AlterIndexTogether</span></code><a·class="headerlink"·href="#alterindextogether"·title="Link·to·this·heading">¶</a></h3>179 <span·id="alterindextogether"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">AlterIndexTogether</span></code><a·class="headerlink"·href="#alterindextogether"·title="Link·to·this·heading">¶</a></h3>
179 <dl·class="py·class">180 <dl·class="py·class">
180 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.AlterIndexTogether">181 <dt·class="sig·sig-object·py"·id="django.db.migrations.operations.AlterIndexTogether">
181 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AlterIndexTogether</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">index_together</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L718"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.AlterIndexTogether"·title="Link·to·this·definition">¶</a></dt>182 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AlterIndexTogether</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">index_together</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/migrations/operations/models.py#L718"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.migrations.operations.AlterIndexTogether"·title="Link·to·this·definition">¶</a></dt>
182 <dd></dd></dl>183 <dd></dd></dl>
  
183 <p>Changes·the·model’s·set·of·custom·indexes·(the·<code·class="docutils·literal·notranslate"><span·class="pre">index_together</span></code>·option·on·the184 <p>Changes·the·model’s·set·of·custom·indexes·(the·<code·class="docutils·literal·notranslate"><span·class="pre">index_together</span></code>·option·on·the
184 <code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·subclass).</p>185 <code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·subclass).</p>
185 <div·class="admonition·warning">186 <div·class="admonition·warning">
186 <p·class="admonition-title">Warning</p>187 <p·class="admonition-title">Hoiatus</p>
187 <p><code·class="docutils·literal·notranslate"><span·class="pre">AlterIndexTogether</span></code>·is·officially·supported·only·for·pre-Django·4.2188 <p><code·class="docutils·literal·notranslate"><span·class="pre">AlterIndexTogether</span></code>·is·officially·supported·only·for·pre-Django·4.2
188 migration·files.·For·backward·compatibility·reasons,·it’s·still·part·of·the189 migration·files.·For·backward·compatibility·reasons,·it’s·still·part·of·the
Max diff block lines reached; 52484/70962 bytes (73.96%) of diff not shown.
21.9 KB
html2text {}
Max HTML report size reached
7.25 KB
./usr/share/doc/python-django-doc/html/ref/models/class.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Model·class·reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Model·class·reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Model·Meta·options"·href="options.html"·/>15 ····<link·rel="next"·title="Model·Meta·options"·href="options.html"·/>
15 ····<link·rel="prev"·title="Related·objects·reference"·href="relations.html"·/>16 ····<link·rel="prev"·title="Related·objects·reference"·href="relations.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 150, 52 lines modifiedOffset 151, 52 lines modified
150 ······151 ······
151 ········152 ········
152 ··········<div·class="yui-b"·id="sidebar">153 ··········<div·class="yui-b"·id="sidebar">
153 ············154 ············
154 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">155 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
155 ········<div·class="sphinxsidebarwrapper">156 ········<div·class="sphinxsidebarwrapper">
156 ··<div>157 ··<div>
157 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>158 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
158 ····<ul>159 ····<ul>
159 <li><a·class="reference·internal"·href="#">Model·class·reference</a><ul>160 <li><a·class="reference·internal"·href="#">Model·class·reference</a><ul>
160 <li><a·class="reference·internal"·href="#attributes">Attributes</a><ul>161 <li><a·class="reference·internal"·href="#attributes">Attributes</a><ul>
161 <li><a·class="reference·internal"·href="#doesnotexist"><code·class="docutils·literal·notranslate"><span·class="pre">DoesNotExist</span></code></a></li>162 <li><a·class="reference·internal"·href="#doesnotexist"><code·class="docutils·literal·notranslate"><span·class="pre">DoesNotExist</span></code></a></li>
162 <li><a·class="reference·internal"·href="#multipleobjectsreturned"><code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code></a></li>163 <li><a·class="reference·internal"·href="#multipleobjectsreturned"><code·class="docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code></a></li>
163 <li><a·class="reference·internal"·href="#objects"><code·class="docutils·literal·notranslate"><span·class="pre">objects</span></code></a></li>164 <li><a·class="reference·internal"·href="#objects"><code·class="docutils·literal·notranslate"><span·class="pre">objects</span></code></a></li>
164 </ul>165 </ul>
165 </li>166 </li>
166 </ul>167 </ul>
167 </li>168 </li>
168 </ul>169 </ul>
  
169 ··</div>170 ··</div>
170 ··<div>171 ··<div>
171 ····<h4>Previous·topic</h4>172 ····<h4>Eelmine·teema</h4>
172 ····<p·class="topless"><a·href="relations.html"173 ····<p·class="topless"><a·href="relations.html"
173 ··························title="previous·chapter">Related·objects·reference</a></p>174 ··························title="eelmine·jaotis">Related·objects·reference</a></p>
174 ··</div>175 ··</div>
175 ··<div>176 ··<div>
176 ····<h4>Next·topic</h4>177 ····<h4>Järgmine·teema</h4>
177 ····<p·class="topless"><a·href="options.html"178 ····<p·class="topless"><a·href="options.html"
178 ··························title="next·chapter">Model·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·options</a></p>179 ··························title="järgmine·jaotis">Model·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·options</a></p>
179 ··</div>180 ··</div>
180 <search·id="searchbox"·style="display:·none"·role="search">181 <search·id="searchbox"·style="display:·none"·role="search">
181 ··<h3·id="searchlabel">Quick·search</h3>182 ··<h3·id="searchlabel">Kiirotsing</h3>
182 ····<div·class="searchformwrapper">183 ····<div·class="searchformwrapper">
183 ····<form·class="search"·action="../../search.html"·method="get">184 ····<form·class="search"·action="../../search.html"·method="get">
184 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>185 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
185 ······<input·type="submit"·value="Go"·/>186 ······<input·type="submit"·value="Otsi"·/>
186 ····</form>187 ····</form>
187 ····</div>188 ····</div>
188 </search>189 </search>
189 <script>document.getElementById('searchbox').style.display·=·"block"</script>190 <script>document.getElementById('searchbox').style.display·=·"block"</script>
190 ········</div>191 ········</div>
191 ······</div>192 ······</div>
192 ··············<h3>Last·update:</h3>193 ··············<h3>Last·update:</h3>
193 ··············<p·class="topless">Nov·05,·2024</p>194 ··············<p·class="topless">nov·05,·2024</p>
194 ··········</div>195 ··········</div>
195 ········196 ········
196 ······197 ······
197 ····</div>198 ····</div>
  
198 ····<div·id="ft">199 ····<div·id="ft">
199 ······<div·class="nav">200 ······<div·class="nav">
2.46 KB
html2text {}
Max HTML report size reached
27.2 KB
./usr/share/doc/python-django-doc/html/ref/models/conditional-expressions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Conditional·Expressions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Conditional·Expressions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Database·Functions"·href="database-functions.html"·/>15 ····<link·rel="next"·title="Database·Functions"·href="database-functions.html"·/>
15 ····<link·rel="prev"·title="Query·Expressions"·href="expressions.html"·/>16 ····<link·rel="prev"·title="Query·Expressions"·href="expressions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 16 lines modifiedOffset 76, 16 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-models-conditional-expressions">79 ··········<div·class="yui-g"·id="ref-models-conditional-expressions">
79 ············80 ············
80 ··<section·id="s-conditional-expressions">81 ··<section·id="s-conditional-expressions">
81 <span·id="conditional-expressions"></span><h1>Conditional·Expressions<a·class="headerlink"·href="#conditional-expressions"·title="Link·to·this·heading">¶</a></h1>82 <span·id="conditional-expressions"></span><h1>Conditional·Expressions<a·class="headerlink"·href="#conditional-expressions"·title="Link·to·this·heading">¶</a></h1>
82 <p>Conditional·expressions·let·you·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#if"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">if</span></code></a>··<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#elif"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">elif</span></code></a>·83 <p>Conditional·expressions·let·you·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#if"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">if</span></code></a>··<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#elif"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">elif</span></code></a>·
83 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#else"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">else</span></code></a>·logic·within·filters,·annotations,·aggregations,·and·updates.·A84 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#else"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">else</span></code></a>·logic·within·filters,·annotations,·aggregations,·and·updates.·A
84 conditional·expression·evaluates·a·series·of·conditions·for·each·row·of·a85 conditional·expression·evaluates·a·series·of·conditions·for·each·row·of·a
85 table·and·returns·the·matching·result·expression.·Conditional·expressions·can86 table·and·returns·the·matching·result·expression.·Conditional·expressions·can
86 also·be·combined·and·nested·like·other·<a·class="reference·internal"·href="expressions.html"><span·class="doc">expressions</span></a>.</p>87 also·be·combined·and·nested·like·other·<a·class="reference·internal"·href="expressions.html"><span·class="doc">expressions</span></a>.</p>
87 <section·id="s-the-conditional-expression-classes">88 <section·id="s-the-conditional-expression-classes">
88 <span·id="the-conditional-expression-classes"></span><h2>The·conditional·expression·classes<a·class="headerlink"·href="#the-conditional-expression-classes"·title="Link·to·this·heading">¶</a></h2>89 <span·id="the-conditional-expression-classes"></span><h2>The·conditional·expression·classes<a·class="headerlink"·href="#the-conditional-expression-classes"·title="Link·to·this·heading">¶</a></h2>
89 <p>We’ll·be·using·the·following·model·in·the·subsequent·examples:</p>90 <p>We’ll·be·using·the·following·model·in·the·subsequent·examples:</p>
90 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>91 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>
Offset 108, 15 lines modifiedOffset 109, 15 lines modified
108 ····<span·class="p">)</span>109 ····<span·class="p">)</span>
109 </pre></div>110 </pre></div>
110 </div>111 </div>
111 <section·id="s-when">112 <section·id="s-when">
112 <span·id="when"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">When</span></code><a·class="headerlink"·href="#when"·title="Link·to·this·heading">¶</a></h3>113 <span·id="when"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">When</span></code><a·class="headerlink"·href="#when"·title="Link·to·this·heading">¶</a></h3>
113 <dl·class="py·class">114 <dl·class="py·class">
114 <dt·class="sig·sig-object·py"·id="django.db.models.expressions.When">115 <dt·class="sig·sig-object·py"·id="django.db.models.expressions.When">
115 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">When</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">then</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">lookups</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1504"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.expressions.When"·title="Link·to·this·definition">¶</a></dt>116 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">When</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">then</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">lookups</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1504"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.expressions.When"·title="Link·to·this·definition">¶</a></dt>
116 <dd></dd></dl>117 <dd></dd></dl>
  
117 <p>A·<code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·object·is·used·to·encapsulate·a·condition·and·its·result·for·use118 <p>A·<code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·object·is·used·to·encapsulate·a·condition·and·its·result·for·use
118 in·the·conditional·expression.·Using·a·<code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·object·is·similar·to·using119 in·the·conditional·expression.·Using·a·<code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·object·is·similar·to·using
119 the·<a·class="reference·internal"·href="querysets.html#django.db.models.query.QuerySet.filter"·title="django.db.models.query.QuerySet.filter"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">filter()</span></code></a>·method.·The·condition·can120 the·<a·class="reference·internal"·href="querysets.html#django.db.models.query.QuerySet.filter"·title="django.db.models.query.QuerySet.filter"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">filter()</span></code></a>·method.·The·condition·can
120 be·specified·using·<a·class="reference·internal"·href="querysets.html#field-lookups"><span·class="std·std-ref">field·lookups</span></a>,121 be·specified·using·<a·class="reference·internal"·href="querysets.html#field-lookups"><span·class="std·std-ref">field·lookups</span></a>,
121 <a·class="reference·internal"·href="querysets.html#django.db.models.Q"·title="django.db.models.Q"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Q</span></code></a>·objects,·or·<a·class="reference·internal"·href="expressions.html#django.db.models.Expression"·title="django.db.models.Expression"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Expression</span></code></a>122 <a·class="reference·internal"·href="querysets.html#django.db.models.Q"·title="django.db.models.Q"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Q</span></code></a>·objects,·or·<a·class="reference·internal"·href="expressions.html#django.db.models.Expression"·title="django.db.models.Expression"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Expression</span></code></a>
Offset 154, 34 lines modifiedOffset 155, 34 lines modified
154 <span·class="gp">...·</span>····<span·class="o">&amp;</span>·<span·class="n">LessThan</span><span·class="p">(</span><span·class="n">F</span><span·class="p">(</span><span·class="s2">&quot;registered_on&quot;</span><span·class="p">),</span>·<span·class="n">date</span><span·class="p">(</span><span·class="mi">2015</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">)),</span>155 <span·class="gp">...·</span>····<span·class="o">&amp;</span>·<span·class="n">LessThan</span><span·class="p">(</span><span·class="n">F</span><span·class="p">(</span><span·class="s2">&quot;registered_on&quot;</span><span·class="p">),</span>·<span·class="n">date</span><span·class="p">(</span><span·class="mi">2015</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">)),</span>
155 <span·class="gp">...·</span>····<span·class="n">then</span><span·class="o">=</span><span·class="s2">&quot;account_type&quot;</span><span·class="p">,</span>156 <span·class="gp">...·</span>····<span·class="n">then</span><span·class="o">=</span><span·class="s2">&quot;account_type&quot;</span><span·class="p">,</span>
156 <span·class="gp">...·</span><span·class="p">)</span>157 <span·class="gp">...·</span><span·class="p">)</span>
157 </pre></div>158 </pre></div>
158 </div>159 </div>
159 <p>Keep·in·mind·that·each·of·these·values·can·be·an·expression.</p>160 <p>Keep·in·mind·that·each·of·these·values·can·be·an·expression.</p>
160 <div·class="admonition·note">161 <div·class="admonition·note">
161 <p·class="admonition-title">Note</p>162 <p·class="admonition-title">rkus</p>
162 <p>Since·the·<code·class="docutils·literal·notranslate"><span·class="pre">then</span></code>·keyword·argument·is·reserved·for·the·result·of·the163 <p>Since·the·<code·class="docutils·literal·notranslate"><span·class="pre">then</span></code>·keyword·argument·is·reserved·for·the·result·of·the
163 <code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>,·there·is·a·potential·conflict·if·a164 <code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>,·there·is·a·potential·conflict·if·a
164 <a·class="reference·internal"·href="instances.html#django.db.models.Model"·title="django.db.models.Model"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Model</span></code></a>·has·a·field·named·<code·class="docutils·literal·notranslate"><span·class="pre">then</span></code>.·This·can·be165 <a·class="reference·internal"·href="instances.html#django.db.models.Model"·title="django.db.models.Model"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Model</span></code></a>·has·a·field·named·<code·class="docutils·literal·notranslate"><span·class="pre">then</span></code>.·This·can·be
165 resolved·in·two·ways:</p>166 resolved·in·two·ways:</p>
166 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">When</span><span·class="p">(</span><span·class="n">then__exact</span><span·class="o">=</span><span·class="mi">0</span><span·class="p">,</span>·<span·class="n">then</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>167 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">When</span><span·class="p">(</span><span·class="n">then__exact</span><span·class="o">=</span><span·class="mi">0</span><span·class="p">,</span>·<span·class="n">then</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>
167 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">When</span><span·class="p">(</span><span·class="n">Q</span><span·class="p">(</span><span·class="n">then</span><span·class="o">=</span><span·class="mi">0</span><span·class="p">),</span>·<span·class="n">then</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>168 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">When</span><span·class="p">(</span><span·class="n">Q</span><span·class="p">(</span><span·class="n">then</span><span·class="o">=</span><span·class="mi">0</span><span·class="p">),</span>·<span·class="n">then</span><span·class="o">=</span><span·class="mi">1</span><span·class="p">)</span>
168 </pre></div>169 </pre></div>
169 </div>170 </div>
170 </div>171 </div>
171 </section>172 </section>
172 <section·id="s-case">173 <section·id="s-case">
173 <span·id="case"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Case</span></code><a·class="headerlink"·href="#case"·title="Link·to·this·heading">¶</a></h3>174 <span·id="case"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Case</span></code><a·class="headerlink"·href="#case"·title="Link·to·this·heading">¶</a></h3>
174 <dl·class="py·class">175 <dl·class="py·class">
175 <dt·class="sig·sig-object·py"·id="django.db.models.expressions.Case">176 <dt·class="sig·sig-object·py"·id="django.db.models.expressions.Case">
176 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Case</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">cases</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1584"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.expressions.Case"·title="Link·to·this·definition">¶</a></dt>177 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Case</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">cases</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1584"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.expressions.Case"·title="Link·to·this·definition">¶</a></dt>
177 <dd></dd></dl>178 <dd></dd></dl>
  
178 <p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Case()</span></code>·expression·is·like·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#if"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">if</span></code></a>··<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#elif"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">elif</span></code></a>·179 <p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Case()</span></code>·expression·is·like·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#if"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">if</span></code></a>··<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#elif"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">elif</span></code></a>·
179 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#else"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">else</span></code></a>·statement·in·<code·class="docutils·literal·notranslate"><span·class="pre">Python</span></code>.·Each·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·in·the·provided180 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#else"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">else</span></code></a>·statement·in·<code·class="docutils·literal·notranslate"><span·class="pre">Python</span></code>.·Each·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·in·the·provided
180 <code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·objects·is·evaluated·in·order,·until·one·evaluates·to·a181 <code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·objects·is·evaluated·in·order,·until·one·evaluates·to·a
181 truthful·value.·The·<code·class="docutils·literal·notranslate"><span·class="pre">result</span></code>·expression·from·the·matching·<code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·object182 truthful·value.·The·<code·class="docutils·literal·notranslate"><span·class="pre">result</span></code>·expression·from·the·matching·<code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·object
182 is·returned.</p>183 is·returned.</p>
183 <p>An·example:</p>184 <p>An·example:</p>
184 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;</span>185 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;</span>
185 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">datetime</span>·<span·class="kn">import</span>·<span·class="n">date</span><span·class="p">,</span>·<span·class="n">timedelta</span>186 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">datetime</span>·<span·class="kn">import</span>·<span·class="n">date</span><span·class="p">,</span>·<span·class="n">timedelta</span>
186 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">Case</span><span·class="p">,</span>·<span·class="n">Value</span><span·class="p">,</span>·<span·class="n">When</span>187 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">Case</span><span·class="p">,</span>·<span·class="n">Value</span><span·class="p">,</span>·<span·class="n">When</span>
Offset 228, 19 lines modifiedOffset 229, 19 lines modified
228 <span·class="gp">...·</span>········<span·class="n">default</span><span·class="o">=</span><span·class="n">Value</span><span·class="p">(</span><span·class="s2">&quot;0%&quot;</span><span·class="p">),</span>229 <span·class="gp">...·</span>········<span·class="n">default</span><span·class="o">=</span><span·class="n">Value</span><span·class="p">(</span><span·class="s2">&quot;0%&quot;</span><span·class="p">),</span>
229 <span·class="gp">...·</span>····<span·class="p">)</span>230 <span·class="gp">...·</span>····<span·class="p">)</span>
230 <span·class="gp">...·</span><span·class="p">)</span><span·class="o">.</span><span·class="n">values_list</span><span·class="p">(</span><span·class="s2">&quot;name&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;discount&quot;</span><span·class="p">)</span>231 <span·class="gp">...·</span><span·class="p">)</span><span·class="o">.</span><span·class="n">values_list</span><span·class="p">(</span><span·class="s2">&quot;name&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;discount&quot;</span><span·class="p">)</span>
231 <span·class="go">&lt;QuerySet·[(&#39;Jane·Doe&#39;,·&#39;5%&#39;),·(&#39;James·Smith&#39;,·&#39;0%&#39;),·(&#39;Jack·Black&#39;,·&#39;10%&#39;)]&gt;</span>232 <span·class="go">&lt;QuerySet·[(&#39;Jane·Doe&#39;,·&#39;5%&#39;),·(&#39;James·Smith&#39;,·&#39;0%&#39;),·(&#39;Jack·Black&#39;,·&#39;10%&#39;)]&gt;</span>
232 </pre></div>233 </pre></div>
233 </div>234 </div>
234 <div·class="admonition·note">235 <div·class="admonition·note">
235 <p·class="admonition-title">Note</p>236 <p·class="admonition-title">rkus</p>
236 <p>Remember·that·the·conditions·are·evaluated·in·order,·so·in·the·above237 <p>Remember·that·the·conditions·are·evaluated·in·order,·so·in·the·above
237 example·we·get·the·correct·result·even·though·the·second·condition·matches238 example·we·get·the·correct·result·even·though·the·second·condition·matches
238 both·Jane·Doe·and·Jack·Black.·This·works·just·like·an·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#if"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">if</span></code></a>·239 both·Jane·Doe·and·Jack·Black.·This·works·just·like·an·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#if"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">if</span></code></a>·
239 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#elif"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">elif</span></code></a>··<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#else"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">else</span></code></a>·statement·in·<code·class="docutils·literal·notranslate"><span·class="pre">Python</span></code>.</p>240 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#elif"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">elif</span></code></a>··<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#else"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">else</span></code></a>·statement·in·<code·class="docutils·literal·notranslate"><span·class="pre">Python</span></code>.</p>
240 </div>241 </div>
241 <p><code·class="docutils·literal·notranslate"><span·class="pre">Case()</span></code>·also·works·in·a·<code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>·clause.·For·example,·to·find·gold242 <p><code·class="docutils·literal·notranslate"><span·class="pre">Case()</span></code>·also·works·in·a·<code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>·clause.·For·example,·to·find·gold
242 clients·that·registered·more·than·a·month·ago·and·platinum·clients·that243 clients·that·registered·more·than·a·month·ago·and·platinum·clients·that
243 registered·more·than·a·year·ago:</p>244 registered·more·than·a·year·ago:</p>
244 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a_month_ago</span>·<span·class="o">=</span>·<span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">()</span>·<span·class="o">-</span>·<span·class="n">timedelta</span><span·class="p">(</span><span·class="n">days</span><span·class="o">=</span><span·class="mi">30</span><span·class="p">)</span>245 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a_month_ago</span>·<span·class="o">=</span>·<span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">()</span>·<span·class="o">-</span>·<span·class="n">timedelta</span><span·class="p">(</span><span·class="n">days</span><span·class="o">=</span><span·class="mi">30</span><span·class="p">)</span>
245 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a_year_ago</span>·<span·class="o">=</span>·<span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">()</span>·<span·class="o">-</span>·<span·class="n">timedelta</span><span·class="p">(</span><span·class="n">days</span><span·class="o">=</span><span·class="mi">365</span><span·class="p">)</span>246 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a_year_ago</span>·<span·class="o">=</span>·<span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">()</span>·<span·class="o">-</span>·<span·class="n">timedelta</span><span·class="p">(</span><span·class="n">days</span><span·class="o">=</span><span·class="mi">365</span><span·class="p">)</span>
246 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Client</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span>247 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Client</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span>
Max diff block lines reached; 2306/22070 bytes (10.45%) of diff not shown.
5.51 KB
html2text {}
Max HTML report size reached
32.1 KB
./usr/share/doc/python-django-doc/html/ref/models/constraints.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Constraints·reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Constraints·reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Model·_meta·API"·href="meta.html"·/>15 ····<link·rel="next"·title="Model·_meta·API"·href="meta.html"·/>
15 ····<link·rel="prev"·title="Model·index·reference"·href="indexes.html"·/>16 ····<link·rel="prev"·title="Model·index·reference"·href="indexes.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 105, 20 lines modifiedOffset 106, 20 lines modified
105 <p·class="admonition-title">Validation·of·Constraints</p>106 <p·class="admonition-title">Validation·of·Constraints</p>
106 <p>Constraints·are·checked·during·the·<a·class="reference·internal"·href="instances.html#validating-objects"><span·class="std·std-ref">model·validation</span></a>.</p>107 <p>Constraints·are·checked·during·the·<a·class="reference·internal"·href="instances.html#validating-objects"><span·class="std·std-ref">model·validation</span></a>.</p>
107 </div>108 </div>
108 <section·id="s-baseconstraint">109 <section·id="s-baseconstraint">
109 <span·id="baseconstraint"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BaseConstraint</span></code><a·class="headerlink"·href="#baseconstraint"·title="Link·to·this·heading">¶</a></h2>110 <span·id="baseconstraint"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">BaseConstraint</span></code><a·class="headerlink"·href="#baseconstraint"·title="Link·to·this·heading">¶</a></h2>
110 <dl·class="py·class">111 <dl·class="py·class">
111 <dt·class="sig·sig-object·py"·id="django.db.models.BaseConstraint">112 <dt·class="sig·sig-object·py"·id="django.db.models.BaseConstraint">
112 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseConstraint</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/constraints.py#L21"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.BaseConstraint"·title="Link·to·this·definition">¶</a></dt>113 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseConstraint</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/constraints.py#L21"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.BaseConstraint"·title="Link·to·this·definition">¶</a></dt>
113 <dd><p>Base·class·for·all·constraints.·Subclasses·must·implement114 <dd><p>Base·class·for·all·constraints.·Subclasses·must·implement
114 <code·class="docutils·literal·notranslate"><span·class="pre">constraint_sql()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">create_sql()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">remove_sql()</span></code>·and115 <code·class="docutils·literal·notranslate"><span·class="pre">constraint_sql()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">create_sql()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">remove_sql()</span></code>·and
115 <code·class="docutils·literal·notranslate"><span·class="pre">validate()</span></code>·methods.</p>116 <code·class="docutils·literal·notranslate"><span·class="pre">validate()</span></code>·methods.</p>
116 <div·class="deprecated">117 <div·class="deprecated">
117 <p><span·class="versionmodified·deprecated">Deprecated·since·version·5.0:·</span>Support·for·passing·positional·arguments·is·deprecated.</p>118 <p><span·class="versionmodified·deprecated">Iganenud·alates·versioonist·5.0:·</span>Support·for·passing·positional·arguments·is·deprecated.</p>
118 </div>119 </div>
119 </dd></dl>120 </dd></dl>
  
120 <p>All·constraints·have·the·following·parameters·in·common:</p>121 <p>All·constraints·have·the·following·parameters·in·common:</p>
121 <section·id="s-name">122 <section·id="s-name">
122 <span·id="name"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">name</span></code><a·class="headerlink"·href="#name"·title="Link·to·this·heading">¶</a></h3>123 <span·id="name"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">name</span></code><a·class="headerlink"·href="#name"·title="Link·to·this·heading">¶</a></h3>
123 <dl·class="py·attribute">124 <dl·class="py·attribute">
Offset 152, 30 lines modifiedOffset 153, 30 lines modified
152 <a·class="reference·internal"·href="instances.html#validating-objects"><span·class="std·std-ref">model·validation</span></a>.·Defaults·to153 <a·class="reference·internal"·href="instances.html#validating-objects"><span·class="std·std-ref">model·validation</span></a>.·Defaults·to
153 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;Constraint</span>·<span·class="pre">“%(name)s”</span>·<span·class="pre">is</span>·<span·class="pre">violated.&quot;</span></code>.</p>154 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;Constraint</span>·<span·class="pre">“%(name)s”</span>·<span·class="pre">is</span>·<span·class="pre">violated.&quot;</span></code>.</p>
154 </section>155 </section>
155 <section·id="s-validate">156 <section·id="s-validate">
156 <span·id="validate"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">validate()</span></code><a·class="headerlink"·href="#validate"·title="Link·to·this·heading">¶</a></h3>157 <span·id="validate"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">validate()</span></code><a·class="headerlink"·href="#validate"·title="Link·to·this·heading">¶</a></h3>
157 <dl·class="py·method">158 <dl·class="py·method">
158 <dt·class="sig·sig-object·py"·id="django.db.models.BaseConstraint.validate">159 <dt·class="sig·sig-object·py"·id="django.db.models.BaseConstraint.validate">
159 <span·class="sig-prename·descclassname"><span·class="pre">BaseConstraint.</span></span><span·class="sig-name·descname"><span·class="pre">validate</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">instance</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">DEFAULT_DB_ALIAS</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/constraints.py#L71"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.BaseConstraint.validate"·title="Link·to·this·definition">¶</a></dt>160 <span·class="sig-prename·descclassname"><span·class="pre">BaseConstraint.</span></span><span·class="sig-name·descname"><span·class="pre">validate</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">instance</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">DEFAULT_DB_ALIAS</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/constraints.py#L71"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.BaseConstraint.validate"·title="Link·to·this·definition">¶</a></dt>
160 <dd></dd></dl>161 <dd></dd></dl>
  
161 <p>Validates·that·the·constraint,·defined·on·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>,·is·respected·on·the162 <p>Validates·that·the·constraint,·defined·on·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>,·is·respected·on·the
162 <code·class="docutils·literal·notranslate"><span·class="pre">instance</span></code>.·This·will·do·a·query·on·the·database·to·ensure·that·the163 <code·class="docutils·literal·notranslate"><span·class="pre">instance</span></code>.·This·will·do·a·query·on·the·database·to·ensure·that·the
163 constraint·is·respected.·If·fields·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">exclude</span></code>·list·are·needed·to164 constraint·is·respected.·If·fields·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">exclude</span></code>·list·are·needed·to
164 validate·the·constraint,·the·constraint·is·ignored.</p>165 validate·the·constraint,·the·constraint·is·ignored.</p>
165 <p>Raise·a·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code>·if·the·constraint·is·violated.</p>166 <p>Raise·a·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code>·if·the·constraint·is·violated.</p>
166 <p>This·method·must·be·implemented·by·a·subclass.</p>167 <p>This·method·must·be·implemented·by·a·subclass.</p>
167 </section>168 </section>
168 </section>169 </section>
169 <section·id="s-checkconstraint">170 <section·id="s-checkconstraint">
170 <span·id="checkconstraint"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">CheckConstraint</span></code><a·class="headerlink"·href="#checkconstraint"·title="Link·to·this·heading">¶</a></h2>171 <span·id="checkconstraint"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">CheckConstraint</span></code><a·class="headerlink"·href="#checkconstraint"·title="Link·to·this·heading">¶</a></h2>
171 <dl·class="py·class">172 <dl·class="py·class">
172 <dt·class="sig·sig-object·py"·id="django.db.models.CheckConstraint">173 <dt·class="sig·sig-object·py"·id="django.db.models.CheckConstraint">
173 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CheckConstraint</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/constraints.py#L136"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.CheckConstraint"·title="Link·to·this·definition">¶</a></dt>174 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">CheckConstraint</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/constraints.py#L136"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.CheckConstraint"·title="Link·to·this·definition">¶</a></dt>
174 <dd><p>Creates·a·check·constraint·in·the·database.</p>175 <dd><p>Creates·a·check·constraint·in·the·database.</p>
175 </dd></dl>176 </dd></dl>
  
176 <section·id="s-condition">177 <section·id="s-condition">
177 <span·id="condition"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code><a·class="headerlink"·href="#condition"·title="Link·to·this·heading">¶</a></h3>178 <span·id="condition"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code><a·class="headerlink"·href="#condition"·title="Link·to·this·heading">¶</a></h3>
178 <dl·class="py·attribute">179 <dl·class="py·attribute">
179 <dt·class="sig·sig-object·py"·id="django.db.models.CheckConstraint.condition">180 <dt·class="sig·sig-object·py"·id="django.db.models.CheckConstraint.condition">
Offset 206, 23 lines modifiedOffset 207, 23 lines modified
206 to·behave·the·same·as·check·constraints·validation.·For·example,·if·<code·class="docutils·literal·notranslate"><span·class="pre">age</span></code>207 to·behave·the·same·as·check·constraints·validation.·For·example,·if·<code·class="docutils·literal·notranslate"><span·class="pre">age</span></code>
207 is·a·nullable·field:</p>208 is·a·nullable·field:</p>
208 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">CheckConstraint</span><span·class="p">(</span><span·class="n">condition</span><span·class="o">=</span><span·class="n">Q</span><span·class="p">(</span><span·class="n">age__gte</span><span·class="o">=</span><span·class="mi">18</span><span·class="p">)</span>·<span·class="o">|</span>·<span·class="n">Q</span><span·class="p">(</span><span·class="n">age__isnull</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">),</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;age_gte_18&quot;</span><span·class="p">)</span>209 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">CheckConstraint</span><span·class="p">(</span><span·class="n">condition</span><span·class="o">=</span><span·class="n">Q</span><span·class="p">(</span><span·class="n">age__gte</span><span·class="o">=</span><span·class="mi">18</span><span·class="p">)</span>·<span·class="o">|</span>·<span·class="n">Q</span><span·class="p">(</span><span·class="n">age__isnull</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">),</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;age_gte_18&quot;</span><span·class="p">)</span>
209 </pre></div>210 </pre></div>
210 </div>211 </div>
211 </div>212 </div>
212 <div·class="deprecated">213 <div·class="deprecated">
213 <p><span·class="versionmodified·deprecated">Deprecated·since·version·5.1:·</span>The·<code·class="docutils·literal·notranslate"><span·class="pre">check</span></code>·attribute·is·deprecated·in·favor·of·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>.</p>214 <p><span·class="versionmodified·deprecated">Iganenud·alates·versioonist·5.1:·</span>The·<code·class="docutils·literal·notranslate"><span·class="pre">check</span></code>·attribute·is·deprecated·in·favor·of·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>.</p>
214 </div>215 </div>
215 </section>216 </section>
216 </section>217 </section>
217 <section·id="s-uniqueconstraint">218 <section·id="s-uniqueconstraint">
218 <span·id="uniqueconstraint"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">UniqueConstraint</span></code><a·class="headerlink"·href="#uniqueconstraint"·title="Link·to·this·heading">¶</a></h2>219 <span·id="uniqueconstraint"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">UniqueConstraint</span></code><a·class="headerlink"·href="#uniqueconstraint"·title="Link·to·this·heading">¶</a></h2>
219 <dl·class="py·class">220 <dl·class="py·class">
220 <dt·class="sig·sig-object·py"·id="django.db.models.UniqueConstraint">221 <dt·class="sig·sig-object·py"·id="django.db.models.UniqueConstraint">
221 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">UniqueConstraint</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">deferrable</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">include</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">opclasses</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">nulls_distinct</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/constraints.py#L296"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.UniqueConstraint"·title="Link·to·this·definition">¶</a></dt>222 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">UniqueConstraint</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">deferrable</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">include</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">opclasses</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">nulls_distinct</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">violation_error_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/constraints.py#L296"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.UniqueConstraint"·title="Link·to·this·definition">¶</a></dt>
222 <dd><p>Creates·a·unique·constraint·in·the·database.</p>223 <dd><p>Creates·a·unique·constraint·in·the·database.</p>
223 </dd></dl>224 </dd></dl>
  
224 <section·id="s-expressions">225 <section·id="s-expressions">
225 <span·id="expressions"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code><a·class="headerlink"·href="#expressions"·title="Link·to·this·heading">¶</a></h3>226 <span·id="expressions"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code><a·class="headerlink"·href="#expressions"·title="Link·to·this·heading">¶</a></h3>
226 <dl·class="py·attribute">227 <dl·class="py·attribute">
227 <dt·class="sig·sig-object·py"·id="django.db.models.UniqueConstraint.expressions">228 <dt·class="sig·sig-object·py"·id="django.db.models.UniqueConstraint.expressions">
Offset 293, 15 lines modifiedOffset 294, 15 lines modified
293 enforced·immediately·after·every·command.</p>294 enforced·immediately·after·every·command.</p>
294 <div·class="admonition-mysql-mariadb-and-sqlite·admonition">295 <div·class="admonition-mysql-mariadb-and-sqlite·admonition">
295 <p·class="admonition-title">MySQL,·MariaDB,·and·SQLite.</p>296 <p·class="admonition-title">MySQL,·MariaDB,·and·SQLite.</p>
296 <p>Deferrable·unique·constraints·are·ignored·on·MySQL,·MariaDB,·and·SQLite·as297 <p>Deferrable·unique·constraints·are·ignored·on·MySQL,·MariaDB,·and·SQLite·as
297 neither·supports·them.</p>298 neither·supports·them.</p>
298 </div>299 </div>
299 <div·class="admonition·warning">300 <div·class="admonition·warning">
300 <p·class="admonition-title">Warning</p>301 <p·class="admonition-title">Hoiatus</p>
301 <p>Deferred·unique·constraints·may·lead·to·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createtable.html#id-1.9.3.85.9.4">performance·penalty</a>.</p>302 <p>Deferred·unique·constraints·may·lead·to·a·<a·class="reference·external"·href="https://www.postgresql.org/docs/current/sql-createtable.html#id-1.9.3.85.9.4">performance·penalty</a>.</p>
302 </div>303 </div>
303 </section>304 </section>
Max diff block lines reached; 3132/23296 bytes (13.44%) of diff not shown.
9.18 KB
html2text {}
Max HTML report size reached
321 KB
./usr/share/doc/python-django-doc/html/ref/models/database-functions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Database·Functions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Database·Functions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Paginator"·href="../paginator.html"·/>15 ····<link·rel="next"·title="Paginator"·href="../paginator.html"·/>
15 ····<link·rel="prev"·title="Conditional·Expressions"·href="conditional-expressions.html"·/>16 ····<link·rel="prev"·title="Conditional·Expressions"·href="conditional-expressions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 23 lines modifiedOffset 89, 23 lines modified
88 ····<span·class="n">name</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">max_length</span><span·class="o">=</span><span·class="mi">50</span><span·class="p">)</span>89 ····<span·class="n">name</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">max_length</span><span·class="o">=</span><span·class="mi">50</span><span·class="p">)</span>
89 ····<span·class="n">age</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">PositiveIntegerField</span><span·class="p">(</span><span·class="n">null</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">,</span>·<span·class="n">blank</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>90 ····<span·class="n">age</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">PositiveIntegerField</span><span·class="p">(</span><span·class="n">null</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">,</span>·<span·class="n">blank</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>
90 ····<span·class="n">alias</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">max_length</span><span·class="o">=</span><span·class="mi">50</span><span·class="p">,</span>·<span·class="n">null</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">,</span>·<span·class="n">blank</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>91 ····<span·class="n">alias</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">max_length</span><span·class="o">=</span><span·class="mi">50</span><span·class="p">,</span>·<span·class="n">null</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">,</span>·<span·class="n">blank</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>
91 ····<span·class="n">goes_by</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">max_length</span><span·class="o">=</span><span·class="mi">50</span><span·class="p">,</span>·<span·class="n">null</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">,</span>·<span·class="n">blank</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>92 ····<span·class="n">goes_by</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">CharField</span><span·class="p">(</span><span·class="n">max_length</span><span·class="o">=</span><span·class="mi">50</span><span·class="p">,</span>·<span·class="n">null</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">,</span>·<span·class="n">blank</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>
92 </pre></div>93 </pre></div>
93 </div>94 </div>
94 <p>We·don’t·usually·recommend·allowing·<code·class="docutils·literal·notranslate"><span·class="pre">null=True</span></code>·for·<code·class="docutils·literal·notranslate"><span·class="pre">CharField</span></code>·since·this95 <p>We·don’t·usually·recommend·allowing·<code·class="docutils·literal·notranslate"><span·class="pre">null=True</span></code>·for·<code·class="docutils·literal·notranslate"><span·class="pre">CharField</span></code>·since·this
95 allows·the·field·to·have·two·empty·values,·but·it’s·important·for·the96 allows·the·field·to·have·two·empty·values,·but·it’s·important·for·the
96 <code·class="docutils·literal·notranslate"><span·class="pre">Coalesce</span></code>·example·below.</p>97 <code·class="docutils·literal·notranslate"><span·class="pre">Coalesce</span></code>·example·below.</p>
97 <section·id="s-comparison-and-conversion-functions">98 <section·id="s-comparison-and-conversion-functions">
98 <span·id="s-comparison-functions"></span><span·id="comparison-and-conversion-functions"></span><span·id="comparison-functions"></span><h2>Comparison·and·conversion·functions<a·class="headerlink"·href="#comparison-and-conversion-functions"·title="Link·to·this·heading">¶</a></h2>99 <span·id="s-comparison-functions"></span><span·id="comparison-and-conversion-functions"></span><span·id="comparison-functions"></span><h2>Comparison·and·conversion·functions<a·class="headerlink"·href="#comparison-and-conversion-functions"·title="Link·to·this·heading">¶</a></h2>
99 <section·id="s-cast">100 <section·id="s-cast">
100 <span·id="cast"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Cast</span></code><a·class="headerlink"·href="#cast"·title="Link·to·this·heading">¶</a></h3>101 <span·id="cast"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Cast</span></code><a·class="headerlink"·href="#cast"·title="Link·to·this·heading">¶</a></h3>
101 <dl·class="py·class">102 <dl·class="py·class">
102 <dt·class="sig·sig-object·py"·id="django.db.models.functions.Cast">103 <dt·class="sig·sig-object·py"·id="django.db.models.functions.Cast">
103 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Cast</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">output_field</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/functions/comparison.py#L10"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.functions.Cast"·title="Link·to·this·definition">¶</a></dt>104 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Cast</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">output_field</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/functions/comparison.py#L10"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.functions.Cast"·title="Link·to·this·definition">¶</a></dt>
104 <dd></dd></dl>105 <dd></dd></dl>
  
105 <p>Forces·the·result·type·of·<code·class="docutils·literal·notranslate"><span·class="pre">expression</span></code>·to·be·the·one·from·<code·class="docutils·literal·notranslate"><span·class="pre">output_field</span></code>.</p>106 <p>Forces·the·result·type·of·<code·class="docutils·literal·notranslate"><span·class="pre">expression</span></code>·to·be·the·one·from·<code·class="docutils·literal·notranslate"><span·class="pre">output_field</span></code>.</p>
106 <p>Usage·example:</p>107 <p>Usage·example:</p>
107 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">FloatField</span>108 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">FloatField</span>
108 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models.functions</span>·<span·class="kn">import</span>·<span·class="n">Cast</span>109 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models.functions</span>·<span·class="kn">import</span>·<span·class="n">Cast</span>
109 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Author</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">create</span><span·class="p">(</span><span·class="n">age</span><span·class="o">=</span><span·class="mi">25</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;Margaret·Smith&quot;</span><span·class="p">)</span>110 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Author</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">create</span><span·class="p">(</span><span·class="n">age</span><span·class="o">=</span><span·class="mi">25</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;Margaret·Smith&quot;</span><span·class="p">)</span>
Offset 116, 15 lines modifiedOffset 117, 15 lines modified
116 </pre></div>117 </pre></div>
117 </div>118 </div>
118 </section>119 </section>
119 <section·id="s-coalesce">120 <section·id="s-coalesce">
120 <span·id="coalesce"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Coalesce</span></code><a·class="headerlink"·href="#coalesce"·title="Link·to·this·heading">¶</a></h3>121 <span·id="coalesce"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Coalesce</span></code><a·class="headerlink"·href="#coalesce"·title="Link·to·this·heading">¶</a></h3>
121 <dl·class="py·class">122 <dl·class="py·class">
122 <dt·class="sig·sig-object·py"·id="django.db.models.functions.Coalesce">123 <dt·class="sig·sig-object·py"·id="django.db.models.functions.Coalesce">
123 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Coalesce</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/functions/comparison.py#L73"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.functions.Coalesce"·title="Link·to·this·definition">¶</a></dt>124 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Coalesce</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/functions/comparison.py#L73"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.functions.Coalesce"·title="Link·to·this·definition">¶</a></dt>
124 <dd></dd></dl>125 <dd></dd></dl>
  
125 <p>Accepts·a·list·of·at·least·two·field·names·or·expressions·and·returns·the126 <p>Accepts·a·list·of·at·least·two·field·names·or·expressions·and·returns·the
126 first·non-null·value·(note·that·an·empty·string·is·not·considered·a·null127 first·non-null·value·(note·that·an·empty·string·is·not·considered·a·null
127 value).·Each·argument·must·be·of·a·similar·type,·so·mixing·text·and·numbers128 value).·Each·argument·must·be·of·a·similar·type,·so·mixing·text·and·numbers
128 will·result·in·a·database·error.</p>129 will·result·in·a·database·error.</p>
129 <p>Usage·examples:</p>130 <p>Usage·examples:</p>
Offset 148, 15 lines modifiedOffset 149, 15 lines modified
148 <span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="n">aggregated</span><span·class="p">[</span><span·class="s2">&quot;combined_age_default&quot;</span><span·class="p">])</span>149 <span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="n">aggregated</span><span·class="p">[</span><span·class="s2">&quot;combined_age_default&quot;</span><span·class="p">])</span>
149 <span·class="go">0</span>150 <span·class="go">0</span>
150 <span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="n">aggregated</span><span·class="p">[</span><span·class="s2">&quot;combined_age_coalesce&quot;</span><span·class="p">])</span>151 <span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="n">aggregated</span><span·class="p">[</span><span·class="s2">&quot;combined_age_coalesce&quot;</span><span·class="p">])</span>
151 <span·class="go">0</span>152 <span·class="go">0</span>
152 </pre></div>153 </pre></div>
153 </div>154 </div>
154 <div·class="admonition·warning">155 <div·class="admonition·warning">
155 <p·class="admonition-title">Warning</p>156 <p·class="admonition-title">Hoiatus</p>
156 <p>A·Python·value·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">Coalesce</span></code>·on·MySQL·may·be·converted·to·an157 <p>A·Python·value·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">Coalesce</span></code>·on·MySQL·may·be·converted·to·an
157 incorrect·type·unless·explicitly·cast·to·the·correct·database·type:</p>158 incorrect·type·unless·explicitly·cast·to·the·correct·database·type:</p>
158 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">DateTimeField</span>159 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">DateTimeField</span>
159 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models.functions</span>·<span·class="kn">import</span>·<span·class="n">Cast</span><span·class="p">,</span>·<span·class="n">Coalesce</span>160 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models.functions</span>·<span·class="kn">import</span>·<span·class="n">Cast</span><span·class="p">,</span>·<span·class="n">Coalesce</span>
160 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.utils</span>·<span·class="kn">import</span>·<span·class="n">timezone</span>161 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.utils</span>·<span·class="kn">import</span>·<span·class="n">timezone</span>
161 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">now</span>·<span·class="o">=</span>·<span·class="n">timezone</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>162 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">now</span>·<span·class="o">=</span>·<span·class="n">timezone</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>
162 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Coalesce</span><span·class="p">(</span><span·class="s2">&quot;updated&quot;</span><span·class="p">,</span>·<span·class="n">Cast</span><span·class="p">(</span><span·class="n">now</span><span·class="p">,</span>·<span·class="n">DateTimeField</span><span·class="p">()))</span>163 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Coalesce</span><span·class="p">(</span><span·class="s2">&quot;updated&quot;</span><span·class="p">,</span>·<span·class="n">Cast</span><span·class="p">(</span><span·class="n">now</span><span·class="p">,</span>·<span·class="n">DateTimeField</span><span·class="p">()))</span>
Offset 164, 15 lines modifiedOffset 165, 15 lines modified
164 </div>165 </div>
165 </div>166 </div>
166 </section>167 </section>
167 <section·id="s-collate">168 <section·id="s-collate">
168 <span·id="collate"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Collate</span></code><a·class="headerlink"·href="#collate"·title="Link·to·this·heading">¶</a></h3>169 <span·id="collate"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Collate</span></code><a·class="headerlink"·href="#collate"·title="Link·to·this·heading">¶</a></h3>
169 <dl·class="py·class">170 <dl·class="py·class">
170 <dt·class="sig·sig-object·py"·id="django.db.models.functions.Collate">171 <dt·class="sig·sig-object·py"·id="django.db.models.functions.Collate">
171 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Collate</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">collation</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/functions/comparison.py#L106"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.functions.Collate"·title="Link·to·this·definition">¶</a></dt>172 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Collate</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">expression</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">collation</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/functions/comparison.py#L106"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.functions.Collate"·title="Link·to·this·definition">¶</a></dt>
172 <dd></dd></dl>173 <dd></dd></dl>
  
173 <p>Takes·an·expression·and·a·collation·name·to·query·against.</p>174 <p>Takes·an·expression·and·a·collation·name·to·query·against.</p>
174 <p>For·example,·to·filter·case-insensitively·in·SQLite:</p>175 <p>For·example,·to·filter·case-insensitively·in·SQLite:</p>
175 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Author</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="n">Collate</span><span·class="p">(</span><span·class="n">Value</span><span·class="p">(</span><span·class="s2">&quot;john&quot;</span><span·class="p">),</span>·<span·class="s2">&quot;nocase&quot;</span><span·class="p">))</span>176 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Author</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="n">Collate</span><span·class="p">(</span><span·class="n">Value</span><span·class="p">(</span><span·class="s2">&quot;john&quot;</span><span·class="p">),</span>·<span·class="s2">&quot;nocase&quot;</span><span·class="p">))</span>
176 <span·class="go">&lt;QuerySet·[&lt;Author:·John&gt;,·&lt;Author:·john&gt;]&gt;</span>177 <span·class="go">&lt;QuerySet·[&lt;Author:·John&gt;,·&lt;Author:·john&gt;]&gt;</span>
177 </pre></div>178 </pre></div>
Offset 183, 15 lines modifiedOffset 184, 15 lines modified
183 </pre></div>184 </pre></div>
184 </div>185 </div>
185 </section>186 </section>
186 <section·id="s-greatest">187 <section·id="s-greatest">
187 <span·id="greatest"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Greatest</span></code><a·class="headerlink"·href="#greatest"·title="Link·to·this·heading">¶</a></h3>188 <span·id="greatest"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Greatest</span></code><a·class="headerlink"·href="#greatest"·title="Link·to·this·heading">¶</a></h3>
188 <dl·class="py·class">189 <dl·class="py·class">
189 <dt·class="sig·sig-object·py"·id="django.db.models.functions.Greatest">190 <dt·class="sig·sig-object·py"·id="django.db.models.functions.Greatest">
190 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Greatest</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/functions/comparison.py#L125"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.functions.Greatest"·title="Link·to·this·definition">¶</a></dt>191 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Greatest</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/functions/comparison.py#L125"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.functions.Greatest"·title="Link·to·this·definition">¶</a></dt>
191 <dd></dd></dl>192 <dd></dd></dl>
  
192 <p>Accepts·a·list·of·at·least·two·field·names·or·expressions·and·returns·the193 <p>Accepts·a·list·of·at·least·two·field·names·or·expressions·and·returns·the
193 greatest·value.·Each·argument·must·be·of·a·similar·type,·so·mixing·text·and194 greatest·value.·Each·argument·must·be·of·a·similar·type,·so·mixing·text·and
194 numbers·will·result·in·a·database·error.</p>195 numbers·will·result·in·a·database·error.</p>
195 <p>Usage·example:</p>196 <p>Usage·example:</p>
196 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">Blog</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>197 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">Blog</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>
Max diff block lines reached; 242058/258498 bytes (93.64%) of diff not shown.
68.2 KB
html2text {}
Max HTML report size reached
80.7 KB
./usr/share/doc/python-django-doc/html/ref/models/expressions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Query·Expressions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Query·Expressions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Conditional·Expressions"·href="conditional-expressions.html"·/>15 ····<link·rel="next"·title="Conditional·Expressions"·href="conditional-expressions.html"·/>
15 ····<link·rel="prev"·title="Lookup·API·reference"·href="lookups.html"·/>16 ····<link·rel="prev"·title="Lookup·API·reference"·href="lookups.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 170, 24 lines modifiedOffset 171, 24 lines modified
170 <span·class="gp">...·</span><span·class="p">)</span>171 <span·class="gp">...·</span><span·class="p">)</span>
171 </pre></div>172 </pre></div>
172 </div>173 </div>
173 </section>174 </section>
174 <section·id="s-built-in-expressions">175 <section·id="s-built-in-expressions">
175 <span·id="built-in-expressions"></span><h2>Built-in·Expressions<a·class="headerlink"·href="#built-in-expressions"·title="Link·to·this·heading">¶</a></h2>176 <span·id="built-in-expressions"></span><h2>Built-in·Expressions<a·class="headerlink"·href="#built-in-expressions"·title="Link·to·this·heading">¶</a></h2>
176 <div·class="admonition·note">177 <div·class="admonition·note">
177 <p·class="admonition-title">Note</p>178 <p·class="admonition-title">rkus</p>
178 <p>These·expressions·are·defined·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.expressions</span></code>·and179 <p>These·expressions·are·defined·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.expressions</span></code>·and
179 <code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.aggregates</span></code>,·but·for·convenience·they’re·available·and180 <code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.aggregates</span></code>,·but·for·convenience·they’re·available·and
180 usually·imported·from·<a·class="reference·internal"·href="../../topics/db/models.html#module-django.db.models"·title="django.db.models"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.db.models</span></code></a>.</p>181 usually·imported·from·<a·class="reference·internal"·href="../../topics/db/models.html#module-django.db.models"·title="django.db.models"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.db.models</span></code></a>.</p>
181 </div>182 </div>
182 <section·id="s-f-expressions">183 <section·id="s-f-expressions">
183 <span·id="f-expressions"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>·expressions<a·class="headerlink"·href="#f-expressions"·title="Link·to·this·heading">¶</a></h3>184 <span·id="f-expressions"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>·expressions<a·class="headerlink"·href="#f-expressions"·title="Link·to·this·heading">¶</a></h3>
184 <dl·class="py·class">185 <dl·class="py·class">
185 <dt·class="sig·sig-object·py"·id="django.db.models.F">186 <dt·class="sig·sig-object·py"·id="django.db.models.F">
186 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">F</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L869"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.F"·title="Link·to·this·definition">¶</a></dt>187 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">F</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L869"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.F"·title="Link·to·this·definition">¶</a></dt>
187 <dd></dd></dl>188 <dd></dd></dl>
  
188 <p>An·<code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>·object·represents·the·value·of·a·model·field,·transformed·value·of·a189 <p>An·<code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>·object·represents·the·value·of·a·model·field,·transformed·value·of·a
189 model·field,·or·annotated·column.·It·makes·it·possible·to·refer·to·model·field190 model·field,·or·annotated·column.·It·makes·it·possible·to·refer·to·model·field
190 values·and·perform·database·operations·using·them·without·actually·having·to191 values·and·perform·database·operations·using·them·without·actually·having·to
191 pull·them·out·of·the·database·into·Python·memory.</p>192 pull·them·out·of·the·database·into·Python·memory.</p>
192 <p>Instead,·Django·uses·the·<code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>·object·to·generate·an·SQL·expression·that193 <p>Instead,·Django·uses·the·<code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>·object·to·generate·an·SQL·expression·that
Offset 381, 15 lines modifiedOffset 382, 15 lines modified
381 <span·class="w">····</span><span·class="k">LOWER</span><span·class="p">(</span><span·class="ss">&quot;db_table&quot;</span><span·class="p">.</span><span·class="ss">&quot;field&quot;</span><span·class="p">)</span><span·class="w">·</span><span·class="k">as</span><span·class="w">·</span><span·class="ss">&quot;field_lower&quot;</span>382 <span·class="w">····</span><span·class="k">LOWER</span><span·class="p">(</span><span·class="ss">&quot;db_table&quot;</span><span·class="p">.</span><span·class="ss">&quot;field&quot;</span><span·class="p">)</span><span·class="w">·</span><span·class="k">as</span><span·class="w">·</span><span·class="ss">&quot;field_lower&quot;</span>
382 </pre></div>383 </pre></div>
383 </div>384 </div>
384 <p>See·<a·class="reference·internal"·href="database-functions.html"><span·class="doc">Database·Functions</span></a>·for·a·list·of·built-in·database·functions.</p>385 <p>See·<a·class="reference·internal"·href="database-functions.html"><span·class="doc">Database·Functions</span></a>·for·a·list·of·built-in·database·functions.</p>
385 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Func</span></code>·API·is·as·follows:</p>386 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Func</span></code>·API·is·as·follows:</p>
386 <dl·class="py·class">387 <dl·class="py·class">
387 <dt·class="sig·sig-object·py"·id="django.db.models.Func">388 <dt·class="sig·sig-object·py"·id="django.db.models.Func">
388 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Func</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1024"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Func"·title="Link·to·this·definition">¶</a></dt>389 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Func</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1024"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Func"·title="Link·to·this·definition">¶</a></dt>
389 <dd><dl·class="py·attribute">390 <dd><dl·class="py·attribute">
390 <dt·class="sig·sig-object·py"·id="django.db.models.Func.function">391 <dt·class="sig·sig-object·py"·id="django.db.models.Func.function">
391 <span·class="sig-name·descname"><span·class="pre">function</span></span><a·class="headerlink"·href="#django.db.models.Func.function"·title="Link·to·this·definition">¶</a></dt>392 <span·class="sig-name·descname"><span·class="pre">function</span></span><a·class="headerlink"·href="#django.db.models.Func.function"·title="Link·to·this·definition">¶</a></dt>
392 <dd><p>A·class·attribute·describing·the·function·that·will·be·generated.393 <dd><p>A·class·attribute·describing·the·function·that·will·be·generated.
393 Specifically,·the·<code·class="docutils·literal·notranslate"><span·class="pre">function</span></code>·will·be·interpolated·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">function</span></code>394 Specifically,·the·<code·class="docutils·literal·notranslate"><span·class="pre">function</span></code>·will·be·interpolated·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">function</span></code>
394 placeholder·within·<a·class="reference·internal"·href="#django.db.models.Func.template"·title="django.db.models.Func.template"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">template</span></code></a>.·Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>395 placeholder·within·<a·class="reference·internal"·href="#django.db.models.Func.template"·title="django.db.models.Func.template"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">template</span></code></a>.·Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>
395 </dd></dl>396 </dd></dl>
Offset 421, 15 lines modifiedOffset 422, 15 lines modified
421 accepts.·If·this·attribute·is·set·and·the·function·is·called·with·a422 accepts.·If·this·attribute·is·set·and·the·function·is·called·with·a
422 different·number·of·expressions,·<code·class="docutils·literal·notranslate"><span·class="pre">TypeError</span></code>·will·be·raised.·Defaults423 different·number·of·expressions,·<code·class="docutils·literal·notranslate"><span·class="pre">TypeError</span></code>·will·be·raised.·Defaults
423 to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>424 to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>
424 </dd></dl>425 </dd></dl>
  
425 <dl·class="py·method">426 <dl·class="py·method">
426 <dt·class="sig·sig-object·py"·id="django.db.models.Func.as_sql">427 <dt·class="sig·sig-object·py"·id="django.db.models.Func.as_sql">
427 <span·class="sig-name·descname"><span·class="pre">as_sql</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">compiler</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">function</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">arg_joiner</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra_context</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1078"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Func.as_sql"·title="Link·to·this·definition">¶</a></dt>428 <span·class="sig-name·descname"><span·class="pre">as_sql</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">compiler</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">function</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">arg_joiner</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra_context</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1078"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Func.as_sql"·title="Link·to·this·definition">¶</a></dt>
428 <dd><p>Generates·the·SQL·fragment·for·the·database·function.·Returns·a·tuple429 <dd><p>Generates·the·SQL·fragment·for·the·database·function.·Returns·a·tuple
429 <code·class="docutils·literal·notranslate"><span·class="pre">(sql,</span>·<span·class="pre">params)</span></code>,·where·<code·class="docutils·literal·notranslate"><span·class="pre">sql</span></code>·is·the·SQL·string,·and·<code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>·is430 <code·class="docutils·literal·notranslate"><span·class="pre">(sql,</span>·<span·class="pre">params)</span></code>,·where·<code·class="docutils·literal·notranslate"><span·class="pre">sql</span></code>·is·the·SQL·string,·and·<code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>·is
430 the·list·or·tuple·of·query·parameters.</p>431 the·list·or·tuple·of·query·parameters.</p>
431 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">as_vendor()</span></code>·methods·should·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">function</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">template</span></code>,432 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">as_vendor()</span></code>·methods·should·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">function</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">template</span></code>,
432 <code·class="docutils·literal·notranslate"><span·class="pre">arg_joiner</span></code>,·and·any·other·<code·class="docutils·literal·notranslate"><span·class="pre">**extra_context</span></code>·parameters·to433 <code·class="docutils·literal·notranslate"><span·class="pre">arg_joiner</span></code>,·and·any·other·<code·class="docutils·literal·notranslate"><span·class="pre">**extra_context</span></code>·parameters·to
433 customize·the·SQL·as·needed.·For·example:</p>434 customize·the·SQL·as·needed.·For·example:</p>
434 <div·class="literal-block-wrapper·docutils·container"·id="id6">435 <div·class="literal-block-wrapper·docutils·container"·id="id6">
Offset 488, 15 lines modifiedOffset 489, 15 lines modified
488 ····<span·class="n">managers_required</span><span·class="o">=</span><span·class="p">(</span><span·class="n">Count</span><span·class="p">(</span><span·class="s2">&quot;num_employees&quot;</span><span·class="p">)</span>·<span·class="o">/</span>·<span·class="mi">4</span><span·class="p">)</span>·<span·class="o">+</span>·<span·class="n">Count</span><span·class="p">(</span><span·class="s2">&quot;num_managers&quot;</span><span·class="p">)</span>489 ····<span·class="n">managers_required</span><span·class="o">=</span><span·class="p">(</span><span·class="n">Count</span><span·class="p">(</span><span·class="s2">&quot;num_employees&quot;</span><span·class="p">)</span>·<span·class="o">/</span>·<span·class="mi">4</span><span·class="p">)</span>·<span·class="o">+</span>·<span·class="n">Count</span><span·class="p">(</span><span·class="s2">&quot;num_managers&quot;</span><span·class="p">)</span>
489 <span·class="p">)</span>490 <span·class="p">)</span>
490 </pre></div>491 </pre></div>
491 </div>492 </div>
492 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Aggregate</span></code>·API·is·as·follows:</p>493 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Aggregate</span></code>·API·is·as·follows:</p>
493 <dl·class="py·class">494 <dl·class="py·class">
494 <dt·class="sig·sig-object·py"·id="django.db.models.Aggregate">495 <dt·class="sig·sig-object·py"·id="django.db.models.Aggregate">
495 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Aggregate</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">output_field</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">distinct</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">default</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/aggregates.py#L26"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Aggregate"·title="Link·to·this·definition">¶</a></dt>496 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Aggregate</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">output_field</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">distinct</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">filter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">default</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/aggregates.py#L26"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Aggregate"·title="Link·to·this·definition">¶</a></dt>
496 <dd><dl·class="py·attribute">497 <dd><dl·class="py·attribute">
497 <dt·class="sig·sig-object·py"·id="django.db.models.Aggregate.template">498 <dt·class="sig·sig-object·py"·id="django.db.models.Aggregate.template">
498 <span·class="sig-name·descname"><span·class="pre">template</span></span><a·class="headerlink"·href="#django.db.models.Aggregate.template"·title="Link·to·this·definition">¶</a></dt>499 <span·class="sig-name·descname"><span·class="pre">template</span></span><a·class="headerlink"·href="#django.db.models.Aggregate.template"·title="Link·to·this·definition">¶</a></dt>
499 <dd><p>A·class·attribute,·as·a·format·string,·that·describes·the·SQL·that·is500 <dd><p>A·class·attribute,·as·a·format·string,·that·describes·the·SQL·that·is
500 generated·for·this·aggregate.·Defaults·to501 generated·for·this·aggregate.·Defaults·to
501 <code·class="docutils·literal·notranslate"><span·class="pre">'%(function)s(%(distinct)s%(expressions)s)'</span></code>.</p>502 <code·class="docutils·literal·notranslate"><span·class="pre">'%(function)s(%(distinct)s%(expressions)s)'</span></code>.</p>
502 </dd></dl>503 </dd></dl>
Offset 569, 15 lines modifiedOffset 570, 15 lines modified
569 </pre></div>570 </pre></div>
570 </div>571 </div>
571 </section>572 </section>
572 <section·id="s-value-expressions">573 <section·id="s-value-expressions">
573 <span·id="value-expressions"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Value()</span></code>·expressions<a·class="headerlink"·href="#value-expressions"·title="Link·to·this·heading">¶</a></h3>574 <span·id="value-expressions"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Value()</span></code>·expressions<a·class="headerlink"·href="#value-expressions"·title="Link·to·this·heading">¶</a></h3>
574 <dl·class="py·class">575 <dl·class="py·class">
575 <dt·class="sig·sig-object·py"·id="django.db.models.Value">576 <dt·class="sig·sig-object·py"·id="django.db.models.Value">
576 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Value</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">output_field</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1129"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Value"·title="Link·to·this·definition">¶</a></dt>577 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Value</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">output_field</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/expressions.py#L1129"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Value"·title="Link·to·this·definition">¶</a></dt>
577 <dd></dd></dl>578 <dd></dd></dl>
  
578 <p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Value()</span></code>·object·represents·the·smallest·possible·component·of·an579 <p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Value()</span></code>·object·represents·the·smallest·possible·component·of·an
579 expression:·a·simple·value.·When·you·need·to·represent·the·value·of·an·integer,580 expression:·a·simple·value.·When·you·need·to·represent·the·value·of·an·integer,
580 boolean,·or·string·within·an·expression,·you·can·wrap·that·value·within·a581 boolean,·or·string·within·an·expression,·you·can·wrap·that·value·within·a
581 <code·class="docutils·literal·notranslate"><span·class="pre">Value()</span></code>.</p>582 <code·class="docutils·literal·notranslate"><span·class="pre">Value()</span></code>.</p>
Max diff block lines reached; 42712/61395 bytes (69.57%) of diff not shown.
20.6 KB
html2text {}
Max HTML report size reached
291 KB
./usr/share/doc/python-django-doc/html/ref/models/fields.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Model·field·reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Model·field·reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Model·index·reference"·href="indexes.html"·/>15 ····<link·rel="next"·title="Model·index·reference"·href="indexes.html"·/>
15 ····<link·rel="prev"·title="Models"·href="index.html"·/>16 ····<link·rel="prev"·title="Models"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 78, 22 lines modifiedOffset 79, 22 lines modified
78 ··········<div·class="yui-g"·id="ref-models-fields">79 ··········<div·class="yui-g"·id="ref-models-fields">
79 ············80 ············
80 ··<section·id="s-module-django.db.models.fields">81 ··<section·id="s-module-django.db.models.fields">
81 <span·id="s-model-field-reference"></span><span·id="module-django.db.models.fields"></span><span·id="model-field-reference"></span><h1>Model·field·reference<a·class="headerlink"·href="#module-django.db.models.fields"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-model-field-reference"></span><span·id="module-django.db.models.fields"></span><span·id="model-field-reference"></span><h1>Model·field·reference<a·class="headerlink"·href="#module-django.db.models.fields"·title="Link·to·this·heading">¶</a></h1>
82 <p>This·document·contains·all·the·API·references·of·<a·class="reference·internal"·href="#django.db.models.Field"·title="django.db.models.Field"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Field</span></code></a>·including·the83 <p>This·document·contains·all·the·API·references·of·<a·class="reference·internal"·href="#django.db.models.Field"·title="django.db.models.Field"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Field</span></code></a>·including·the
83 <a·class="reference·internal"·href="#field-options">field·options</a>·and·<a·class="reference·internal"·href="#field-types">field·types</a>·Django·offers.</p>84 <a·class="reference·internal"·href="#field-options">field·options</a>·and·<a·class="reference·internal"·href="#field-types">field·types</a>·Django·offers.</p>
84 <div·class="admonition·seealso">85 <div·class="admonition·seealso">
85 <p·class="admonition-title">See·also</p>86 <p·class="admonition-title">Vaata·ka</p>
86 <p>If·the·built-in·fields·don’t·do·the·trick,·you·can·try87 <p>If·the·built-in·fields·don’t·do·the·trick,·you·can·try
87 <a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/django-localflavor/">django-localflavor</a>·(<a·class="reference·external"·href="https://django-localflavor.readthedocs.io/">documentation</a>),·which·contains·assorted88 <a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/django-localflavor/">django-localflavor</a>·(<a·class="reference·external"·href="https://django-localflavor.readthedocs.io/">documentation</a>),·which·contains·assorted
88 pieces·of·code·that·are·useful·for·particular·countries·and·cultures.</p>89 pieces·of·code·that·are·useful·for·particular·countries·and·cultures.</p>
89 <p>Also,·you·can·easily·<a·class="reference·internal"·href="../../howto/custom-model-fields.html"><span·class="doc">write·your·own·custom·model·fields</span></a>.</p>90 <p>Also,·you·can·easily·<a·class="reference·internal"·href="../../howto/custom-model-fields.html"><span·class="doc">write·your·own·custom·model·fields</span></a>.</p>
90 </div>91 </div>
91 <div·class="admonition·note">92 <div·class="admonition·note">
92 <p·class="admonition-title">Note</p>93 <p·class="admonition-title">rkus</p>
93 <p>Fields·are·defined·in·<a·class="reference·internal"·href="#module-django.db.models.fields"·title="django.db.models.fields:·Built-in·field·types."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.db.models.fields</span></code></a>,·but·for·convenience94 <p>Fields·are·defined·in·<a·class="reference·internal"·href="#module-django.db.models.fields"·title="django.db.models.fields:·Built-in·field·types."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.db.models.fields</span></code></a>,·but·for·convenience
94 they’re·imported·into·<a·class="reference·internal"·href="../../topics/db/models.html#module-django.db.models"·title="django.db.models"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.db.models</span></code></a>.·The·standard·convention·is95 they’re·imported·into·<a·class="reference·internal"·href="../../topics/db/models.html#module-django.db.models"·title="django.db.models"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.db.models</span></code></a>.·The·standard·convention·is
95 to·use·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">django.db</span>·<span·class="pre">import</span>·<span·class="pre">models</span></code>·and·refer·to·fields·as96 to·use·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">django.db</span>·<span·class="pre">import</span>·<span·class="pre">models</span></code>·and·refer·to·fields·as
96 <code·class="docutils·literal·notranslate"><span·class="pre">models.&lt;Foo&gt;Field</span></code>.</p>97 <code·class="docutils·literal·notranslate"><span·class="pre">models.&lt;Foo&gt;Field</span></code>.</p>
97 </div>98 </div>
98 <section·id="s-field-options">99 <section·id="s-field-options">
99 <span·id="s-common-model-field-options"></span><span·id="field-options"></span><span·id="common-model-field-options"></span><h2>Field·options<a·class="headerlink"·href="#field-options"·title="Link·to·this·heading">¶</a></h2>100 <span·id="s-common-model-field-options"></span><span·id="field-options"></span><span·id="common-model-field-options"></span><h2>Field·options<a·class="headerlink"·href="#field-options"·title="Link·to·this·heading">¶</a></h2>
Offset 105, 26 lines modifiedOffset 106, 26 lines modified
105 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">null</span></span><a·class="headerlink"·href="#django.db.models.Field.null"·title="Link·to·this·definition">¶</a></dt>106 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">null</span></span><a·class="headerlink"·href="#django.db.models.Field.null"·title="Link·to·this·definition">¶</a></dt>
106 <dd></dd></dl>107 <dd></dd></dl>
  
107 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·Django·will·store·empty·values·as·<code·class="docutils·literal·notranslate"><span·class="pre">NULL</span></code>·in·the·database.·Default108 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·Django·will·store·empty·values·as·<code·class="docutils·literal·notranslate"><span·class="pre">NULL</span></code>·in·the·database.·Default
108 is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>109 is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
109 <p>Avoid·using·<a·class="reference·internal"·href="#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null</span></code></a>·on·string-based·fields·such·as110 <p>Avoid·using·<a·class="reference·internal"·href="#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null</span></code></a>·on·string-based·fields·such·as
110 <a·class="reference·internal"·href="#django.db.models.CharField"·title="django.db.models.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>·and·<a·class="reference·internal"·href="#django.db.models.TextField"·title="django.db.models.TextField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TextField</span></code></a>.·If·a·string-based·field·has111 <a·class="reference·internal"·href="#django.db.models.CharField"·title="django.db.models.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>·and·<a·class="reference·internal"·href="#django.db.models.TextField"·title="django.db.models.TextField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TextField</span></code></a>.·If·a·string-based·field·has
111 <code·class="docutils·literal·notranslate"><span·class="pre">null=True</span></code>,·that·means·it·has·two·possible·values·for·no·data:·<code·class="docutils·literal·notranslate"><span·class="pre">NULL</span></code>,112 <code·class="docutils·literal·notranslate"><span·class="pre">null=True</span></code>,·that·means·it·has·two·possible·values·for·no·data:·<code·class="docutils·literal·notranslate"><span·class="pre">NULL</span></code>,
112 and·the·empty·string.·In·most·cases,·it’s·redundant·to·have·two·possible·values113 and·the·empty·string.·In·most·cases,·it’s·redundant·to·have·two·possible·values
113 for·no·data;·the·Django·convention·is·to·use·the·empty·string,·not114 for·no·data;·the·Django·convention·is·to·use·the·empty·string,·not
114 <code·class="docutils·literal·notranslate"><span·class="pre">NULL</span></code>.·One·exception·is·when·a·<a·class="reference·internal"·href="#django.db.models.CharField"·title="django.db.models.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>·has·both·<code·class="docutils·literal·notranslate"><span·class="pre">unique=True</span></code>115 <code·class="docutils·literal·notranslate"><span·class="pre">NULL</span></code>.·One·exception·is·when·a·<a·class="reference·internal"·href="#django.db.models.CharField"·title="django.db.models.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>·has·both·<code·class="docutils·literal·notranslate"><span·class="pre">unique=True</span></code>
115 and·<code·class="docutils·literal·notranslate"><span·class="pre">blank=True</span></code>·set.·In·this·situation,·<code·class="docutils·literal·notranslate"><span·class="pre">null=True</span></code>·is·required·to·avoid116 and·<code·class="docutils·literal·notranslate"><span·class="pre">blank=True</span></code>·set.·In·this·situation,·<code·class="docutils·literal·notranslate"><span·class="pre">null=True</span></code>·is·required·to·avoid
116 unique·constraint·violations·when·saving·multiple·objects·with·blank·values.</p>117 unique·constraint·violations·when·saving·multiple·objects·with·blank·values.</p>
117 <p>For·both·string-based·and·non-string-based·fields,·you·will·also·need·to118 <p>For·both·string-based·and·non-string-based·fields,·you·will·also·need·to
118 set·<code·class="docutils·literal·notranslate"><span·class="pre">blank=True</span></code>·if·you·wish·to·permit·empty·values·in·forms,·as·the119 set·<code·class="docutils·literal·notranslate"><span·class="pre">blank=True</span></code>·if·you·wish·to·permit·empty·values·in·forms,·as·the
119 <a·class="reference·internal"·href="#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null</span></code></a>·parameter·only·affects·database·storage120 <a·class="reference·internal"·href="#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null</span></code></a>·parameter·only·affects·database·storage
120 (see·<a·class="reference·internal"·href="#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank</span></code></a>).</p>121 (see·<a·class="reference·internal"·href="#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank</span></code></a>).</p>
121 <div·class="admonition·note">122 <div·class="admonition·note">
122 <p·class="admonition-title">Note</p>123 <p·class="admonition-title">rkus</p>
123 <p>When·using·the·Oracle·database·backend,·the·value·<code·class="docutils·literal·notranslate"><span·class="pre">NULL</span></code>·will·be·stored·to124 <p>When·using·the·Oracle·database·backend,·the·value·<code·class="docutils·literal·notranslate"><span·class="pre">NULL</span></code>·will·be·stored·to
124 denote·the·empty·string·regardless·of·this·attribute.</p>125 denote·the·empty·string·regardless·of·this·attribute.</p>
125 </div>126 </div>
126 </section>127 </section>
127 <section·id="s-blank">128 <section·id="s-blank">
128 <span·id="blank"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">blank</span></code><a·class="headerlink"·href="#blank"·title="Link·to·this·heading">¶</a></h3>129 <span·id="blank"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">blank</span></code><a·class="headerlink"·href="#blank"·title="Link·to·this·heading">¶</a></h3>
129 <dl·class="py·attribute">130 <dl·class="py·attribute">
Offset 144, 15 lines modifiedOffset 145, 15 lines modified
144 order·to·programmatically·supply·any·missing·values.</p>145 order·to·programmatically·supply·any·missing·values.</p>
145 </div>146 </div>
146 </section>147 </section>
147 <section·id="s-choices">148 <section·id="s-choices">
148 <span·id="s-field-choices"></span><span·id="choices"></span><span·id="field-choices"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">choices</span></code><a·class="headerlink"·href="#choices"·title="Link·to·this·heading">¶</a></h3>149 <span·id="s-field-choices"></span><span·id="choices"></span><span·id="field-choices"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">choices</span></code><a·class="headerlink"·href="#choices"·title="Link·to·this·heading">¶</a></h3>
149 <dl·class="py·attribute">150 <dl·class="py·attribute">
150 <dt·class="sig·sig-object·py"·id="django.db.models.Field.choices">151 <dt·class="sig·sig-object·py"·id="django.db.models.Field.choices">
151 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">choices</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/fields/__init__.py#L550"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Field.choices"·title="Link·to·this·definition">¶</a></dt>152 <span·class="sig-prename·descclassname"><span·class="pre">Field.</span></span><span·class="sig-name·descname"><span·class="pre">choices</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/fields/__init__.py#L550"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Field.choices"·title="Link·to·this·definition">¶</a></dt>
152 <dd></dd></dl>153 <dd></dd></dl>
  
153 <p>A·mapping·or·iterable·in·the·format·described·below·to·use·as·choices·for·this154 <p>A·mapping·or·iterable·in·the·format·described·below·to·use·as·choices·for·this
154 field.·If·choices·are·given,·they’re·enforced·by155 field.·If·choices·are·given,·they’re·enforced·by
155 <a·class="reference·internal"·href="instances.html#validating-objects"><span·class="std·std-ref">model·validation</span></a>·and·the·default·form·widget·will156 <a·class="reference·internal"·href="instances.html#validating-objects"><span·class="std·std-ref">model·validation</span></a>·and·the·default·form·widget·will
156 be·a·select·box·with·these·choices·instead·of·the·standard·text·field.</p>157 be·a·select·box·with·these·choices·instead·of·the·standard·text·field.</p>
157 <p>If·a·mapping·is·given,·the·key·element·is·the·actual·value·to·be·set·on·the158 <p>If·a·mapping·is·given,·the·key·element·is·the·actual·value·to·be·set·on·the
Offset 162, 15 lines modifiedOffset 163, 15 lines modified
162 ····<span·class="s2">&quot;SO&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;Sophomore&quot;</span><span·class="p">,</span>163 ····<span·class="s2">&quot;SO&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;Sophomore&quot;</span><span·class="p">,</span>
163 ····<span·class="s2">&quot;JR&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;Junior&quot;</span><span·class="p">,</span>164 ····<span·class="s2">&quot;JR&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;Junior&quot;</span><span·class="p">,</span>
164 ····<span·class="s2">&quot;SR&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;Senior&quot;</span><span·class="p">,</span>165 ····<span·class="s2">&quot;SR&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;Senior&quot;</span><span·class="p">,</span>
165 ····<span·class="s2">&quot;GR&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;Graduate&quot;</span><span·class="p">,</span>166 ····<span·class="s2">&quot;GR&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;Graduate&quot;</span><span·class="p">,</span>
166 <span·class="p">}</span>167 <span·class="p">}</span>
167 </pre></div>168 </pre></div>
168 </div>169 </div>
169 <p>You·can·also·pass·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·consisting·itself·of·iterables·of·exactly170 <p>You·can·also·pass·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·consisting·itself·of·iterables·of·exactly
170 two·items·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">[(A1,</span>·<span·class="pre">B1),</span>·<span·class="pre">(A2,</span>·<span·class="pre">B2),</span>·<span·class="pre">…]</span></code>).·The·first·element·in·each·tuple171 two·items·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">[(A1,</span>·<span·class="pre">B1),</span>·<span·class="pre">(A2,</span>·<span·class="pre">B2),</span>·<span·class="pre">…]</span></code>).·The·first·element·in·each·tuple
171 is·the·actual·value·to·be·set·on·the·model,·and·the·second·element·is·the172 is·the·actual·value·to·be·set·on·the·model,·and·the·second·element·is·the
172 human-readable·name.·For·example:</p>173 human-readable·name.·For·example:</p>
173 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">YEAR_IN_SCHOOL_CHOICES</span>·<span·class="o">=</span>·<span·class="p">[</span>174 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">YEAR_IN_SCHOOL_CHOICES</span>·<span·class="o">=</span>·<span·class="p">[</span>
174 ····<span·class="p">(</span><span·class="s2">&quot;FR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Freshman&quot;</span><span·class="p">),</span>175 ····<span·class="p">(</span><span·class="s2">&quot;FR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Freshman&quot;</span><span·class="p">),</span>
175 ····<span·class="p">(</span><span·class="s2">&quot;SO&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Sophomore&quot;</span><span·class="p">),</span>176 ····<span·class="p">(</span><span·class="s2">&quot;SO&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Sophomore&quot;</span><span·class="p">),</span>
176 ····<span·class="p">(</span><span·class="s2">&quot;JR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Junior&quot;</span><span·class="p">),</span>177 ····<span·class="p">(</span><span·class="s2">&quot;JR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Junior&quot;</span><span·class="p">),</span>
Offset 278, 15 lines modifiedOffset 279, 15 lines modified
278 </div>279 </div>
279 <p>Note·that·choices·can·be·any·sequence·object··not·necessarily·a·list·or280 <p>Note·that·choices·can·be·any·sequence·object··not·necessarily·a·list·or
280 tuple.·This·lets·you·construct·choices·dynamically.·But·if·you·find·yourself281 tuple.·This·lets·you·construct·choices·dynamically.·But·if·you·find·yourself
281 hacking·<a·class="reference·internal"·href="#django.db.models.Field.choices"·title="django.db.models.Field.choices"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">choices</span></code></a>·to·be·dynamic,·you’re·probably·better·off·using282 hacking·<a·class="reference·internal"·href="#django.db.models.Field.choices"·title="django.db.models.Field.choices"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">choices</span></code></a>·to·be·dynamic,·you’re·probably·better·off·using
282 a·proper·database·table·with·a·<a·class="reference·internal"·href="#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>.·<a·class="reference·internal"·href="#django.db.models.Field.choices"·title="django.db.models.Field.choices"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">choices</span></code></a>·is283 a·proper·database·table·with·a·<a·class="reference·internal"·href="#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>.·<a·class="reference·internal"·href="#django.db.models.Field.choices"·title="django.db.models.Field.choices"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">choices</span></code></a>·is
Max diff block lines reached; 215995/229790 bytes (94.00%) of diff not shown.
66.9 KB
html2text {}
Max HTML report size reached
5.87 KB
./usr/share/doc/python-django-doc/html/ref/models/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Models·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Models·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Model·field·reference"·href="fields.html"·/>15 ····<link·rel="next"·title="Model·field·reference"·href="fields.html"·/>
15 ····<link·rel="prev"·title="Migration·Operations"·href="../migration-operations.html"·/>16 ····<link·rel="prev"·title="Migration·Operations"·href="../migration-operations.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 37 lines modifiedOffset 108, 37 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="../migration-operations.html"116 ····<p·class="topless"><a·href="../migration-operations.html"
116 ··························title="previous·chapter">Migration·Operations</a></p>117 ··························title="eelmine·jaotis">Migration·Operations</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="fields.html"121 ····<p·class="topless"><a·href="fields.html"
121 ··························title="next·chapter">Model·field·reference</a></p>122 ··························title="järgmine·jaotis">Model·field·reference</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../../search.html"·method="get">127 ····<form·class="search"·action="../../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.04 KB
html2text {}
Max HTML report size reached
18.1 KB
./usr/share/doc/python-django-doc/html/ref/models/indexes.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Model·index·reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Model·index·reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Constraints·reference"·href="constraints.html"·/>15 ····<link·rel="next"·title="Constraints·reference"·href="constraints.html"·/>
15 ····<link·rel="prev"·title="Model·field·reference"·href="fields.html"·/>16 ····<link·rel="prev"·title="Model·field·reference"·href="fields.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 90, 15 lines modifiedOffset 91, 15 lines modified
90 to·use·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">django.db</span>·<span·class="pre">import</span>·<span·class="pre">models</span></code>·and·refer·to·the·indexes·as91 to·use·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">django.db</span>·<span·class="pre">import</span>·<span·class="pre">models</span></code>·and·refer·to·the·indexes·as
91 <code·class="docutils·literal·notranslate"><span·class="pre">models.&lt;IndexClass&gt;</span></code>.</p>92 <code·class="docutils·literal·notranslate"><span·class="pre">models.&lt;IndexClass&gt;</span></code>.</p>
92 </div>93 </div>
93 <section·id="s-index-options">94 <section·id="s-index-options">
94 <span·id="index-options"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Index</span></code>·options<a·class="headerlink"·href="#index-options"·title="Link·to·this·heading">¶</a></h2>95 <span·id="index-options"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Index</span></code>·options<a·class="headerlink"·href="#index-options"·title="Link·to·this·heading">¶</a></h2>
95 <dl·class="py·class">96 <dl·class="py·class">
96 <dt·class="sig·sig-object·py"·id="django.db.models.Index">97 <dt·class="sig·sig-object·py"·id="django.db.models.Index">
97 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Index</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">db_tablespace</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">opclasses</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">include</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/indexes.py#L13"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Index"·title="Link·to·this·definition">¶</a></dt>98 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Index</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">expressions</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">db_tablespace</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">opclasses</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">condition</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">include</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/indexes.py#L13"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Index"·title="Link·to·this·definition">¶</a></dt>
98 <dd><p>Creates·an·index·(B-Tree)·in·the·database.</p>99 <dd><p>Creates·an·index·(B-Tree)·in·the·database.</p>
99 </dd></dl>100 </dd></dl>
  
100 <section·id="s-expressions">101 <section·id="s-expressions">
101 <span·id="expressions"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code><a·class="headerlink"·href="#expressions"·title="Link·to·this·heading">¶</a></h3>102 <span·id="expressions"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code><a·class="headerlink"·href="#expressions"·title="Link·to·this·heading">¶</a></h3>
102 <dl·class="py·attribute">103 <dl·class="py·attribute">
103 <dt·class="sig·sig-object·py"·id="django.db.models.Index.expressions">104 <dt·class="sig·sig-object·py"·id="django.db.models.Index.expressions">
Offset 194, 15 lines modifiedOffset 195, 15 lines modified
194 index·is·created·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">db_tablespace</span></code>·of·the·field.</p>195 index·is·created·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">db_tablespace</span></code>·of·the·field.</p>
195 <p>If·<a·class="reference·internal"·href="fields.html#django.db.models.Field.db_tablespace"·title="django.db.models.Field.db_tablespace"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Field.db_tablespace</span></code></a>·isn’t·specified·(or·if·the·index·uses·multiple196 <p>If·<a·class="reference·internal"·href="fields.html#django.db.models.Field.db_tablespace"·title="django.db.models.Field.db_tablespace"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Field.db_tablespace</span></code></a>·isn’t·specified·(or·if·the·index·uses·multiple
196 fields),·the·index·is·created·in·tablespace·specified·in·the197 fields),·the·index·is·created·in·tablespace·specified·in·the
197 <a·class="reference·internal"·href="options.html#django.db.models.Options.db_tablespace"·title="django.db.models.Options.db_tablespace"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_tablespace</span></code></a>·option·inside·the·model’s198 <a·class="reference·internal"·href="options.html#django.db.models.Options.db_tablespace"·title="django.db.models.Options.db_tablespace"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_tablespace</span></code></a>·option·inside·the·model’s
198 <code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Meta</span></code>.·If·neither·of·those·tablespaces·are·set,·the·index·is·created199 <code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Meta</span></code>.·If·neither·of·those·tablespaces·are·set,·the·index·is·created
199 in·the·same·tablespace·as·the·table.</p>200 in·the·same·tablespace·as·the·table.</p>
200 <div·class="admonition·seealso">201 <div·class="admonition·seealso">
201 <p·class="admonition-title">See·also</p>202 <p·class="admonition-title">Vaata·ka</p>
202 <p>For·a·list·of·PostgreSQL-specific·indexes,·see203 <p>For·a·list·of·PostgreSQL-specific·indexes,·see
203 <a·class="reference·internal"·href="../contrib/postgres/indexes.html#module-django.contrib.postgres.indexes"·title="django.contrib.postgres.indexes"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.indexes</span></code></a>.</p>204 <a·class="reference·internal"·href="../contrib/postgres/indexes.html#module-django.contrib.postgres.indexes"·title="django.contrib.postgres.indexes"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.postgres.indexes</span></code></a>.</p>
204 </div>205 </div>
205 </section>206 </section>
206 <section·id="s-opclasses">207 <section·id="s-opclasses">
207 <span·id="opclasses"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">opclasses</span></code><a·class="headerlink"·href="#opclasses"·title="Link·to·this·heading">¶</a></h3>208 <span·id="opclasses"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">opclasses</span></code><a·class="headerlink"·href="#opclasses"·title="Link·to·this·heading">¶</a></h3>
208 <dl·class="py·attribute">209 <dl·class="py·attribute">
Offset 234, 15 lines modifiedOffset 235, 15 lines modified
234 <div·class="admonition-restrictions-on-postgresql·admonition">235 <div·class="admonition-restrictions-on-postgresql·admonition">
235 <p·class="admonition-title">Restrictions·on·PostgreSQL</p>236 <p·class="admonition-title">Restrictions·on·PostgreSQL</p>
236 <p>PostgreSQL·requires·functions·referenced·in·the·condition·to·be·marked·as237 <p>PostgreSQL·requires·functions·referenced·in·the·condition·to·be·marked·as
237 IMMUTABLE.·Django·doesn’t·validate·this·but·PostgreSQL·will·error.·This238 IMMUTABLE.·Django·doesn’t·validate·this·but·PostgreSQL·will·error.·This
238 means·that·functions·such·as·<a·class="reference·internal"·href="database-functions.html#date-functions"><span·class="std·std-ref">Date·functions</span></a>·and239 means·that·functions·such·as·<a·class="reference·internal"·href="database-functions.html#date-functions"><span·class="std·std-ref">Date·functions</span></a>·and
239 <a·class="reference·internal"·href="database-functions.html#django.db.models.functions.Concat"·title="django.db.models.functions.Concat"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Concat</span></code></a>·aren’t·accepted.·If·you·store240 <a·class="reference·internal"·href="database-functions.html#django.db.models.functions.Concat"·title="django.db.models.functions.Concat"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Concat</span></code></a>·aren’t·accepted.·If·you·store
240 dates·in·<a·class="reference·internal"·href="fields.html#django.db.models.DateTimeField"·title="django.db.models.DateTimeField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DateTimeField</span></code></a>,·comparison·to241 dates·in·<a·class="reference·internal"·href="fields.html#django.db.models.DateTimeField"·title="django.db.models.DateTimeField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DateTimeField</span></code></a>,·comparison·to
241 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·objects·may·require·the·<code·class="docutils·literal·notranslate"><span·class="pre">tzinfo</span></code>·argument242 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·objects·may·require·the·<code·class="docutils·literal·notranslate"><span·class="pre">tzinfo</span></code>·argument
242 to·be·provided·because·otherwise·the·comparison·could·result·in·a·mutable243 to·be·provided·because·otherwise·the·comparison·could·result·in·a·mutable
243 function·due·to·the·casting·Django·does·for·<a·class="reference·internal"·href="querysets.html#field-lookups"><span·class="std·std-ref">lookups</span></a>.</p>244 function·due·to·the·casting·Django·does·for·<a·class="reference·internal"·href="querysets.html#field-lookups"><span·class="std·std-ref">lookups</span></a>.</p>
244 </div>245 </div>
245 <div·class="admonition-restrictions-on-sqlite·admonition">246 <div·class="admonition-restrictions-on-sqlite·admonition">
246 <p·class="admonition-title">Restrictions·on·SQLite</p>247 <p·class="admonition-title">Restrictions·on·SQLite</p>
247 <p>SQLite·<a·class="reference·external"·href="https://www.sqlite.org/partialindex.html">imposes·restrictions</a>248 <p>SQLite·<a·class="reference·external"·href="https://www.sqlite.org/partialindex.html">imposes·restrictions</a>
248 on·how·a·partial·index·can·be·constructed.</p>249 on·how·a·partial·index·can·be·constructed.</p>
Offset 298, 15 lines modifiedOffset 299, 15 lines modified
298 ······299 ······
299 ········300 ········
300 ··········<div·class="yui-b"·id="sidebar">301 ··········<div·class="yui-b"·id="sidebar">
301 ············302 ············
302 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">303 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
303 ········<div·class="sphinxsidebarwrapper">304 ········<div·class="sphinxsidebarwrapper">
304 ··<div>305 ··<div>
305 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>306 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
306 ····<ul>307 ····<ul>
307 <li><a·class="reference·internal"·href="#">Model·index·reference</a><ul>308 <li><a·class="reference·internal"·href="#">Model·index·reference</a><ul>
308 <li><a·class="reference·internal"·href="#index-options"><code·class="docutils·literal·notranslate"><span·class="pre">Index</span></code>·options</a><ul>309 <li><a·class="reference·internal"·href="#index-options"><code·class="docutils·literal·notranslate"><span·class="pre">Index</span></code>·options</a><ul>
309 <li><a·class="reference·internal"·href="#expressions"><code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code></a></li>310 <li><a·class="reference·internal"·href="#expressions"><code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code></a></li>
310 <li><a·class="reference·internal"·href="#fields"><code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code></a></li>311 <li><a·class="reference·internal"·href="#fields"><code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code></a></li>
311 <li><a·class="reference·internal"·href="#name"><code·class="docutils·literal·notranslate"><span·class="pre">name</span></code></a></li>312 <li><a·class="reference·internal"·href="#name"><code·class="docutils·literal·notranslate"><span·class="pre">name</span></code></a></li>
312 <li><a·class="reference·internal"·href="#db-tablespace"><code·class="docutils·literal·notranslate"><span·class="pre">db_tablespace</span></code></a></li>313 <li><a·class="reference·internal"·href="#db-tablespace"><code·class="docutils·literal·notranslate"><span·class="pre">db_tablespace</span></code></a></li>
Offset 317, 37 lines modifiedOffset 318, 37 lines modified
317 </li>318 </li>
318 </ul>319 </ul>
319 </li>320 </li>
320 </ul>321 </ul>
  
321 ··</div>322 ··</div>
322 ··<div>323 ··<div>
323 ····<h4>Previous·topic</h4>324 ····<h4>Eelmine·teema</h4>
324 ····<p·class="topless"><a·href="fields.html"325 ····<p·class="topless"><a·href="fields.html"
325 ··························title="previous·chapter">Model·field·reference</a></p>326 ··························title="eelmine·jaotis">Model·field·reference</a></p>
326 ··</div>327 ··</div>
327 ··<div>328 ··<div>
328 ····<h4>Next·topic</h4>329 ····<h4>Järgmine·teema</h4>
329 ····<p·class="topless"><a·href="constraints.html"330 ····<p·class="topless"><a·href="constraints.html"
330 ··························title="next·chapter">Constraints·reference</a></p>331 ··························title="järgmine·jaotis">Constraints·reference</a></p>
331 ··</div>332 ··</div>
332 <search·id="searchbox"·style="display:·none"·role="search">333 <search·id="searchbox"·style="display:·none"·role="search">
333 ··<h3·id="searchlabel">Quick·search</h3>334 ··<h3·id="searchlabel">Kiirotsing</h3>
334 ····<div·class="searchformwrapper">335 ····<div·class="searchformwrapper">
335 ····<form·class="search"·action="../../search.html"·method="get">336 ····<form·class="search"·action="../../search.html"·method="get">
336 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>337 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
337 ······<input·type="submit"·value="Go"·/>338 ······<input·type="submit"·value="Otsi"·/>
338 ····</form>339 ····</form>
Max diff block lines reached; 353/13383 bytes (2.64%) of diff not shown.
4.87 KB
html2text {}
Max HTML report size reached
81.9 KB
./usr/share/doc/python-django-doc/html/ref/models/instances.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Model·instance·reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Model·instance·reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="QuerySet·API·reference"·href="querysets.html"·/>15 ····<link·rel="next"·title="QuerySet·API·reference"·href="querysets.html"·/>
15 ····<link·rel="prev"·title="Model·Meta·options"·href="options.html"·/>16 ····<link·rel="prev"·title="Model·Meta·options"·href="options.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 86, 22 lines modifiedOffset 87, 22 lines modified
86 <p>Throughout·this·reference·we’ll·use·the·<a·class="reference·internal"·href="../../topics/db/queries.html#queryset-model-example"><span·class="std·std-ref">example·blog·models</span></a>·presented·in·the·<a·class="reference·internal"·href="../../topics/db/queries.html"><span·class="doc">database·query·guide</span></a>.</p>87 <p>Throughout·this·reference·we’ll·use·the·<a·class="reference·internal"·href="../../topics/db/queries.html#queryset-model-example"><span·class="std·std-ref">example·blog·models</span></a>·presented·in·the·<a·class="reference·internal"·href="../../topics/db/queries.html"><span·class="doc">database·query·guide</span></a>.</p>
87 <section·id="s-creating-objects">88 <section·id="s-creating-objects">
88 <span·id="creating-objects"></span><h2>Creating·objects<a·class="headerlink"·href="#creating-objects"·title="Link·to·this·heading">¶</a></h2>89 <span·id="creating-objects"></span><h2>Creating·objects<a·class="headerlink"·href="#creating-objects"·title="Link·to·this·heading">¶</a></h2>
89 <p>To·create·a·new·instance·of·a·model,·instantiate·it·like·any·other·Python90 <p>To·create·a·new·instance·of·a·model,·instantiate·it·like·any·other·Python
90 class:</p>91 class:</p>
91 <dl·class="py·class">92 <dl·class="py·class">
92 <dt·class="sig·sig-object·py"·id="django.db.models.Model">93 <dt·class="sig·sig-object·py"·id="django.db.models.Model">
93 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Model</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L459"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Model"·title="Link·to·this·definition">¶</a></dt>94 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Model</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L459"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Model"·title="Link·to·this·definition">¶</a></dt>
94 <dd></dd></dl>95 <dd></dd></dl>
  
95 <p>The·keyword·arguments·are·the·names·of·the·fields·you’ve·defined·on·your·model.96 <p>The·keyword·arguments·are·the·names·of·the·fields·you’ve·defined·on·your·model.
96 Note·that·instantiating·a·model·in·no·way·touches·your·database;·for·that,·you97 Note·that·instantiating·a·model·in·no·way·touches·your·database;·for·that,·you
97 need·to·<a·class="reference·internal"·href="#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>.</p>98 need·to·<a·class="reference·internal"·href="#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>.</p>
98 <div·class="admonition·note">99 <div·class="admonition·note">
99 <p·class="admonition-title">Note</p>100 <p·class="admonition-title">rkus</p>
100 <p>You·may·be·tempted·to·customize·the·model·by·overriding·the·<code·class="docutils·literal·notranslate"><span·class="pre">__init__</span></code>101 <p>You·may·be·tempted·to·customize·the·model·by·overriding·the·<code·class="docutils·literal·notranslate"><span·class="pre">__init__</span></code>
101 method.·If·you·do·so,·however,·take·care·not·to·change·the·calling102 method.·If·you·do·so,·however,·take·care·not·to·change·the·calling
102 signature·as·any·change·may·prevent·the·model·instance·from·being·saved.103 signature·as·any·change·may·prevent·the·model·instance·from·being·saved.
103 Additionally,·referring·to·model·fields·within·<code·class="docutils·literal·notranslate"><span·class="pre">__init__</span></code>·may·potentially104 Additionally,·referring·to·model·fields·within·<code·class="docutils·literal·notranslate"><span·class="pre">__init__</span></code>·may·potentially
104 result·in·infinite·recursion·errors·in·some·circumstances.··Rather·than105 result·in·infinite·recursion·errors·in·some·circumstances.··Rather·than
105 overriding·<code·class="docutils·literal·notranslate"><span·class="pre">__init__</span></code>,·try·using·one·of·these·approaches:</p>106 overriding·<code·class="docutils·literal·notranslate"><span·class="pre">__init__</span></code>,·try·using·one·of·these·approaches:</p>
106 <ol·class="arabic">107 <ol·class="arabic">
Offset 143, 15 lines modifiedOffset 144, 15 lines modified
143 </li>144 </li>
144 </ol>145 </ol>
145 </div>146 </div>
146 <section·id="s-customizing-model-loading">147 <section·id="s-customizing-model-loading">
147 <span·id="customizing-model-loading"></span><h3>Customizing·model·loading<a·class="headerlink"·href="#customizing-model-loading"·title="Link·to·this·heading">¶</a></h3>148 <span·id="customizing-model-loading"></span><h3>Customizing·model·loading<a·class="headerlink"·href="#customizing-model-loading"·title="Link·to·this·heading">¶</a></h3>
148 <dl·class="py·method">149 <dl·class="py·method">
149 <dt·class="sig·sig-object·py"·id="django.db.models.Model.from_db">150 <dt·class="sig·sig-object·py"·id="django.db.models.Model.from_db">
150 <em·class="property"><span·class="pre">classmethod</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">from_db</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">db</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">field_names</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">values</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L575"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Model.from_db"·title="Link·to·this·definition">¶</a></dt>151 <em·class="property"><span·class="pre">classmethod</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">from_db</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">db</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">field_names</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">values</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L575"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Model.from_db"·title="Link·to·this·definition">¶</a></dt>
151 <dd></dd></dl>152 <dd></dd></dl>
  
152 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">from_db()</span></code>·method·can·be·used·to·customize·model·instance·creation153 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">from_db()</span></code>·method·can·be·used·to·customize·model·instance·creation
153 when·loading·from·the·database.</p>154 when·loading·from·the·database.</p>
154 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">db</span></code>·argument·contains·the·database·alias·for·the·database·the·model155 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">db</span></code>·argument·contains·the·database·alias·for·the·database·the·model
155 is·loaded·from,·<code·class="docutils·literal·notranslate"><span·class="pre">field_names</span></code>·contains·the·names·of·all·loaded·fields,·and156 is·loaded·from,·<code·class="docutils·literal·notranslate"><span·class="pre">field_names</span></code>·contains·the·names·of·all·loaded·fields,·and
156 <code·class="docutils·literal·notranslate"><span·class="pre">values</span></code>·contains·the·loaded·values·for·each·field·in·<code·class="docutils·literal·notranslate"><span·class="pre">field_names</span></code>.·The157 <code·class="docutils·literal·notranslate"><span·class="pre">values</span></code>·contains·the·loaded·values·for·each·field·in·<code·class="docutils·literal·notranslate"><span·class="pre">field_names</span></code>.·The
Offset 212, 15 lines modifiedOffset 213, 15 lines modified
212 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">obj</span>·<span·class="o">=</span>·<span·class="n">MyModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">first</span><span·class="p">()</span>213 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">obj</span>·<span·class="o">=</span>·<span·class="n">MyModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">first</span><span·class="p">()</span>
213 <span·class="gp">&gt;&gt;&gt;·</span><span·class="k">del</span>·<span·class="n">obj</span><span·class="o">.</span><span·class="n">field</span>214 <span·class="gp">&gt;&gt;&gt;·</span><span·class="k">del</span>·<span·class="n">obj</span><span·class="o">.</span><span·class="n">field</span>
214 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">obj</span><span·class="o">.</span><span·class="n">field</span>··<span·class="c1">#·Loads·the·field·from·the·database</span>215 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">obj</span><span·class="o">.</span><span·class="n">field</span>··<span·class="c1">#·Loads·the·field·from·the·database</span>
215 </pre></div>216 </pre></div>
216 </div>217 </div>
217 <dl·class="py·method">218 <dl·class="py·method">
218 <dt·class="sig·sig-object·py"·id="django.db.models.Model.refresh_from_db">219 <dt·class="sig·sig-object·py"·id="django.db.models.Model.refresh_from_db">
219 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">refresh_from_db</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">from_queryset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L675"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Model.refresh_from_db"·title="Link·to·this·definition">¶</a></dt>220 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">refresh_from_db</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">from_queryset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L675"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Model.refresh_from_db"·title="Link·to·this·definition">¶</a></dt>
220 <dd></dd></dl>221 <dd></dd></dl>
  
221 <dl·class="py·method">222 <dl·class="py·method">
222 <dt·class="sig·sig-object·py"·id="django.db.models.Model.arefresh_from_db">223 <dt·class="sig·sig-object·py"·id="django.db.models.Model.arefresh_from_db">
223 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">arefresh_from_db</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">from_queryset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.db.models.Model.arefresh_from_db"·title="Link·to·this·definition">¶</a></dt>224 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">arefresh_from_db</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fields</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">from_queryset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.db.models.Model.arefresh_from_db"·title="Link·to·this·definition">¶</a></dt>
224 <dd></dd></dl>225 <dd></dd></dl>
  
Offset 290, 15 lines modifiedOffset 291, 15 lines modified
290 </pre></div>291 </pre></div>
291 </div>292 </div>
292 <div·class="versionchanged">293 <div·class="versionchanged">
293 <span·class="title">Changed·in·Django·5.1:</span>·<p>The·<code·class="docutils·literal·notranslate"><span·class="pre">from_queryset</span></code>·argument·was·added.</p>294 <span·class="title">Changed·in·Django·5.1:</span>·<p>The·<code·class="docutils·literal·notranslate"><span·class="pre">from_queryset</span></code>·argument·was·added.</p>
294 </div>295 </div>
295 <dl·class="py·method">296 <dl·class="py·method">
296 <dt·class="sig·sig-object·py"·id="django.db.models.Model.get_deferred_fields">297 <dt·class="sig·sig-object·py"·id="django.db.models.Model.get_deferred_fields">
297 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">get_deferred_fields</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L665"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Model.get_deferred_fields"·title="Link·to·this·definition">¶</a></dt>298 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">get_deferred_fields</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L665"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Model.get_deferred_fields"·title="Link·to·this·definition">¶</a></dt>
298 <dd></dd></dl>299 <dd></dd></dl>
  
299 <p>A·helper·method·that·returns·a·set·containing·the·attribute·names·of·all·those300 <p>A·helper·method·that·returns·a·set·containing·the·attribute·names·of·all·those
300 fields·that·are·currently·deferred·for·this·model.</p>301 fields·that·are·currently·deferred·for·this·model.</p>
301 </section>302 </section>
302 <section·id="s-validating-objects">303 <section·id="s-validating-objects">
303 <span·id="s-id1"></span><span·id="validating-objects"></span><span·id="id1"></span><h2>Validating·objects<a·class="headerlink"·href="#validating-objects"·title="Link·to·this·heading">¶</a></h2>304 <span·id="s-id1"></span><span·id="validating-objects"></span><span·id="id1"></span><h2>Validating·objects<a·class="headerlink"·href="#validating-objects"·title="Link·to·this·heading">¶</a></h2>
Offset 316, 15 lines modifiedOffset 317, 15 lines modified
316 all·the·fields·that·are·included·on·the·form.·See·the·<a·class="reference·internal"·href="../../topics/forms/modelforms.html"><span·class="doc">ModelForm317 all·the·fields·that·are·included·on·the·form.·See·the·<a·class="reference·internal"·href="../../topics/forms/modelforms.html"><span·class="doc">ModelForm
317 documentation</span></a>·for·more·information.·You·should·only318 documentation</span></a>·for·more·information.·You·should·only
318 need·to·call·a·model’s·<a·class="reference·internal"·href="#django.db.models.Model.full_clean"·title="django.db.models.Model.full_clean"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">full_clean()</span></code></a>·method·if·you·plan·to·handle319 need·to·call·a·model’s·<a·class="reference·internal"·href="#django.db.models.Model.full_clean"·title="django.db.models.Model.full_clean"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">full_clean()</span></code></a>·method·if·you·plan·to·handle
319 validation·errors·yourself,·or·if·you·have·excluded·fields·from·the320 validation·errors·yourself,·or·if·you·have·excluded·fields·from·the
320 <a·class="reference·internal"·href="../../topics/forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>·that·require·validation.</p>321 <a·class="reference·internal"·href="../../topics/forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>·that·require·validation.</p>
321 <dl·class="py·method">322 <dl·class="py·method">
322 <dt·class="sig·sig-object·py"·id="django.db.models.Model.full_clean">323 <dt·class="sig·sig-object·py"·id="django.db.models.Model.full_clean">
323 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">full_clean</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_unique</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_constraints</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L1605"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Model.full_clean"·title="Link·to·this·definition">¶</a></dt>324 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">full_clean</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">exclude</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_unique</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">validate_constraints</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/base.py#L1605"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Model.full_clean"·title="Link·to·this·definition">¶</a></dt>
324 <dd></dd></dl>325 <dd></dd></dl>
  
325 <p>This·method·calls·<a·class="reference·internal"·href="#django.db.models.Model.clean_fields"·title="django.db.models.Model.clean_fields"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.clean_fields()</span></code></a>,·<a·class="reference·internal"·href="#django.db.models.Model.clean"·title="django.db.models.Model.clean"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.clean()</span></code></a>,326 <p>This·method·calls·<a·class="reference·internal"·href="#django.db.models.Model.clean_fields"·title="django.db.models.Model.clean_fields"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.clean_fields()</span></code></a>,·<a·class="reference·internal"·href="#django.db.models.Model.clean"·title="django.db.models.Model.clean"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.clean()</span></code></a>,
326 <a·class="reference·internal"·href="#django.db.models.Model.validate_unique"·title="django.db.models.Model.validate_unique"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.validate_unique()</span></code></a>·(if·<code·class="docutils·literal·notranslate"><span·class="pre">validate_unique</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>),··and327 <a·class="reference·internal"·href="#django.db.models.Model.validate_unique"·title="django.db.models.Model.validate_unique"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.validate_unique()</span></code></a>·(if·<code·class="docutils·literal·notranslate"><span·class="pre">validate_unique</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>),··and
327 <a·class="reference·internal"·href="#django.db.models.Model.validate_constraints"·title="django.db.models.Model.validate_constraints"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.validate_constraints()</span></code></a>·(if·<code·class="docutils·literal·notranslate"><span·class="pre">validate_constraints</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>)328 <a·class="reference·internal"·href="#django.db.models.Model.validate_constraints"·title="django.db.models.Model.validate_constraints"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.validate_constraints()</span></code></a>·(if·<code·class="docutils·literal·notranslate"><span·class="pre">validate_constraints</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>)
328 in·that·order·and·raises·a·<a·class="reference·internal"·href="../exceptions.html#django.core.exceptions.ValidationError"·title="django.core.exceptions.ValidationError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a>·that329 in·that·order·and·raises·a·<a·class="reference·internal"·href="../exceptions.html#django.core.exceptions.ValidationError"·title="django.core.exceptions.ValidationError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a>·that
329 has·a·<code·class="docutils·literal·notranslate"><span·class="pre">message_dict</span></code>·attribute·containing·errors·from·all·four·stages.</p>330 has·a·<code·class="docutils·literal·notranslate"><span·class="pre">message_dict</span></code>·attribute·containing·errors·from·all·four·stages.</p>
Offset 346, 26 lines modifiedOffset 347, 26 lines modified
Max diff block lines reached; 41770/60107 bytes (69.49%) of diff not shown.
23.1 KB
html2text {}
Max HTML report size reached
23.1 KB
./usr/share/doc/python-django-doc/html/ref/models/lookups.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Lookup·API·reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Lookup·API·reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Query·Expressions"·href="expressions.html"·/>15 ····<link·rel="next"·title="Query·Expressions"·href="expressions.html"·/>
15 ····<link·rel="prev"·title="QuerySet·API·reference"·href="querysets.html"·/>16 ····<link·rel="prev"·title="QuerySet·API·reference"·href="querysets.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 213, 15 lines modifiedOffset 214, 15 lines modified
213 </dd></dl>214 </dd></dl>
  
214 </section>215 </section>
215 <section·id="s-transform-reference">216 <section·id="s-transform-reference">
216 <span·id="transform-reference"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Transform</span></code>·reference<a·class="headerlink"·href="#transform-reference"·title="Link·to·this·heading">¶</a></h2>217 <span·id="transform-reference"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Transform</span></code>·reference<a·class="headerlink"·href="#transform-reference"·title="Link·to·this·heading">¶</a></h2>
217 <dl·class="py·class">218 <dl·class="py·class">
218 <dt·class="sig·sig-object·py"·id="django.db.models.Transform">219 <dt·class="sig·sig-object·py"·id="django.db.models.Transform">
219 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Transform</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L196"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Transform"·title="Link·to·this·definition">¶</a></dt>220 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Transform</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L196"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Transform"·title="Link·to·this·definition">¶</a></dt>
220 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Transform</span></code>·is·a·generic·class·to·implement·field·transformations.·A221 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Transform</span></code>·is·a·generic·class·to·implement·field·transformations.·A
221 prominent·example·is·<code·class="docutils·literal·notranslate"><span·class="pre">__year</span></code>·that·transforms·a·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>·into·a222 prominent·example·is·<code·class="docutils·literal·notranslate"><span·class="pre">__year</span></code>·that·transforms·a·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>·into·a
222 <code·class="docutils·literal·notranslate"><span·class="pre">IntegerField</span></code>.</p>223 <code·class="docutils·literal·notranslate"><span·class="pre">IntegerField</span></code>.</p>
223 <p>The·notation·to·use·a·<code·class="docutils·literal·notranslate"><span·class="pre">Transform</span></code>·in·a·lookup·expression·is224 <p>The·notation·to·use·a·<code·class="docutils·literal·notranslate"><span·class="pre">Transform</span></code>·in·a·lookup·expression·is
224 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;expression&gt;__&lt;transformation&gt;</span></code>·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">date__year</span></code>).</p>225 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;expression&gt;__&lt;transformation&gt;</span></code>·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">date__year</span></code>).</p>
225 <p>This·class·follows·the·<a·class="reference·internal"·href="#query-expression"><span·class="std·std-ref">Query·Expression·API</span></a>,·which226 <p>This·class·follows·the·<a·class="reference·internal"·href="#query-expression"><span·class="std·std-ref">Query·Expression·API</span></a>,·which
226 implies·that·you·can·use·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;expression&gt;__&lt;transform1&gt;__&lt;transform2&gt;</span></code>.·It’s227 implies·that·you·can·use·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;expression&gt;__&lt;transform1&gt;__&lt;transform2&gt;</span></code>.·It’s
Offset 235, 15 lines modifiedOffset 236, 15 lines modified
235 <code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">rhs</span></code>.·Bilateral·transformations·will·be·applied·to·<code·class="docutils·literal·notranslate"><span·class="pre">rhs</span></code>·in236 <code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">rhs</span></code>.·Bilateral·transformations·will·be·applied·to·<code·class="docutils·literal·notranslate"><span·class="pre">rhs</span></code>·in
236 the·same·order·as·they·appear·in·the·lookup·expression.·By·default·it·is·set237 the·same·order·as·they·appear·in·the·lookup·expression.·By·default·it·is·set
237 to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.·For·example·usage,·see·<a·class="reference·internal"·href="../../howto/custom-lookups.html"><span·class="doc">How·to·write·custom·lookups</span></a>.</p>238 to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.·For·example·usage,·see·<a·class="reference·internal"·href="../../howto/custom-lookups.html"><span·class="doc">How·to·write·custom·lookups</span></a>.</p>
238 </dd></dl>239 </dd></dl>
  
239 <dl·class="py·attribute">240 <dl·class="py·attribute">
240 <dt·class="sig·sig-object·py"·id="django.db.models.Transform.lhs">241 <dt·class="sig·sig-object·py"·id="django.db.models.Transform.lhs">
241 <span·class="sig-name·descname"><span·class="pre">lhs</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L206"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Transform.lhs"·title="Link·to·this·definition">¶</a></dt>242 <span·class="sig-name·descname"><span·class="pre">lhs</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L206"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Transform.lhs"·title="Link·to·this·definition">¶</a></dt>
242 <dd><p>The·left-hand·side·-·what·is·being·transformed.·It·must·follow·the243 <dd><p>The·left-hand·side·-·what·is·being·transformed.·It·must·follow·the
243 <a·class="reference·internal"·href="#query-expression"><span·class="std·std-ref">Query·Expression·API</span></a>.</p>244 <a·class="reference·internal"·href="#query-expression"><span·class="std·std-ref">Query·Expression·API</span></a>.</p>
244 </dd></dl>245 </dd></dl>
  
245 <dl·class="py·attribute">246 <dl·class="py·attribute">
246 <dt·class="sig·sig-object·py"·id="django.db.models.Transform.lookup_name">247 <dt·class="sig·sig-object·py"·id="django.db.models.Transform.lookup_name">
247 <span·class="sig-name·descname"><span·class="pre">lookup_name</span></span><a·class="headerlink"·href="#django.db.models.Transform.lookup_name"·title="Link·to·this·definition">¶</a></dt>248 <span·class="sig-name·descname"><span·class="pre">lookup_name</span></span><a·class="headerlink"·href="#django.db.models.Transform.lookup_name"·title="Link·to·this·definition">¶</a></dt>
Offset 262, 15 lines modifiedOffset 263, 15 lines modified
262 </dd></dl>263 </dd></dl>
  
263 </section>264 </section>
264 <section·id="s-lookup-reference">265 <section·id="s-lookup-reference">
265 <span·id="lookup-reference"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Lookup</span></code>·reference<a·class="headerlink"·href="#lookup-reference"·title="Link·to·this·heading">¶</a></h2>266 <span·id="lookup-reference"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Lookup</span></code>·reference<a·class="headerlink"·href="#lookup-reference"·title="Link·to·this·heading">¶</a></h2>
266 <dl·class="py·class">267 <dl·class="py·class">
267 <dt·class="sig·sig-object·py"·id="django.db.models.Lookup">268 <dt·class="sig·sig-object·py"·id="django.db.models.Lookup">
268 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Lookup</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L23"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Lookup"·title="Link·to·this·definition">¶</a></dt>269 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Lookup</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L23"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Lookup"·title="Link·to·this·definition">¶</a></dt>
269 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Lookup</span></code>·is·a·generic·class·to·implement·lookups.·A·lookup·is·a·query270 <dd><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Lookup</span></code>·is·a·generic·class·to·implement·lookups.·A·lookup·is·a·query
270 expression·with·a·left-hand·side,·<a·class="reference·internal"·href="#django.db.models.Lookup.lhs"·title="django.db.models.Lookup.lhs"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lhs</span></code></a>;·a·right-hand·side,271 expression·with·a·left-hand·side,·<a·class="reference·internal"·href="#django.db.models.Lookup.lhs"·title="django.db.models.Lookup.lhs"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">lhs</span></code></a>;·a·right-hand·side,
271 <a·class="reference·internal"·href="#django.db.models.Lookup.rhs"·title="django.db.models.Lookup.rhs"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">rhs</span></code></a>;·and·a·<code·class="docutils·literal·notranslate"><span·class="pre">lookup_name</span></code>·that·is·used·to·produce·a·boolean272 <a·class="reference·internal"·href="#django.db.models.Lookup.rhs"·title="django.db.models.Lookup.rhs"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">rhs</span></code></a>;·and·a·<code·class="docutils·literal·notranslate"><span·class="pre">lookup_name</span></code>·that·is·used·to·produce·a·boolean
272 comparison·between·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">rhs</span></code>·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span>·<span·class="pre">in</span>·<span·class="pre">rhs</span></code>·or273 comparison·between·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">rhs</span></code>·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span>·<span·class="pre">in</span>·<span·class="pre">rhs</span></code>·or
273 <code·class="docutils·literal·notranslate"><span·class="pre">lhs</span>·<span·class="pre">&gt;</span>·<span·class="pre">rhs</span></code>.</p>274 <code·class="docutils·literal·notranslate"><span·class="pre">lhs</span>·<span·class="pre">&gt;</span>·<span·class="pre">rhs</span></code>.</p>
274 <p>The·primary·notation·to·use·a·lookup·in·an·expression·is275 <p>The·primary·notation·to·use·a·lookup·in·an·expression·is
275 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;lhs&gt;__&lt;lookup_name&gt;=&lt;rhs&gt;</span></code>.·Lookups·can·also·be·used·directly·in276 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;lhs&gt;__&lt;lookup_name&gt;=&lt;rhs&gt;</span></code>.·Lookups·can·also·be·used·directly·in
Offset 313, 27 lines modifiedOffset 314, 27 lines modified
313 a·parameter·in·a·query.·In·order·to·do·so,314 a·parameter·in·a·query.·In·order·to·do·so,
314 <code·class="docutils·literal·notranslate"><span·class="pre">lhs.output_field.get_prep_value()</span></code>·is·called·if·defined,·or·<code·class="docutils·literal·notranslate"><span·class="pre">rhs</span></code>315 <code·class="docutils·literal·notranslate"><span·class="pre">lhs.output_field.get_prep_value()</span></code>·is·called·if·defined,·or·<code·class="docutils·literal·notranslate"><span·class="pre">rhs</span></code>
315 is·wrapped·in·<a·class="reference·internal"·href="expressions.html#django.db.models.Value"·title="django.db.models.Value"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Value()</span></code></a>·otherwise.</p>316 is·wrapped·in·<a·class="reference·internal"·href="expressions.html#django.db.models.Value"·title="django.db.models.Value"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Value()</span></code></a>·otherwise.</p>
316 </dd></dl>317 </dd></dl>
  
317 <dl·class="py·method">318 <dl·class="py·method">
318 <dt·class="sig·sig-object·py"·id="django.db.models.Lookup.process_lhs">319 <dt·class="sig·sig-object·py"·id="django.db.models.Lookup.process_lhs">
319 <span·class="sig-name·descname"><span·class="pre">process_lhs</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">compiler</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">lhs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L101"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Lookup.process_lhs"·title="Link·to·this·definition">¶</a></dt>320 <span·class="sig-name·descname"><span·class="pre">process_lhs</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">compiler</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">lhs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L101"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Lookup.process_lhs"·title="Link·to·this·definition">¶</a></dt>
320 <dd><p>Returns·a·tuple·<code·class="docutils·literal·notranslate"><span·class="pre">(lhs_string,</span>·<span·class="pre">lhs_params)</span></code>,·as·returned·by321 <dd><p>Returns·a·tuple·<code·class="docutils·literal·notranslate"><span·class="pre">(lhs_string,</span>·<span·class="pre">lhs_params)</span></code>,·as·returned·by
321 <code·class="docutils·literal·notranslate"><span·class="pre">compiler.compile(lhs)</span></code>.·This·method·can·be·overridden·to·tune·how322 <code·class="docutils·literal·notranslate"><span·class="pre">compiler.compile(lhs)</span></code>.·This·method·can·be·overridden·to·tune·how
322 the·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·is·processed.</p>323 the·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·is·processed.</p>
323 <p><code·class="docutils·literal·notranslate"><span·class="pre">compiler</span></code>·is·an·<code·class="docutils·literal·notranslate"><span·class="pre">SQLCompiler</span></code>·object,·to·be·used·like324 <p><code·class="docutils·literal·notranslate"><span·class="pre">compiler</span></code>·is·an·<code·class="docutils·literal·notranslate"><span·class="pre">SQLCompiler</span></code>·object,·to·be·used·like
324 <code·class="docutils·literal·notranslate"><span·class="pre">compiler.compile(lhs)</span></code>·for·compiling·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">connection</span></code>325 <code·class="docutils·literal·notranslate"><span·class="pre">compiler.compile(lhs)</span></code>·for·compiling·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">connection</span></code>
325 can·be·used·for·compiling·vendor·specific·SQL.·If·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·is·not326 can·be·used·for·compiling·vendor·specific·SQL.·If·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·is·not
326 <code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·use·it·as·the·processed·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">self.lhs</span></code>.</p>327 <code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·use·it·as·the·processed·<code·class="docutils·literal·notranslate"><span·class="pre">lhs</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">self.lhs</span></code>.</p>
327 </dd></dl>328 </dd></dl>
  
328 <dl·class="py·method">329 <dl·class="py·method">
329 <dt·class="sig·sig-object·py"·id="django.db.models.Lookup.process_rhs">330 <dt·class="sig·sig-object·py"·id="django.db.models.Lookup.process_rhs">
330 <span·class="sig-name·descname"><span·class="pre">process_rhs</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">compiler</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L111"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Lookup.process_rhs"·title="Link·to·this·definition">¶</a></dt>331 <span·class="sig-name·descname"><span·class="pre">process_rhs</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">compiler</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/lookups.py#L111"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Lookup.process_rhs"·title="Link·to·this·definition">¶</a></dt>
331 <dd><p>Behaves·the·same·way·as·<a·class="reference·internal"·href="#django.db.models.Lookup.process_lhs"·title="django.db.models.Lookup.process_lhs"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">process_lhs()</span></code></a>,·for·the·right-hand·side.</p>332 <dd><p>Behaves·the·same·way·as·<a·class="reference·internal"·href="#django.db.models.Lookup.process_lhs"·title="django.db.models.Lookup.process_lhs"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">process_lhs()</span></code></a>,·for·the·right-hand·side.</p>
332 </dd></dl>333 </dd></dl>
  
333 </dd></dl>334 </dd></dl>
  
334 </section>335 </section>
335 </section>336 </section>
Offset 345, 50 lines modifiedOffset 346, 50 lines modified
345 ······346 ······
346 ········347 ········
347 ··········<div·class="yui-b"·id="sidebar">348 ··········<div·class="yui-b"·id="sidebar">
348 ············349 ············
349 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">350 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
350 ········<div·class="sphinxsidebarwrapper">351 ········<div·class="sphinxsidebarwrapper">
351 ··<div>352 ··<div>
352 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>353 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
353 ····<ul>354 ····<ul>
354 <li><a·class="reference·internal"·href="#">Lookup·API·reference</a><ul>355 <li><a·class="reference·internal"·href="#">Lookup·API·reference</a><ul>
355 <li><a·class="reference·internal"·href="#registration-api">Registration·API</a></li>356 <li><a·class="reference·internal"·href="#registration-api">Registration·API</a></li>
Max diff block lines reached; 1930/16818 bytes (11.48%) of diff not shown.
6.56 KB
html2text {}
Max HTML report size reached
17.4 KB
./usr/share/doc/python-django-doc/html/ref/models/meta.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Model·_meta·API·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Model·_meta·API·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Related·objects·reference"·href="relations.html"·/>15 ····<link·rel="next"·title="Related·objects·reference"·href="relations.html"·/>
15 ····<link·rel="prev"·title="Constraints·reference"·href="constraints.html"·/>16 ····<link·rel="prev"·title="Constraints·reference"·href="constraints.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 77, 15 lines modifiedOffset 78, 15 lines modified
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-models-meta">79 ··········<div·class="yui-g"·id="ref-models-meta">
79 ············80 ············
80 ··<section·id="s-module-django.db.models.options">81 ··<section·id="s-module-django.db.models.options">
81 <span·id="s-model-meta-api"></span><span·id="module-django.db.models.options"></span><span·id="model-meta-api"></span><h1>Model·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·API<a·class="headerlink"·href="#module-django.db.models.options"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-model-meta-api"></span><span·id="module-django.db.models.options"></span><span·id="model-meta-api"></span><h1>Model·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·API<a·class="headerlink"·href="#module-django.db.models.options"·title="Link·to·this·heading">¶</a></h1>
82 <dl·class="py·class">83 <dl·class="py·class">
83 <dt·class="sig·sig-object·py"·id="django.db.models.options.Options">84 <dt·class="sig·sig-object·py"·id="django.db.models.options.Options">
84 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Options</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/options.py#L83"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.options.Options"·title="Link·to·this·definition">¶</a></dt>85 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Options</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/options.py#L83"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.options.Options"·title="Link·to·this·definition">¶</a></dt>
85 <dd></dd></dl>86 <dd></dd></dl>
  
86 <p>The·model·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·API·is·at·the·core·of·the·Django·ORM.·It·enables·other87 <p>The·model·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·API·is·at·the·core·of·the·Django·ORM.·It·enables·other
87 parts·of·the·system·such·as·lookups,·queries,·forms,·and·the·admin·to88 parts·of·the·system·such·as·lookups,·queries,·forms,·and·the·admin·to
88 understand·the·capabilities·of·each·model.·The·API·is·accessible·through89 understand·the·capabilities·of·each·model.·The·API·is·accessible·through
89 the·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·attribute·of·each·model·class,·which·is·an·instance·of·an90 the·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·attribute·of·each·model·class,·which·is·an·instance·of·an
90 <code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.options.Options</span></code>·object.</p>91 <code·class="docutils·literal·notranslate"><span·class="pre">django.db.models.options.Options</span></code>·object.</p>
Offset 96, 15 lines modifiedOffset 97, 15 lines modified
96 </ul>97 </ul>
97 <section·id="s-field-access-api">98 <section·id="s-field-access-api">
98 <span·id="s-model-meta-field-api"></span><span·id="field-access-api"></span><span·id="model-meta-field-api"></span><h2>Field·access·API<a·class="headerlink"·href="#field-access-api"·title="Link·to·this·heading">¶</a></h2>99 <span·id="s-model-meta-field-api"></span><span·id="field-access-api"></span><span·id="model-meta-field-api"></span><h2>Field·access·API<a·class="headerlink"·href="#field-access-api"·title="Link·to·this·heading">¶</a></h2>
99 <section·id="s-retrieving-a-single-field-instance-of-a-model-by-name">100 <section·id="s-retrieving-a-single-field-instance-of-a-model-by-name">
100 <span·id="retrieving-a-single-field-instance-of-a-model-by-name"></span><h3>Retrieving·a·single·field·instance·of·a·model·by·name<a·class="headerlink"·href="#retrieving-a-single-field-instance-of-a-model-by-name"·title="Link·to·this·heading">¶</a></h3>101 <span·id="retrieving-a-single-field-instance-of-a-model-by-name"></span><h3>Retrieving·a·single·field·instance·of·a·model·by·name<a·class="headerlink"·href="#retrieving-a-single-field-instance-of-a-model-by-name"·title="Link·to·this·heading">¶</a></h3>
101 <dl·class="py·method">102 <dl·class="py·method">
102 <dt·class="sig·sig-object·py"·id="django.db.models.options.Options.get_field">103 <dt·class="sig·sig-object·py"·id="django.db.models.options.Options.get_field">
103 <span·class="sig-prename·descclassname"><span·class="pre">Options.</span></span><span·class="sig-name·descname"><span·class="pre">get_field</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">field_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/options.py#L655"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.options.Options.get_field"·title="Link·to·this·definition">¶</a></dt>104 <span·class="sig-prename·descclassname"><span·class="pre">Options.</span></span><span·class="sig-name·descname"><span·class="pre">get_field</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">field_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/options.py#L655"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.options.Options.get_field"·title="Link·to·this·definition">¶</a></dt>
104 <dd><p>Returns·the·field·instance·given·a·name·of·a·field.</p>105 <dd><p>Returns·the·field·instance·given·a·name·of·a·field.</p>
105 <p><code·class="docutils·literal·notranslate"><span·class="pre">field_name</span></code>·can·be·the·name·of·a·field·on·the·model,·a·field106 <p><code·class="docutils·literal·notranslate"><span·class="pre">field_name</span></code>·can·be·the·name·of·a·field·on·the·model,·a·field
106 on·an·abstract·or·inherited·model,·or·a·field·defined·on·another107 on·an·abstract·or·inherited·model,·or·a·field·defined·on·another
107 model·that·points·to·the·model.·In·the·latter·case,·the·<code·class="docutils·literal·notranslate"><span·class="pre">field_name</span></code>108 model·that·points·to·the·model.·In·the·latter·case,·the·<code·class="docutils·literal·notranslate"><span·class="pre">field_name</span></code>
108 will·be·(in·order·of·preference)·the·<a·class="reference·internal"·href="fields.html#django.db.models.ForeignKey.related_query_name"·title="django.db.models.ForeignKey.related_query_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">related_query_name</span></code></a>109 will·be·(in·order·of·preference)·the·<a·class="reference·internal"·href="fields.html#django.db.models.ForeignKey.related_query_name"·title="django.db.models.ForeignKey.related_query_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">related_query_name</span></code></a>
109 set·by·the·user,·the·<a·class="reference·internal"·href="fields.html#django.db.models.ForeignKey.related_name"·title="django.db.models.ForeignKey.related_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">related_name</span></code></a>·set·by·the·user,·or110 set·by·the·user,·the·<a·class="reference·internal"·href="fields.html#django.db.models.ForeignKey.related_name"·title="django.db.models.ForeignKey.related_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">related_name</span></code></a>·set·by·the·user,·or
110 the·name·automatically·generated·by·Django.</p>111 the·name·automatically·generated·by·Django.</p>
Offset 133, 15 lines modifiedOffset 134, 15 lines modified
133 </dd></dl>134 </dd></dl>
  
134 </section>135 </section>
135 <section·id="s-retrieving-all-field-instances-of-a-model">136 <section·id="s-retrieving-all-field-instances-of-a-model">
136 <span·id="retrieving-all-field-instances-of-a-model"></span><h3>Retrieving·all·field·instances·of·a·model<a·class="headerlink"·href="#retrieving-all-field-instances-of-a-model"·title="Link·to·this·heading">¶</a></h3>137 <span·id="retrieving-all-field-instances-of-a-model"></span><h3>Retrieving·all·field·instances·of·a·model<a·class="headerlink"·href="#retrieving-all-field-instances-of-a-model"·title="Link·to·this·heading">¶</a></h3>
137 <dl·class="py·method">138 <dl·class="py·method">
138 <dt·class="sig·sig-object·py"·id="django.db.models.options.Options.get_fields">139 <dt·class="sig·sig-object·py"·id="django.db.models.options.Options.get_fields">
139 <span·class="sig-prename·descclassname"><span·class="pre">Options.</span></span><span·class="sig-name·descname"><span·class="pre">get_fields</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">include_parents</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">include_hidden</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/options.py#L849"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.options.Options.get_fields"·title="Link·to·this·definition">¶</a></dt>140 <span·class="sig-prename·descclassname"><span·class="pre">Options.</span></span><span·class="sig-name·descname"><span·class="pre">get_fields</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">include_parents</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">include_hidden</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/options.py#L849"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.options.Options.get_fields"·title="Link·to·this·definition">¶</a></dt>
140 <dd><p>Returns·a·tuple·of·fields·associated·with·a·model.·<code·class="docutils·literal·notranslate"><span·class="pre">get_fields()</span></code>·accepts141 <dd><p>Returns·a·tuple·of·fields·associated·with·a·model.·<code·class="docutils·literal·notranslate"><span·class="pre">get_fields()</span></code>·accepts
141 two·parameters·that·can·be·used·to·control·which·fields·are·returned:</p>142 two·parameters·that·can·be·used·to·control·which·fields·are·returned:</p>
142 <dl·class="simple">143 <dl·class="simple">
143 <dt><code·class="docutils·literal·notranslate"><span·class="pre">include_parents</span></code></dt><dd><p><code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·by·default.·Recursively·includes·fields·defined·on·parent144 <dt><code·class="docutils·literal·notranslate"><span·class="pre">include_parents</span></code></dt><dd><p><code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·by·default.·Recursively·includes·fields·defined·on·parent
144 classes.·If·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">get_fields()</span></code>·will·only·search·for145 classes.·If·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">get_fields()</span></code>·will·only·search·for
145 fields·declared·directly·on·the·current·model.·Fields·from·models·that146 fields·declared·directly·on·the·current·model.·Fields·from·models·that
146 directly·inherit·from·abstract·models·or·proxy·classes·are·considered147 directly·inherit·from·abstract·models·or·proxy·classes·are·considered
Offset 201, 51 lines modifiedOffset 202, 51 lines modified
201 ······202 ······
202 ········203 ········
203 ··········<div·class="yui-b"·id="sidebar">204 ··········<div·class="yui-b"·id="sidebar">
204 ············205 ············
205 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">206 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
206 ········<div·class="sphinxsidebarwrapper">207 ········<div·class="sphinxsidebarwrapper">
207 ··<div>208 ··<div>
208 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>209 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
209 ····<ul>210 ····<ul>
210 <li><a·class="reference·internal"·href="#">Model·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·API</a><ul>211 <li><a·class="reference·internal"·href="#">Model·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·API</a><ul>
211 <li><a·class="reference·internal"·href="#field-access-api">Field·access·API</a><ul>212 <li><a·class="reference·internal"·href="#field-access-api">Field·access·API</a><ul>
212 <li><a·class="reference·internal"·href="#retrieving-a-single-field-instance-of-a-model-by-name">Retrieving·a·single·field·instance·of·a·model·by·name</a></li>213 <li><a·class="reference·internal"·href="#retrieving-a-single-field-instance-of-a-model-by-name">Retrieving·a·single·field·instance·of·a·model·by·name</a></li>
213 <li><a·class="reference·internal"·href="#retrieving-all-field-instances-of-a-model">Retrieving·all·field·instances·of·a·model</a></li>214 <li><a·class="reference·internal"·href="#retrieving-all-field-instances-of-a-model">Retrieving·all·field·instances·of·a·model</a></li>
214 </ul>215 </ul>
215 </li>216 </li>
216 </ul>217 </ul>
217 </li>218 </li>
218 </ul>219 </ul>
  
219 ··</div>220 ··</div>
220 ··<div>221 ··<div>
221 ····<h4>Previous·topic</h4>222 ····<h4>Eelmine·teema</h4>
222 ····<p·class="topless"><a·href="constraints.html"223 ····<p·class="topless"><a·href="constraints.html"
223 ··························title="previous·chapter">Constraints·reference</a></p>224 ··························title="eelmine·jaotis">Constraints·reference</a></p>
224 ··</div>225 ··</div>
225 ··<div>226 ··<div>
226 ····<h4>Next·topic</h4>227 ····<h4>Järgmine·teema</h4>
227 ····<p·class="topless"><a·href="relations.html"228 ····<p·class="topless"><a·href="relations.html"
228 ··························title="next·chapter">Related·objects·reference</a></p>229 ··························title="järgmine·jaotis">Related·objects·reference</a></p>
229 ··</div>230 ··</div>
230 <search·id="searchbox"·style="display:·none"·role="search">231 <search·id="searchbox"·style="display:·none"·role="search">
231 ··<h3·id="searchlabel">Quick·search</h3>232 ··<h3·id="searchlabel">Kiirotsing</h3>
232 ····<div·class="searchformwrapper">233 ····<div·class="searchformwrapper">
233 ····<form·class="search"·action="../../search.html"·method="get">234 ····<form·class="search"·action="../../search.html"·method="get">
234 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>235 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
235 ······<input·type="submit"·value="Go"·/>236 ······<input·type="submit"·value="Otsi"·/>
236 ····</form>237 ····</form>
237 ····</div>238 ····</div>
238 </search>239 </search>
Max diff block lines reached; 263/12499 bytes (2.10%) of diff not shown.
5.11 KB
html2text {}
Max HTML report size reached
18.1 KB
./usr/share/doc/python-django-doc/html/ref/models/options.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Model·Meta·options·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Model·Meta·options·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Model·instance·reference"·href="instances.html"·/>15 ····<link·rel="next"·title="Model·instance·reference"·href="instances.html"·/>
15 ····<link·rel="prev"·title="Model·class·reference"·href="class.html"·/>16 ····<link·rel="prev"·title="Model·class·reference"·href="class.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 130, 15 lines modifiedOffset 131, 15 lines modified
130 </div>131 </div>
131 </dd></dl>132 </dd></dl>
  
132 <section·id="s-table-names">133 <section·id="s-table-names">
133 <span·id="s-id1"></span><span·id="table-names"></span><span·id="id1"></span><h4>Table·names<a·class="headerlink"·href="#table-names"·title="Link·to·this·heading">¶</a></h4>134 <span·id="s-id1"></span><span·id="table-names"></span><span·id="id1"></span><h4>Table·names<a·class="headerlink"·href="#table-names"·title="Link·to·this·heading">¶</a></h4>
134 <p>To·save·you·time,·Django·automatically·derives·the·name·of·the·database·table135 <p>To·save·you·time,·Django·automatically·derives·the·name·of·the·database·table
135 from·the·name·of·your·model·class·and·the·app·that·contains·it.·A·model’s136 from·the·name·of·your·model·class·and·the·app·that·contains·it.·A·model’s
136 database·table·name·is·constructed·by·joining·the·model’s·app·label··the137 database·table·name·is·constructed·by·joining·the·model’s·app·label··the
137 name·you·used·in·<a·class="reference·internal"·href="../django-admin.html#django-admin-startapp"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startapp</span></code></a>··to·the·model’s138 name·you·used·in·<a·class="reference·internal"·href="../django-admin.html#django-admin-startapp"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startapp</span></code></a>··to·the·model’s
138 class·name,·with·an·underscore·between·them.</p>139 class·name,·with·an·underscore·between·them.</p>
139 <p>For·example,·if·you·have·an·app·<code·class="docutils·literal·notranslate"><span·class="pre">bookstore</span></code>·(as·created·by140 <p>For·example,·if·you·have·an·app·<code·class="docutils·literal·notranslate"><span·class="pre">bookstore</span></code>·(as·created·by
140 <code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startapp</span>·<span·class="pre">bookstore</span></code>),·a·model·defined·as·<code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Book</span></code>·will·have141 <code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startapp</span>·<span·class="pre">bookstore</span></code>),·a·model·defined·as·<code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Book</span></code>·will·have
141 a·database·table·named·<code·class="docutils·literal·notranslate"><span·class="pre">bookstore_book</span></code>.</p>142 a·database·table·named·<code·class="docutils·literal·notranslate"><span·class="pre">bookstore_book</span></code>.</p>
142 <p>To·override·the·database·table·name,·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">db_table</span></code>·parameter·in143 <p>To·override·the·database·table·name,·use·the·<code·class="docutils·literal·notranslate"><span·class="pre">db_table</span></code>·parameter·in
143 <code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Meta</span></code>.</p>144 <code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Meta</span></code>.</p>
Offset 250, 15 lines modifiedOffset 251, 15 lines modified
250 <span·id="managed"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">managed</span></code><a·class="headerlink"·href="#managed"·title="Link·to·this·heading">¶</a></h3>251 <span·id="managed"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">managed</span></code><a·class="headerlink"·href="#managed"·title="Link·to·this·heading">¶</a></h3>
251 <dl·class="py·attribute">252 <dl·class="py·attribute">
252 <dt·class="sig·sig-object·py"·id="django.db.models.Options.managed">253 <dt·class="sig·sig-object·py"·id="django.db.models.Options.managed">
253 <span·class="sig-prename·descclassname"><span·class="pre">Options.</span></span><span·class="sig-name·descname"><span·class="pre">managed</span></span><a·class="headerlink"·href="#django.db.models.Options.managed"·title="Link·to·this·definition">¶</a></dt>254 <span·class="sig-prename·descclassname"><span·class="pre">Options.</span></span><span·class="sig-name·descname"><span·class="pre">managed</span></span><a·class="headerlink"·href="#django.db.models.Options.managed"·title="Link·to·this·definition">¶</a></dt>
254 <dd><p>Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·meaning·Django·will·create·the·appropriate·database255 <dd><p>Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·meaning·Django·will·create·the·appropriate·database
255 tables·in·<a·class="reference·internal"·href="../django-admin.html#django-admin-migrate"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">migrate</span></code></a>·or·as·part·of·migrations·and·remove·them·as256 tables·in·<a·class="reference·internal"·href="../django-admin.html#django-admin-migrate"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">migrate</span></code></a>·or·as·part·of·migrations·and·remove·them·as
256 part·of·a·<a·class="reference·internal"·href="../django-admin.html#django-admin-flush"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">flush</span></code></a>·management·command.·That·is,·Django257 part·of·a·<a·class="reference·internal"·href="../django-admin.html#django-admin-flush"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">flush</span></code></a>·management·command.·That·is,·Django
257 <em>manages</em>·the·database·tables·lifecycles.</p>258 <em>manages</em>·the·database·tables·lifecycles.</p>
258 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·no·database·table·creation,·modification,·or·deletion259 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·no·database·table·creation,·modification,·or·deletion
259 operations·will·be·performed·for·this·model.·This·is·useful·if·the·model260 operations·will·be·performed·for·this·model.·This·is·useful·if·the·model
260 represents·an·existing·table·or·a·database·view·that·has·been·created·by261 represents·an·existing·table·or·a·database·view·that·has·been·created·by
261 some·other·means.·This·is·the·<em>only</em>·difference·when·<code·class="docutils·literal·notranslate"><span·class="pre">managed=False</span></code>.·All262 some·other·means.·This·is·the·<em>only</em>·difference·when·<code·class="docutils·literal·notranslate"><span·class="pre">managed=False</span></code>.·All
262 other·aspects·of·model·handling·are·exactly·the·same·as·normal.·This263 other·aspects·of·model·handling·are·exactly·the·same·as·normal.·This
263 includes</p>264 includes</p>
264 <ol·class="arabic">265 <ol·class="arabic">
Offset 361, 16 lines modifiedOffset 362, 16 lines modified
361 <dt·class="sig·sig-object·py"·id="django.db.models.Options.ordering">362 <dt·class="sig·sig-object·py"·id="django.db.models.Options.ordering">
362 <span·class="sig-prename·descclassname"><span·class="pre">Options.</span></span><span·class="sig-name·descname"><span·class="pre">ordering</span></span><a·class="headerlink"·href="#django.db.models.Options.ordering"·title="Link·to·this·definition">¶</a></dt>363 <span·class="sig-prename·descclassname"><span·class="pre">Options.</span></span><span·class="sig-name·descname"><span·class="pre">ordering</span></span><a·class="headerlink"·href="#django.db.models.Options.ordering"·title="Link·to·this·definition">¶</a></dt>
363 <dd><p>The·default·ordering·for·the·object,·for·use·when·obtaining·lists·of·objects:</p>364 <dd><p>The·default·ordering·for·the·object,·for·use·when·obtaining·lists·of·objects:</p>
364 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">ordering</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;-order_date&quot;</span><span·class="p">]</span>365 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">ordering</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;-order_date&quot;</span><span·class="p">]</span>
365 </pre></div>366 </pre></div>
366 </div>367 </div>
367 <p>This·is·a·tuple·or·list·of·strings·and/or·query·expressions.·Each·string·is368 <p>This·is·a·tuple·or·list·of·strings·and/or·query·expressions.·Each·string·is
368 a·field·name·with·an·optional·-·prefix,·which·indicates·descending·order.369 a·field·name·with·an·optional·-·prefix,·which·indicates·descending·order.
369 Fields·without·a·leading·-·will·be·ordered·ascending.·Use·the·string·?370 Fields·without·a·leading·-·will·be·ordered·ascending.·Use·the·string·?
370 to·order·randomly.</p>371 to·order·randomly.</p>
371 <p>For·example,·to·order·by·a·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·field·ascending,·use·this:</p>372 <p>For·example,·to·order·by·a·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·field·ascending,·use·this:</p>
372 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">ordering</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;pub_date&quot;</span><span·class="p">]</span>373 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">ordering</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;pub_date&quot;</span><span·class="p">]</span>
373 </pre></div>374 </pre></div>
374 </div>375 </div>
375 <p>To·order·by·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·descending,·use·this:</p>376 <p>To·order·by·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·descending,·use·this:</p>
376 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">ordering</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;-pub_date&quot;</span><span·class="p">]</span>377 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">ordering</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;-pub_date&quot;</span><span·class="p">]</span>
Offset 386, 15 lines modifiedOffset 387, 15 lines modified
  
386 <span·class="n">ordering</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">F</span><span·class="p">(</span><span·class="s2">&quot;author&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">asc</span><span·class="p">(</span><span·class="n">nulls_last</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)]</span>387 <span·class="n">ordering</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">F</span><span·class="p">(</span><span·class="s2">&quot;author&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">asc</span><span·class="p">(</span><span·class="n">nulls_last</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)]</span>
387 </pre></div>388 </pre></div>
388 </div>389 </div>
389 </dd></dl>390 </dd></dl>
  
390 <div·class="admonition·warning">391 <div·class="admonition·warning">
391 <p·class="admonition-title">Warning</p>392 <p·class="admonition-title">Hoiatus</p>
392 <p>Ordering·is·not·a·free·operation.·Each·field·you·add·to·the·ordering393 <p>Ordering·is·not·a·free·operation.·Each·field·you·add·to·the·ordering
393 incurs·a·cost·to·your·database.·Each·foreign·key·you·add·will394 incurs·a·cost·to·your·database.·Each·foreign·key·you·add·will
394 implicitly·include·all·of·its·default·orderings·as·well.</p>395 implicitly·include·all·of·its·default·orderings·as·well.</p>
395 <p>If·a·query·doesn’t·have·an·ordering·specified,·results·are·returned·from396 <p>If·a·query·doesn’t·have·an·ordering·specified,·results·are·returned·from
396 the·database·in·an·unspecified·order.·A·particular·ordering·is·guaranteed397 the·database·in·an·unspecified·order.·A·particular·ordering·is·guaranteed
397 only·when·ordering·by·a·set·of·fields·that·uniquely·identify·each·object·in398 only·when·ordering·by·a·set·of·fields·that·uniquely·identify·each·object·in
398 the·results.·For·example,·if·a·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·field·isn’t·unique,·ordering·by·it399 the·results.·For·example,·if·a·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·field·isn’t·unique,·ordering·by·it
Offset 626, 15 lines modifiedOffset 627, 15 lines modified
626 ······627 ······
627 ········628 ········
628 ··········<div·class="yui-b"·id="sidebar">629 ··········<div·class="yui-b"·id="sidebar">
629 ············630 ············
630 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">631 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
631 ········<div·class="sphinxsidebarwrapper">632 ········<div·class="sphinxsidebarwrapper">
632 ··<div>633 ··<div>
633 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>634 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
634 ····<ul>635 ····<ul>
635 <li><a·class="reference·internal"·href="#">Model·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·options</a><ul>636 <li><a·class="reference·internal"·href="#">Model·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·options</a><ul>
636 <li><a·class="reference·internal"·href="#available-meta-options">Available·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·options</a><ul>637 <li><a·class="reference·internal"·href="#available-meta-options">Available·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·options</a><ul>
637 <li><a·class="reference·internal"·href="#abstract"><code·class="docutils·literal·notranslate"><span·class="pre">abstract</span></code></a></li>638 <li><a·class="reference·internal"·href="#abstract"><code·class="docutils·literal·notranslate"><span·class="pre">abstract</span></code></a></li>
638 <li><a·class="reference·internal"·href="#app-label"><code·class="docutils·literal·notranslate"><span·class="pre">app_label</span></code></a></li>639 <li><a·class="reference·internal"·href="#app-label"><code·class="docutils·literal·notranslate"><span·class="pre">app_label</span></code></a></li>
639 <li><a·class="reference·internal"·href="#base-manager-name"><code·class="docutils·literal·notranslate"><span·class="pre">base_manager_name</span></code></a></li>640 <li><a·class="reference·internal"·href="#base-manager-name"><code·class="docutils·literal·notranslate"><span·class="pre">base_manager_name</span></code></a></li>
640 <li><a·class="reference·internal"·href="#db-table"><code·class="docutils·literal·notranslate"><span·class="pre">db_table</span></code></a><ul>641 <li><a·class="reference·internal"·href="#db-table"><code·class="docutils·literal·notranslate"><span·class="pre">db_table</span></code></a><ul>
Offset 669, 37 lines modifiedOffset 670, 37 lines modified
669 </li>670 </li>
670 </ul>671 </ul>
671 </li>672 </li>
672 </ul>673 </ul>
  
673 ··</div>674 ··</div>
Max diff block lines reached; 1416/11483 bytes (12.33%) of diff not shown.
6.77 KB
html2text {}
Max HTML report size reached
195 KB
./usr/share/doc/python-django-doc/html/ref/models/querysets.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>QuerySet·API·reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>QuerySet·API·reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Lookup·API·reference"·href="lookups.html"·/>15 ····<link·rel="next"·title="Lookup·API·reference"·href="lookups.html"·/>
15 ····<link·rel="prev"·title="Model·instance·reference"·href="instances.html"·/>16 ····<link·rel="prev"·title="Model·instance·reference"·href="instances.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 109, 15 lines modifiedOffset 110, 15 lines modified
109 </div>110 </div>
110 <p>Both·synchronous·and·asynchronous·iterators·of·QuerySets·share·the·same111 <p>Both·synchronous·and·asynchronous·iterators·of·QuerySets·share·the·same
111 underlying·cache.</p>112 underlying·cache.</p>
112 </li>113 </li>
113 <li><p><strong>Slicing.</strong>·As·explained·in·<a·class="reference·internal"·href="../../topics/db/queries.html#limiting-querysets"><span·class="std·std-ref">Limiting·QuerySets</span></a>,·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·can114 <li><p><strong>Slicing.</strong>·As·explained·in·<a·class="reference·internal"·href="../../topics/db/queries.html#limiting-querysets"><span·class="std·std-ref">Limiting·QuerySets</span></a>,·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·can
114 be·sliced,·using·Python’s·array-slicing·syntax.·Slicing·an·unevaluated115 be·sliced,·using·Python’s·array-slicing·syntax.·Slicing·an·unevaluated
115 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·usually·returns·another·unevaluated·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·but·Django116 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·usually·returns·another·unevaluated·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·but·Django
116 will·execute·the·database·query·if·you·use·the·step·parameter·of·slice117 will·execute·the·database·query·if·you·use·the·step·parameter·of·slice
117 syntax,·and·will·return·a·list.·Slicing·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·that·has·been118 syntax,·and·will·return·a·list.·Slicing·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·that·has·been
118 evaluated·also·returns·a·list.</p>119 evaluated·also·returns·a·list.</p>
119 <p>Also·note·that·even·though·slicing·an·unevaluated·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·returns120 <p>Also·note·that·even·though·slicing·an·unevaluated·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·returns
120 another·unevaluated·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·modifying·it·further·(e.g.,·adding121 another·unevaluated·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·modifying·it·further·(e.g.,·adding
121 more·filters,·or·modifying·ordering)·is·not·allowed,·since·that·does·not122 more·filters,·or·modifying·ordering)·is·not·allowed,·since·that·does·not
122 translate·well·into·SQL·and·it·would·not·have·a·clear·meaning·either.</p>123 translate·well·into·SQL·and·it·would·not·have·a·clear·meaning·either.</p>
123 </li>124 </li>
Offset 150, 15 lines modifiedOffset 151, 15 lines modified
150 </div>151 </div>
151 <p>Note:·If·you·only·want·to·determine·if·at·least·one·result·exists·(and·don’t152 <p>Note:·If·you·only·want·to·determine·if·at·least·one·result·exists·(and·don’t
152 need·the·actual·objects),·it’s·more·efficient·to·use·<a·class="reference·internal"·href="#django.db.models.query.QuerySet.exists"·title="django.db.models.query.QuerySet.exists"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">exists()</span></code></a>.</p>153 need·the·actual·objects),·it’s·more·efficient·to·use·<a·class="reference·internal"·href="#django.db.models.query.QuerySet.exists"·title="django.db.models.query.QuerySet.exists"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">exists()</span></code></a>.</p>
153 </li>154 </li>
154 </ul>155 </ul>
155 <section·id="s-pickling-querysets">156 <section·id="s-pickling-querysets">
156 <span·id="s-id2"></span><span·id="pickling-querysets"></span><span·id="id2"></span><h3>Pickling·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>s<a·class="headerlink"·href="#pickling-querysets"·title="Link·to·this·heading">¶</a></h3>157 <span·id="s-id2"></span><span·id="pickling-querysets"></span><span·id="id2"></span><h3>Pickling·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>s<a·class="headerlink"·href="#pickling-querysets"·title="Link·to·this·heading">¶</a></h3>
157 <p>If·you·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·this·will·force·all·the·results·to·be·loaded158 <p>If·you·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·this·will·force·all·the·results·to·be·loaded
158 into·memory·prior·to·pickling.·Pickling·is·usually·used·as·a·precursor·to159 into·memory·prior·to·pickling.·Pickling·is·usually·used·as·a·precursor·to
159 caching·and·when·the·cached·queryset·is·reloaded,·you·want·the·results·to160 caching·and·when·the·cached·queryset·is·reloaded,·you·want·the·results·to
160 already·be·present·and·ready·for·use·(reading·from·the·database·can·take·some161 already·be·present·and·ready·for·use·(reading·from·the·database·can·take·some
161 time,·defeating·the·purpose·of·caching).·This·means·that·when·you·unpickle·a162 time,·defeating·the·purpose·of·caching).·This·means·that·when·you·unpickle·a
162 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·it·contains·the·results·at·the·moment·it·was·pickled,·rather163 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·it·contains·the·results·at·the·moment·it·was·pickled,·rather
163 than·the·results·that·are·currently·in·the·database.</p>164 than·the·results·that·are·currently·in·the·database.</p>
164 <p>If·you·only·want·to·pickle·the·necessary·information·to·recreate·the165 <p>If·you·only·want·to·pickle·the·necessary·information·to·recreate·the
Offset 205, 51 lines modifiedOffset 206, 51 lines modified
205 </section>206 </section>
206 </section>207 </section>
207 <section·id="s-queryset-api">208 <section·id="s-queryset-api">
208 <span·id="s-id3"></span><span·id="queryset-api"></span><span·id="id3"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·API<a·class="headerlink"·href="#queryset-api"·title="Link·to·this·heading">¶</a></h2>209 <span·id="s-id3"></span><span·id="queryset-api"></span><span·id="id3"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·API<a·class="headerlink"·href="#queryset-api"·title="Link·to·this·heading">¶</a></h2>
209 <p>Here’s·the·formal·declaration·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>:</p>210 <p>Here’s·the·formal·declaration·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>:</p>
210 <dl·class="py·class">211 <dl·class="py·class">
211 <dt·class="sig·sig-object·py"·id="django.db.models.query.QuerySet">212 <dt·class="sig·sig-object·py"·id="django.db.models.query.QuerySet">
212 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">QuerySet</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hints</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/query.py#L293"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.query.QuerySet"·title="Link·to·this·definition">¶</a></dt>213 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">QuerySet</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">hints</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/query.py#L293"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.query.QuerySet"·title="Link·to·this·definition">¶</a></dt>
213 <dd><p>Usually·when·you’ll·interact·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·you’ll·use·it·by214 <dd><p>Usually·when·you’ll·interact·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·you’ll·use·it·by
214 <a·class="reference·internal"·href="../../topics/db/queries.html#chaining-filters"><span·class="std·std-ref">chaining·filters</span></a>.·To·make·this·work,·most215 <a·class="reference·internal"·href="../../topics/db/queries.html#chaining-filters"><span·class="std·std-ref">chaining·filters</span></a>.·To·make·this·work,·most
215 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·methods·return·new·querysets.·These·methods·are·covered·in216 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·methods·return·new·querysets.·These·methods·are·covered·in
216 detail·later·in·this·section.</p>217 detail·later·in·this·section.</p>
217 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·class·has·the·following·public·attributes·you·can·use·for218 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·class·has·the·following·public·attributes·you·can·use·for
218 introspection:</p>219 introspection:</p>
219 <dl·class="py·attribute">220 <dl·class="py·attribute">
220 <dt·class="sig·sig-object·py"·id="django.db.models.query.QuerySet.ordered">221 <dt·class="sig·sig-object·py"·id="django.db.models.query.QuerySet.ordered">
221 <span·class="sig-name·descname"><span·class="pre">ordered</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/query.py#L1791"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.query.QuerySet.ordered"·title="Link·to·this·definition">¶</a></dt>222 <span·class="sig-name·descname"><span·class="pre">ordered</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/query.py#L1791"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.query.QuerySet.ordered"·title="Link·to·this·definition">¶</a></dt>
222 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·if·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·is·ordered··i.e.·has·an223 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·if·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·is·ordered··i.e.·has·an
223 <a·class="reference·internal"·href="#django.db.models.query.QuerySet.order_by"·title="django.db.models.query.QuerySet.order_by"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">order_by()</span></code></a>·clause·or·a·default·ordering·on·the·model.224 <a·class="reference·internal"·href="#django.db.models.query.QuerySet.order_by"·title="django.db.models.query.QuerySet.order_by"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">order_by()</span></code></a>·clause·or·a·default·ordering·on·the·model.
224 <code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·otherwise.</p>225 <code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·otherwise.</p>
225 </dd></dl>226 </dd></dl>
  
226 <dl·class="py·attribute">227 <dl·class="py·attribute">
227 <dt·class="sig·sig-object·py"·id="django.db.models.query.QuerySet.db">228 <dt·class="sig·sig-object·py"·id="django.db.models.query.QuerySet.db">
228 <span·class="sig-name·descname"><span·class="pre">db</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/query.py#L1812"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.query.QuerySet.db"·title="Link·to·this·definition">¶</a></dt>229 <span·class="sig-name·descname"><span·class="pre">db</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/query.py#L1812"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.query.QuerySet.db"·title="Link·to·this·definition">¶</a></dt>
229 <dd><p>The·database·that·will·be·used·if·this·query·is·executed·now.</p>230 <dd><p>The·database·that·will·be·used·if·this·query·is·executed·now.</p>
230 </dd></dl>231 </dd></dl>
  
231 <div·class="admonition·note">232 <div·class="admonition·note">
232 <p·class="admonition-title">Note</p>233 <p·class="admonition-title">rkus</p>
233 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">query</span></code>·parameter·to·<a·class="reference·internal"·href="#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·exists·so·that·specialized234 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">query</span></code>·parameter·to·<a·class="reference·internal"·href="#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·exists·so·that·specialized
234 query·subclasses·can·reconstruct·internal·query·state.·The·value·of·the235 query·subclasses·can·reconstruct·internal·query·state.·The·value·of·the
235 parameter·is·an·opaque·representation·of·that·query·state·and·is·not236 parameter·is·an·opaque·representation·of·that·query·state·and·is·not
236 part·of·a·public·API.</p>237 part·of·a·public·API.</p>
237 </div>238 </div>
238 </dd></dl>239 </dd></dl>
  
239 <section·id="s-methods-that-return-new-querysets">240 <section·id="s-methods-that-return-new-querysets">
240 <span·id="methods-that-return-new-querysets"></span><h3>Methods·that·return·new·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>s<a·class="headerlink"·href="#methods-that-return-new-querysets"·title="Link·to·this·heading">¶</a></h3>241 <span·id="methods-that-return-new-querysets"></span><h3>Methods·that·return·new·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>s<a·class="headerlink"·href="#methods-that-return-new-querysets"·title="Link·to·this·heading">¶</a></h3>
241 <p>Django·provides·a·range·of·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·refinement·methods·that·modify·either242 <p>Django·provides·a·range·of·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·refinement·methods·that·modify·either
242 the·types·of·results·returned·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·or·the·way·its·SQL·query·is243 the·types·of·results·returned·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·or·the·way·its·SQL·query·is
243 executed.</p>244 executed.</p>
244 <div·class="admonition·note">245 <div·class="admonition·note">
245 <p·class="admonition-title">Note</p>246 <p·class="admonition-title">rkus</p>
246 <p>These·methods·do·not·run·database·queries,·therefore·they·are·<strong>safe·to</strong>247 <p>These·methods·do·not·run·database·queries,·therefore·they·are·<strong>safe·to</strong>
247 <strong>run·in·asynchronous·code</strong>,·and·do·not·have·separate·asynchronous248 <strong>run·in·asynchronous·code</strong>,·and·do·not·have·separate·asynchronous
248 versions.</p>249 versions.</p>
249 </div>250 </div>
250 <section·id="s-filter">251 <section·id="s-filter">
251 <span·id="filter"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code><a·class="headerlink"·href="#filter"·title="Link·to·this·heading">¶</a></h4>252 <span·id="filter"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code><a·class="headerlink"·href="#filter"·title="Link·to·this·heading">¶</a></h4>
252 <dl·class="py·method">253 <dl·class="py·method">
Offset 274, 25 lines modifiedOffset 275, 25 lines modified
  
274 <p>Returns·a·new·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·containing·objects·that·do·<em>not</em>·match·the·given275 <p>Returns·a·new·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·containing·objects·that·do·<em>not</em>·match·the·given
275 lookup·parameters.</p>276 lookup·parameters.</p>
Max diff block lines reached; 129633/143574 bytes (90.29%) of diff not shown.
54.9 KB
html2text {}
Max HTML report size reached
11.1 KB
./usr/share/doc/python-django-doc/html/ref/models/relations.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Related·objects·reference·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Related·objects·reference·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Model·class·reference"·href="class.html"·/>15 ····<link·rel="next"·title="Model·class·reference"·href="class.html"·/>
15 ····<link·rel="prev"·title="Model·_meta·API"·href="meta.html"·/>16 ····<link·rel="prev"·title="Model·_meta·API"·href="meta.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 78, 18 lines modifiedOffset 79, 18 lines modified
78 ··········<div·class="yui-g"·id="ref-models-relations">79 ··········<div·class="yui-g"·id="ref-models-relations">
79 ············80 ············
80 ··<section·id="s-related-objects-reference">81 ··<section·id="s-related-objects-reference">
81 <span·id="related-objects-reference"></span><h1>Related·objects·reference<a·class="headerlink"·href="#related-objects-reference"·title="Link·to·this·heading">¶</a></h1>82 <span·id="related-objects-reference"></span><h1>Related·objects·reference<a·class="headerlink"·href="#related-objects-reference"·title="Link·to·this·heading">¶</a></h1>
82 <dl·class="py·class">83 <dl·class="py·class">
83 <dt·class="sig·sig-object·py"·id="django.db.models.fields.related.RelatedManager">84 <dt·class="sig·sig-object·py"·id="django.db.models.fields.related.RelatedManager">
84 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RelatedManager</span></span><a·class="headerlink"·href="#django.db.models.fields.related.RelatedManager"·title="Link·to·this·definition">¶</a></dt>85 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RelatedManager</span></span><a·class="headerlink"·href="#django.db.models.fields.related.RelatedManager"·title="Link·to·this·definition">¶</a></dt>
85 <dd><p>A·related·manager·is·a·manager·used·in·a·one-to-many·or·many-to-many86 <dd><p>A·related·manager·is·a·manager·used·in·a·one-to-many·or·many-to-many
86 related·context.·This·happens·in·two·cases:</p>87 related·context.·This·happens·in·two·cases:</p>
87 <ul>88 <ul>
88 <li><p>The·other·side·of·a·<a·class="reference·internal"·href="fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·relation.89 <li><p>The·other·side·of·a·<a·class="reference·internal"·href="fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·relation.
89 That·is:</p>90 That·is:</p>
90 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>91 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>
  
  
91 <span·class="k">class</span>·<span·class="nc">Blog</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>92 <span·class="k">class</span>·<span·class="nc">Blog</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>
92 ····<span·class="c1">#·...</span>93 ····<span·class="c1">#·...</span>
93 ····<span·class="k">pass</span>94 ····<span·class="k">pass</span>
Offset 291, 15 lines modifiedOffset 292, 15 lines modified
291 <a·class="reference·internal"·href="../../topics/db/models.html#intermediary-manytomany"><span·class="std·std-ref">intermediate·model</span></a>·instance(s),·if292 <a·class="reference·internal"·href="../../topics/db/models.html#intermediary-manytomany"><span·class="std·std-ref">intermediate·model</span></a>·instance(s),·if
292 needed.·You·can·use·callables·as·values·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">through_defaults</span></code>293 needed.·You·can·use·callables·as·values·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">through_defaults</span></code>
293 dictionary·and·they·will·be·evaluated·once·before·creating·any294 dictionary·and·they·will·be·evaluated·once·before·creating·any
294 intermediate·instance(s).</p>295 intermediate·instance(s).</p>
295 </dd></dl>296 </dd></dl>
  
296 <div·class="admonition·note">297 <div·class="admonition·note">
297 <p·class="admonition-title">Note</p>298 <p·class="admonition-title">rkus</p>
298 <p>Note·that·<code·class="docutils·literal·notranslate"><span·class="pre">add()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aadd()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">create()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">acreate()</span></code>,299 <p>Note·that·<code·class="docutils·literal·notranslate"><span·class="pre">add()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aadd()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">create()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">acreate()</span></code>,
299 <code·class="docutils·literal·notranslate"><span·class="pre">remove()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aremove()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">clear()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aclear()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">set()</span></code>,·and300 <code·class="docutils·literal·notranslate"><span·class="pre">remove()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aremove()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">clear()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aclear()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">set()</span></code>,·and
300 <code·class="docutils·literal·notranslate"><span·class="pre">aset()</span></code>·all·apply·database·changes·immediately·for·all·types·of301 <code·class="docutils·literal·notranslate"><span·class="pre">aset()</span></code>·all·apply·database·changes·immediately·for·all·types·of
301 related·fields.·In·other·words,·there·is·no·need·to·call302 related·fields.·In·other·words,·there·is·no·need·to·call
302 <code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">asave()</span></code>·on·either·end·of·the·relationship.</p>303 <code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">asave()</span></code>·on·either·end·of·the·relationship.</p>
303 <p>If·you·use·<a·class="reference·internal"·href="querysets.html#django.db.models.query.QuerySet.prefetch_related"·title="django.db.models.query.QuerySet.prefetch_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">prefetch_related()</span></code></a>,304 <p>If·you·use·<a·class="reference·internal"·href="querysets.html#django.db.models.query.QuerySet.prefetch_related"·title="django.db.models.query.QuerySet.prefetch_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">prefetch_related()</span></code></a>,
304 the·<code·class="docutils·literal·notranslate"><span·class="pre">add()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aadd()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">remove()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aremove()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">clear()</span></code>,305 the·<code·class="docutils·literal·notranslate"><span·class="pre">add()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aadd()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">remove()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aremove()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">clear()</span></code>,
Offset 317, 37 lines modifiedOffset 318, 37 lines modified
317 ······318 ······
318 ········319 ········
319 ··········<div·class="yui-b"·id="sidebar">320 ··········<div·class="yui-b"·id="sidebar">
320 ············321 ············
321 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">322 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
322 ········<div·class="sphinxsidebarwrapper">323 ········<div·class="sphinxsidebarwrapper">
323 ··<div>324 ··<div>
324 ····<h4>Previous·topic</h4>325 ····<h4>Eelmine·teema</h4>
325 ····<p·class="topless"><a·href="meta.html"326 ····<p·class="topless"><a·href="meta.html"
326 ··························title="previous·chapter">Model·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·API</a></p>327 ··························title="eelmine·jaotis">Model·<code·class="docutils·literal·notranslate"><span·class="pre">_meta</span></code>·API</a></p>
327 ··</div>328 ··</div>
328 ··<div>329 ··<div>
329 ····<h4>Next·topic</h4>330 ····<h4>Järgmine·teema</h4>
330 ····<p·class="topless"><a·href="class.html"331 ····<p·class="topless"><a·href="class.html"
331 ··························title="next·chapter">Model·class·reference</a></p>332 ··························title="järgmine·jaotis">Model·class·reference</a></p>
332 ··</div>333 ··</div>
333 <search·id="searchbox"·style="display:·none"·role="search">334 <search·id="searchbox"·style="display:·none"·role="search">
334 ··<h3·id="searchlabel">Quick·search</h3>335 ··<h3·id="searchlabel">Kiirotsing</h3>
335 ····<div·class="searchformwrapper">336 ····<div·class="searchformwrapper">
336 ····<form·class="search"·action="../../search.html"·method="get">337 ····<form·class="search"·action="../../search.html"·method="get">
337 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>338 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
338 ······<input·type="submit"·value="Go"·/>339 ······<input·type="submit"·value="Otsi"·/>
339 ····</form>340 ····</form>
340 ····</div>341 ····</div>
341 </search>342 </search>
342 <script>document.getElementById('searchbox').style.display·=·"block"</script>343 <script>document.getElementById('searchbox').style.display·=·"block"</script>
343 ········</div>344 ········</div>
344 ······</div>345 ······</div>
345 ··············<h3>Last·update:</h3>346 ··············<h3>Last·update:</h3>
346 ··············<p·class="topless">Nov·05,·2024</p>347 ··············<p·class="topless">nov·05,·2024</p>
347 ··········</div>348 ··········</div>
348 ········349 ········
349 ······350 ······
350 ····</div>351 ····</div>
  
351 ····<div·id="ft">352 ····<div·id="ft">
352 ······<div·class="nav">353 ······<div·class="nav">
2.87 KB
html2text {}
Max HTML report size reached
48.8 KB
./usr/share/doc/python-django-doc/html/ref/paginator.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Paginator·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Paginator·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Request·and·response·objects"·href="request-response.html"·/>15 ····<link·rel="next"·title="Request·and·response·objects"·href="request-response.html"·/>
15 ····<link·rel="prev"·title="Database·Functions"·href="models/database-functions.html"·/>16 ····<link·rel="prev"·title="Database·Functions"·href="models/database-functions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 22 lines modifiedOffset 77, 22 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-paginator">79 ··········<div·class="yui-g"·id="ref-paginator">
79 ············80 ············
80 ··<section·id="s-paginator">81 ··<section·id="s-paginator">
81 <span·id="paginator"></span><h1>Paginator<a·class="headerlink"·href="#paginator"·title="Link·to·this·heading">¶</a></h1>82 <span·id="paginator"></span><h1>Paginator<a·class="headerlink"·href="#paginator"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django·provides·a·few·classes·that·help·you·manage·paginated·data··that·is,83 <p>Django·provides·a·few·classes·that·help·you·manage·paginated·data··that·is,
83 data·that’s·split·across·several·pages,·with·Previous/Next·links.·These84 data·that’s·split·across·several·pages,·with·Previous/Next·links.·These
84 classes·live·in·<a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/core/paginator.py">django/core/paginator.py</a>.</p>85 classes·live·in·<a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/core/paginator.py">django/core/paginator.py</a>.</p>
85 <p>For·examples,·see·the·<a·class="reference·internal"·href="../topics/pagination.html"><span·class="doc">Pagination·topic·guide</span></a>.</p>86 <p>For·examples,·see·the·<a·class="reference·internal"·href="../topics/pagination.html"><span·class="doc">Pagination·topic·guide</span></a>.</p>
86 <section·id="s-paginator-class">87 <section·id="s-paginator-class">
87 <span·id="s-module-django.core.paginator"></span><span·id="paginator-class"></span><span·id="module-django.core.paginator"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·class<a·class="headerlink"·href="#paginator-class"·title="Link·to·this·heading">¶</a></h2>88 <span·id="s-module-django.core.paginator"></span><span·id="paginator-class"></span><span·id="module-django.core.paginator"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·class<a·class="headerlink"·href="#paginator-class"·title="Link·to·this·heading">¶</a></h2>
88 <dl·class="py·class">89 <dl·class="py·class">
89 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator">90 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator">
90 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Paginator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">object_list</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">per_page</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">orphans</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">allow_empty_first_page</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">error_messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L27"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator"·title="Link·to·this·definition">¶</a></dt>91 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Paginator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">object_list</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">per_page</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">orphans</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">allow_empty_first_page</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">error_messages</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L27"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator"·title="Link·to·this·definition">¶</a></dt>
91 <dd><p>A·paginator·acts·like·a·sequence·of·<a·class="reference·internal"·href="#django.core.paginator.Page"·title="django.core.paginator.Page"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Page</span></code></a>·when·using·<code·class="docutils·literal·notranslate"><span·class="pre">len()</span></code>·or92 <dd><p>A·paginator·acts·like·a·sequence·of·<a·class="reference·internal"·href="#django.core.paginator.Page"·title="django.core.paginator.Page"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Page</span></code></a>·when·using·<code·class="docutils·literal·notranslate"><span·class="pre">len()</span></code>·or
92 iterating·it·directly.</p>93 iterating·it·directly.</p>
93 </dd></dl>94 </dd></dl>
  
94 <dl·class="py·attribute">95 <dl·class="py·attribute">
95 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.object_list">96 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.object_list">
96 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">object_list</span></span><a·class="headerlink"·href="#django.core.paginator.Paginator.object_list"·title="Link·to·this·definition">¶</a></dt>97 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">object_list</span></span><a·class="headerlink"·href="#django.core.paginator.Paginator.object_list"·title="Link·to·this·definition">¶</a></dt>
Offset 169, 36 lines modifiedOffset 170, 36 lines modified
169 </div>170 </div>
170 </dd></dl>171 </dd></dl>
  
171 <section·id="s-methods">172 <section·id="s-methods">
172 <span·id="methods"></span><h3>Methods<a·class="headerlink"·href="#methods"·title="Link·to·this·heading">¶</a></h3>173 <span·id="methods"></span><h3>Methods<a·class="headerlink"·href="#methods"·title="Link·to·this·heading">¶</a></h3>
173 <dl·class="py·method">174 <dl·class="py·method">
174 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.get_page">175 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.get_page">
175 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">get_page</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">number</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L74"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.get_page"·title="Link·to·this·definition">¶</a></dt>176 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">get_page</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">number</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L74"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.get_page"·title="Link·to·this·definition">¶</a></dt>
176 <dd><p>Returns·a·<a·class="reference·internal"·href="#django.core.paginator.Page"·title="django.core.paginator.Page"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Page</span></code></a>·object·with·the·given·1-based·index,·while·also177 <dd><p>Returns·a·<a·class="reference·internal"·href="#django.core.paginator.Page"·title="django.core.paginator.Page"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Page</span></code></a>·object·with·the·given·1-based·index,·while·also
177 handling·out·of·range·and·invalid·page·numbers.</p>178 handling·out·of·range·and·invalid·page·numbers.</p>
178 <p>If·the·page·isn’t·a·number,·it·returns·the·first·page.·If·the·page·number179 <p>If·the·page·isn’t·a·number,·it·returns·the·first·page.·If·the·page·number
179 is·negative·or·greater·than·the·number·of·pages,·it·returns·the·last·page.</p>180 is·negative·or·greater·than·the·number·of·pages,·it·returns·the·last·page.</p>
180 <p>Raises·an·<a·class="reference·internal"·href="#django.core.paginator.EmptyPage"·title="django.core.paginator.EmptyPage"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">EmptyPage</span></code></a>·exception·only·if·you·specify181 <p>Raises·an·<a·class="reference·internal"·href="#django.core.paginator.EmptyPage"·title="django.core.paginator.EmptyPage"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">EmptyPage</span></code></a>·exception·only·if·you·specify
181 <code·class="docutils·literal·notranslate"><span·class="pre">Paginator(...,</span>·<span·class="pre">allow_empty_first_page=False)</span></code>·and·the·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·is182 <code·class="docutils·literal·notranslate"><span·class="pre">Paginator(...,</span>·<span·class="pre">allow_empty_first_page=False)</span></code>·and·the·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·is
182 empty.</p>183 empty.</p>
183 </dd></dl>184 </dd></dl>
  
184 <dl·class="py·method">185 <dl·class="py·method">
185 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.page">186 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.page">
186 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">page</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">number</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L87"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.page"·title="Link·to·this·definition">¶</a></dt>187 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">page</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">number</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L87"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.page"·title="Link·to·this·definition">¶</a></dt>
187 <dd><p>Returns·a·<a·class="reference·internal"·href="#django.core.paginator.Page"·title="django.core.paginator.Page"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Page</span></code></a>·object·with·the·given·1-based·index.·Raises188 <dd><p>Returns·a·<a·class="reference·internal"·href="#django.core.paginator.Page"·title="django.core.paginator.Page"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Page</span></code></a>·object·with·the·given·1-based·index.·Raises
188 <a·class="reference·internal"·href="#django.core.paginator.PageNotAnInteger"·title="django.core.paginator.PageNotAnInteger"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">PageNotAnInteger</span></code></a>·if·the·<code·class="docutils·literal·notranslate"><span·class="pre">number</span></code>·cannot·be·converted·to·an·integer189 <a·class="reference·internal"·href="#django.core.paginator.PageNotAnInteger"·title="django.core.paginator.PageNotAnInteger"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">PageNotAnInteger</span></code></a>·if·the·<code·class="docutils·literal·notranslate"><span·class="pre">number</span></code>·cannot·be·converted·to·an·integer
189 by·calling·<code·class="docutils·literal·notranslate"><span·class="pre">int()</span></code>.·Raises·<a·class="reference·internal"·href="#django.core.paginator.EmptyPage"·title="django.core.paginator.EmptyPage"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">EmptyPage</span></code></a>·if·the·given·page·number190 by·calling·<code·class="docutils·literal·notranslate"><span·class="pre">int()</span></code>.·Raises·<a·class="reference·internal"·href="#django.core.paginator.EmptyPage"·title="django.core.paginator.EmptyPage"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">EmptyPage</span></code></a>·if·the·given·page·number
190 doesn’t·exist.</p>191 doesn’t·exist.</p>
191 </dd></dl>192 </dd></dl>
  
192 <dl·class="py·method">193 <dl·class="py·method">
193 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.get_elided_page_range">194 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.get_elided_page_range">
194 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">get_elided_page_range</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">number</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">on_each_side</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">3</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">on_ends</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">2</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L149"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.get_elided_page_range"·title="Link·to·this·definition">¶</a></dt>195 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">get_elided_page_range</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">number</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">on_each_side</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">3</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">on_ends</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">2</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L149"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.get_elided_page_range"·title="Link·to·this·definition">¶</a></dt>
195 <dd><p>Returns·a·1-based·list·of·page·numbers·similar·to196 <dd><p>Returns·a·1-based·list·of·page·numbers·similar·to
196 <a·class="reference·internal"·href="#django.core.paginator.Paginator.page_range"·title="django.core.paginator.Paginator.page_range"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Paginator.page_range</span></code></a>,·but·may·add·an·ellipsis·to·either·or·both197 <a·class="reference·internal"·href="#django.core.paginator.Paginator.page_range"·title="django.core.paginator.Paginator.page_range"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Paginator.page_range</span></code></a>,·but·may·add·an·ellipsis·to·either·or·both
197 sides·of·the·current·page·number·when·<a·class="reference·internal"·href="#django.core.paginator.Paginator.num_pages"·title="django.core.paginator.Paginator.num_pages"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Paginator.num_pages</span></code></a>·is·large.</p>198 sides·of·the·current·page·number·when·<a·class="reference·internal"·href="#django.core.paginator.Paginator.num_pages"·title="django.core.paginator.Paginator.num_pages"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Paginator.num_pages</span></code></a>·is·large.</p>
198 <p>The·number·of·pages·to·include·on·each·side·of·the·current·page·number·is199 <p>The·number·of·pages·to·include·on·each·side·of·the·current·page·number·is
199 determined·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">on_each_side</span></code>·argument·which·defaults·to·3.</p>200 determined·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">on_each_side</span></code>·argument·which·defaults·to·3.</p>
200 <p>The·number·of·pages·to·include·at·the·beginning·and·end·of·page·range·is201 <p>The·number·of·pages·to·include·at·the·beginning·and·end·of·page·range·is
201 determined·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">on_ends</span></code>·argument·which·defaults·to·2.</p>202 determined·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">on_ends</span></code>·argument·which·defaults·to·2.</p>
Offset 220, 98 lines modifiedOffset 221, 98 lines modified
220 <dd><p>A·translatable·string·used·as·a·substitute·for·elided·page·numbers·in·the221 <dd><p>A·translatable·string·used·as·a·substitute·for·elided·page·numbers·in·the
221 page·range·returned·by·<a·class="reference·internal"·href="#django.core.paginator.Paginator.get_elided_page_range"·title="django.core.paginator.Paginator.get_elided_page_range"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_elided_page_range()</span></code></a>.·Default·is222 page·range·returned·by·<a·class="reference·internal"·href="#django.core.paginator.Paginator.get_elided_page_range"·title="django.core.paginator.Paginator.get_elided_page_range"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_elided_page_range()</span></code></a>.·Default·is
222 <code·class="docutils·literal·notranslate"><span·class="pre">'…'</span></code>.</p>223 <code·class="docutils·literal·notranslate"><span·class="pre">'…'</span></code>.</p>
223 </dd></dl>224 </dd></dl>
  
224 <dl·class="py·attribute">225 <dl·class="py·attribute">
225 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.count">226 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.count">
226 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">count</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L106"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.count"·title="Link·to·this·definition">¶</a></dt>227 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">count</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L106"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.count"·title="Link·to·this·definition">¶</a></dt>
227 <dd><p>The·total·number·of·objects,·across·all·pages.</p>228 <dd><p>The·total·number·of·objects,·across·all·pages.</p>
228 <div·class="admonition·note">229 <div·class="admonition·note">
229 <p·class="admonition-title">Note</p>230 <p·class="admonition-title">rkus</p>
230 <p>When·determining·the·number·of·objects·contained·in·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>,231 <p>When·determining·the·number·of·objects·contained·in·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>,
231 <code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·will·first·try·calling·<code·class="docutils·literal·notranslate"><span·class="pre">object_list.count()</span></code>.·If232 <code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·will·first·try·calling·<code·class="docutils·literal·notranslate"><span·class="pre">object_list.count()</span></code>.·If
232 <code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·has·no·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·method,·then·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·will233 <code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·has·no·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·method,·then·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·will
233 fall·back·to·using·<code·class="docutils·literal·notranslate"><span·class="pre">len(object_list)</span></code>.·This·allows·objects,·such·as234 fall·back·to·using·<code·class="docutils·literal·notranslate"><span·class="pre">len(object_list)</span></code>.·This·allows·objects,·such·as
234 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·to·use·a·more·efficient·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·method·when235 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,·to·use·a·more·efficient·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·method·when
235 available.</p>236 available.</p>
236 </div>237 </div>
237 </dd></dl>238 </dd></dl>
  
238 <dl·class="py·attribute">239 <dl·class="py·attribute">
239 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.num_pages">240 <dt·class="sig·sig-object·py"·id="django.core.paginator.Paginator.num_pages">
240 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">num_pages</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L114"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.num_pages"·title="Link·to·this·definition">¶</a></dt>241 <span·class="sig-prename·descclassname"><span·class="pre">Paginator.</span></span><span·class="sig-name·descname"><span·class="pre">num_pages</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/paginator.py#L114"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.paginator.Paginator.num_pages"·title="Link·to·this·definition">¶</a></dt>
241 <dd><p>The·total·number·of·pages.</p>242 <dd><p>The·total·number·of·pages.</p>
242 </dd></dl>243 </dd></dl>
  
243 <dl·class="py·attribute">244 <dl·class="py·attribute">
Max diff block lines reached; 20779/39126 bytes (53.11%) of diff not shown.
10.5 KB
html2text {}
Max HTML report size reached
193 KB
./usr/share/doc/python-django-doc/html/ref/request-response.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Request·and·response·objects·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Request·and·response·objects·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="SchemaEditor"·href="schema-editor.html"·/>15 ····<link·rel="next"·title="SchemaEditor"·href="schema-editor.html"·/>
15 ····<link·rel="prev"·title="Paginator"·href="paginator.html"·/>16 ····<link·rel="prev"·title="Paginator"·href="paginator.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 90, 30 lines modifiedOffset 91, 30 lines modified
90 <a·class="reference·internal"·href="#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·objects,·which·are·defined·in·the·<a·class="reference·internal"·href="#module-django.http"·title="django.http:·Classes·dealing·with·HTTP·requests·and·responses."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.http</span></code></a>91 <a·class="reference·internal"·href="#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·objects,·which·are·defined·in·the·<a·class="reference·internal"·href="#module-django.http"·title="django.http:·Classes·dealing·with·HTTP·requests·and·responses."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.http</span></code></a>
91 module.</p>92 module.</p>
92 </section>93 </section>
93 <section·id="s-httprequest-objects">94 <section·id="s-httprequest-objects">
94 <span·id="httprequest-objects"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code>·objects<a·class="headerlink"·href="#httprequest-objects"·title="Link·to·this·heading">¶</a></h2>95 <span·id="httprequest-objects"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code>·objects<a·class="headerlink"·href="#httprequest-objects"·title="Link·to·this·heading">¶</a></h2>
95 <dl·class="py·class">96 <dl·class="py·class">
96 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest">97 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest">
97 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">HttpRequest</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L52"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest"·title="Link·to·this·definition">¶</a></dt>98 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">HttpRequest</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L52"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest"·title="Link·to·this·definition">¶</a></dt>
98 <dd></dd></dl>99 <dd></dd></dl>
  
99 <section·id="s-attributes">100 <section·id="s-attributes">
100 <span·id="s-httprequest-attributes"></span><span·id="attributes"></span><span·id="httprequest-attributes"></span><h3>Attributes<a·class="headerlink"·href="#attributes"·title="Link·to·this·heading">¶</a></h3>101 <span·id="s-httprequest-attributes"></span><span·id="attributes"></span><span·id="httprequest-attributes"></span><h3>Attributes<a·class="headerlink"·href="#attributes"·title="Link·to·this·heading">¶</a></h3>
101 <p>All·attributes·should·be·considered·read-only,·unless·stated·otherwise.</p>102 <p>All·attributes·should·be·considered·read-only,·unless·stated·otherwise.</p>
102 <dl·class="py·attribute">103 <dl·class="py·attribute">
103 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.scheme">104 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.scheme">
104 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">scheme</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L255"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.scheme"·title="Link·to·this·definition">¶</a></dt>105 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">scheme</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L255"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.scheme"·title="Link·to·this·definition">¶</a></dt>
105 <dd><p>A·string·representing·the·scheme·of·the·request·(<code·class="docutils·literal·notranslate"><span·class="pre">http</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">https</span></code>106 <dd><p>A·string·representing·the·scheme·of·the·request·(<code·class="docutils·literal·notranslate"><span·class="pre">http</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">https</span></code>
106 usually).</p>107 usually).</p>
107 </dd></dl>108 </dd></dl>
  
108 <dl·class="py·attribute">109 <dl·class="py·attribute">
109 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.body">110 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.body">
110 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">body</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L325"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.body"·title="Link·to·this·definition">¶</a></dt>111 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">body</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L325"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.body"·title="Link·to·this·definition">¶</a></dt>
111 <dd><p>The·raw·HTTP·request·body·as·a·bytestring.·This·is·useful·for·processing112 <dd><p>The·raw·HTTP·request·body·as·a·bytestring.·This·is·useful·for·processing
112 data·in·different·ways·than·conventional·HTML·forms:·binary·images,113 data·in·different·ways·than·conventional·HTML·forms:·binary·images,
113 XML·payload·etc.·For·processing·conventional·form·data,·use114 XML·payload·etc.·For·processing·conventional·form·data,·use
114 <a·class="reference·internal"·href="#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">HttpRequest.POST</span></code></a>.</p>115 <a·class="reference·internal"·href="#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">HttpRequest.POST</span></code></a>.</p>
115 <p>You·can·also·read·from·an·<code·class="docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code>·using·a·file-like·interface·with116 <p>You·can·also·read·from·an·<code·class="docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code>·using·a·file-like·interface·with
116 <a·class="reference·internal"·href="#django.http.HttpRequest.read"·title="django.http.HttpRequest.read"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">HttpRequest.read()</span></code></a>·or·<a·class="reference·internal"·href="#django.http.HttpRequest.readline"·title="django.http.HttpRequest.readline"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">HttpRequest.readline()</span></code></a>.·Accessing117 <a·class="reference·internal"·href="#django.http.HttpRequest.read"·title="django.http.HttpRequest.read"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">HttpRequest.read()</span></code></a>·or·<a·class="reference·internal"·href="#django.http.HttpRequest.readline"·title="django.http.HttpRequest.readline"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">HttpRequest.readline()</span></code></a>.·Accessing
117 the·<code·class="docutils·literal·notranslate"><span·class="pre">body</span></code>·attribute·<em>after</em>·reading·the·request·with·either·of·these·I/O118 the·<code·class="docutils·literal·notranslate"><span·class="pre">body</span></code>·attribute·<em>after</em>·reading·the·request·with·either·of·these·I/O
Offset 153, 15 lines modifiedOffset 154, 15 lines modified
153 ····<span·class="n">do_something_else</span><span·class="p">()</span>154 ····<span·class="n">do_something_else</span><span·class="p">()</span>
154 </pre></div>155 </pre></div>
155 </div>156 </div>
156 </dd></dl>157 </dd></dl>
  
157 <dl·class="py·attribute">158 <dl·class="py·attribute">
158 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.encoding">159 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.encoding">
159 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">encoding</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L278"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.encoding"·title="Link·to·this·definition">¶</a></dt>160 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">encoding</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L278"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.encoding"·title="Link·to·this·definition">¶</a></dt>
160 <dd><p>A·string·representing·the·current·encoding·used·to·decode·form·submission161 <dd><p>A·string·representing·the·current·encoding·used·to·decode·form·submission
161 data·(or·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·which·means·the·<a·class="reference·internal"·href="settings.html#std-setting-DEFAULT_CHARSET"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_CHARSET</span></code></a>·setting·is162 data·(or·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·which·means·the·<a·class="reference·internal"·href="settings.html#std-setting-DEFAULT_CHARSET"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_CHARSET</span></code></a>·setting·is
162 used).·You·can·write·to·this·attribute·to·change·the·encoding·used·when163 used).·You·can·write·to·this·attribute·to·change·the·encoding·used·when
163 accessing·the·form·data.·Any·subsequent·attribute·accesses·(such·as·reading164 accessing·the·form·data.·Any·subsequent·attribute·accesses·(such·as·reading
164 from·<a·class="reference·internal"·href="#django.http.HttpRequest.GET"·title="django.http.HttpRequest.GET"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">GET</span></code></a>·or·<a·class="reference·internal"·href="#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">POST</span></code></a>)·will·use·the·new·<code·class="docutils·literal·notranslate"><span·class="pre">encoding</span></code>·value.165 from·<a·class="reference·internal"·href="#django.http.HttpRequest.GET"·title="django.http.HttpRequest.GET"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">GET</span></code></a>·or·<a·class="reference·internal"·href="#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">POST</span></code></a>)·will·use·the·new·<code·class="docutils·literal·notranslate"><span·class="pre">encoding</span></code>·value.
165 Useful·if·you·know·the·form·data·is·not·in·the·<a·class="reference·internal"·href="settings.html#std-setting-DEFAULT_CHARSET"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_CHARSET</span></code></a>166 Useful·if·you·know·the·form·data·is·not·in·the·<a·class="reference·internal"·href="settings.html#std-setting-DEFAULT_CHARSET"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_CHARSET</span></code></a>
166 encoding.</p>167 encoding.</p>
Offset 257, 15 lines modifiedOffset 258, 15 lines modified
257 web·servers·like·Nginx·and·Apache·2.4+.</p>258 web·servers·like·Nginx·and·Apache·2.4+.</p>
258 <p><a·class="reference·internal"·href="#django.http.HttpRequest.headers"·title="django.http.HttpRequest.headers"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">HttpRequest.headers</span></code></a>·is·a·simpler·way·to·access·all·HTTP-prefixed259 <p><a·class="reference·internal"·href="#django.http.HttpRequest.headers"·title="django.http.HttpRequest.headers"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">HttpRequest.headers</span></code></a>·is·a·simpler·way·to·access·all·HTTP-prefixed
259 headers,·plus·<code·class="docutils·literal·notranslate"><span·class="pre">CONTENT_LENGTH</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">CONTENT_TYPE</span></code>.</p>260 headers,·plus·<code·class="docutils·literal·notranslate"><span·class="pre">CONTENT_LENGTH</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">CONTENT_TYPE</span></code>.</p>
260 </dd></dl>261 </dd></dl>
  
261 <dl·class="py·attribute">262 <dl·class="py·attribute">
262 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.headers">263 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.headers">
263 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">headers</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L87"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.headers"·title="Link·to·this·definition">¶</a></dt>264 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">headers</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L87"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.headers"·title="Link·to·this·definition">¶</a></dt>
264 <dd><p>A·case·insensitive,·dict-like·object·that·provides·access·to·all265 <dd><p>A·case·insensitive,·dict-like·object·that·provides·access·to·all
265 HTTP-prefixed·headers·(plus·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Length</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Type</span></code>)·from266 HTTP-prefixed·headers·(plus·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Length</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Type</span></code>)·from
266 the·request.</p>267 the·request.</p>
267 <p>The·name·of·each·header·is·stylized·with·title-casing·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">User-Agent</span></code>)268 <p>The·name·of·each·header·is·stylized·with·title-casing·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">User-Agent</span></code>)
268 when·it’s·displayed.·You·can·access·headers·case-insensitively:</p>269 when·it’s·displayed.·You·can·access·headers·case-insensitively:</p>
269 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">request</span><span·class="o">.</span><span·class="n">headers</span>270 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">request</span><span·class="o">.</span><span·class="n">headers</span>
270 <span·class="go">{&#39;User-Agent&#39;:·&#39;Mozilla/5.0·(Macintosh;·Intel·Mac·OS·X·10_12_6&#39;,·...}</span>271 <span·class="go">{&#39;User-Agent&#39;:·&#39;Mozilla/5.0·(Macintosh;·Intel·Mac·OS·X·10_12_6&#39;,·...}</span>
Offset 396, 26 lines modifiedOffset 397, 26 lines modified
396 <code·class="docutils·literal·notranslate"><span·class="pre">auser</span></code>·will·return·an·instance·of397 <code·class="docutils·literal·notranslate"><span·class="pre">auser</span></code>·will·return·an·instance·of
397 <a·class="reference·internal"·href="contrib/auth.html#django.contrib.auth.models.AnonymousUser"·title="django.contrib.auth.models.AnonymousUser"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AnonymousUser</span></code></a>.·This·is·similar·to·the398 <a·class="reference·internal"·href="contrib/auth.html#django.contrib.auth.models.AnonymousUser"·title="django.contrib.auth.models.AnonymousUser"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AnonymousUser</span></code></a>.·This·is·similar·to·the
398 <a·class="reference·internal"·href="#django.http.HttpRequest.user"·title="django.http.HttpRequest.user"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">user</span></code></a>·attribute·but·it·works·in·async·contexts.</p>399 <a·class="reference·internal"·href="#django.http.HttpRequest.user"·title="django.http.HttpRequest.user"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">user</span></code></a>·attribute·but·it·works·in·async·contexts.</p>
399 </dd></dl>400 </dd></dl>
  
400 <dl·class="py·method">401 <dl·class="py·method">
401 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.get_host">402 <dt·class="sig·sig-object·py"·id="django.http.HttpRequest.get_host">
402 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">get_host</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L131"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.get_host"·title="Link·to·this·definition">¶</a></dt>403 <span·class="sig-prename·descclassname"><span·class="pre">HttpRequest.</span></span><span·class="sig-name·descname"><span·class="pre">get_host</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/http/request.py#L131"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.http.HttpRequest.get_host"·title="Link·to·this·definition">¶</a></dt>
403 <dd><p>Returns·the·originating·host·of·the·request·using·information·from·the404 <dd><p>Returns·the·originating·host·of·the·request·using·information·from·the
404 <code·class="docutils·literal·notranslate"><span·class="pre">HTTP_X_FORWARDED_HOST</span></code>·(if·<a·class="reference·internal"·href="settings.html#std-setting-USE_X_FORWARDED_HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_X_FORWARDED_HOST</span></code></a>·is·enabled)405 <code·class="docutils·literal·notranslate"><span·class="pre">HTTP_X_FORWARDED_HOST</span></code>·(if·<a·class="reference·internal"·href="settings.html#std-setting-USE_X_FORWARDED_HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_X_FORWARDED_HOST</span></code></a>·is·enabled)
405 and·<code·class="docutils·literal·notranslate"><span·class="pre">HTTP_HOST</span></code>·headers,·in·that·order.·If·they·don’t·provide·a·value,406 and·<code·class="docutils·literal·notranslate"><span·class="pre">HTTP_HOST</span></code>·headers,·in·that·order.·If·they·don’t·provide·a·value,
406 the·method·uses·a·combination·of·<code·class="docutils·literal·notranslate"><span·class="pre">SERVER_NAME</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">SERVER_PORT</span></code>·as407 the·method·uses·a·combination·of·<code·class="docutils·literal·notranslate"><span·class="pre">SERVER_NAME</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">SERVER_PORT</span></code>·as
407 detailed·in·<span·class="target"·id="index-0"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-3333/"><strong>PEP·3333</strong></a>.</p>408 detailed·in·<span·class="target"·id="index-0"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-3333/"><strong>PEP·3333</strong></a>.</p>
408 <p>Example:·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;127.0.0.1:8000&quot;</span></code></p>409 <p>Example:·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;127.0.0.1:8000&quot;</span></code></p>
409 <p>Raises·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.exceptions.DisallowedHost</span></code>·if·the·host·is·not·in410 <p>Raises·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.exceptions.DisallowedHost</span></code>·if·the·host·is·not·in
410 <a·class="reference·internal"·href="settings.html#std-setting-ALLOWED_HOSTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ALLOWED_HOSTS</span></code></a>·or·the·domain·name·is·invalid·according·to411 <a·class="reference·internal"·href="settings.html#std-setting-ALLOWED_HOSTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ALLOWED_HOSTS</span></code></a>·or·the·domain·name·is·invalid·according·to
411 <span·class="target"·id="index-1"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc1034.html"><strong>RFC·1034</strong></a>/<span·class="target"·id="index-2"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc1035.html"><strong>1035</strong></a>.</p>412 <span·class="target"·id="index-1"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc1034.html"><strong>RFC·1034</strong></a>/<span·class="target"·id="index-2"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc1035.html"><strong>1035</strong></a>.</p>
412 <div·class="admonition·note">413 <div·class="admonition·note">
413 <p·class="admonition-title">Note</p>414 <p·class="admonition-title">rkus</p>
414 <p>The·<a·class="reference·internal"·href="#django.http.HttpRequest.get_host"·title="django.http.HttpRequest.get_host"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_host()</span></code></a>·method·fails·when·the·host·is415 <p>The·<a·class="reference·internal"·href="#django.http.HttpRequest.get_host"·title="django.http.HttpRequest.get_host"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_host()</span></code></a>·method·fails·when·the·host·is
415 behind·multiple·proxies.·One·solution·is·to·use·middleware·to·rewrite416 behind·multiple·proxies.·One·solution·is·to·use·middleware·to·rewrite
416 the·proxy·headers,·as·in·the·following·example:</p>417 the·proxy·headers,·as·in·the·following·example:</p>
417 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">MultipleProxyMiddleware</span><span·class="p">:</span>418 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">MultipleProxyMiddleware</span><span·class="p">:</span>
418 ····<span·class="n">FORWARDED_FOR_FIELDS</span>·<span·class="o">=</span>·<span·class="p">[</span>419 ····<span·class="n">FORWARDED_FOR_FIELDS</span>·<span·class="o">=</span>·<span·class="p">[</span>
Max diff block lines reached; 139235/156009 bytes (89.25%) of diff not shown.
40.0 KB
html2text {}
Max HTML report size reached
53.7 KB
./usr/share/doc/python-django-doc/html/ref/schema-editor.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>SchemaEditor·&#8212;·Django·5.1.3·documentation</title>6 ····<title>SchemaEditor·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Settings"·href="settings.html"·/>15 ····<link·rel="next"·title="Settings"·href="settings.html"·/>
15 ····<link·rel="prev"·title="Request·and·response·objects"·href="request-response.html"·/>16 ····<link·rel="prev"·title="Request·and·response·objects"·href="request-response.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 77, 21 lines modifiedOffset 78, 21 lines modified
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="ref-schema-editor">79 ··········<div·class="yui-g"·id="ref-schema-editor">
79 ············80 ············
80 ··<section·id="s-module-django.db.backends.base.schema">81 ··<section·id="s-module-django.db.backends.base.schema">
81 <span·id="s-schemaeditor"></span><span·id="module-django.db.backends.base.schema"></span><span·id="schemaeditor"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor</span></code><a·class="headerlink"·href="#module-django.db.backends.base.schema"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-schemaeditor"></span><span·id="module-django.db.backends.base.schema"></span><span·id="schemaeditor"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor</span></code><a·class="headerlink"·href="#module-django.db.backends.base.schema"·title="Link·to·this·heading">¶</a></h1>
82 <dl·class="py·class">83 <dl·class="py·class">
83 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor">84 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor">
84 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseDatabaseSchemaEditor</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L76"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor"·title="Link·to·this·definition">¶</a></dt>85 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseDatabaseSchemaEditor</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L76"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor"·title="Link·to·this·definition">¶</a></dt>
85 <dd></dd></dl>86 <dd></dd></dl>
  
86 <p>Django’s·migration·system·is·split·into·two·parts;·the·logic·for·calculating87 <p>Django’s·migration·system·is·split·into·two·parts;·the·logic·for·calculating
87 and·storing·what·operations·should·be·run·(<code·class="docutils·literal·notranslate"><span·class="pre">django.db.migrations</span></code>),·and·the88 and·storing·what·operations·should·be·run·(<code·class="docutils·literal·notranslate"><span·class="pre">django.db.migrations</span></code>),·and·the
88 database·abstraction·layer·that·turns·things·like·create·a·model·or89 database·abstraction·layer·that·turns·things·like·create·a·model·or
89 delete·a·field·into·SQL·-·which·is·the·job·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor</span></code>.</p>90 delete·a·field·into·SQL·-·which·is·the·job·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor</span></code>.</p>
90 <p>It’s·unlikely·that·you·will·want·to·interact·directly·with·<code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor</span></code>·as91 <p>It’s·unlikely·that·you·will·want·to·interact·directly·with·<code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor</span></code>·as
91 a·normal·developer·using·Django,·but·if·you·want·to·write·your·own·migration92 a·normal·developer·using·Django,·but·if·you·want·to·write·your·own·migration
92 system,·or·have·more·advanced·needs,·it’s·a·lot·nicer·than·writing·SQL.</p>93 system,·or·have·more·advanced·needs,·it’s·a·lot·nicer·than·writing·SQL.</p>
93 <p>Each·database·backend·in·Django·supplies·its·own·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor</span></code>,94 <p>Each·database·backend·in·Django·supplies·its·own·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor</span></code>,
94 and·it’s·always·accessible·via·the·<code·class="docutils·literal·notranslate"><span·class="pre">connection.schema_editor()</span></code>·context95 and·it’s·always·accessible·via·the·<code·class="docutils·literal·notranslate"><span·class="pre">connection.schema_editor()</span></code>·context
95 manager:</p>96 manager:</p>
96 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">with</span>·<span·class="n">connection</span><span·class="o">.</span><span·class="n">schema_editor</span><span·class="p">()</span>·<span·class="k">as</span>·<span·class="n">schema_editor</span><span·class="p">:</span>97 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">with</span>·<span·class="n">connection</span><span·class="o">.</span><span·class="n">schema_editor</span><span·class="p">()</span>·<span·class="k">as</span>·<span·class="n">schema_editor</span><span·class="p">:</span>
Offset 112, 139 lines modifiedOffset 113, 139 lines modified
112 syntax·a·little.</p>113 syntax·a·little.</p>
113 <section·id="s-methods">114 <section·id="s-methods">
114 <span·id="methods"></span><h2>Methods<a·class="headerlink"·href="#methods"·title="Link·to·this·heading">¶</a></h2>115 <span·id="methods"></span><h2>Methods<a·class="headerlink"·href="#methods"·title="Link·to·this·heading">¶</a></h2>
115 <section·id="s-execute">116 <section·id="s-execute">
116 <span·id="execute"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">execute()</span></code><a·class="headerlink"·href="#execute"·title="Link·to·this·heading">¶</a></h3>117 <span·id="execute"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">execute()</span></code><a·class="headerlink"·href="#execute"·title="Link·to·this·heading">¶</a></h3>
117 <dl·class="py·method">118 <dl·class="py·method">
118 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.execute">119 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.execute">
119 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">execute</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">sql</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">params</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L173"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.execute"·title="Link·to·this·definition">¶</a></dt>120 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">execute</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">sql</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">params</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">()</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L173"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.execute"·title="Link·to·this·definition">¶</a></dt>
120 <dd></dd></dl>121 <dd></dd></dl>
  
121 <p>Executes·the·SQL·statement·passed·in,·with·parameters·if·supplied.·This122 <p>Executes·the·SQL·statement·passed·in,·with·parameters·if·supplied.·This
122 is·a·wrapper·around·the·normal·database·cursors·that·allows·capture·of·the·SQL123 is·a·wrapper·around·the·normal·database·cursors·that·allows·capture·of·the·SQL
123 to·a·<code·class="docutils·literal·notranslate"><span·class="pre">.sql</span></code>·file·if·the·user·wishes.</p>124 to·a·<code·class="docutils·literal·notranslate"><span·class="pre">.sql</span></code>·file·if·the·user·wishes.</p>
124 </section>125 </section>
125 <section·id="s-create-model">126 <section·id="s-create-model">
126 <span·id="create-model"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">create_model()</span></code><a·class="headerlink"·href="#create-model"·title="Link·to·this·heading">¶</a></h3>127 <span·id="create-model"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">create_model()</span></code><a·class="headerlink"·href="#create-model"·title="Link·to·this·heading">¶</a></h3>
127 <dl·class="py·method">128 <dl·class="py·method">
128 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.create_model">129 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.create_model">
129 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">create_model</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L497"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.create_model"·title="Link·to·this·definition">¶</a></dt>130 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">create_model</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L497"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.create_model"·title="Link·to·this·definition">¶</a></dt>
130 <dd></dd></dl>131 <dd></dd></dl>
  
131 <p>Creates·a·new·table·in·the·database·for·the·provided·model,·along·with·any132 <p>Creates·a·new·table·in·the·database·for·the·provided·model,·along·with·any
132 unique·constraints·or·indexes·it·requires.</p>133 unique·constraints·or·indexes·it·requires.</p>
133 </section>134 </section>
134 <section·id="s-delete-model">135 <section·id="s-delete-model">
135 <span·id="delete-model"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">delete_model()</span></code><a·class="headerlink"·href="#delete-model"·title="Link·to·this·heading">¶</a></h3>136 <span·id="delete-model"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">delete_model()</span></code><a·class="headerlink"·href="#delete-model"·title="Link·to·this·heading">¶</a></h3>
136 <dl·class="py·method">137 <dl·class="py·method">
137 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.delete_model">138 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.delete_model">
138 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">delete_model</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L532"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.delete_model"·title="Link·to·this·definition">¶</a></dt>139 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">delete_model</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L532"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.delete_model"·title="Link·to·this·definition">¶</a></dt>
139 <dd></dd></dl>140 <dd></dd></dl>
  
140 <p>Drops·the·model’s·table·in·the·database·along·with·any·unique·constraints141 <p>Drops·the·model’s·table·in·the·database·along·with·any·unique·constraints
141 or·indexes·it·has.</p>142 or·indexes·it·has.</p>
142 </section>143 </section>
143 <section·id="s-add-index">144 <section·id="s-add-index">
144 <span·id="add-index"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">add_index()</span></code><a·class="headerlink"·href="#add-index"·title="Link·to·this·heading">¶</a></h3>145 <span·id="add-index"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">add_index()</span></code><a·class="headerlink"·href="#add-index"·title="Link·to·this·heading">¶</a></h3>
145 <dl·class="py·method">146 <dl·class="py·method">
146 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.add_index">147 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.add_index">
147 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">add_index</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">index</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L553"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.add_index"·title="Link·to·this·definition">¶</a></dt>148 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">add_index</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">index</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L553"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.add_index"·title="Link·to·this·definition">¶</a></dt>
148 <dd></dd></dl>149 <dd></dd></dl>
  
149 <p>Adds·<code·class="docutils·literal·notranslate"><span·class="pre">index</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>’s·table.</p>150 <p>Adds·<code·class="docutils·literal·notranslate"><span·class="pre">index</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>’s·table.</p>
150 </section>151 </section>
151 <section·id="s-remove-index">152 <section·id="s-remove-index">
152 <span·id="remove-index"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">remove_index()</span></code><a·class="headerlink"·href="#remove-index"·title="Link·to·this·heading">¶</a></h3>153 <span·id="remove-index"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">remove_index()</span></code><a·class="headerlink"·href="#remove-index"·title="Link·to·this·heading">¶</a></h3>
153 <dl·class="py·method">154 <dl·class="py·method">
154 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.remove_index">155 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.remove_index">
155 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">remove_index</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">index</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L564"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.remove_index"·title="Link·to·this·definition">¶</a></dt>156 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">remove_index</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">index</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L564"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.remove_index"·title="Link·to·this·definition">¶</a></dt>
156 <dd></dd></dl>157 <dd></dd></dl>
  
157 <p>Removes·<code·class="docutils·literal·notranslate"><span·class="pre">index</span></code>·from·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>’s·table.</p>158 <p>Removes·<code·class="docutils·literal·notranslate"><span·class="pre">index</span></code>·from·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>’s·table.</p>
158 </section>159 </section>
159 <section·id="s-rename-index">160 <section·id="s-rename-index">
160 <span·id="rename-index"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">rename_index()</span></code><a·class="headerlink"·href="#rename-index"·title="Link·to·this·heading">¶</a></h3>161 <span·id="rename-index"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">rename_index()</span></code><a·class="headerlink"·href="#rename-index"·title="Link·to·this·heading">¶</a></h3>
161 <dl·class="py·method">162 <dl·class="py·method">
162 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.rename_index">163 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.rename_index">
163 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">rename_index</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">old_index</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">new_index</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L573"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.rename_index"·title="Link·to·this·definition">¶</a></dt>164 <span·class="sig-prename·descclassname"><span·class="pre">BaseDatabaseSchemaEditor.</span></span><span·class="sig-name·descname"><span·class="pre">rename_index</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">model</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">old_index</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">new_index</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/backends/base/schema.py#L573"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.backends.base.schema.BaseDatabaseSchemaEditor.rename_index"·title="Link·to·this·definition">¶</a></dt>
164 <dd></dd></dl>165 <dd></dd></dl>
  
165 <p>Renames·<code·class="docutils·literal·notranslate"><span·class="pre">old_index</span></code>·from·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>’s·table·to·<code·class="docutils·literal·notranslate"><span·class="pre">new_index</span></code>.</p>166 <p>Renames·<code·class="docutils·literal·notranslate"><span·class="pre">old_index</span></code>·from·<code·class="docutils·literal·notranslate"><span·class="pre">model</span></code>’s·table·to·<code·class="docutils·literal·notranslate"><span·class="pre">new_index</span></code>.</p>
166 </section>167 </section>
167 <section·id="s-add-constraint">168 <section·id="s-add-constraint">
168 <span·id="add-constraint"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">add_constraint()</span></code><a·class="headerlink"·href="#add-constraint"·title="Link·to·this·heading">¶</a></h3>169 <span·id="add-constraint"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">add_constraint()</span></code><a·class="headerlink"·href="#add-constraint"·title="Link·to·this·heading">¶</a></h3>
169 <dl·class="py·method">170 <dl·class="py·method">
170 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.add_constraint">171 <dt·class="sig·sig-object·py"·id="django.db.backends.base.schema.BaseDatabaseSchemaEditor.add_constraint">
Max diff block lines reached; 23923/42939 bytes (55.71%) of diff not shown.
11.6 KB
html2text {}
Max HTML report size reached
122 KB
./usr/share/doc/python-django-doc/html/ref/settings.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Settings·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Settings·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Signals"·href="signals.html"·/>15 ····<link·rel="next"·title="Signals"·href="signals.html"·/>
15 ····<link·rel="prev"·title="SchemaEditor"·href="schema-editor.html"·/>16 ····<link·rel="prev"·title="SchemaEditor"·href="schema-editor.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 87, 15 lines modifiedOffset 88, 15 lines modified
87 <li><p><a·class="reference·internal"·href="#sessions"·id="id15">Sessions</a></p></li>88 <li><p><a·class="reference·internal"·href="#sessions"·id="id15">Sessions</a></p></li>
88 <li><p><a·class="reference·internal"·href="#sites"·id="id16">Sites</a></p></li>89 <li><p><a·class="reference·internal"·href="#sites"·id="id16">Sites</a></p></li>
89 <li><p><a·class="reference·internal"·href="#static-files"·id="id17">Static·Files</a></p></li>90 <li><p><a·class="reference·internal"·href="#static-files"·id="id17">Static·Files</a></p></li>
90 <li><p><a·class="reference·internal"·href="#core-settings-topical-index"·id="id18">Core·Settings·Topical·Index</a></p></li>91 <li><p><a·class="reference·internal"·href="#core-settings-topical-index"·id="id18">Core·Settings·Topical·Index</a></p></li>
91 </ul>92 </ul>
92 </nav>93 </nav>
93 <div·class="admonition·warning">94 <div·class="admonition·warning">
94 <p·class="admonition-title">Warning</p>95 <p·class="admonition-title">Hoiatus</p>
95 <p>Be·careful·when·you·override·settings,·especially·when·the·default·value96 <p>Be·careful·when·you·override·settings,·especially·when·the·default·value
96 is·a·non-empty·list·or·dictionary,·such·as·<a·class="reference·internal"·href="#std-setting-STATICFILES_FINDERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_FINDERS</span></code></a>.97 is·a·non-empty·list·or·dictionary,·such·as·<a·class="reference·internal"·href="#std-setting-STATICFILES_FINDERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_FINDERS</span></code></a>.
97 Make·sure·you·keep·the·components·required·by·the·features·of·Django·you98 Make·sure·you·keep·the·components·required·by·the·features·of·Django·you
98 wish·to·use.</p>99 wish·to·use.</p>
99 </div>100 </div>
100 <section·id="s-core-settings">101 <section·id="s-core-settings">
101 <span·id="core-settings"></span><h2><a·class="toc-backref"·href="#id12"·role="doc-backlink">Core·Settings</a><a·class="headerlink"·href="#core-settings"·title="Link·to·this·heading">¶</a></h2>102 <span·id="core-settings"></span><h2><a·class="toc-backref"·href="#id12"·role="doc-backlink">Core·Settings</a><a·class="headerlink"·href="#core-settings"·title="Link·to·this·heading">¶</a></h2>
Offset 251, 15 lines modifiedOffset 252, 15 lines modified
251 consult·your·backend·module’s·own·documentation.</p>252 consult·your·backend·module’s·own·documentation.</p>
252 </section>253 </section>
253 <section·id="s-timeout">254 <section·id="s-timeout">
254 <span·id="s-std-setting-CACHES-TIMEOUT"></span><span·id="timeout"></span><span·id="std-setting-CACHES-TIMEOUT"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">TIMEOUT</span></code><a·class="headerlink"·href="#timeout"·title="Link·to·this·heading">¶</a></h4>255 <span·id="s-std-setting-CACHES-TIMEOUT"></span><span·id="timeout"></span><span·id="std-setting-CACHES-TIMEOUT"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">TIMEOUT</span></code><a·class="headerlink"·href="#timeout"·title="Link·to·this·heading">¶</a></h4>
255 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">300</span></code></p>256 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">300</span></code></p>
256 <p>The·number·of·seconds·before·a·cache·entry·is·considered·stale.·If·the·value·of257 <p>The·number·of·seconds·before·a·cache·entry·is·considered·stale.·If·the·value·of
257 this·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·cache·entries·will·not·expire.·A·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>258 this·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·cache·entries·will·not·expire.·A·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>
258 causes·keys·to·immediately·expire·(effectively·don’t·cache).</p>259 causes·keys·to·immediately·expire·(effectively·don’t·cache).</p>
259 </section>260 </section>
260 <section·id="s-version">261 <section·id="s-version">
261 <span·id="s-std-setting-CACHES-VERSION"></span><span·id="version"></span><span·id="std-setting-CACHES-VERSION"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">VERSION</span></code><a·class="headerlink"·href="#version"·title="Link·to·this·heading">¶</a></h4>262 <span·id="s-std-setting-CACHES-VERSION"></span><span·id="version"></span><span·id="std-setting-CACHES-VERSION"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">VERSION</span></code><a·class="headerlink"·href="#version"·title="Link·to·this·heading">¶</a></h4>
262 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code></p>263 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code></p>
263 <p>The·default·version·number·for·cache·keys·generated·by·the·Django·server.</p>264 <p>The·default·version·number·for·cache·keys·generated·by·the·Django·server.</p>
264 <p>See·the·<a·class="reference·internal"·href="../topics/cache.html#cache-versioning"><span·class="std·std-ref">cache·documentation</span></a>·for·more·information.</p>265 <p>See·the·<a·class="reference·internal"·href="../topics/cache.html#cache-versioning"><span·class="std·std-ref">cache·documentation</span></a>·for·more·information.</p>
265 </section>266 </section>
Offset 350, 15 lines modifiedOffset 351, 15 lines modified
350 cookie·from·being·sent·in·cross-site·requests.</p>351 cookie·from·being·sent·in·cross-site·requests.</p>
351 <p>See·<a·class="reference·internal"·href="#std-setting-SESSION_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_SAMESITE</span></code></a>·for·details·about·<code·class="docutils·literal·notranslate"><span·class="pre">SameSite</span></code>.</p>352 <p>See·<a·class="reference·internal"·href="#std-setting-SESSION_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_SAMESITE</span></code></a>·for·details·about·<code·class="docutils·literal·notranslate"><span·class="pre">SameSite</span></code>.</p>
352 </section>353 </section>
353 <section·id="s-csrf-cookie-secure">354 <section·id="s-csrf-cookie-secure">
354 <span·id="s-std-setting-CSRF_COOKIE_SECURE"></span><span·id="csrf-cookie-secure"></span><span·id="std-setting-CSRF_COOKIE_SECURE"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_SECURE</span></code><a·class="headerlink"·href="#csrf-cookie-secure"·title="Link·to·this·heading">¶</a></h3>355 <span·id="s-std-setting-CSRF_COOKIE_SECURE"></span><span·id="csrf-cookie-secure"></span><span·id="std-setting-CSRF_COOKIE_SECURE"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_SECURE</span></code><a·class="headerlink"·href="#csrf-cookie-secure"·title="Link·to·this·heading">¶</a></h3>
355 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code></p>356 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code></p>
356 <p>Whether·to·use·a·secure·cookie·for·the·CSRF·cookie.·If·this·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,357 <p>Whether·to·use·a·secure·cookie·for·the·CSRF·cookie.·If·this·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,
357 the·cookie·will·be·marked·as·secure,·which·means·browsers·may·ensure·that·the358 the·cookie·will·be·marked·as·secure,·which·means·browsers·may·ensure·that·the
358 cookie·is·only·sent·with·an·HTTPS·connection.</p>359 cookie·is·only·sent·with·an·HTTPS·connection.</p>
359 </section>360 </section>
360 <section·id="s-csrf-use-sessions">361 <section·id="s-csrf-use-sessions">
361 <span·id="s-std-setting-CSRF_USE_SESSIONS"></span><span·id="csrf-use-sessions"></span><span·id="std-setting-CSRF_USE_SESSIONS"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">CSRF_USE_SESSIONS</span></code><a·class="headerlink"·href="#csrf-use-sessions"·title="Link·to·this·heading">¶</a></h3>362 <span·id="s-std-setting-CSRF_USE_SESSIONS"></span><span·id="csrf-use-sessions"></span><span·id="std-setting-CSRF_USE_SESSIONS"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">CSRF_USE_SESSIONS</span></code><a·class="headerlink"·href="#csrf-use-sessions"·title="Link·to·this·heading">¶</a></h3>
362 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code></p>363 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code></p>
363 <p>Whether·to·store·the·CSRF·token·in·the·user’s·session·instead·of·in·a·cookie.364 <p>Whether·to·store·the·CSRF·token·in·the·user’s·session·instead·of·in·a·cookie.
364 It·requires·the·use·of·<a·class="reference·internal"·href="../topics/http/sessions.html#module-django.contrib.sessions"·title="django.contrib.sessions:·Provides·session·management·for·Django·projects."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a>.</p>365 It·requires·the·use·of·<a·class="reference·internal"·href="../topics/http/sessions.html#module-django.contrib.sessions"·title="django.contrib.sessions:·Provides·session·management·for·Django·projects."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a>.</p>
Offset 485, 19 lines modifiedOffset 486, 19 lines modified
485 MySQL·will·connect·via·a·Unix·socket·to·the·specified·socket.·For·example:</p>486 MySQL·will·connect·via·a·Unix·socket·to·the·specified·socket.·For·example:</p>
486 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="s2">&quot;HOST&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;/var/run/mysql&quot;</span>487 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="s2">&quot;HOST&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;/var/run/mysql&quot;</span>
487 </pre></div>488 </pre></div>
488 </div>489 </div>
489 <p>If·you’re·using·MySQL·and·this·value·<em>doesn’t</em>·start·with·a·forward·slash,·then490 <p>If·you’re·using·MySQL·and·this·value·<em>doesn’t</em>·start·with·a·forward·slash,·then
490 this·value·is·assumed·to·be·the·host.</p>491 this·value·is·assumed·to·be·the·host.</p>
491 <p>If·you’re·using·PostgreSQL,·by·default·(empty·<a·class="reference·internal"·href="#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>),·the·connection492 <p>If·you’re·using·PostgreSQL,·by·default·(empty·<a·class="reference·internal"·href="#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>),·the·connection
492 to·the·database·is·done·through·UNIX·domain·sockets·(local·lines·in493 to·the·database·is·done·through·UNIX·domain·sockets·(local·lines·in
493 <code·class="docutils·literal·notranslate"><span·class="pre">pg_hba.conf</span></code>).·If·your·UNIX·domain·socket·is·not·in·the·standard·location,494 <code·class="docutils·literal·notranslate"><span·class="pre">pg_hba.conf</span></code>).·If·your·UNIX·domain·socket·is·not·in·the·standard·location,
494 use·the·same·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">unix_socket_directory</span></code>·from·<code·class="docutils·literal·notranslate"><span·class="pre">postgresql.conf</span></code>.495 use·the·same·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">unix_socket_directory</span></code>·from·<code·class="docutils·literal·notranslate"><span·class="pre">postgresql.conf</span></code>.
495 If·you·want·to·connect·through·TCP·sockets,·set·<a·class="reference·internal"·href="#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>·to·localhost496 If·you·want·to·connect·through·TCP·sockets,·set·<a·class="reference·internal"·href="#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>·to·localhost
496 or·127.0.0.1·(host·lines·in·<code·class="docutils·literal·notranslate"><span·class="pre">pg_hba.conf</span></code>).497 or·127.0.0.1·(host·lines·in·<code·class="docutils·literal·notranslate"><span·class="pre">pg_hba.conf</span></code>).
497 On·Windows,·you·should·always·define·<a·class="reference·internal"·href="#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>,·as·UNIX·domain·sockets498 On·Windows,·you·should·always·define·<a·class="reference·internal"·href="#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>,·as·UNIX·domain·sockets
498 are·not·available.</p>499 are·not·available.</p>
499 </section>500 </section>
500 <section·id="s-name">501 <section·id="s-name">
501 <span·id="s-std-setting-NAME"></span><span·id="name"></span><span·id="std-setting-NAME"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">NAME</span></code><a·class="headerlink"·href="#name"·title="Link·to·this·heading">¶</a></h4>502 <span·id="s-std-setting-NAME"></span><span·id="name"></span><span·id="std-setting-NAME"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">NAME</span></code><a·class="headerlink"·href="#name"·title="Link·to·this·heading">¶</a></h4>
502 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">''</span></code>·(Empty·string)</p>503 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">''</span></code>·(Empty·string)</p>
503 <p>The·name·of·the·database·to·use.·For·SQLite,·it’s·the·full·path·to·the·database504 <p>The·name·of·the·database·to·use.·For·SQLite,·it’s·the·full·path·to·the·database
Offset 855, 15 lines modifiedOffset 856, 15 lines modified
855 ····<span·class="s2">&quot;</span><span·class="si">%d</span><span·class="s2">·%B·%Y&quot;</span><span·class="p">,</span>··<span·class="c1">#·&#39;25·October·2006&#39;</span>856 ····<span·class="s2">&quot;</span><span·class="si">%d</span><span·class="s2">·%B·%Y&quot;</span><span·class="p">,</span>··<span·class="c1">#·&#39;25·October·2006&#39;</span>
856 ····<span·class="s2">&quot;</span><span·class="si">%d</span><span·class="s2">·%B,·%Y&quot;</span><span·class="p">,</span>··<span·class="c1">#·&#39;25·October,·2006&#39;</span>857 ····<span·class="s2">&quot;</span><span·class="si">%d</span><span·class="s2">·%B,·%Y&quot;</span><span·class="p">,</span>··<span·class="c1">#·&#39;25·October,·2006&#39;</span>
857 <span·class="p">]</span>858 <span·class="p">]</span>
858 </pre></div>859 </pre></div>
859 </div>860 </div>
860 <p>A·list·of·formats·that·will·be·accepted·when·inputting·data·on·a·date·field.861 <p>A·list·of·formats·that·will·be·accepted·when·inputting·data·on·a·date·field.
861 Formats·will·be·tried·in·order,·using·the·first·valid·one.·Note·that·these862 Formats·will·be·tried·in·order,·using·the·first·valid·one.·Note·that·these
862 format·strings·use·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#strftime-strptime-behavior"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">datetime·module·syntax</span></a>,·not·the·format·strings·from·the·<a·class="reference·internal"·href="templates/builtins.html#std-templatefilter-date"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">date</span></code></a>863 format·strings·use·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#strftime-strptime-behavior"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">datetime·module·syntax</span></a>,·not·the·format·strings·from·the·<a·class="reference·internal"·href="templates/builtins.html#std-templatefilter-date"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">date</span></code></a>
863 template·filter.</p>864 template·filter.</p>
864 <p>The·locale-dictated·format·has·higher·precedence·and·will·be·applied·instead.</p>865 <p>The·locale-dictated·format·has·higher·precedence·and·will·be·applied·instead.</p>
865 <p>See·also·<a·class="reference·internal"·href="#std-setting-DATETIME_INPUT_FORMATS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATETIME_INPUT_FORMATS</span></code></a>·and·<a·class="reference·internal"·href="#std-setting-TIME_INPUT_FORMATS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIME_INPUT_FORMATS</span></code></a>.</p>866 <p>See·also·<a·class="reference·internal"·href="#std-setting-DATETIME_INPUT_FORMATS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATETIME_INPUT_FORMATS</span></code></a>·and·<a·class="reference·internal"·href="#std-setting-TIME_INPUT_FORMATS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIME_INPUT_FORMATS</span></code></a>.</p>
866 </section>867 </section>
867 <section·id="s-datetime-format">868 <section·id="s-datetime-format">
868 <span·id="s-std-setting-DATETIME_FORMAT"></span><span·id="datetime-format"></span><span·id="std-setting-DATETIME_FORMAT"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">DATETIME_FORMAT</span></code><a·class="headerlink"·href="#datetime-format"·title="Link·to·this·heading">¶</a></h3>869 <span·id="s-std-setting-DATETIME_FORMAT"></span><span·id="datetime-format"></span><span·id="std-setting-DATETIME_FORMAT"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">DATETIME_FORMAT</span></code><a·class="headerlink"·href="#datetime-format"·title="Link·to·this·heading">¶</a></h3>
869 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">'N</span>·<span·class="pre">j,</span>·<span·class="pre">Y,</span>·<span·class="pre">P'</span></code>·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">Feb.</span>·<span·class="pre">4,</span>·<span·class="pre">2003,</span>·<span·class="pre">4</span>·<span·class="pre">p.m.</span></code>)</p>870 <p>Default:·<code·class="docutils·literal·notranslate"><span·class="pre">'N</span>·<span·class="pre">j,</span>·<span·class="pre">Y,</span>·<span·class="pre">P'</span></code>·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">Feb.</span>·<span·class="pre">4,</span>·<span·class="pre">2003,</span>·<span·class="pre">4</span>·<span·class="pre">p.m.</span></code>)</p>
Offset 886, 15 lines modifiedOffset 887, 15 lines modified
886 ····<span·class="s2">&quot;%m/</span><span·class="si">%d</span><span·class="s2">/%y·%H:%M:%S.</span><span·class="si">%f</span><span·class="s2">&quot;</span><span·class="p">,</span>··<span·class="c1">#·&#39;10/25/06·14:30:59.000200&#39;</span>887 ····<span·class="s2">&quot;%m/</span><span·class="si">%d</span><span·class="s2">/%y·%H:%M:%S.</span><span·class="si">%f</span><span·class="s2">&quot;</span><span·class="p">,</span>··<span·class="c1">#·&#39;10/25/06·14:30:59.000200&#39;</span>
887 ····<span·class="s2">&quot;%m/</span><span·class="si">%d</span><span·class="s2">/%y·%H:%M&quot;</span><span·class="p">,</span>··<span·class="c1">#·&#39;10/25/06·14:30&#39;</span>888 ····<span·class="s2">&quot;%m/</span><span·class="si">%d</span><span·class="s2">/%y·%H:%M&quot;</span><span·class="p">,</span>··<span·class="c1">#·&#39;10/25/06·14:30&#39;</span>
888 <span·class="p">]</span>889 <span·class="p">]</span>
Max diff block lines reached; 72020/84838 bytes (84.89%) of diff not shown.
39.0 KB
html2text {}
Max HTML report size reached
27.6 KB
./usr/share/doc/python-django-doc/html/ref/signals.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Signals·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Signals·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Templates"·href="templates/index.html"·/>15 ····<link·rel="next"·title="Templates"·href="templates/index.html"·/>
15 ····<link·rel="prev"·title="Settings"·href="settings.html"·/>16 ····<link·rel="prev"·title="Settings"·href="settings.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 78, 45 lines modifiedOffset 79, 45 lines modified
78 ··········<div·class="yui-g"·id="ref-signals">79 ··········<div·class="yui-g"·id="ref-signals">
79 ············80 ············
80 ··<section·id="s-signals">81 ··<section·id="s-signals">
81 <span·id="signals"></span><h1>Signals<a·class="headerlink"·href="#signals"·title="Link·to·this·heading">¶</a></h1>82 <span·id="signals"></span><h1>Signals<a·class="headerlink"·href="#signals"·title="Link·to·this·heading">¶</a></h1>
82 <p>A·list·of·all·the·signals·that·Django·sends.·All·built-in·signals·are·sent83 <p>A·list·of·all·the·signals·that·Django·sends.·All·built-in·signals·are·sent
83 using·the·<a·class="reference·internal"·href="../topics/signals.html#django.dispatch.Signal.send"·title="django.dispatch.Signal.send"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">send()</span></code></a>·method.</p>84 using·the·<a·class="reference·internal"·href="../topics/signals.html#django.dispatch.Signal.send"·title="django.dispatch.Signal.send"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">send()</span></code></a>·method.</p>
84 <div·class="admonition·seealso">85 <div·class="admonition·seealso">
85 <p·class="admonition-title">See·also</p>86 <p·class="admonition-title">Vaata·ka</p>
86 <p>See·the·documentation·on·the·<a·class="reference·internal"·href="../topics/signals.html"><span·class="doc">signal·dispatcher</span></a>·for87 <p>See·the·documentation·on·the·<a·class="reference·internal"·href="../topics/signals.html"><span·class="doc">signal·dispatcher</span></a>·for
87 information·regarding·how·to·register·for·and·receive·signals.</p>88 information·regarding·how·to·register·for·and·receive·signals.</p>
88 <p>The·<a·class="reference·internal"·href="../topics/auth/index.html"><span·class="doc">authentication·framework</span></a>·sends·<a·class="reference·internal"·href="contrib/auth.html#topics-auth-signals"><span·class="std·std-ref">signals·when89 <p>The·<a·class="reference·internal"·href="../topics/auth/index.html"><span·class="doc">authentication·framework</span></a>·sends·<a·class="reference·internal"·href="contrib/auth.html#topics-auth-signals"><span·class="std·std-ref">signals·when
89 a·user·is·logged·in·/·out</span></a>.</p>90 a·user·is·logged·in·/·out</span></a>.</p>
90 </div>91 </div>
91 <section·id="s-module-django.db.models.signals">92 <section·id="s-module-django.db.models.signals">
92 <span·id="s-model-signals"></span><span·id="module-django.db.models.signals"></span><span·id="model-signals"></span><h2>Model·signals<a·class="headerlink"·href="#module-django.db.models.signals"·title="Link·to·this·heading">¶</a></h2>93 <span·id="s-model-signals"></span><span·id="module-django.db.models.signals"></span><span·id="model-signals"></span><h2>Model·signals<a·class="headerlink"·href="#module-django.db.models.signals"·title="Link·to·this·heading">¶</a></h2>
93 <p>The·<a·class="reference·internal"·href="#module-django.db.models.signals"·title="django.db.models.signals:·Signals·sent·by·the·model·system."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.db.models.signals</span></code></a>·module·defines·a·set·of·signals·sent·by·the94 <p>The·<a·class="reference·internal"·href="#module-django.db.models.signals"·title="django.db.models.signals:·Signals·sent·by·the·model·system."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.db.models.signals</span></code></a>·module·defines·a·set·of·signals·sent·by·the
94 model·system.</p>95 model·system.</p>
95 <div·class="admonition·warning">96 <div·class="admonition·warning">
96 <p·class="admonition-title">Warning</p>97 <p·class="admonition-title">Hoiatus</p>
97 <p>Signals·can·make·your·code·harder·to·maintain.·Consider·implementing·a98 <p>Signals·can·make·your·code·harder·to·maintain.·Consider·implementing·a
98 helper·method·on·a·<a·class="reference·internal"·href="../topics/db/managers.html#custom-managers"><span·class="std·std-ref">custom·manager</span></a>,·to99 helper·method·on·a·<a·class="reference·internal"·href="../topics/db/managers.html#custom-managers"><span·class="std·std-ref">custom·manager</span></a>,·to
99 both·update·your·models·and·perform·additional·logic,·or·else100 both·update·your·models·and·perform·additional·logic,·or·else
100 <a·class="reference·internal"·href="../topics/db/models.html#overriding-model-methods"><span·class="std·std-ref">overriding·model·methods</span></a>·before·using101 <a·class="reference·internal"·href="../topics/db/models.html#overriding-model-methods"><span·class="std·std-ref">overriding·model·methods</span></a>·before·using
101 model·signals.</p>102 model·signals.</p>
102 </div>103 </div>
103 <div·class="admonition·warning">104 <div·class="admonition·warning">
104 <p·class="admonition-title">Warning</p>105 <p·class="admonition-title">Hoiatus</p>
105 <p>Many·of·these·signals·are·sent·by·various·model·methods·like106 <p>Many·of·these·signals·are·sent·by·various·model·methods·like
106 <code·class="docutils·literal·notranslate"><span·class="pre">__init__()</span></code>·or·<a·class="reference·internal"·href="models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·that·you·can107 <code·class="docutils·literal·notranslate"><span·class="pre">__init__()</span></code>·or·<a·class="reference·internal"·href="models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·that·you·can
107 override·in·your·own·code.</p>108 override·in·your·own·code.</p>
108 <p>If·you·override·these·methods·on·your·model,·you·must·call·the·parent·class109 <p>If·you·override·these·methods·on·your·model,·you·must·call·the·parent·class
109 methods·for·these·signals·to·be·sent.</p>110 methods·for·these·signals·to·be·sent.</p>
110 <p>Note·also·that·Django·stores·signal·handlers·as·weak·references·by·default,111 <p>Note·also·that·Django·stores·signal·handlers·as·weak·references·by·default,
111 so·if·your·handler·is·a·local·function,·it·may·be·garbage·collected.··To112 so·if·your·handler·is·a·local·function,·it·may·be·garbage·collected.··To
112 prevent·this,·pass·<code·class="docutils·literal·notranslate"><span·class="pre">weak=False</span></code>·when·you·call·the·signal’s·<a·class="reference·internal"·href="../topics/signals.html#django.dispatch.Signal.connect"·title="django.dispatch.Signal.connect"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">connect()</span></code></a>.</p>113 prevent·this,·pass·<code·class="docutils·literal·notranslate"><span·class="pre">weak=False</span></code>·when·you·call·the·signal’s·<a·class="reference·internal"·href="../topics/signals.html#django.dispatch.Signal.connect"·title="django.dispatch.Signal.connect"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">connect()</span></code></a>.</p>
113 </div>114 </div>
114 <div·class="admonition·note">115 <div·class="admonition·note">
115 <p·class="admonition-title">Note</p>116 <p·class="admonition-title">rkus</p>
116 <p>Model·signals·<code·class="docutils·literal·notranslate"><span·class="pre">sender</span></code>·model·can·be·lazily·referenced·when·connecting·a117 <p>Model·signals·<code·class="docutils·literal·notranslate"><span·class="pre">sender</span></code>·model·can·be·lazily·referenced·when·connecting·a
117 receiver·by·specifying·its·full·application·label.·For·example,·an118 receiver·by·specifying·its·full·application·label.·For·example,·an
118 <code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>·model·defined·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·application·could·be·referenced119 <code·class="docutils·literal·notranslate"><span·class="pre">Question</span></code>·model·defined·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">polls</span></code>·application·could·be·referenced
119 as·<code·class="docutils·literal·notranslate"><span·class="pre">'polls.Question'</span></code>.·This·sort·of·reference·can·be·quite·handy·when120 as·<code·class="docutils·literal·notranslate"><span·class="pre">'polls.Question'</span></code>.·This·sort·of·reference·can·be·quite·handy·when
120 dealing·with·circular·import·dependencies·and·swappable·models.</p>121 dealing·with·circular·import·dependencies·and·swappable·models.</p>
121 </div>122 </div>
122 <section·id="s-pre-init">123 <section·id="s-pre-init">
Offset 173, 24 lines modifiedOffset 174, 24 lines modified
173 <p>Like·pre_init,·but·this·one·is·sent·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">__init__()</span></code>·method·finishes.</p>174 <p>Like·pre_init,·but·this·one·is·sent·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">__init__()</span></code>·method·finishes.</p>
174 <p>Arguments·sent·with·this·signal:</p>175 <p>Arguments·sent·with·this·signal:</p>
175 <dl>176 <dl>
176 <dt><code·class="docutils·literal·notranslate"><span·class="pre">sender</span></code></dt><dd><p>As·above:·the·model·class·that·just·had·an·instance·created.</p>177 <dt><code·class="docutils·literal·notranslate"><span·class="pre">sender</span></code></dt><dd><p>As·above:·the·model·class·that·just·had·an·instance·created.</p>
177 </dd>178 </dd>
178 <dt><code·class="docutils·literal·notranslate"><span·class="pre">instance</span></code></dt><dd><p>The·actual·instance·of·the·model·that’s·just·been·created.</p>179 <dt><code·class="docutils·literal·notranslate"><span·class="pre">instance</span></code></dt><dd><p>The·actual·instance·of·the·model·that’s·just·been·created.</p>
179 <div·class="admonition·note">180 <div·class="admonition·note">
180 <p·class="admonition-title">Note</p>181 <p·class="admonition-title">rkus</p>
181 <p><a·class="reference·internal"·href="models/instances.html#django.db.models.Model._state"·title="django.db.models.Model._state"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">instance._state</span></code></a>·isn’t·set182 <p><a·class="reference·internal"·href="models/instances.html#django.db.models.Model._state"·title="django.db.models.Model._state"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">instance._state</span></code></a>·isn’t·set
182 before·sending·the·<code·class="docutils·literal·notranslate"><span·class="pre">post_init</span></code>·signal,·so·<code·class="docutils·literal·notranslate"><span·class="pre">_state</span></code>·attributes183 before·sending·the·<code·class="docutils·literal·notranslate"><span·class="pre">post_init</span></code>·signal,·so·<code·class="docutils·literal·notranslate"><span·class="pre">_state</span></code>·attributes
183 always·have·their·default·values.·For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">_state.db</span></code>·is184 always·have·their·default·values.·For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">_state.db</span></code>·is
184 <code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>185 <code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>
185 </div>186 </div>
186 </dd>187 </dd>
187 </dl>188 </dl>
188 <div·class="admonition·warning">189 <div·class="admonition·warning">
189 <p·class="admonition-title">Warning</p>190 <p·class="admonition-title">Hoiatus</p>
190 <p>For·performance·reasons,·you·shouldn’t·perform·queries·in·receivers·of191 <p>For·performance·reasons,·you·shouldn’t·perform·queries·in·receivers·of
191 <code·class="docutils·literal·notranslate"><span·class="pre">pre_init</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">post_init</span></code>·signals·because·they·would·be·executed·for192 <code·class="docutils·literal·notranslate"><span·class="pre">pre_init</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">post_init</span></code>·signals·because·they·would·be·executed·for
192 each·instance·returned·during·queryset·iteration.</p>193 each·instance·returned·during·queryset·iteration.</p>
193 </div>194 </div>
194 </section>195 </section>
195 <section·id="s-pre-save">196 <section·id="s-pre-save">
196 <span·id="pre-save"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">pre_save</span></code><a·class="headerlink"·href="#pre-save"·title="Link·to·this·heading">¶</a></h3>197 <span·id="pre-save"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">pre_save</span></code><a·class="headerlink"·href="#pre-save"·title="Link·to·this·heading">¶</a></h3>
Offset 467, 15 lines modifiedOffset 468, 15 lines modified
467 <section·id="s-class-prepared">468 <section·id="s-class-prepared">
468 <span·id="class-prepared"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">class_prepared</span></code><a·class="headerlink"·href="#class-prepared"·title="Link·to·this·heading">¶</a></h3>469 <span·id="class-prepared"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">class_prepared</span></code><a·class="headerlink"·href="#class-prepared"·title="Link·to·this·heading">¶</a></h3>
469 <dl·class="py·data">470 <dl·class="py·data">
470 <dt·class="sig·sig-object·py"·id="django.db.models.signals.class_prepared">471 <dt·class="sig·sig-object·py"·id="django.db.models.signals.class_prepared">
471 <span·class="sig-prename·descclassname"><span·class="pre">django.db.models.signals.</span></span><span·class="sig-name·descname"><span·class="pre">class_prepared</span></span><a·class="headerlink"·href="#django.db.models.signals.class_prepared"·title="Link·to·this·definition">¶</a></dt>472 <span·class="sig-prename·descclassname"><span·class="pre">django.db.models.signals.</span></span><span·class="sig-name·descname"><span·class="pre">class_prepared</span></span><a·class="headerlink"·href="#django.db.models.signals.class_prepared"·title="Link·to·this·definition">¶</a></dt>
472 <dd></dd></dl>473 <dd></dd></dl>
  
473 <p>Sent·whenever·a·model·class·has·been·prepared··that·is,·once·a·model·has474 <p>Sent·whenever·a·model·class·has·been·prepared··that·is,·once·a·model·has
474 been·defined·and·registered·with·Django’s·model·system.·Django·uses·this475 been·defined·and·registered·with·Django’s·model·system.·Django·uses·this
475 signal·internally;·it’s·not·generally·used·in·third-party·applications.</p>476 signal·internally;·it’s·not·generally·used·in·third-party·applications.</p>
476 <p>Since·this·signal·is·sent·during·the·app·registry·population·process,·and477 <p>Since·this·signal·is·sent·during·the·app·registry·population·process,·and
477 <a·class="reference·internal"·href="applications.html#django.apps.AppConfig.ready"·title="django.apps.AppConfig.ready"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">AppConfig.ready()</span></code></a>·runs·after·the·app478 <a·class="reference·internal"·href="applications.html#django.apps.AppConfig.ready"·title="django.apps.AppConfig.ready"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">AppConfig.ready()</span></code></a>·runs·after·the·app
478 registry·is·fully·populated,·receivers·cannot·be·connected·in·that·method.479 registry·is·fully·populated,·receivers·cannot·be·connected·in·that·method.
479 One·possibility·is·to·connect·them·<code·class="docutils·literal·notranslate"><span·class="pre">AppConfig.__init__()</span></code>·instead,·taking480 One·possibility·is·to·connect·them·<code·class="docutils·literal·notranslate"><span·class="pre">AppConfig.__init__()</span></code>·instead,·taking
480 care·not·to·import·models·or·trigger·calls·to·the·app·registry.</p>481 care·not·to·import·models·or·trigger·calls·to·the·app·registry.</p>
Offset 596, 29 lines modifiedOffset 597, 29 lines modified
Max diff block lines reached; 8382/18626 bytes (45.00%) of diff not shown.
9.34 KB
html2text {}
Max HTML report size reached
46.2 KB
./usr/share/doc/python-django-doc/html/ref/template-response.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>TemplateResponse·and·SimpleTemplateResponse·&#8212;·Django·5.1.3·documentation</title>6 ····<title>TemplateResponse·and·SimpleTemplateResponse·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Unicode·data"·href="unicode.html"·/>15 ····<link·rel="next"·title="Unicode·data"·href="unicode.html"·/>
15 ····<link·rel="prev"·title="The·Django·template·language:·for·Python·programmers"·href="templates/api.html"·/>16 ····<link·rel="prev"·title="The·Django·template·language:·for·Python·programmers"·href="templates/api.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 92, 15 lines modifiedOffset 93, 15 lines modified
92 the·details·of·the·template·and·context·that·was·provided·by·the·view·to93 the·details·of·the·template·and·context·that·was·provided·by·the·view·to
93 compute·the·response.·The·final·output·of·the·response·is·not·computed·until94 compute·the·response.·The·final·output·of·the·response·is·not·computed·until
94 it·is·needed,·later·in·the·response·process.</p>95 it·is·needed,·later·in·the·response·process.</p>
95 <section·id="s-simpletemplateresponse-objects">96 <section·id="s-simpletemplateresponse-objects">
96 <span·id="simpletemplateresponse-objects"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SimpleTemplateResponse</span></code>·objects<a·class="headerlink"·href="#simpletemplateresponse-objects"·title="Link·to·this·heading">¶</a></h2>97 <span·id="simpletemplateresponse-objects"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">SimpleTemplateResponse</span></code>·objects<a·class="headerlink"·href="#simpletemplateresponse-objects"·title="Link·to·this·heading">¶</a></h2>
97 <dl·class="py·class">98 <dl·class="py·class">
98 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse">99 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse">
99 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SimpleTemplateResponse</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L10"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse"·title="Link·to·this·definition">¶</a></dt>100 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">SimpleTemplateResponse</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L10"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse"·title="Link·to·this·definition">¶</a></dt>
100 <dd></dd></dl>101 <dd></dd></dl>
  
101 <section·id="s-attributes">102 <section·id="s-attributes">
102 <span·id="attributes"></span><h3>Attributes<a·class="headerlink"·href="#attributes"·title="Link·to·this·heading">¶</a></h3>103 <span·id="attributes"></span><h3>Attributes<a·class="headerlink"·href="#attributes"·title="Link·to·this·heading">¶</a></h3>
103 <dl·class="py·attribute">104 <dl·class="py·attribute">
104 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.template_name">105 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.template_name">
105 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">template_name</span></span><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.template_name"·title="Link·to·this·definition">¶</a></dt>106 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">template_name</span></span><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.template_name"·title="Link·to·this·definition">¶</a></dt>
Offset 111, 46 lines modifiedOffset 112, 46 lines modified
111 <p>Example:·<code·class="docutils·literal·notranslate"><span·class="pre">['foo.html',</span>·<span·class="pre">'path/to/bar.html']</span></code></p>112 <p>Example:·<code·class="docutils·literal·notranslate"><span·class="pre">['foo.html',</span>·<span·class="pre">'path/to/bar.html']</span></code></p>
112 </dd></dl>113 </dd></dl>
  
113 <dl·class="py·attribute">114 <dl·class="py·attribute">
114 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.context_data">115 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.context_data">
115 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">context_data</span></span><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.context_data"·title="Link·to·this·definition">¶</a></dt>116 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">context_data</span></span><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.context_data"·title="Link·to·this·definition">¶</a></dt>
116 <dd><p>The·context·data·to·be·used·when·rendering·the·template.·It·must·be·a117 <dd><p>The·context·data·to·be·used·when·rendering·the·template.·It·must·be·a
117 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>.</p>118 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>.</p>
118 <p>Example:·<code·class="docutils·literal·notranslate"><span·class="pre">{'foo':</span>·<span·class="pre">123}</span></code></p>119 <p>Example:·<code·class="docutils·literal·notranslate"><span·class="pre">{'foo':</span>·<span·class="pre">123}</span></code></p>
119 </dd></dl>120 </dd></dl>
  
120 <dl·class="py·attribute">121 <dl·class="py·attribute">
121 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.rendered_content">122 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.rendered_content">
122 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">rendered_content</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L82"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.rendered_content"·title="Link·to·this·definition">¶</a></dt>123 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">rendered_content</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L82"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.rendered_content"·title="Link·to·this·definition">¶</a></dt>
123 <dd><p>The·current·rendered·value·of·the·response·content,·using·the·current124 <dd><p>The·current·rendered·value·of·the·response·content,·using·the·current
124 template·and·context·data.</p>125 template·and·context·data.</p>
125 </dd></dl>126 </dd></dl>
  
126 <dl·class="py·attribute">127 <dl·class="py·attribute">
127 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.is_rendered">128 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.is_rendered">
128 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">is_rendered</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L122"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.is_rendered"·title="Link·to·this·definition">¶</a></dt>129 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">is_rendered</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L122"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.is_rendered"·title="Link·to·this·definition">¶</a></dt>
129 <dd><p>A·boolean·indicating·whether·the·response·content·has·been·rendered.</p>130 <dd><p>A·boolean·indicating·whether·the·response·content·has·been·rendered.</p>
130 </dd></dl>131 </dd></dl>
  
131 </section>132 </section>
132 <section·id="s-methods">133 <section·id="s-methods">
133 <span·id="methods"></span><h3>Methods<a·class="headerlink"·href="#methods"·title="Link·to·this·heading">¶</a></h3>134 <span·id="methods"></span><h3>Methods<a·class="headerlink"·href="#methods"·title="Link·to·this·heading">¶</a></h3>
134 <dl·class="py·method">135 <dl·class="py·method">
135 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.__init__">136 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.__init__">
136 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">__init__</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">context</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">content_type</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">status</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">charset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">headers</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L13"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.__init__"·title="Link·to·this·definition">¶</a></dt>137 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">__init__</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">context</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">content_type</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">status</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">charset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">headers</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L13"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.__init__"·title="Link·to·this·definition">¶</a></dt>
137 <dd><p>Instantiates·a·<a·class="reference·internal"·href="#django.template.response.SimpleTemplateResponse"·title="django.template.response.SimpleTemplateResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SimpleTemplateResponse</span></code></a>138 <dd><p>Instantiates·a·<a·class="reference·internal"·href="#django.template.response.SimpleTemplateResponse"·title="django.template.response.SimpleTemplateResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SimpleTemplateResponse</span></code></a>
138 object·with·the·given·template,·context,·content·type,·HTTP·status,·and139 object·with·the·given·template,·context,·content·type,·HTTP·status,·and
139 charset.</p>140 charset.</p>
140 <dl·class="simple">141 <dl·class="simple">
141 <dt><code·class="docutils·literal·notranslate"><span·class="pre">template</span></code></dt><dd><p>A·backend-dependent·template·object·(such·as·those·returned·by142 <dt><code·class="docutils·literal·notranslate"><span·class="pre">template</span></code></dt><dd><p>A·backend-dependent·template·object·(such·as·those·returned·by
142 <a·class="reference·internal"·href="../topics/templates.html#django.template.loader.get_template"·title="django.template.loader.get_template"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_template()</span></code></a>),·the·name·of·a·template,143 <a·class="reference·internal"·href="../topics/templates.html#django.template.loader.get_template"·title="django.template.loader.get_template"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_template()</span></code></a>),·the·name·of·a·template,
143 or·a·list·of·template·names.</p>144 or·a·list·of·template·names.</p>
144 </dd>145 </dd>
145 <dt><code·class="docutils·literal·notranslate"><span·class="pre">context</span></code></dt><dd><p>A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of·values·to·add·to·the·template·context.·By·default,146 <dt><code·class="docutils·literal·notranslate"><span·class="pre">context</span></code></dt><dd><p>A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of·values·to·add·to·the·template·context.·By·default,
146 this·is·an·empty·dictionary.</p>147 this·is·an·empty·dictionary.</p>
147 </dd>148 </dd>
148 <dt><code·class="docutils·literal·notranslate"><span·class="pre">content_type</span></code></dt><dd><p>The·value·included·in·the·HTTP·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Type</span></code>·header,·including·the149 <dt><code·class="docutils·literal·notranslate"><span·class="pre">content_type</span></code></dt><dd><p>The·value·included·in·the·HTTP·<code·class="docutils·literal·notranslate"><span·class="pre">Content-Type</span></code>·header,·including·the
149 MIME·type·specification·and·the·character·set·encoding.·If150 MIME·type·specification·and·the·character·set·encoding.·If
150 <code·class="docutils·literal·notranslate"><span·class="pre">content_type</span></code>·is·specified,·then·its·value·is·used.·Otherwise,151 <code·class="docutils·literal·notranslate"><span·class="pre">content_type</span></code>·is·specified,·then·its·value·is·used.·Otherwise,
151 <code·class="docutils·literal·notranslate"><span·class="pre">'text/html'</span></code>·is·used.</p>152 <code·class="docutils·literal·notranslate"><span·class="pre">'text/html'</span></code>·is·used.</p>
152 </dd>153 </dd>
Offset 159, 42 lines modifiedOffset 160, 42 lines modified
159 <dt><code·class="docutils·literal·notranslate"><span·class="pre">charset</span></code></dt><dd><p>The·charset·in·which·the·response·will·be·encoded.·If·not·given·it·will160 <dt><code·class="docutils·literal·notranslate"><span·class="pre">charset</span></code></dt><dd><p>The·charset·in·which·the·response·will·be·encoded.·If·not·given·it·will
160 be·extracted·from·<code·class="docutils·literal·notranslate"><span·class="pre">content_type</span></code>,·and·if·that·is·unsuccessful,·the161 be·extracted·from·<code·class="docutils·literal·notranslate"><span·class="pre">content_type</span></code>,·and·if·that·is·unsuccessful,·the
161 <a·class="reference·internal"·href="settings.html#std-setting-DEFAULT_CHARSET"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_CHARSET</span></code></a>·setting·will·be·used.</p>162 <a·class="reference·internal"·href="settings.html#std-setting-DEFAULT_CHARSET"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_CHARSET</span></code></a>·setting·will·be·used.</p>
162 </dd>163 </dd>
163 <dt><code·class="docutils·literal·notranslate"><span·class="pre">using</span></code></dt><dd><p>The·<a·class="reference·internal"·href="settings.html#std-setting-TEMPLATES-NAME"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">NAME</span></code></a>·of·a·template·engine·to·use·for164 <dt><code·class="docutils·literal·notranslate"><span·class="pre">using</span></code></dt><dd><p>The·<a·class="reference·internal"·href="settings.html#std-setting-TEMPLATES-NAME"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">NAME</span></code></a>·of·a·template·engine·to·use·for
164 loading·the·template.</p>165 loading·the·template.</p>
165 </dd>166 </dd>
166 <dt><code·class="docutils·literal·notranslate"><span·class="pre">headers</span></code></dt><dd><p>A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of·HTTP·headers·to·add·to·the·response.</p>167 <dt><code·class="docutils·literal·notranslate"><span·class="pre">headers</span></code></dt><dd><p>A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of·HTTP·headers·to·add·to·the·response.</p>
167 </dd>168 </dd>
168 </dl>169 </dl>
169 </dd></dl>170 </dd></dl>
  
170 <dl·class="py·method">171 <dl·class="py·method">
171 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.resolve_context">172 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.resolve_context">
172 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">resolve_context</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">context</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L78"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.resolve_context"·title="Link·to·this·definition">¶</a></dt>173 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">resolve_context</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">context</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L78"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.resolve_context"·title="Link·to·this·definition">¶</a></dt>
173 <dd><p>Preprocesses·context·data·that·will·be·used·for·rendering·a·template.174 <dd><p>Preprocesses·context·data·that·will·be·used·for·rendering·a·template.
174 Accepts·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of·context·data.·By·default,·returns·the·same175 Accepts·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of·context·data.·By·default,·returns·the·same
175 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>.</p>176 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>.</p>
176 <p>Override·this·method·in·order·to·customize·the·context.</p>177 <p>Override·this·method·in·order·to·customize·the·context.</p>
177 </dd></dl>178 </dd></dl>
  
178 <dl·class="py·method">179 <dl·class="py·method">
179 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.resolve_template">180 <dt·class="sig·sig-object·py"·id="django.template.response.SimpleTemplateResponse.resolve_template">
180 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">resolve_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L69"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.resolve_template"·title="Link·to·this·definition">¶</a></dt>181 <span·class="sig-prename·descclassname"><span·class="pre">SimpleTemplateResponse.</span></span><span·class="sig-name·descname"><span·class="pre">resolve_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/response.py#L69"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.response.SimpleTemplateResponse.resolve_template"·title="Link·to·this·definition">¶</a></dt>
Max diff block lines reached; 17497/37261 bytes (46.96%) of diff not shown.
9.71 KB
html2text {}
Max HTML report size reached
94.9 KB
./usr/share/doc/python-django-doc/html/ref/templates/api.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·Django·template·language:·for·Python·programmers·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·Django·template·language:·for·Python·programmers·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="TemplateResponse·and·SimpleTemplateResponse"·href="../template-response.html"·/>15 ····<link·rel="next"·title="TemplateResponse·and·SimpleTemplateResponse"·href="../template-response.html"·/>
15 ····<link·rel="prev"·title="Built-in·template·tags·and·filters"·href="builtins.html"·/>16 ····<link·rel="prev"·title="Built-in·template·tags·and·filters"·href="builtins.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 115, 37 lines modifiedOffset 116, 37 lines modified
115 backend,·this·probably·isn’t·the·documentation·you’re·looking·for.·An·instance116 backend,·this·probably·isn’t·the·documentation·you’re·looking·for.·An·instance
116 of·the·<code·class="docutils·literal·notranslate"><span·class="pre">Engine</span></code>·class·described·below·is·accessible·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">engine</span></code>117 of·the·<code·class="docutils·literal·notranslate"><span·class="pre">Engine</span></code>·class·described·below·is·accessible·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">engine</span></code>
117 attribute·of·that·backend·and·any·attribute·defaults·mentioned·below·are118 attribute·of·that·backend·and·any·attribute·defaults·mentioned·below·are
118 overridden·by·what’s·passed·by119 overridden·by·what’s·passed·by
119 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>.</p>120 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>.</p>
120 <dl·class="py·class">121 <dl·class="py·class">
121 <dt·class="sig·sig-object·py"·id="django.template.Engine">122 <dt·class="sig·sig-object·py"·id="django.template.Engine">
122 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Engine</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">dirs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">app_dirs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">context_processors</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">debug</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">loaders</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">string_if_invalid</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">''</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">file_charset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'utf-8'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">libraries</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">builtins</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">autoescape</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L13"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.Engine"·title="Link·to·this·definition">¶</a></dt>123 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Engine</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">dirs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">app_dirs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">context_processors</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">debug</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">loaders</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">string_if_invalid</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">''</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">file_charset</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'utf-8'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">libraries</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">builtins</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">autoescape</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L13"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.Engine"·title="Link·to·this·definition">¶</a></dt>
123 <dd><p>When·instantiating·an·<code·class="docutils·literal·notranslate"><span·class="pre">Engine</span></code>·all·arguments·must·be·passed·as·keyword124 <dd><p>When·instantiating·an·<code·class="docutils·literal·notranslate"><span·class="pre">Engine</span></code>·all·arguments·must·be·passed·as·keyword
124 arguments:</p>125 arguments:</p>
125 <ul>126 <ul>
126 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">dirs</span></code>·is·a·list·of·directories·where·the·engine·should·look·for127 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">dirs</span></code>·is·a·list·of·directories·where·the·engine·should·look·for
127 template·source·files.·It·is·used·to·configure128 template·source·files.·It·is·used·to·configure
128 <a·class="reference·internal"·href="#django.template.loaders.filesystem.Loader"·title="django.template.loaders.filesystem.Loader"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">filesystem.Loader</span></code></a>.</p>129 <a·class="reference·internal"·href="#django.template.loaders.filesystem.Loader"·title="django.template.loaders.filesystem.Loader"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">filesystem.Loader</span></code></a>.</p>
129 <p>It·defaults·to·an·empty·list.</p>130 <p>It·defaults·to·an·empty·list.</p>
130 </li>131 </li>
131 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">app_dirs</span></code>·only·affects·the·default·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">loaders</span></code>.·See·below.</p>132 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">app_dirs</span></code>·only·affects·the·default·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">loaders</span></code>.·See·below.</p>
132 <p>It·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>133 <p>It·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
133 </li>134 </li>
134 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">autoescape</span></code>·controls·whether·HTML·autoescaping·is·enabled.</p>135 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">autoescape</span></code>·controls·whether·HTML·autoescaping·is·enabled.</p>
135 <p>It·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>136 <p>It·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>
136 <div·class="admonition·warning">137 <div·class="admonition·warning">
137 <p·class="admonition-title">Warning</p>138 <p·class="admonition-title">Hoiatus</p>
138 <p>Only·set·it·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·if·you’re·rendering·non-HTML·templates!</p>139 <p>Only·set·it·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·if·you’re·rendering·non-HTML·templates!</p>
139 </div>140 </div>
140 </li>141 </li>
141 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">context_processors</span></code>·is·a·list·of·dotted·Python·paths·to·callables142 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">context_processors</span></code>·is·a·list·of·dotted·Python·paths·to·callables
142 that·are·used·to·populate·the·context·when·a·template·is·rendered·with·a143 that·are·used·to·populate·the·context·when·a·template·is·rendered·with·a
143 request.·These·callables·take·a·request·object·as·their·argument·and144 request.·These·callables·take·a·request·object·as·their·argument·and
144 return·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of·items·to·be·merged·into·the·context.</p>145 return·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of·items·to·be·merged·into·the·context.</p>
145 <p>It·defaults·to·an·empty·list.</p>146 <p>It·defaults·to·an·empty·list.</p>
146 <p>See·<a·class="reference·internal"·href="#django.template.RequestContext"·title="django.template.RequestContext"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RequestContext</span></code></a>·for·more·information.</p>147 <p>See·<a·class="reference·internal"·href="#django.template.RequestContext"·title="django.template.RequestContext"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RequestContext</span></code></a>·for·more·information.</p>
147 </li>148 </li>
148 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">debug</span></code>·is·a·boolean·that·turns·on/off·template·debug·mode.·If·it·is149 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">debug</span></code>·is·a·boolean·that·turns·on/off·template·debug·mode.·If·it·is
149 <code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·the·template·engine·will·store·additional·debug·information150 <code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·the·template·engine·will·store·additional·debug·information
150 which·can·be·used·to·display·a·detailed·report·for·any·exception·raised151 which·can·be·used·to·display·a·detailed·report·for·any·exception·raised
151 during·template·rendering.</p>152 during·template·rendering.</p>
Offset 199, 39 lines modifiedOffset 200, 39 lines modified
199 the·<a·class="reference·internal"·href="builtins.html#std-templatetag-load"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">load</span>·<span·class="pre">%}</span></code></a>·tag.</p>200 the·<a·class="reference·internal"·href="builtins.html#std-templatetag-load"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">load</span>·<span·class="pre">%}</span></code></a>·tag.</p>
200 </li>201 </li>
201 </ul>202 </ul>
202 </dd></dl>203 </dd></dl>
  
203 <dl·class="py·method">204 <dl·class="py·method">
204 <dt·class="sig·sig-object·py"·id="django.template.Engine.get_default">205 <dt·class="sig·sig-object·py"·id="django.template.Engine.get_default">
205 <em·class="property"><span·class="pre">static</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">Engine.</span></span><span·class="sig-name·descname"><span·class="pre">get_default</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L89"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.Engine.get_default"·title="Link·to·this·definition">¶</a></dt>206 <em·class="property"><span·class="pre">static</span><span·class="w">·</span></em><span·class="sig-prename·descclassname"><span·class="pre">Engine.</span></span><span·class="sig-name·descname"><span·class="pre">get_default</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L89"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.Engine.get_default"·title="Link·to·this·definition">¶</a></dt>
206 <dd><p>Returns·the·underlying·<a·class="reference·internal"·href="#django.template.Engine"·title="django.template.Engine"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Engine</span></code></a>·from·the·first·configured207 <dd><p>Returns·the·underlying·<a·class="reference·internal"·href="#django.template.Engine"·title="django.template.Engine"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Engine</span></code></a>·from·the·first·configured
207 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>·engine.·Raises208 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>·engine.·Raises
208 <a·class="reference·internal"·href="../exceptions.html#django.core.exceptions.ImproperlyConfigured"·title="django.core.exceptions.ImproperlyConfigured"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ImproperlyConfigured</span></code></a>·if·no·engines·are209 <a·class="reference·internal"·href="../exceptions.html#django.core.exceptions.ImproperlyConfigured"·title="django.core.exceptions.ImproperlyConfigured"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ImproperlyConfigured</span></code></a>·if·no·engines·are
209 configured.</p>210 configured.</p>
210 <p>It’s·required·for·preserving·APIs·that·rely·on·a·globally·available,211 <p>It’s·required·for·preserving·APIs·that·rely·on·a·globally·available,
211 implicitly·configured·engine.·Any·other·use·is·strongly·discouraged.</p>212 implicitly·configured·engine.·Any·other·use·is·strongly·discouraged.</p>
212 </dd></dl>213 </dd></dl>
  
213 <dl·class="py·method">214 <dl·class="py·method">
214 <dt·class="sig·sig-object·py"·id="django.template.Engine.from_string">215 <dt·class="sig·sig-object·py"·id="django.template.Engine.from_string">
215 <span·class="sig-prename·descclassname"><span·class="pre">Engine.</span></span><span·class="sig-name·descname"><span·class="pre">from_string</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_code</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L165"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.Engine.from_string"·title="Link·to·this·definition">¶</a></dt>216 <span·class="sig-prename·descclassname"><span·class="pre">Engine.</span></span><span·class="sig-name·descname"><span·class="pre">from_string</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_code</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L165"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.Engine.from_string"·title="Link·to·this·definition">¶</a></dt>
216 <dd><p>Compiles·the·given·template·code·and·returns·a·<a·class="reference·internal"·href="#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>·object.</p>217 <dd><p>Compiles·the·given·template·code·and·returns·a·<a·class="reference·internal"·href="#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>·object.</p>
217 </dd></dl>218 </dd></dl>
  
218 <dl·class="py·method">219 <dl·class="py·method">
219 <dt·class="sig·sig-object·py"·id="django.template.Engine.get_template">220 <dt·class="sig·sig-object·py"·id="django.template.Engine.get_template">
220 <span·class="sig-prename·descclassname"><span·class="pre">Engine.</span></span><span·class="sig-name·descname"><span·class="pre">get_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L172"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.Engine.get_template"·title="Link·to·this·definition">¶</a></dt>221 <span·class="sig-prename·descclassname"><span·class="pre">Engine.</span></span><span·class="sig-name·descname"><span·class="pre">get_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L172"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.Engine.get_template"·title="Link·to·this·definition">¶</a></dt>
221 <dd><p>Loads·a·template·with·the·given·name,·compiles·it·and·returns·a222 <dd><p>Loads·a·template·with·the·given·name,·compiles·it·and·returns·a
222 <a·class="reference·internal"·href="#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>·object.</p>223 <a·class="reference·internal"·href="#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>·object.</p>
223 </dd></dl>224 </dd></dl>
  
224 <dl·class="py·method">225 <dl·class="py·method">
225 <dt·class="sig·sig-object·py"·id="django.template.Engine.select_template">226 <dt·class="sig·sig-object·py"·id="django.template.Engine.select_template">
226 <span·class="sig-prename·descclassname"><span·class="pre">Engine.</span></span><span·class="sig-name·descname"><span·class="pre">select_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name_list</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L199"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.Engine.select_template"·title="Link·to·this·definition">¶</a></dt>227 <span·class="sig-prename·descclassname"><span·class="pre">Engine.</span></span><span·class="sig-name·descname"><span·class="pre">select_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name_list</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/engine.py#L199"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.Engine.select_template"·title="Link·to·this·definition">¶</a></dt>
227 <dd><p>Like·<a·class="reference·internal"·href="#django.template.Engine.get_template"·title="django.template.Engine.get_template"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_template()</span></code></a>,·except·it·takes·a·list·of·names228 <dd><p>Like·<a·class="reference·internal"·href="#django.template.Engine.get_template"·title="django.template.Engine.get_template"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_template()</span></code></a>,·except·it·takes·a·list·of·names
228 and·returns·the·first·template·that·was·found.</p>229 and·returns·the·first·template·that·was·found.</p>
229 </dd></dl>230 </dd></dl>
  
230 </section>231 </section>
231 <section·id="s-loading-a-template">232 <section·id="s-loading-a-template">
232 <span·id="loading-a-template"></span><h2>Loading·a·template<a·class="headerlink"·href="#loading-a-template"·title="Link·to·this·heading">¶</a></h2>233 <span·id="loading-a-template"></span><h2>Loading·a·template<a·class="headerlink"·href="#loading-a-template"·title="Link·to·this·heading">¶</a></h2>
Offset 241, 15 lines modifiedOffset 242, 15 lines modified
241 <p>In·a·Django·project·where·the·<a·class="reference·internal"·href="../settings.html#std-setting-TEMPLATES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEMPLATES</span></code></a>·setting·defines·a242 <p>In·a·Django·project·where·the·<a·class="reference·internal"·href="../settings.html#std-setting-TEMPLATES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEMPLATES</span></code></a>·setting·defines·a
242 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>·engine,·it’s243 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>·engine,·it’s
243 possible·to·instantiate·a·<a·class="reference·internal"·href="#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>·directly.·If·more·than·one244 possible·to·instantiate·a·<a·class="reference·internal"·href="#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>·directly.·If·more·than·one
244 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>·engine·is·defined,245 <a·class="reference·internal"·href="../../topics/templates.html#django.template.backends.django.DjangoTemplates"·title="django.template.backends.django.DjangoTemplates"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code></a>·engine·is·defined,
245 the·first·one·will·be·used.</p>246 the·first·one·will·be·used.</p>
246 <dl·class="py·class">247 <dl·class="py·class">
247 <dt·class="sig·sig-object·py"·id="django.template.Template">248 <dt·class="sig·sig-object·py"·id="django.template.Template">
248 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Template</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/base.py#L138"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.Template"·title="Link·to·this·definition">¶</a></dt>249 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Template</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/base.py#L138"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.Template"·title="Link·to·this·definition">¶</a></dt>
249 <dd><p>This·class·lives·at·<code·class="docutils·literal·notranslate"><span·class="pre">django.template.Template</span></code>.·The·constructor·takes250 <dd><p>This·class·lives·at·<code·class="docutils·literal·notranslate"><span·class="pre">django.template.Template</span></code>.·The·constructor·takes
Max diff block lines reached; 49813/70346 bytes (70.81%) of diff not shown.
26.1 KB
html2text {}
Max HTML report size reached
118 KB
./usr/share/doc/python-django-doc/html/ref/templates/builtins.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Built-in·template·tags·and·filters·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Built-in·template·tags·and·filters·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·Django·template·language:·for·Python·programmers"·href="api.html"·/>15 ····<link·rel="next"·title="The·Django·template·language:·for·Python·programmers"·href="api.html"·/>
15 ····<link·rel="prev"·title="The·Django·template·language"·href="language.html"·/>16 ····<link·rel="prev"·title="The·Django·template·language"·href="language.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 18 lines modifiedOffset 96, 18 lines modified
95 <span·class="cp">{%</span>·<span·class="k">endautoescape</span>·<span·class="cp">%}</span>96 <span·class="cp">{%</span>·<span·class="k">endautoescape</span>·<span·class="cp">%}</span>
96 </pre></div>97 </pre></div>
97 </div>98 </div>
98 <p>When·auto-escaping·is·in·effect,·all·content·derived·from·variables·has·HTML99 <p>When·auto-escaping·is·in·effect,·all·content·derived·from·variables·has·HTML
99 escaping·applied·before·placing·the·result·into·the·output·(but·after·any100 escaping·applied·before·placing·the·result·into·the·output·(but·after·any
100 filters·are·applied).·This·is·equivalent·to·manually·applying·the101 filters·are·applied).·This·is·equivalent·to·manually·applying·the
101 <a·class="reference·internal"·href="#std-templatefilter-escape"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">escape</span></code></a>·filter·to·each·variable.</p>102 <a·class="reference·internal"·href="#std-templatefilter-escape"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">escape</span></code></a>·filter·to·each·variable.</p>
102 <p>The·only·exceptions·are·variables·already·marked·as·safe·from·escaping.103 <p>The·only·exceptions·are·variables·already·marked·as·safe·from·escaping.
103 Variables·could·be·marked·as·safe·by·the·code·which·populated·the·variable,104 Variables·could·be·marked·as·safe·by·the·code·which·populated·the·variable,
104 by·applying·the·<a·class="reference·internal"·href="#std-templatefilter-safe"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">safe</span></code></a>·or·<a·class="reference·internal"·href="#std-templatefilter-escape"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">escape</span></code></a>·filters,·or·because·it’s105 by·applying·the·<a·class="reference·internal"·href="#std-templatefilter-safe"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">safe</span></code></a>·or·<a·class="reference·internal"·href="#std-templatefilter-escape"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">escape</span></code></a>·filters,·or·because·it’s
105 the·result·of·a·previous·filter·that·marked·the·string·as·safe.</p>106 the·result·of·a·previous·filter·that·marked·the·string·as·safe.</p>
106 <p>Within·the·scope·of·disabled·auto-escaping,·chaining·filters,·including107 <p>Within·the·scope·of·disabled·auto-escaping,·chaining·filters,·including
107 <a·class="reference·internal"·href="#std-templatefilter-escape"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">escape</span></code></a>,·may·cause·unexpected·(but·documented)·results·such·as·the108 <a·class="reference·internal"·href="#std-templatefilter-escape"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">escape</span></code></a>,·may·cause·unexpected·(but·documented)·results·such·as·the
108 following:</p>109 following:</p>
109 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">autoescape</span>·<span·class="nv">off</span>·<span·class="cp">%}</span>110 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">autoescape</span>·<span·class="nv">off</span>·<span·class="cp">%}</span>
110 ····<span·class="cp">{{</span>·<span·class="nv">my_list</span><span·class="o">|</span><span·class="nf">join</span><span·class="s2">:&quot;,·&quot;</span><span·class="o">|</span><span·class="nf">escape</span>·<span·class="cp">}}</span>111 ····<span·class="cp">{{</span>·<span·class="nv">my_list</span><span·class="o">|</span><span·class="nf">join</span><span·class="s2">:&quot;,·&quot;</span><span·class="o">|</span><span·class="nf">escape</span>·<span·class="cp">}}</span>
111 <span·class="cp">{%</span>·<span·class="k">endautoescape</span>·<span·class="cp">%}</span>112 <span·class="cp">{%</span>·<span·class="k">endautoescape</span>·<span·class="cp">%}</span>
112 </pre></div>113 </pre></div>
Offset 191, 15 lines modifiedOffset 192, 15 lines modified
191 ········...192 ········...
192 ····<span·class="p">&lt;/</span><span·class="nt">tr</span><span·class="p">&gt;</span>193 ····<span·class="p">&lt;/</span><span·class="nt">tr</span><span·class="p">&gt;</span>
193 <span·class="cp">{%</span>·<span·class="k">endfor</span>·<span·class="cp">%}</span>194 <span·class="cp">{%</span>·<span·class="k">endfor</span>·<span·class="cp">%}</span>
194 </pre></div>195 </pre></div>
195 </div>196 </div>
196 <p>In·some·cases·you·might·want·to·refer·to·the·current·value·of·a·cycle197 <p>In·some·cases·you·might·want·to·refer·to·the·current·value·of·a·cycle
197 without·advancing·to·the·next·value.·To·do·this,198 without·advancing·to·the·next·value.·To·do·this,
198 give·the·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">cycle</span>·<span·class="pre">%}</span></code>·tag·a·name,·using·as,·like·this:</p>199 give·the·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">cycle</span>·<span·class="pre">%}</span></code>·tag·a·name,·using·as,·like·this:</p>
199 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">cycle</span>·<span·class="s1">&#39;row1&#39;</span>·<span·class="s1">&#39;row2&#39;</span>·<span·class="k">as</span>·<span·class="nv">rowcolors</span>·<span·class="cp">%}</span>200 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">cycle</span>·<span·class="s1">&#39;row1&#39;</span>·<span·class="s1">&#39;row2&#39;</span>·<span·class="k">as</span>·<span·class="nv">rowcolors</span>·<span·class="cp">%}</span>
200 </pre></div>201 </pre></div>
201 </div>202 </div>
202 <p>From·then·on,·you·can·insert·the·current·value·of·the·cycle·wherever·you’d·like203 <p>From·then·on,·you·can·insert·the·current·value·of·the·cycle·wherever·you’d·like
203 in·your·template·by·referencing·the·cycle·name·as·a·context·variable.·If·you204 in·your·template·by·referencing·the·cycle·name·as·a·context·variable.·If·you
204 want·to·move·the·cycle·to·the·next·value·independently·of·the·original205 want·to·move·the·cycle·to·the·next·value·independently·of·the·original
205 <code·class="docutils·literal·notranslate"><span·class="pre">cycle</span></code>·tag,·you·can·use·another·<code·class="docutils·literal·notranslate"><span·class="pre">cycle</span></code>·tag·and·specify·the·name·of·the206 <code·class="docutils·literal·notranslate"><span·class="pre">cycle</span></code>·tag,·you·can·use·another·<code·class="docutils·literal·notranslate"><span·class="pre">cycle</span></code>·tag·and·specify·the·name·of·the
Offset 305, 25 lines modifiedOffset 306, 25 lines modified
305 <p>Sample·usage:</p>306 <p>Sample·usage:</p>
306 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">filter</span>·<span·class="nf">force_escape</span><span·class="o">|</span><span·class="nf">lower</span>·<span·class="cp">%}</span>307 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">filter</span>·<span·class="nf">force_escape</span><span·class="o">|</span><span·class="nf">lower</span>·<span·class="cp">%}</span>
307 ····This·text·will·be·HTML-escaped,·and·will·appear·in·all·lowercase.308 ····This·text·will·be·HTML-escaped,·and·will·appear·in·all·lowercase.
308 <span·class="cp">{%</span>·<span·class="k">endfilter</span>·<span·class="cp">%}</span>309 <span·class="cp">{%</span>·<span·class="k">endfilter</span>·<span·class="cp">%}</span>
309 </pre></div>310 </pre></div>
310 </div>311 </div>
311 <div·class="admonition·note">312 <div·class="admonition·note">
312 <p·class="admonition-title">Note</p>313 <p·class="admonition-title">rkus</p>
313 <p>The·<a·class="reference·internal"·href="#std-templatefilter-escape"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">escape</span></code></a>·and·<a·class="reference·internal"·href="#std-templatefilter-safe"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">safe</span></code></a>·filters·are·not·acceptable314 <p>The·<a·class="reference·internal"·href="#std-templatefilter-escape"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">escape</span></code></a>·and·<a·class="reference·internal"·href="#std-templatefilter-safe"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">safe</span></code></a>·filters·are·not·acceptable
314 arguments.·Instead,·use·the·<a·class="reference·internal"·href="#std-templatetag-autoescape"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">autoescape</span></code></a>·tag·to·manage·autoescaping315 arguments.·Instead,·use·the·<a·class="reference·internal"·href="#std-templatetag-autoescape"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">autoescape</span></code></a>·tag·to·manage·autoescaping
315 for·blocks·of·template·code.</p>316 for·blocks·of·template·code.</p>
316 </div>317 </div>
317 </section>318 </section>
318 <section·id="s-firstof">319 <section·id="s-firstof">
319 <span·id="s-std-templatetag-firstof"></span><span·id="firstof"></span><span·id="std-templatetag-firstof"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">firstof</span></code><a·class="headerlink"·href="#firstof"·title="Link·to·this·heading">¶</a></h3>320 <span·id="s-std-templatetag-firstof"></span><span·id="firstof"></span><span·id="std-templatetag-firstof"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">firstof</span></code><a·class="headerlink"·href="#firstof"·title="Link·to·this·heading">¶</a></h3>
320 <p>Outputs·the·first·argument·variable·that·is·not·false·(i.e.·exists,·is·not321 <p>Outputs·the·first·argument·variable·that·is·not·false·(i.e.·exists,·is·not
321 empty,·is·not·a·false·boolean·value,·and·is·not·a·zero·numeric·value).·Outputs322 empty,·is·not·a·false·boolean·value,·and·is·not·a·zero·numeric·value).·Outputs
322 nothing·if·all·the·passed·variables·are·false.</p>323 nothing·if·all·the·passed·variables·are·false.</p>
323 <p>Sample·usage:</p>324 <p>Sample·usage:</p>
324 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">firstof</span>·<span·class="nv">var1</span>·<span·class="nv">var2</span>·<span·class="nv">var3</span>·<span·class="cp">%}</span>325 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">firstof</span>·<span·class="nv">var1</span>·<span·class="nv">var2</span>·<span·class="nv">var3</span>·<span·class="cp">%}</span>
325 </pre></div>326 </pre></div>
326 </div>327 </div>
327 <p>This·is·equivalent·to:</p>328 <p>This·is·equivalent·to:</p>
328 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">var1</span>·<span·class="cp">%}</span>329 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">var1</span>·<span·class="cp">%}</span>
329 ····<span·class="cp">{{</span>·<span·class="nv">var1</span>·<span·class="cp">}}</span>330 ····<span·class="cp">{{</span>·<span·class="nv">var1</span>·<span·class="cp">}}</span>
Offset 450, 15 lines modifiedOffset 451, 15 lines modified
450 ··<span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span>451 ··<span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span>
451 <span·class="p">&lt;/</span><span·class="nt">ul</span><span·class="p">&gt;</span>452 <span·class="p">&lt;/</span><span·class="nt">ul</span><span·class="p">&gt;</span>
452 </pre></div>453 </pre></div>
453 </div>454 </div>
454 </section>455 </section>
455 <section·id="s-if">456 <section·id="s-if">
456 <span·id="s-std-templatetag-if"></span><span·id="if"></span><span·id="std-templatetag-if"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">if</span></code><a·class="headerlink"·href="#if"·title="Link·to·this·heading">¶</a></h3>457 <span·id="s-std-templatetag-if"></span><span·id="if"></span><span·id="std-templatetag-if"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">if</span></code><a·class="headerlink"·href="#if"·title="Link·to·this·heading">¶</a></h3>
457 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">if</span>·<span·class="pre">%}</span></code>·tag·evaluates·a·variable,·and·if·that·variable·is·true·(i.e.458 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">if</span>·<span·class="pre">%}</span></code>·tag·evaluates·a·variable,·and·if·that·variable·is·true·(i.e.
458 exists,·is·not·empty,·and·is·not·a·false·boolean·value)·the·contents·of·the459 exists,·is·not·empty,·and·is·not·a·false·boolean·value)·the·contents·of·the
459 block·are·output:</p>460 block·are·output:</p>
460 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">athlete_list</span>·<span·class="cp">%}</span>461 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">athlete_list</span>·<span·class="cp">%}</span>
461 ····Number·of·athletes:·<span·class="cp">{{</span>·<span·class="nv">athlete_list</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="cp">}}</span>462 ····Number·of·athletes:·<span·class="cp">{{</span>·<span·class="nv">athlete_list</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="cp">}}</span>
462 <span·class="cp">{%</span>·<span·class="k">elif</span>·<span·class="nv">athlete_in_locker_room_list</span>·<span·class="cp">%}</span>463 <span·class="cp">{%</span>·<span·class="k">elif</span>·<span·class="nv">athlete_in_locker_room_list</span>·<span·class="cp">%}</span>
463 ····Athletes·should·be·out·of·the·locker·room·soon!464 ····Athletes·should·be·out·of·the·locker·room·soon!
464 <span·class="cp">{%</span>·<span·class="k">else</span>·<span·class="cp">%}</span>465 <span·class="cp">{%</span>·<span·class="k">else</span>·<span·class="cp">%}</span>
Offset 650, 15 lines modifiedOffset 651, 15 lines modified
650 <p>…will·be·interpreted·as:</p>651 <p>…will·be·interpreted·as:</p>
651 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="p">(</span><span·class="n">a</span>·<span·class="o">==</span>·<span·class="n">b</span><span·class="p">)</span>·<span·class="ow">or</span>·<span·class="p">((</span><span·class="n">c</span>·<span·class="o">==</span>·<span·class="n">d</span><span·class="p">)</span>·<span·class="ow">and</span>·<span·class="n">e</span><span·class="p">)</span>652 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="p">(</span><span·class="n">a</span>·<span·class="o">==</span>·<span·class="n">b</span><span·class="p">)</span>·<span·class="ow">or</span>·<span·class="p">((</span><span·class="n">c</span>·<span·class="o">==</span>·<span·class="n">d</span><span·class="p">)</span>·<span·class="ow">and</span>·<span·class="n">e</span><span·class="p">)</span>
652 </pre></div>653 </pre></div>
653 </div>654 </div>
654 <p>If·you·need·different·precedence,·you·will·need·to·use·nested·<a·class="reference·internal"·href="#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">if</span></code></a>·tags.655 <p>If·you·need·different·precedence,·you·will·need·to·use·nested·<a·class="reference·internal"·href="#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">if</span></code></a>·tags.
655 Sometimes·that·is·better·for·clarity·anyway,·for·the·sake·of·those·who·do·not656 Sometimes·that·is·better·for·clarity·anyway,·for·the·sake·of·those·who·do·not
656 know·the·precedence·rules.</p>657 know·the·precedence·rules.</p>
657 <p>The·comparison·operators·cannot·be·chained·like·in·Python·or·in·mathematical658 <p>The·comparison·operators·cannot·be·chained·like·in·Python·or·in·mathematical
658 notation.·For·example,·instead·of·using:</p>659 notation.·For·example,·instead·of·using:</p>
659 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">a</span>·<span·class="o">&gt;</span>·<span·class="nv">b</span>·<span·class="o">&gt;</span>·<span·class="nv">c</span>·<span·class="cp">%}</span>··(WRONG)660 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">a</span>·<span·class="o">&gt;</span>·<span·class="nv">b</span>·<span·class="o">&gt;</span>·<span·class="nv">c</span>·<span·class="cp">%}</span>··(WRONG)
Max diff block lines reached; 71179/82772 bytes (85.99%) of diff not shown.
37.0 KB
html2text {}
Max HTML report size reached
7.05 KB
./usr/share/doc/python-django-doc/html/ref/templates/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Templates·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Templates·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="The·Django·template·language"·href="language.html"·/>15 ····<link·rel="next"·title="The·Django·template·language"·href="language.html"·/>
15 ····<link·rel="prev"·title="Signals"·href="../signals.html"·/>16 ····<link·rel="prev"·title="Signals"·href="../signals.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 115, 15 lines modifiedOffset 116, 15 lines modified
115 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#custom-loaders">Custom·loaders</a></li>116 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#custom-loaders">Custom·loaders</a></li>
116 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#template-origin">Template·origin</a></li>117 <li·class="toctree-l2"><a·class="reference·internal"·href="api.html#template-origin">Template·origin</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
120 </div>121 </div>
121 <div·class="admonition·seealso">122 <div·class="admonition·seealso">
122 <p·class="admonition-title">See·also</p>123 <p·class="admonition-title">Vaata·ka</p>
123 <p>For·information·on·writing·your·own·custom·tags·and·filters,·see124 <p>For·information·on·writing·your·own·custom·tags·and·filters,·see
124 <a·class="reference·internal"·href="../../howto/custom-template-tags.html"><span·class="doc">How·to·create·custom·template·tags·and·filters</span></a>.</p>125 <a·class="reference·internal"·href="../../howto/custom-template-tags.html"><span·class="doc">How·to·create·custom·template·tags·and·filters</span></a>.</p>
125 <p>To·learn·how·to·override·templates·in·other·Django·applications,·see126 <p>To·learn·how·to·override·templates·in·other·Django·applications,·see
126 <a·class="reference·internal"·href="../../howto/overriding-templates.html"><span·class="doc">How·to·override·templates</span></a>.</p>127 <a·class="reference·internal"·href="../../howto/overriding-templates.html"><span·class="doc">How·to·override·templates</span></a>.</p>
127 </div>128 </div>
128 </section>129 </section>
  
Offset 134, 37 lines modifiedOffset 135, 37 lines modified
134 ······135 ······
135 ········136 ········
136 ··········<div·class="yui-b"·id="sidebar">137 ··········<div·class="yui-b"·id="sidebar">
137 ············138 ············
138 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">139 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
139 ········<div·class="sphinxsidebarwrapper">140 ········<div·class="sphinxsidebarwrapper">
140 ··<div>141 ··<div>
141 ····<h4>Previous·topic</h4>142 ····<h4>Eelmine·teema</h4>
142 ····<p·class="topless"><a·href="../signals.html"143 ····<p·class="topless"><a·href="../signals.html"
143 ··························title="previous·chapter">Signals</a></p>144 ··························title="eelmine·jaotis">Signals</a></p>
144 ··</div>145 ··</div>
145 ··<div>146 ··<div>
146 ····<h4>Next·topic</h4>147 ····<h4>Järgmine·teema</h4>
147 ····<p·class="topless"><a·href="language.html"148 ····<p·class="topless"><a·href="language.html"
148 ··························title="next·chapter">The·Django·template·language</a></p>149 ··························title="järgmine·jaotis">The·Django·template·language</a></p>
149 ··</div>150 ··</div>
150 <search·id="searchbox"·style="display:·none"·role="search">151 <search·id="searchbox"·style="display:·none"·role="search">
151 ··<h3·id="searchlabel">Quick·search</h3>152 ··<h3·id="searchlabel">Kiirotsing</h3>
152 ····<div·class="searchformwrapper">153 ····<div·class="searchformwrapper">
153 ····<form·class="search"·action="../../search.html"·method="get">154 ····<form·class="search"·action="../../search.html"·method="get">
154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>155 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
155 ······<input·type="submit"·value="Go"·/>156 ······<input·type="submit"·value="Otsi"·/>
156 ····</form>157 ····</form>
157 ····</div>158 ····</div>
158 </search>159 </search>
159 <script>document.getElementById('searchbox').style.display·=·"block"</script>160 <script>document.getElementById('searchbox').style.display·=·"block"</script>
160 ········</div>161 ········</div>
161 ······</div>162 ······</div>
162 ··············<h3>Last·update:</h3>163 ··············<h3>Last·update:</h3>
163 ··············<p·class="topless">Nov·05,·2024</p>164 ··············<p·class="topless">nov·05,·2024</p>
164 ··········</div>165 ··········</div>
165 ········166 ········
166 ······167 ······
167 ····</div>168 ····</div>
  
168 ····<div·id="ft">169 ····<div·id="ft">
169 ······<div·class="nav">170 ······<div·class="nav">
2.42 KB
html2text {}
Max HTML report size reached
47.0 KB
./usr/share/doc/python-django-doc/html/ref/templates/language.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>The·Django·template·language·&#8212;·Django·5.1.3·documentation</title>6 ····<title>The·Django·template·language·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Built-in·template·tags·and·filters"·href="builtins.html"·/>15 ····<link·rel="next"·title="Built-in·template·tags·and·filters"·href="builtins.html"·/>
15 ····<link·rel="prev"·title="Templates"·href="index.html"·/>16 ····<link·rel="prev"·title="Templates"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 168, 27 lines modifiedOffset 169, 27 lines modified
168 case,·consider·converting·to·a·dictionary·first.</p>169 case,·consider·converting·to·a·dictionary·first.</p>
169 </div>170 </div>
170 <p>In·the·above·example,·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">section.title</span>·<span·class="pre">}}</span></code>·will·be·replaced·with·the171 <p>In·the·above·example,·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">section.title</span>·<span·class="pre">}}</span></code>·will·be·replaced·with·the
171 <code·class="docutils·literal·notranslate"><span·class="pre">title</span></code>·attribute·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">section</span></code>·object.</p>172 <code·class="docutils·literal·notranslate"><span·class="pre">title</span></code>·attribute·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">section</span></code>·object.</p>
172 <p>If·you·use·a·variable·that·doesn’t·exist,·the·template·system·will·insert·the173 <p>If·you·use·a·variable·that·doesn’t·exist,·the·template·system·will·insert·the
173 value·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">string_if_invalid</span></code>·option,·which·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">''</span></code>·(the·empty174 value·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">string_if_invalid</span></code>·option,·which·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">''</span></code>·(the·empty
174 string)·by·default.</p>175 string)·by·default.</p>
175 <p>Note·that·bar·in·a·template·expression·like·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">foo.bar</span>·<span·class="pre">}}</span></code>·will·be176 <p>Note·that·bar·in·a·template·expression·like·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">foo.bar</span>·<span·class="pre">}}</span></code>·will·be
176 interpreted·as·a·literal·string·and·not·using·the·value·of·the·variable·bar,177 interpreted·as·a·literal·string·and·not·using·the·value·of·the·variable·bar,
177 if·one·exists·in·the·template·context.</p>178 if·one·exists·in·the·template·context.</p>
178 <p>Variable·attributes·that·begin·with·an·underscore·may·not·be·accessed·as179 <p>Variable·attributes·that·begin·with·an·underscore·may·not·be·accessed·as
179 they’re·generally·considered·private.</p>180 they’re·generally·considered·private.</p>
180 </section>181 </section>
181 <section·id="s-filters">182 <section·id="s-filters">
182 <span·id="filters"></span><h2>Filters<a·class="headerlink"·href="#filters"·title="Link·to·this·heading">¶</a></h2>183 <span·id="filters"></span><h2>Filters<a·class="headerlink"·href="#filters"·title="Link·to·this·heading">¶</a></h2>
183 <p>You·can·modify·variables·for·display·by·using·<strong>filters</strong>.</p>184 <p>You·can·modify·variables·for·display·by·using·<strong>filters</strong>.</p>
184 <p>Filters·look·like·this:·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">name|lower</span>·<span·class="pre">}}</span></code>.·This·displays·the·value·of·the185 <p>Filters·look·like·this:·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">name|lower</span>·<span·class="pre">}}</span></code>.·This·displays·the·value·of·the
185 <code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">name</span>·<span·class="pre">}}</span></code>·variable·after·being·filtered·through·the·<a·class="reference·internal"·href="builtins.html#std-templatefilter-lower"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">lower</span></code></a>186 <code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">name</span>·<span·class="pre">}}</span></code>·variable·after·being·filtered·through·the·<a·class="reference·internal"·href="builtins.html#std-templatefilter-lower"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">lower</span></code></a>
186 filter,·which·converts·text·to·lowercase.·Use·a·pipe·(<code·class="docutils·literal·notranslate"><span·class="pre">|</span></code>)·to·apply·a·filter.</p>187 filter,·which·converts·text·to·lowercase.·Use·a·pipe·(<code·class="docutils·literal·notranslate"><span·class="pre">|</span></code>)·to·apply·a·filter.</p>
187 <p>Filters·can·be·chained.·The·output·of·one·filter·is·applied·to·the·next.188 <p>Filters·can·be·chained.·The·output·of·one·filter·is·applied·to·the·next.
188 <code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">text|escape|linebreaks</span>·<span·class="pre">}}</span></code>·is·a·common·idiom·for·escaping·text·contents,189 <code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">text|escape|linebreaks</span>·<span·class="pre">}}</span></code>·is·a·common·idiom·for·escaping·text·contents,
189 then·converting·line·breaks·to·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;p&gt;</span></code>·tags.</p>190 then·converting·line·breaks·to·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;p&gt;</span></code>·tags.</p>
190 <p>Some·filters·take·arguments.·A·filter·argument·looks·like·this:·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>191 <p>Some·filters·take·arguments.·A·filter·argument·looks·like·this:·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>
191 <span·class="pre">bio|truncatewords:30</span>·<span·class="pre">}}</span></code>.·This·will·display·the·first·30·words·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">bio</span></code>192 <span·class="pre">bio|truncatewords:30</span>·<span·class="pre">}}</span></code>.·This·will·display·the·first·30·words·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">bio</span></code>
192 variable.</p>193 variable.</p>
193 <p>Filter·arguments·that·contain·spaces·must·be·quoted;·for·example,·to·join·a194 <p>Filter·arguments·that·contain·spaces·must·be·quoted;·for·example,·to·join·a
194 list·with·commas·and·spaces·you’d·use·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">list|join:&quot;,</span>·<span·class="pre">&quot;</span>·<span·class="pre">}}</span></code>.</p>195 list·with·commas·and·spaces·you’d·use·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">list|join:&quot;,</span>·<span·class="pre">&quot;</span>·<span·class="pre">}}</span></code>.</p>
Offset 199, 36 lines modifiedOffset 200, 36 lines modified
199 <dl>200 <dl>
200 <dt><a·class="reference·internal"·href="builtins.html#std-templatefilter-default"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">default</span></code></a></dt><dd><p>If·a·variable·is·false·or·empty,·use·given·default.·Otherwise,·use·the201 <dt><a·class="reference·internal"·href="builtins.html#std-templatefilter-default"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">default</span></code></a></dt><dd><p>If·a·variable·is·false·or·empty,·use·given·default.·Otherwise,·use·the
201 value·of·the·variable.·For·example:</p>202 value·of·the·variable.·For·example:</p>
202 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{{</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">default</span><span·class="s2">:&quot;nothing&quot;</span>·<span·class="cp">}}</span>203 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{{</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">default</span><span·class="s2">:&quot;nothing&quot;</span>·<span·class="cp">}}</span>
203 </pre></div>204 </pre></div>
204 </div>205 </div>
205 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·isn’t·provided·or·is·empty,·the·above·will·display206 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·isn’t·provided·or·is·empty,·the·above·will·display
206 <code·class="docutils·literal·notranslate"><span·class="pre">nothing</span></code>.</p>207 <code·class="docutils·literal·notranslate"><span·class="pre">nothing</span></code>.</p>
207 </dd>208 </dd>
208 <dt><a·class="reference·internal"·href="builtins.html#std-templatefilter-length"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">length</span></code></a></dt><dd><p>Returns·the·length·of·the·value.·This·works·for·both·strings·and·lists.209 <dt><a·class="reference·internal"·href="builtins.html#std-templatefilter-length"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">length</span></code></a></dt><dd><p>Returns·the·length·of·the·value.·This·works·for·both·strings·and·lists.
209 For·example:</p>210 For·example:</p>
210 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{{</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="cp">}}</span>211 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{{</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="cp">}}</span>
211 </pre></div>212 </pre></div>
212 </div>213 </div>
213 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">['a',</span>·<span·class="pre">'b',</span>·<span·class="pre">'c',</span>·<span·class="pre">'d']</span></code>,·the·output·will·be·<code·class="docutils·literal·notranslate"><span·class="pre">4</span></code>.</p>214 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">['a',</span>·<span·class="pre">'b',</span>·<span·class="pre">'c',</span>·<span·class="pre">'d']</span></code>,·the·output·will·be·<code·class="docutils·literal·notranslate"><span·class="pre">4</span></code>.</p>
214 </dd>215 </dd>
215 <dt><a·class="reference·internal"·href="builtins.html#std-templatefilter-filesizeformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">filesizeformat</span></code></a></dt><dd><p>Formats·the·value·like·a·human-readable·file·size·(i.e.·<code·class="docutils·literal·notranslate"><span·class="pre">'13</span>·<span·class="pre">KB'</span></code>,216 <dt><a·class="reference·internal"·href="builtins.html#std-templatefilter-filesizeformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">filesizeformat</span></code></a></dt><dd><p>Formats·the·value·like·a·human-readable·file·size·(i.e.·<code·class="docutils·literal·notranslate"><span·class="pre">'13</span>·<span·class="pre">KB'</span></code>,
216 <code·class="docutils·literal·notranslate"><span·class="pre">'4.1</span>·<span·class="pre">MB'</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">'102</span>·<span·class="pre">bytes'</span></code>,·etc.).·For·example:</p>217 <code·class="docutils·literal·notranslate"><span·class="pre">'4.1</span>·<span·class="pre">MB'</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">'102</span>·<span·class="pre">bytes'</span></code>,·etc.).·For·example:</p>
217 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{{</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">filesizeformat</span>·<span·class="cp">}}</span>218 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{{</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">filesizeformat</span>·<span·class="cp">}}</span>
218 </pre></div>219 </pre></div>
219 </div>220 </div>
220 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·is·123456789,·the·output·would·be·<code·class="docutils·literal·notranslate"><span·class="pre">117.7</span>·<span·class="pre">MB</span></code>.</p>221 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·is·123456789,·the·output·would·be·<code·class="docutils·literal·notranslate"><span·class="pre">117.7</span>·<span·class="pre">MB</span></code>.</p>
221 </dd>222 </dd>
222 </dl>223 </dl>
223 <p>Again,·these·are·just·a·few·examples;·see·the·<a·class="reference·internal"·href="builtins.html#ref-templates-builtins-filters"><span·class="std·std-ref">built-in·filter·reference</span></a>·for·the·complete·list.</p>224 <p>Again,·these·are·just·a·few·examples;·see·the·<a·class="reference·internal"·href="builtins.html#ref-templates-builtins-filters"><span·class="std·std-ref">built-in·filter·reference</span></a>·for·the·complete·list.</p>
224 <p>You·can·also·create·your·own·custom·template·filters;·see225 <p>You·can·also·create·your·own·custom·template·filters;·see
225 <a·class="reference·internal"·href="../../howto/custom-template-tags.html"><span·class="doc">How·to·create·custom·template·tags·and·filters</span></a>.</p>226 <a·class="reference·internal"·href="../../howto/custom-template-tags.html"><span·class="doc">How·to·create·custom·template·tags·and·filters</span></a>.</p>
226 <div·class="admonition·seealso">227 <div·class="admonition·seealso">
227 <p·class="admonition-title">See·also</p>228 <p·class="admonition-title">Vaata·ka</p>
228 <p>Django’s·admin·interface·can·include·a·complete·reference·of·all·template229 <p>Django’s·admin·interface·can·include·a·complete·reference·of·all·template
229 tags·and·filters·available·for·a·given·site.·See230 tags·and·filters·available·for·a·given·site.·See
230 <a·class="reference·internal"·href="../contrib/admin/admindocs.html"><span·class="doc">The·Django·admin·documentation·generator</span></a>.</p>231 <a·class="reference·internal"·href="../contrib/admin/admindocs.html"><span·class="doc">The·Django·admin·documentation·generator</span></a>.</p>
231 </div>232 </div>
232 </section>233 </section>
233 <section·id="s-tags">234 <section·id="s-tags">
234 <span·id="tags"></span><h2>Tags<a·class="headerlink"·href="#tags"·title="Link·to·this·heading">¶</a></h2>235 <span·id="tags"></span><h2>Tags<a·class="headerlink"·href="#tags"·title="Link·to·this·heading">¶</a></h2>
Offset 248, 52 lines modifiedOffset 249, 52 lines modified
248 <span·class="cp">{%</span>·<span·class="k">for</span>·<span·class="nv">athlete</span>·<span·class="k">in</span>·<span·class="nv">athlete_list</span>·<span·class="cp">%}</span>249 <span·class="cp">{%</span>·<span·class="k">for</span>·<span·class="nv">athlete</span>·<span·class="k">in</span>·<span·class="nv">athlete_list</span>·<span·class="cp">%}</span>
249 ····<span·class="p">&lt;</span><span·class="nt">li</span><span·class="p">&gt;</span><span·class="cp">{{</span>·<span·class="nv">athlete.name</span>·<span·class="cp">}}</span><span·class="p">&lt;/</span><span·class="nt">li</span><span·class="p">&gt;</span>250 ····<span·class="p">&lt;</span><span·class="nt">li</span><span·class="p">&gt;</span><span·class="cp">{{</span>·<span·class="nv">athlete.name</span>·<span·class="cp">}}</span><span·class="p">&lt;/</span><span·class="nt">li</span><span·class="p">&gt;</span>
250 <span·class="cp">{%</span>·<span·class="k">endfor</span>·<span·class="cp">%}</span>251 <span·class="cp">{%</span>·<span·class="k">endfor</span>·<span·class="cp">%}</span>
251 <span·class="p">&lt;/</span><span·class="nt">ul</span><span·class="p">&gt;</span>252 <span·class="p">&lt;/</span><span·class="nt">ul</span><span·class="p">&gt;</span>
252 </pre></div>253 </pre></div>
253 </div>254 </div>
254 </dd>255 </dd>
255 <dt><a·class="reference·internal"·href="builtins.html#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">if</span></code></a>,·<code·class="docutils·literal·notranslate"><span·class="pre">elif</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">else</span></code></dt><dd><p>Evaluates·a·variable,·and·if·that·variable·is·true·the·contents·of·the256 <dt><a·class="reference·internal"·href="builtins.html#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">if</span></code></a>,·<code·class="docutils·literal·notranslate"><span·class="pre">elif</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">else</span></code></dt><dd><p>Evaluates·a·variable,·and·if·that·variable·is·true·the·contents·of·the
256 block·are·displayed:</p>257 block·are·displayed:</p>
257 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">athlete_list</span>·<span·class="cp">%}</span>258 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">athlete_list</span>·<span·class="cp">%}</span>
258 ····Number·of·athletes:·<span·class="cp">{{</span>·<span·class="nv">athlete_list</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="cp">}}</span>259 ····Number·of·athletes:·<span·class="cp">{{</span>·<span·class="nv">athlete_list</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="cp">}}</span>
259 <span·class="cp">{%</span>·<span·class="k">elif</span>·<span·class="nv">athlete_in_locker_room_list</span>·<span·class="cp">%}</span>260 <span·class="cp">{%</span>·<span·class="k">elif</span>·<span·class="nv">athlete_in_locker_room_list</span>·<span·class="cp">%}</span>
260 ····Athletes·should·be·out·of·the·locker·room·soon!261 ····Athletes·should·be·out·of·the·locker·room·soon!
261 <span·class="cp">{%</span>·<span·class="k">else</span>·<span·class="cp">%}</span>262 <span·class="cp">{%</span>·<span·class="k">else</span>·<span·class="cp">%}</span>
262 ····No·athletes.263 ····No·athletes.
263 <span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span>264 <span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span>
264 </pre></div>265 </pre></div>
265 </div>266 </div>
266 <p>In·the·above,·if·<code·class="docutils·literal·notranslate"><span·class="pre">athlete_list</span></code>·is·not·empty,·the·number·of·athletes267 <p>In·the·above,·if·<code·class="docutils·literal·notranslate"><span·class="pre">athlete_list</span></code>·is·not·empty,·the·number·of·athletes
267 will·be·displayed·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">athlete_list|length</span>·<span·class="pre">}}</span></code>·variable.·Otherwise,268 will·be·displayed·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">athlete_list|length</span>·<span·class="pre">}}</span></code>·variable.·Otherwise,
268 if·<code·class="docutils·literal·notranslate"><span·class="pre">athlete_in_locker_room_list</span></code>·is·not·empty,·the·message·Athletes269 if·<code·class="docutils·literal·notranslate"><span·class="pre">athlete_in_locker_room_list</span></code>·is·not·empty,·the·message·Athletes
269 should·be·out…·will·be·displayed.·If·both·lists·are·empty,270 should·be·out…·will·be·displayed.·If·both·lists·are·empty,
Max diff block lines reached; 17896/31453 bytes (56.90%) of diff not shown.
16.2 KB
html2text {}
Max HTML report size reached
26.8 KB
./usr/share/doc/python-django-doc/html/ref/unicode.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Unicode·data·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Unicode·data·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="django.urls·utility·functions"·href="urlresolvers.html"·/>15 ····<link·rel="next"·title="django.urls·utility·functions"·href="urlresolvers.html"·/>
15 ····<link·rel="prev"·title="TemplateResponse·and·SimpleTemplateResponse"·href="template-response.html"·/>16 ····<link·rel="prev"·title="TemplateResponse·and·SimpleTemplateResponse"·href="template-response.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 23 lines modifiedOffset 99, 23 lines modified
98 <li><p>SQLite·users,·there·is·nothing·you·need·to·do.·SQLite·always·uses·UTF-899 <li><p>SQLite·users,·there·is·nothing·you·need·to·do.·SQLite·always·uses·UTF-8
99 for·internal·encoding.</p></li>100 for·internal·encoding.</p></li>
100 </ul>101 </ul>
101 <p>All·of·Django’s·database·backends·automatically·convert·strings·into102 <p>All·of·Django’s·database·backends·automatically·convert·strings·into
102 the·appropriate·encoding·for·talking·to·the·database.·They·also·automatically103 the·appropriate·encoding·for·talking·to·the·database.·They·also·automatically
103 convert·strings·retrieved·from·the·database·into·strings.·You·don’t·even·need104 convert·strings·retrieved·from·the·database·into·strings.·You·don’t·even·need
104 to·tell·Django·what·encoding·your·database·uses:·that·is·handled·transparently.</p>105 to·tell·Django·what·encoding·your·database·uses:·that·is·handled·transparently.</p>
105 <p>For·more,·see·the·section·The·database·API·below.</p>106 <p>For·more,·see·the·section·The·database·API·below.</p>
106 </section>107 </section>
107 <section·id="s-general-string-handling">108 <section·id="s-general-string-handling">
108 <span·id="general-string-handling"></span><h2>General·string·handling<a·class="headerlink"·href="#general-string-handling"·title="Link·to·this·heading">¶</a></h2>109 <span·id="general-string-handling"></span><h2>General·string·handling<a·class="headerlink"·href="#general-string-handling"·title="Link·to·this·heading">¶</a></h2>
109 <p>Whenever·you·use·strings·with·Django··e.g.,·in·database·lookups,·template110 <p>Whenever·you·use·strings·with·Django··e.g.,·in·database·lookups,·template
110 rendering·or·anywhere·else··you·have·two·choices·for·encoding·those·strings.111 rendering·or·anywhere·else··you·have·two·choices·for·encoding·those·strings.
111 You·can·use·normal·strings·or·bytestrings·(starting·with·a·b).</p>112 You·can·use·normal·strings·or·bytestrings·(starting·with·a·b).</p>
112 <div·class="admonition·warning">113 <div·class="admonition·warning">
113 <p·class="admonition-title">Warning</p>114 <p·class="admonition-title">Hoiatus</p>
114 <p>A·bytestring·does·not·carry·any·information·with·it·about·its·encoding.115 <p>A·bytestring·does·not·carry·any·information·with·it·about·its·encoding.
115 For·that·reason,·we·have·to·make·an·assumption,·and·Django·assumes·that·all116 For·that·reason,·we·have·to·make·an·assumption,·and·Django·assumes·that·all
116 bytestrings·are·in·UTF-8.</p>117 bytestrings·are·in·UTF-8.</p>
117 <p>If·you·pass·a·string·to·Django·that·has·been·encoded·in·some·other·format,118 <p>If·you·pass·a·string·to·Django·that·has·been·encoded·in·some·other·format,
118 things·will·go·wrong·in·interesting·ways.·Usually,·Django·will·raise·a119 things·will·go·wrong·in·interesting·ways.·Usually,·Django·will·raise·a
119 <code·class="docutils·literal·notranslate"><span·class="pre">UnicodeDecodeError</span></code>·at·some·point.</p>120 <code·class="docutils·literal·notranslate"><span·class="pre">UnicodeDecodeError</span></code>·at·some·point.</p>
120 </div>121 </div>
Offset 132, 15 lines modifiedOffset 133, 15 lines modified
132 <p>In·most·cases·when·Django·is·dealing·with·strings,·it·will·convert·them·to133 <p>In·most·cases·when·Django·is·dealing·with·strings,·it·will·convert·them·to
133 strings·before·doing·anything·else.·So,·as·a·general·rule,·if·you·pass134 strings·before·doing·anything·else.·So,·as·a·general·rule,·if·you·pass
134 in·a·bytestring,·be·prepared·to·receive·a·string·back·in·the·result.</p>135 in·a·bytestring,·be·prepared·to·receive·a·string·back·in·the·result.</p>
135 <section·id="s-translated-strings">136 <section·id="s-translated-strings">
136 <span·id="translated-strings"></span><h3>Translated·strings<a·class="headerlink"·href="#translated-strings"·title="Link·to·this·heading">¶</a></h3>137 <span·id="translated-strings"></span><h3>Translated·strings<a·class="headerlink"·href="#translated-strings"·title="Link·to·this·heading">¶</a></h3>
137 <p>Aside·from·strings·and·bytestrings,·there’s·a·third·type·of·string-like138 <p>Aside·from·strings·and·bytestrings,·there’s·a·third·type·of·string-like
138 object·you·may·encounter·when·using·Django.·The·framework’s139 object·you·may·encounter·when·using·Django.·The·framework’s
139 internationalization·features·introduce·the·concept·of·a·lazy·translation·140 internationalization·features·introduce·the·concept·of·a·lazy·translation·
140 a·string·that·has·been·marked·as·translated·but·whose·actual·translation·result141 a·string·that·has·been·marked·as·translated·but·whose·actual·translation·result
141 isn’t·determined·until·the·object·is·used·in·a·string.·This·feature·is·useful142 isn’t·determined·until·the·object·is·used·in·a·string.·This·feature·is·useful
142 in·cases·where·the·translation·locale·is·unknown·until·the·string·is·used,·even143 in·cases·where·the·translation·locale·is·unknown·until·the·string·is·used,·even
143 though·the·string·might·have·originally·been·created·when·the·code·was·first144 though·the·string·might·have·originally·been·created·when·the·code·was·first
144 imported.</p>145 imported.</p>
145 <p>Normally,·you·won’t·have·to·worry·about·lazy·translations.·Just·be·aware·that146 <p>Normally,·you·won’t·have·to·worry·about·lazy·translations.·Just·be·aware·that
146 if·you·examine·an·object·and·it·claims·to·be·a147 if·you·examine·an·object·and·it·claims·to·be·a
Offset 195, 31 lines modifiedOffset 196, 31 lines modified
195 However,·in·an·international·environment,·you·might·need·to·construct·a196 However,·in·an·international·environment,·you·might·need·to·construct·a
196 URL·from·an·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc3987.html"><strong>IRI</strong></a>··very·loosely·speaking,·a·<span·class="target"·id="index-1"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc3986.html"><strong>URI</strong></a>197 URL·from·an·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc3987.html"><strong>IRI</strong></a>··very·loosely·speaking,·a·<span·class="target"·id="index-1"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc3986.html"><strong>URI</strong></a>
197 that·can·contain·Unicode·characters.·Use·these·functions·for·quoting·and198 that·can·contain·Unicode·characters.·Use·these·functions·for·quoting·and
198 converting·an·IRI·to·a·URI:</p>199 converting·an·IRI·to·a·URI:</p>
199 <ul·class="simple">200 <ul·class="simple">
200 <li><p>The·<a·class="reference·internal"·href="utils.html#django.utils.encoding.iri_to_uri"·title="django.utils.encoding.iri_to_uri"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.utils.encoding.iri_to_uri()</span></code></a>·function,·which·implements·the201 <li><p>The·<a·class="reference·internal"·href="utils.html#django.utils.encoding.iri_to_uri"·title="django.utils.encoding.iri_to_uri"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.utils.encoding.iri_to_uri()</span></code></a>·function,·which·implements·the
201 conversion·from·IRI·to·URI·as·required·by·<span·class="target"·id="index-2"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc3987.html#section-3.1"><strong>RFC·3987#section-3.1</strong></a>.</p></li>202 conversion·from·IRI·to·URI·as·required·by·<span·class="target"·id="index-2"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc3987.html#section-3.1"><strong>RFC·3987#section-3.1</strong></a>.</p></li>
202 <li><p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.quote"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.quote()</span></code></a>·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.quote_plus"[·...·truncated·by·diffoscope;·len:·11,·SHA:·2eb300e0b22b2bc0973ee772d57207c5bbc1bf47a8f90e1bd111645da218de2c·...·]·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.quote_plus()</span></code></a>203 <li><p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.quote"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.quote()</span></code></a>·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.quot[·...·truncated·by·diffoscope;·len:·25,·SHA:·0a32737a61257520bfc0e8fee55d68e92c9f579f0e0dee04e44c8c43334d4d7b·...·]·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.quote_plus()</span></code></a>
203 functions·from·Python’s·standard·library.</p></li>204 functions·from·Python’s·standard·library.</p></li>
204 </ul>205 </ul>
205 <p>These·two·groups·of·functions·have·slightly·different·purposes,·and·it’s206 <p>These·two·groups·of·functions·have·slightly·different·purposes,·and·it’s
206 important·to·keep·them·straight.·Normally,·you·would·use·<code·class="docutils·literal·notranslate"><span·class="pre">quote()</span></code>·on·the207 important·to·keep·them·straight.·Normally,·you·would·use·<code·class="docutils·literal·notranslate"><span·class="pre">quote()</span></code>·on·the
207 individual·portions·of·the·IRI·or·URI·path·so·that·any·reserved·characters208 individual·portions·of·the·IRI·or·URI·path·so·that·any·reserved·characters
208 such·as·&amp;·or·%·are·correctly·encoded.·Then,·you·apply·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>·to209 such·as·&amp;·or·%·are·correctly·encoded.·Then,·you·apply·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>·to
209 the·full·IRI·and·it·converts·any·non-ASCII·characters·to·the·correct·encoded210 the·full·IRI·and·it·converts·any·non-ASCII·characters·to·the·correct·encoded
210 values.</p>211 values.</p>
211 <div·class="admonition·note">212 <div·class="admonition·note">
212 <p·class="admonition-title">Note</p>213 <p·class="admonition-title">rkus</p>
213 <p>Technically,·it·isn’t·correct·to·say·that·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>·implements·the214 <p>Technically,·it·isn’t·correct·to·say·that·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>·implements·the
214 full·algorithm·in·the·IRI·specification.·It·doesn’t·(yet)·perform·the215 full·algorithm·in·the·IRI·specification.·It·doesn’t·(yet)·perform·the
215 international·domain·name·encoding·portion·of·the·algorithm.</p>216 international·domain·name·encoding·portion·of·the·algorithm.</p>
216 </div>217 </div>
217 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>·function·will·not·change·ASCII·characters·that·are218 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>·function·will·not·change·ASCII·characters·that·are
218 otherwise·permitted·in·a·URL.·So,·for·example,·the·character·%·is·not219 otherwise·permitted·in·a·URL.·So,·for·example,·the·character·%·is·not
219 further·encoded·when·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>.·This·means·you·can·pass·a220 further·encoded·when·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>.·This·means·you·can·pass·a
220 full·URL·to·this·function·and·it·will·not·mess·up·the·query·string·or·anything221 full·URL·to·this·function·and·it·will·not·mess·up·the·query·string·or·anything
221 like·that.</p>222 like·that.</p>
222 <p>An·example·might·clarify·things·here:</p>223 <p>An·example·might·clarify·things·here:</p>
223 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">urllib.parse</span>·<span·class="kn">import</span>·<span·class="n">quote</span>224 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">urllib.parse</span>·<span·class="kn">import</span>·<span·class="n">quote</span>
224 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.utils.encoding</span>·<span·class="kn">import</span>·<span·class="n">iri_to_uri</span>225 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.utils.encoding</span>·<span·class="kn">import</span>·<span·class="n">iri_to_uri</span>
225 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">quote</span><span·class="p">(</span><span·class="s2">&quot;Paris·&amp;·Orléans&quot;</span><span·class="p">)</span>226 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">quote</span><span·class="p">(</span><span·class="s2">&quot;Paris·&amp;·Orléans&quot;</span><span·class="p">)</span>
Offset 282, 15 lines modifiedOffset 283, 15 lines modified
  
282 <span·class="k">def</span>·<span·class="nf">get_absolute_url</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>283 <span·class="k">def</span>·<span·class="nf">get_absolute_url</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>
283 ····<span·class="n">url</span>·<span·class="o">=</span>·<span·class="s2">&quot;/person/</span><span·class="si">%s</span><span·class="s2">/?x=0&amp;y=0&quot;</span>·<span·class="o">%</span>·<span·class="n">quote</span><span·class="p">(</span><span·class="bp">self</span><span·class="o">.</span><span·class="n">location</span><span·class="p">)</span>284 ····<span·class="n">url</span>·<span·class="o">=</span>·<span·class="s2">&quot;/person/</span><span·class="si">%s</span><span·class="s2">/?x=0&amp;y=0&quot;</span>·<span·class="o">%</span>·<span·class="n">quote</span><span·class="p">(</span><span·class="bp">self</span><span·class="o">.</span><span·class="n">location</span><span·class="p">)</span>
284 ····<span·class="k">return</span>·<span·class="n">iri_to_uri</span><span·class="p">(</span><span·class="n">url</span><span·class="p">)</span>285 ····<span·class="k">return</span>·<span·class="n">iri_to_uri</span><span·class="p">(</span><span·class="n">url</span><span·class="p">)</span>
285 </pre></div>286 </pre></div>
286 </div>287 </div>
287 <p>This·function·returns·a·correctly·encoded·URL·even·if·<code·class="docutils·literal·notranslate"><span·class="pre">self.location</span></code>·is288 <p>This·function·returns·a·correctly·encoded·URL·even·if·<code·class="docutils·literal·notranslate"><span·class="pre">self.location</span></code>·is
288 something·like·Jack·visited·Paris·&amp;·Orléans.·(In·fact,·the·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>289 something·like·Jack·visited·Paris·&amp;·Orléans.·(In·fact,·the·<code·class="docutils·literal·notranslate"><span·class="pre">iri_to_uri()</span></code>
289 call·isn’t·strictly·necessary·in·the·above·example,·because·all·the290 call·isn’t·strictly·necessary·in·the·above·example,·because·all·the
290 non-ASCII·characters·would·have·been·removed·in·quoting·in·the·first·line.)</p>291 non-ASCII·characters·would·have·been·removed·in·quoting·in·the·first·line.)</p>
291 </section>292 </section>
292 </section>293 </section>
293 <section·id="s-templates">294 <section·id="s-templates">
294 <span·id="templates"></span><h2>Templates<a·class="headerlink"·href="#templates"·title="Link·to·this·heading">¶</a></h2>295 <span·id="templates"></span><h2>Templates<a·class="headerlink"·href="#templates"·title="Link·to·this·heading">¶</a></h2>
295 <p>Use·strings·when·creating·templates·manually:</p>296 <p>Use·strings·when·creating·templates·manually:</p>
Max diff block lines reached; 5842/16926 bytes (34.51%) of diff not shown.
10.1 KB
html2text {}
Max HTML report size reached
24.9 KB
./usr/share/doc/python-django-doc/html/ref/urlresolvers.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>django.urls·utility·functions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>django.urls·utility·functions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="django.urls·functions·for·use·in·URLconfs"·href="urls.html"·/>15 ····<link·rel="next"·title="django.urls·functions·for·use·in·URLconfs"·href="urls.html"·/>
15 ····<link·rel="prev"·title="Unicode·data"·href="unicode.html"·/>16 ····<link·rel="prev"·title="Unicode·data"·href="unicode.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="s-django-urls-utility-functions"></span><span·id="module-django.urls"></span><span·id="django-urls-utility-functions"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">django.urls</span></code>·utility·functions<a·class="headerlink"·href="#module-django.urls"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-django-urls-utility-functions"></span><span·id="module-django.urls"></span><span·id="django-urls-utility-functions"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">django.urls</span></code>·utility·functions<a·class="headerlink"·href="#module-django.urls"·title="Link·to·this·heading">¶</a></h1>
82 <section·id="s-reverse">83 <section·id="s-reverse">
83 <span·id="reverse"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code><a·class="headerlink"·href="#reverse"·title="Link·to·this·heading">¶</a></h2>84 <span·id="reverse"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code><a·class="headerlink"·href="#reverse"·title="Link·to·this·heading">¶</a></h2>
84 <p>If·you·need·to·use·something·similar·to·the·<a·class="reference·internal"·href="templates/builtins.html#std-templatetag-url"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">url</span></code></a>·template·tag·in85 <p>If·you·need·to·use·something·similar·to·the·<a·class="reference·internal"·href="templates/builtins.html#std-templatetag-url"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">url</span></code></a>·template·tag·in
85 your·code,·Django·provides·the·following·function:</p>86 your·code,·Django·provides·the·following·function:</p>
86 <dl·class="py·function">87 <dl·class="py·function">
87 <dt·class="sig·sig-object·py"·id="django.urls.reverse">88 <dt·class="sig·sig-object·py"·id="django.urls.reverse">
88 <span·class="sig-name·descname"><span·class="pre">reverse</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">viewname</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">urlconf</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">args</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">kwargs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">current_app</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/base.py#L27"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.urls.reverse"·title="Link·to·this·definition">¶</a></dt>89 <span·class="sig-name·descname"><span·class="pre">reverse</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">viewname</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">urlconf</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">args</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">kwargs</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">current_app</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/base.py#L27"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.urls.reverse"·title="Link·to·this·definition">¶</a></dt>
89 <dd></dd></dl>90 <dd></dd></dl>
  
90 <p><code·class="docutils·literal·notranslate"><span·class="pre">viewname</span></code>·can·be·a·<a·class="reference·internal"·href="../topics/http/urls.html#naming-url-patterns"><span·class="std·std-ref">URL·pattern·name</span></a>·or·the91 <p><code·class="docutils·literal·notranslate"><span·class="pre">viewname</span></code>·can·be·a·<a·class="reference·internal"·href="../topics/http/urls.html#naming-url-patterns"><span·class="std·std-ref">URL·pattern·name</span></a>·or·the
91 callable·view·object.·For·example,·given·the·following·<code·class="docutils·literal·notranslate"><span·class="pre">url</span></code>:</p>92 callable·view·object.·For·example,·given·the·following·<code·class="docutils·literal·notranslate"><span·class="pre">url</span></code>:</p>
92 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">news</span>·<span·class="kn">import</span>·<span·class="n">views</span>93 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">news</span>·<span·class="kn">import</span>·<span·class="n">views</span>
  
93 <span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;archive/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">archive</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;news-archive&quot;</span><span·class="p">)</span>94 <span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;archive/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">archive</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;news-archive&quot;</span><span·class="p">)</span>
Offset 132, 22 lines modifiedOffset 133, 22 lines modified
132 indicating·the·application·to·which·the·currently·executing·view·belongs.133 indicating·the·application·to·which·the·currently·executing·view·belongs.
133 This·<code·class="docutils·literal·notranslate"><span·class="pre">current_app</span></code>·argument·is·used·as·a·hint·to·resolve·application134 This·<code·class="docutils·literal·notranslate"><span·class="pre">current_app</span></code>·argument·is·used·as·a·hint·to·resolve·application
134 namespaces·into·URLs·on·specific·application·instances,·according·to·the135 namespaces·into·URLs·on·specific·application·instances,·according·to·the
135 <a·class="reference·internal"·href="../topics/http/urls.html#topics-http-reversing-url-namespaces"><span·class="std·std-ref">namespaced·URL·resolution·strategy</span></a>.</p>136 <a·class="reference·internal"·href="../topics/http/urls.html#topics-http-reversing-url-namespaces"><span·class="std·std-ref">namespaced·URL·resolution·strategy</span></a>.</p>
136 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">urlconf</span></code>·argument·is·the·URLconf·module·containing·the·URL·patterns·to137 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">urlconf</span></code>·argument·is·the·URLconf·module·containing·the·URL·patterns·to
137 use·for·reversing.·By·default,·the·root·URLconf·for·the·current·thread·is·used.</p>138 use·for·reversing.·By·default,·the·root·URLconf·for·the·current·thread·is·used.</p>
138 <div·class="admonition·note">139 <div·class="admonition·note">
139 <p·class="admonition-title">Note</p>140 <p·class="admonition-title">rkus</p>
140 <p>The·string·returned·by·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·is·already141 <p>The·string·returned·by·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·is·already
141 <a·class="reference·internal"·href="unicode.html#uri-and-iri-handling"><span·class="std·std-ref">urlquoted</span></a>.·For·example:</p>142 <a·class="reference·internal"·href="unicode.html#uri-and-iri-handling"><span·class="std·std-ref">urlquoted</span></a>.·For·example:</p>
142 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">reverse</span><span·class="p">(</span><span·class="s2">&quot;cities&quot;</span><span·class="p">,</span>·<span·class="n">args</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;Orléans&quot;</span><span·class="p">])</span>143 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">reverse</span><span·class="p">(</span><span·class="s2">&quot;cities&quot;</span><span·class="p">,</span>·<span·class="n">args</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;Orléans&quot;</span><span·class="p">])</span>
143 <span·class="go">&#39;.../Orl%C3%A9ans/&#39;</span>144 <span·class="go">&#39;.../Orl%C3%A9ans/&#39;</span>
144 </pre></div>145 </pre></div>
145 </div>146 </div>
146 <p>Applying·further·encoding·(such·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.quote"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.quote()</span></code></a>)·to·the·output147 <p>Applying·further·encoding·(such·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.quote"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.quote()</span></code></a>)·to·the·output
147 of·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·may·produce·undesirable·results.</p>148 of·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·may·produce·undesirable·results.</p>
148 </div>149 </div>
149 </section>150 </section>
150 <section·id="s-reverse-lazy">151 <section·id="s-reverse-lazy">
151 <span·id="reverse-lazy"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">reverse_lazy()</span></code><a·class="headerlink"·href="#reverse-lazy"·title="Link·to·this·heading">¶</a></h2>152 <span·id="reverse-lazy"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">reverse_lazy()</span></code><a·class="headerlink"·href="#reverse-lazy"·title="Link·to·this·heading">¶</a></h2>
152 <p>A·lazily·evaluated·version·of·<a·class="reference·internal"·href="#reverse">reverse()</a>.</p>153 <p>A·lazily·evaluated·version·of·<a·class="reference·internal"·href="#reverse">reverse()</a>.</p>
153 <dl·class="py·function">154 <dl·class="py·function">
Offset 169, 27 lines modifiedOffset 170, 27 lines modified
169 </section>170 </section>
170 <section·id="s-resolve">171 <section·id="s-resolve">
171 <span·id="resolve"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">resolve()</span></code><a·class="headerlink"·href="#resolve"·title="Link·to·this·heading">¶</a></h2>172 <span·id="resolve"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">resolve()</span></code><a·class="headerlink"·href="#resolve"·title="Link·to·this·heading">¶</a></h2>
172 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">resolve()</span></code>·function·can·be·used·for·resolving·URL·paths·to·the173 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">resolve()</span></code>·function·can·be·used·for·resolving·URL·paths·to·the
173 corresponding·view·functions.·It·has·the·following·signature:</p>174 corresponding·view·functions.·It·has·the·following·signature:</p>
174 <dl·class="py·function">175 <dl·class="py·function">
175 <dt·class="sig·sig-object·py"·id="django.urls.resolve">176 <dt·class="sig·sig-object·py"·id="django.urls.resolve">
176 <span·class="sig-name·descname"><span·class="pre">resolve</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">urlconf</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/base.py#L21"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.urls.resolve"·title="Link·to·this·definition">¶</a></dt>177 <span·class="sig-name·descname"><span·class="pre">resolve</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">urlconf</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/base.py#L21"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.urls.resolve"·title="Link·to·this·definition">¶</a></dt>
177 <dd></dd></dl>178 <dd></dd></dl>
  
178 <p><code·class="docutils·literal·notranslate"><span·class="pre">path</span></code>·is·the·URL·path·you·want·to·resolve.·As·with179 <p><code·class="docutils·literal·notranslate"><span·class="pre">path</span></code>·is·the·URL·path·you·want·to·resolve.·As·with
179 <a·class="reference·internal"·href="#django.urls.reverse"·title="django.urls.reverse"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a>,·you·don’t·need·to·worry·about·the·<code·class="docutils·literal·notranslate"><span·class="pre">urlconf</span></code>180 <a·class="reference·internal"·href="#django.urls.reverse"·title="django.urls.reverse"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a>,·you·don’t·need·to·worry·about·the·<code·class="docutils·literal·notranslate"><span·class="pre">urlconf</span></code>
180 parameter.·The·function·returns·a·<a·class="reference·internal"·href="#django.urls.ResolverMatch"·title="django.urls.ResolverMatch"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ResolverMatch</span></code></a>·object·that·allows·you181 parameter.·The·function·returns·a·<a·class="reference·internal"·href="#django.urls.ResolverMatch"·title="django.urls.ResolverMatch"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ResolverMatch</span></code></a>·object·that·allows·you
181 to·access·various·metadata·about·the·resolved·URL.</p>182 to·access·various·metadata·about·the·resolved·URL.</p>
182 <p>If·the·URL·does·not·resolve,·the·function·raises·a183 <p>If·the·URL·does·not·resolve,·the·function·raises·a
183 <a·class="reference·internal"·href="exceptions.html#django.urls.Resolver404"·title="django.urls.Resolver404"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">Resolver404</span></code></a>·exception·(a·subclass·of184 <a·class="reference·internal"·href="exceptions.html#django.urls.Resolver404"·title="django.urls.Resolver404"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">Resolver404</span></code></a>·exception·(a·subclass·of
184 <a·class="reference·internal"·href="../topics/http/views.html#django.http.Http404"·title="django.http.Http404"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Http404</span></code></a>)·.</p>185 <a·class="reference·internal"·href="../topics/http/views.html#django.http.Http404"·title="django.http.Http404"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Http404</span></code></a>)·.</p>
185 <dl·class="py·class">186 <dl·class="py·class">
186 <dt·class="sig·sig-object·py"·id="django.urls.ResolverMatch">187 <dt·class="sig·sig-object·py"·id="django.urls.ResolverMatch">
187 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ResolverMatch</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/resolvers.py#L34"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.urls.ResolverMatch"·title="Link·to·this·definition">¶</a></dt>188 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ResolverMatch</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/resolvers.py#L34"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.urls.ResolverMatch"·title="Link·to·this·definition">¶</a></dt>
188 <dd><dl·class="py·attribute">189 <dd><dl·class="py·attribute">
189 <dt·class="sig·sig-object·py"·id="django.urls.ResolverMatch.func">190 <dt·class="sig·sig-object·py"·id="django.urls.ResolverMatch.func">
190 <span·class="sig-name·descname"><span·class="pre">func</span></span><a·class="headerlink"·href="#django.urls.ResolverMatch.func"·title="Link·to·this·definition">¶</a></dt>191 <span·class="sig-name·descname"><span·class="pre">func</span></span><a·class="headerlink"·href="#django.urls.ResolverMatch.func"·title="Link·to·this·definition">¶</a></dt>
191 <dd><p>The·view·function·that·would·be·used·to·serve·the·URL</p>192 <dd><p>The·view·function·that·would·be·used·to·serve·the·URL</p>
192 </dd></dl>193 </dd></dl>
  
193 <dl·class="py·attribute">194 <dl·class="py·attribute">
Offset 319, 27 lines modifiedOffset 320, 27 lines modified
319 </pre></div>320 </pre></div>
320 </div>321 </div>
321 </section>322 </section>
322 <section·id="s-get-script-prefix">323 <section·id="s-get-script-prefix">
323 <span·id="get-script-prefix"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">get_script_prefix()</span></code><a·class="headerlink"·href="#get-script-prefix"·title="Link·to·this·heading">¶</a></h2>324 <span·id="get-script-prefix"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">get_script_prefix()</span></code><a·class="headerlink"·href="#get-script-prefix"·title="Link·to·this·heading">¶</a></h2>
324 <dl·class="py·function">325 <dl·class="py·function">
325 <dt·class="sig·sig-object·py"·id="django.urls.get_script_prefix">326 <dt·class="sig·sig-object·py"·id="django.urls.get_script_prefix">
326 <span·class="sig-name·descname"><span·class="pre">get_script_prefix</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/base.py#L109"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.urls.get_script_prefix"·title="Link·to·this·definition">¶</a></dt>327 <span·class="sig-name·descname"><span·class="pre">get_script_prefix</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/base.py#L109"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.urls.get_script_prefix"·title="Link·to·this·definition">¶</a></dt>
327 <dd></dd></dl>328 <dd></dd></dl>
  
328 <p>Normally,·you·should·always·use·<a·class="reference·internal"·href="#django.urls.reverse"·title="django.urls.reverse"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a>·to·define·URLs329 <p>Normally,·you·should·always·use·<a·class="reference·internal"·href="#django.urls.reverse"·title="django.urls.reverse"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a>·to·define·URLs
329 within·your·application.·However,·if·your·application·constructs·part·of·the330 within·your·application.·However,·if·your·application·constructs·part·of·the
330 URL·hierarchy·itself,·you·may·occasionally·need·to·generate·URLs.·In·that331 URL·hierarchy·itself,·you·may·occasionally·need·to·generate·URLs.·In·that
331 case,·you·need·to·be·able·to·find·the·base·URL·of·the·Django·project·within332 case,·you·need·to·be·able·to·find·the·base·URL·of·the·Django·project·within
332 its·web·server·(normally,·<a·class="reference·internal"·href="#django.urls.reverse"·title="django.urls.reverse"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a>·takes·care·of·this·for333 its·web·server·(normally,·<a·class="reference·internal"·href="#django.urls.reverse"·title="django.urls.reverse"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a>·takes·care·of·this·for
333 you).·In·that·case,·you·can·call·<code·class="docutils·literal·notranslate"><span·class="pre">get_script_prefix()</span></code>,·which·will·return334 you).·In·that·case,·you·can·call·<code·class="docutils·literal·notranslate"><span·class="pre">get_script_prefix()</span></code>,·which·will·return
334 the·script·prefix·portion·of·the·URL·for·your·Django·project.·If·your·Django335 the·script·prefix·portion·of·the·URL·for·your·Django·project.·If·your·Django
335 project·is·at·the·root·of·its·web·server,·this·is·always·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;/&quot;</span></code>.</p>336 project·is·at·the·root·of·its·web·server,·this·is·always·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;/&quot;</span></code>.</p>
336 <div·class="admonition·warning">337 <div·class="admonition·warning">
337 <p·class="admonition-title">Warning</p>338 <p·class="admonition-title">Hoiatus</p>
Max diff block lines reached; 2838/18962 bytes (14.97%) of diff not shown.
6.28 KB
html2text {}
Max HTML report size reached
26.8 KB
./usr/share/doc/python-django-doc/html/ref/urls.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>django.urls·functions·for·use·in·URLconfs·&#8212;·Django·5.1.3·documentation</title>6 ····<title>django.urls·functions·for·use·in·URLconfs·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·Utils"·href="utils.html"·/>15 ····<link·rel="next"·title="Django·Utils"·href="utils.html"·/>
15 ····<link·rel="prev"·title="django.urls·utility·functions"·href="urlresolvers.html"·/>16 ····<link·rel="prev"·title="django.urls·utility·functions"·href="urlresolvers.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 122, 15 lines modifiedOffset 123, 15 lines modified
122 <section·id="s-view">123 <section·id="s-view">
123 <span·id="view"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">view</span></code><a·class="headerlink"·href="#view"·title="Link·to·this·heading">¶</a></h3>124 <span·id="view"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">view</span></code><a·class="headerlink"·href="#view"·title="Link·to·this·heading">¶</a></h3>
124 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">view</span></code>·argument·is·a·view·function·or·the·result·of125 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">view</span></code>·argument·is·a·view·function·or·the·result·of
125 <a·class="reference·internal"·href="class-based-views/base.html#django.views.generic.base.View.as_view"·title="django.views.generic.base.View.as_view"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">as_view()</span></code></a>·for·class-based·views.·It·can126 <a·class="reference·internal"·href="class-based-views/base.html#django.views.generic.base.View.as_view"·title="django.views.generic.base.View.as_view"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">as_view()</span></code></a>·for·class-based·views.·It·can
126 also·be·a·<a·class="reference·internal"·href="#django.urls.include"·title="django.urls.include"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.urls.include()</span></code></a>.</p>127 also·be·a·<a·class="reference·internal"·href="#django.urls.include"·title="django.urls.include"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.urls.include()</span></code></a>.</p>
127 <p>When·Django·finds·a·matching·pattern,·it·calls·the·specified·view·function·with128 <p>When·Django·finds·a·matching·pattern,·it·calls·the·specified·view·function·with
128 an·<a·class="reference·internal"·href="request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·object·as·the·first·argument·and·any129 an·<a·class="reference·internal"·href="request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·object·as·the·first·argument·and·any
129 captured·values·from·the·route·as·keyword·arguments.</p>130 captured·values·from·the·route·as·keyword·arguments.</p>
130 </section>131 </section>
131 <section·id="s-kwargs">132 <section·id="s-kwargs">
132 <span·id="kwargs"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">kwargs</span></code><a·class="headerlink"·href="#kwargs"·title="Link·to·this·heading">¶</a></h3>133 <span·id="kwargs"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">kwargs</span></code><a·class="headerlink"·href="#kwargs"·title="Link·to·this·heading">¶</a></h3>
133 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">kwargs</span></code>·argument·allows·you·to·pass·additional·arguments·to·the·view134 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">kwargs</span></code>·argument·allows·you·to·pass·additional·arguments·to·the·view
134 function·or·method.·See·<a·class="reference·internal"·href="../topics/http/urls.html#views-extra-options"><span·class="std·std-ref">Passing·extra·options·to·view·functions</span></a>·for·an·example.</p>135 function·or·method.·See·<a·class="reference·internal"·href="../topics/http/urls.html#views-extra-options"><span·class="std·std-ref">Passing·extra·options·to·view·functions</span></a>·for·an·example.</p>
135 </section>136 </section>
136 <section·id="s-name">137 <section·id="s-name">
Offset 160, 73 lines modifiedOffset 161, 73 lines modified
160 ····<span·class="o">...</span><span·class="p">,</span>161 ····<span·class="o">...</span><span·class="p">,</span>
161 <span·class="p">]</span>162 <span·class="p">]</span>
162 </pre></div>163 </pre></div>
163 </div>164 </div>
164 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">route</span></code>·argument·should·be·a·string·or165 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">route</span></code>·argument·should·be·a·string·or
165 <a·class="reference·internal"·href="utils.html#django.utils.translation.gettext_lazy"·title="django.utils.translation.gettext_lazy"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">gettext_lazy()</span></code></a>·(see166 <a·class="reference·internal"·href="utils.html#django.utils.translation.gettext_lazy"·title="django.utils.translation.gettext_lazy"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">gettext_lazy()</span></code></a>·(see
166 <a·class="reference·internal"·href="../topics/i18n/translation.html#translating-urlpatterns"><span·class="std·std-ref">Translating·URL·patterns</span></a>)·that·contains·a·regular·expression·compatible167 <a·class="reference·internal"·href="../topics/i18n/translation.html#translating-urlpatterns"><span·class="std·std-ref">Translating·URL·patterns</span></a>)·that·contains·a·regular·expression·compatible
167 with·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#module-re"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">re</span></code></a>·module.·Strings·typically·use·raw·string·syntax168 with·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#module-re"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">re</span></code></a>·module.·Strings·typically·use·raw·string·syntax
168 (<code·class="docutils·literal·notranslate"><span·class="pre">r''</span></code>)·so·that·they·can·contain·sequences·like·<code·class="docutils·literal·notranslate"><span·class="pre">\d</span></code>·without·the·need·to169 (<code·class="docutils·literal·notranslate"><span·class="pre">r''</span></code>)·so·that·they·can·contain·sequences·like·<code·class="docutils·literal·notranslate"><span·class="pre">\d</span></code>·without·the·need·to
169 escape·the·backslash·with·another·backslash.·When·a·match·is·made,·captured170 escape·the·backslash·with·another·backslash.·When·a·match·is·made,·captured
170 groups·from·the·regular·expression·are·passed·to·the·view··as·named·arguments171 groups·from·the·regular·expression·are·passed·to·the·view··as·named·arguments
171 if·the·groups·are·named,·and·as·positional·arguments·otherwise.·The·values·are172 if·the·groups·are·named,·and·as·positional·arguments·otherwise.·The·values·are
172 passed·as·strings,·without·any·type·conversion.</p>173 passed·as·strings,·without·any·type·conversion.</p>
173 <p>When·a·<code·class="docutils·literal·notranslate"><span·class="pre">route</span></code>·ends·with·<code·class="docutils·literal·notranslate"><span·class="pre">$</span></code>·the·whole·requested·URL,·matching·against174 <p>When·a·<code·class="docutils·literal·notranslate"><span·class="pre">route</span></code>·ends·with·<code·class="docutils·literal·notranslate"><span·class="pre">$</span></code>·the·whole·requested·URL,·matching·against
174 <a·class="reference·internal"·href="request-response.html#django.http.HttpRequest.path_info"·title="django.http.HttpRequest.path_info"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">path_info</span></code></a>,·must·match·the·regular·expression175 <a·class="reference·internal"·href="request-response.html#django.http.HttpRequest.path_info"·title="django.http.HttpRequest.path_info"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">path_info</span></code></a>,·must·match·the·regular·expression
175 pattern·(<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#re.fullmatch"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re.fullmatch()</span></code></a>·is·used).</p>176 pattern·(<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#re.fullmatch"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re.fullmatch()</span></code></a>·is·used).</p>
176 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">view</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">kwargs</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·arguments·are·the·same·as·for177 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">view</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">kwargs</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·arguments·are·the·same·as·for
177 <a·class="reference·internal"·href="#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">path()</span></code></a>.</p>178 <a·class="reference·internal"·href="#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">path()</span></code></a>.</p>
178 </section>179 </section>
179 <section·id="s-include">180 <section·id="s-include">
180 <span·id="include"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">include()</span></code><a·class="headerlink"·href="#include"·title="Link·to·this·heading">¶</a></h2>181 <span·id="include"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">include()</span></code><a·class="headerlink"·href="#include"·title="Link·to·this·heading">¶</a></h2>
181 <dl·class="py·function">182 <dl·class="py·function">
182 <dt·class="sig·sig-object·py"·id="django.urls.include">183 <dt·class="sig·sig-object·py"·id="django.urls.include">
183 <span·class="sig-name·descname"><span·class="pre">include</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">module</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">namespace</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/conf.py#L17"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.urls.include"·title="Link·to·this·definition">¶</a></dt>184 <span·class="sig-name·descname"><span·class="pre">include</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">module</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">namespace</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/conf.py#L17"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.urls.include"·title="Link·to·this·definition">¶</a></dt>
184 <dt·class="sig·sig-object·py">185 <dt·class="sig·sig-object·py">
185 <span·class="sig-name·descname"><span·class="pre">include</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">pattern_list</span></span></em>)</dt>186 <span·class="sig-name·descname"><span·class="pre">include</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">pattern_list</span></span></em>)</dt>
186 <dt·class="sig·sig-object·py">187 <dt·class="sig·sig-object·py">
187 <span·class="sig-name·descname"><span·class="pre">include</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">(pattern_list</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">app_namespace)</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">namespace=None</span></span></em>)</dt>188 <span·class="sig-name·descname"><span·class="pre">include</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">(pattern_list</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">app_namespace)</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">namespace=None</span></span></em>)</dt>
188 <dd><p>A·function·that·takes·a·full·Python·import·path·to·another·URLconf·module189 <dd><p>A·function·that·takes·a·full·Python·import·path·to·another·URLconf·module
189 that·should·be·included·in·this·place.·Optionally,·the·<a·class="reference·internal"·href="../topics/http/urls.html#term-application-namespace"><span·class="xref·std·std-term">application190 that·should·be·included·in·this·place.·Optionally,·the·<a·class="reference·internal"·href="../topics/http/urls.html#term-application-namespace"><span·class="xref·std·std-term">application
190 namespace</span></a>·and·<a·class="reference·internal"·href="../topics/http/urls.html#term-instance-namespace"><span·class="xref·std·std-term">instance·namespace</span></a>·where·the·entries·will·be·included191 namespace</span></a>·and·<a·class="reference·internal"·href="../topics/http/urls.html#term-instance-namespace"><span·class="xref·std·std-term">instance·namespace</span></a>·where·the·entries·will·be·included
191 into·can·also·be·specified.</p>192 into·can·also·be·specified.</p>
192 <p>Usually,·the·application·namespace·should·be·specified·by·the·included193 <p>Usually,·the·application·namespace·should·be·specified·by·the·included
193 module.·If·an·application·namespace·is·set,·the·<code·class="docutils·literal·notranslate"><span·class="pre">namespace</span></code>·argument194 module.·If·an·application·namespace·is·set,·the·<code·class="docutils·literal·notranslate"><span·class="pre">namespace</span></code>·argument
194 can·be·used·to·set·a·different·instance·namespace.</p>195 can·be·used·to·set·a·different·instance·namespace.</p>
195 <p><code·class="docutils·literal·notranslate"><span·class="pre">include()</span></code>·also·accepts·as·an·argument·either·an·iterable·that·returns196 <p><code·class="docutils·literal·notranslate"><span·class="pre">include()</span></code>·also·accepts·as·an·argument·either·an·iterable·that·returns
196 URL·patterns·or·a·2-tuple·containing·such·iterable·plus·the·names·of·the197 URL·patterns·or·a·2-tuple·containing·such·iterable·plus·the·names·of·the
197 application·namespaces.</p>198 application·namespaces.</p>
198 <dl·class="field-list·simple">199 <dl·class="field-list·simple">
199 <dt·class="field-odd">Parameters<span·class="colon">:</span></dt>200 <dt·class="field-odd">Parameetrid<span·class="colon">:</span></dt>
200 <dd·class="field-odd"><ul·class="simple">201 <dd·class="field-odd"><ul·class="simple">
201 <li><p><strong>module</strong>··URLconf·module·(or·module·name)</p></li>202 <li><p><strong>module</strong>··URLconf·module·(or·module·name)</p></li>
202 <li><p><strong>namespace</strong>·(<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#str"·title="(in·Python·v3.12)"><em>str</em></a>)··Instance·namespace·for·the·URL·entries·being·included</p></li>203 <li><p><strong>namespace</strong>·(<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#str"·title="(projektis·Python·v3.12)"><em>str</em></a>)··Instance·namespace·for·the·URL·entries·being·included</p></li>
203 <li><p><strong>pattern_list</strong>··Iterable·of·<a·class="reference·internal"·href="#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">path()</span></code></a>·and/or·<a·class="reference·internal"·href="#django.urls.re_path"·title="django.urls.re_path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re_path()</span></code></a>·instances.</p></li>204 <li><p><strong>pattern_list</strong>··Iterable·of·<a·class="reference·internal"·href="#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">path()</span></code></a>·and/or·<a·class="reference·internal"·href="#django.urls.re_path"·title="django.urls.re_path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re_path()</span></code></a>·instances.</p></li>
204 <li><p><strong>app_namespace</strong>·(<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#str"·title="(in·Python·v3.12)"><em>str</em></a>)··Application·namespace·for·the·URL·entries·being·included</p></li>205 <li><p><strong>app_namespace</strong>·(<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#str"·title="(projektis·Python·v3.12)"><em>str</em></a>)··Application·namespace·for·the·URL·entries·being·included</p></li>
205 </ul>206 </ul>
206 </dd>207 </dd>
207 </dl>208 </dl>
208 </dd></dl>209 </dd></dl>
  
209 <p>See·<a·class="reference·internal"·href="../topics/http/urls.html#including-other-urlconfs"><span·class="std·std-ref">Including·other·URLconfs</span></a>·and·<a·class="reference·internal"·href="../topics/http/urls.html#namespaces-and-include"><span·class="std·std-ref">URL·namespaces·and·included·URLconfs</span></a>.</p>210 <p>See·<a·class="reference·internal"·href="../topics/http/urls.html#including-other-urlconfs"><span·class="std·std-ref">Including·other·URLconfs</span></a>·and·<a·class="reference·internal"·href="../topics/http/urls.html#namespaces-and-include"><span·class="std·std-ref">URL·namespaces·and·included·URLconfs</span></a>.</p>
210 </section>211 </section>
211 <section·id="s-register-converter">212 <section·id="s-register-converter">
212 <span·id="register-converter"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">register_converter()</span></code><a·class="headerlink"·href="#register-converter"·title="Link·to·this·heading">¶</a></h2>213 <span·id="register-converter"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">register_converter()</span></code><a·class="headerlink"·href="#register-converter"·title="Link·to·this·heading">¶</a></h2>
213 <dl·class="py·function">214 <dl·class="py·function">
214 <dt·class="sig·sig-object·py"·id="django.urls.register_converter">215 <dt·class="sig·sig-object·py"·id="django.urls.register_converter">
215 <span·class="sig-name·descname"><span·class="pre">register_converter</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">converter</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">type_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/converters.py#L58"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.urls.register_converter"·title="Link·to·this·definition">¶</a></dt>216 <span·class="sig-name·descname"><span·class="pre">register_converter</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">converter</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">type_name</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/urls/converters.py#L58"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.urls.register_converter"·title="Link·to·this·definition">¶</a></dt>
216 <dd></dd></dl>217 <dd></dd></dl>
  
217 <p>The·function·for·registering·a·converter·for·use·in·<a·class="reference·internal"·href="#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">path()</span></code></a>218 <p>The·function·for·registering·a·converter·for·use·in·<a·class="reference·internal"·href="#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">path()</span></code></a>
218 <code·class="docutils·literal·notranslate"><span·class="pre">route</span></code>s.</p>219 <code·class="docutils·literal·notranslate"><span·class="pre">route</span></code>s.</p>
219 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">converter</span></code>·argument·is·a·converter·class,·and·<code·class="docutils·literal·notranslate"><span·class="pre">type_name</span></code>·is·the220 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">converter</span></code>·argument·is·a·converter·class,·and·<code·class="docutils·literal·notranslate"><span·class="pre">type_name</span></code>·is·the
220 converter·name·to·use·in·path·patterns.·See221 converter·name·to·use·in·path·patterns.·See
221 <a·class="reference·internal"·href="../topics/http/urls.html#registering-custom-path-converters"><span·class="std·std-ref">Registering·custom·path·converters</span></a>·for·an·example.</p>222 <a·class="reference·internal"·href="../topics/http/urls.html#registering-custom-path-converters"><span·class="std·std-ref">Registering·custom·path·converters</span></a>·for·an·example.</p>
222 <div·class="deprecated">223 <div·class="deprecated">
223 <p><span·class="versionmodified·deprecated">Deprecated·since·version·5.1:·</span>Overriding·existing·converters·is·deprecated.</p>224 <p><span·class="versionmodified·deprecated">Iganenud·alates·versioonist·5.1:·</span>Overriding·existing·converters·is·deprecated.</p>
224 </div>225 </div>
225 </section>226 </section>
226 </section>227 </section>
227 <section·id="s-module-django.conf.urls">228 <section·id="s-module-django.conf.urls">
228 <span·id="s-django-conf-urls-functions-for-use-in-urlconfs"></span><span·id="module-django.conf.urls"></span><span·id="django-conf-urls-functions-for-use-in-urlconfs"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">django.conf.urls</span></code>·functions·for·use·in·URLconfs<a·class="headerlink"·href="#module-django.conf.urls"·title="Link·to·this·heading">¶</a></h1>229 <span·id="s-django-conf-urls-functions-for-use-in-urlconfs"></span><span·id="module-django.conf.urls"></span><span·id="django-conf-urls-functions-for-use-in-urlconfs"></span><h1><code·class="docutils·literal·notranslate"><span·class="pre">django.conf.urls</span></code>·functions·for·use·in·URLconfs<a·class="headerlink"·href="#module-django.conf.urls"·title="Link·to·this·heading">¶</a></h1>
Max diff block lines reached; 3177/19084 bytes (16.65%) of diff not shown.
8.06 KB
html2text {}
Max HTML report size reached
265 KB
./usr/share/doc/python-django-doc/html/ref/utils.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·Utils·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·Utils·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Validators"·href="validators.html"·/>15 ····<link·rel="next"·title="Validators"·href="validators.html"·/>
15 ····<link·rel="prev"·title="django.urls·functions·for·use·in·URLconfs"·href="urls.html"·/>16 ····<link·rel="prev"·title="django.urls·functions·for·use·in·URLconfs"·href="urls.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 94, 81 lines modifiedOffset 95, 81 lines modified
94 into·account·when·building·its·cache·key.·Requests·with·the·same·path·but95 into·account·when·building·its·cache·key.·Requests·with·the·same·path·but
95 different·header·content·for·headers·named·in·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·need·to·get·different96 different·header·content·for·headers·named·in·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·need·to·get·different
96 cache·keys·to·prevent·delivery·of·wrong·content.</p>97 cache·keys·to·prevent·delivery·of·wrong·content.</p>
97 <p>For·example,·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">internationalization</span></a>·middleware·would98 <p>For·example,·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">internationalization</span></a>·middleware·would
98 need·to·distinguish·caches·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-language</span></code>·header.</p>99 need·to·distinguish·caches·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-language</span></code>·header.</p>
99 <dl·class="py·function">100 <dl·class="py·function">
100 <dt·class="sig·sig-object·py"·id="django.utils.cache.patch_cache_control">101 <dt·class="sig·sig-object·py"·id="django.utils.cache.patch_cache_control">
101 <span·class="sig-name·descname"><span·class="pre">patch_cache_control</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L34"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.utils.cache.patch_cache_control"·title="Link·to·this·definition">¶</a></dt>102 <span·class="sig-name·descname"><span·class="pre">patch_cache_control</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L34"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.utils.cache.patch_cache_control"·title="Link·to·this·definition">¶</a></dt>
102 <dd><p>This·function·patches·the·<code·class="docutils·literal·notranslate"><span·class="pre">Cache-Control</span></code>·header·by·adding·all·keyword103 <dd><p>This·function·patches·the·<code·class="docutils·literal·notranslate"><span·class="pre">Cache-Control</span></code>·header·by·adding·all·keyword
103 arguments·to·it.·The·transformation·is·as·follows:</p>104 arguments·to·it.·The·transformation·is·as·follows:</p>
104 <ul·class="simple">105 <ul·class="simple">
105 <li><p>All·keyword·parameter·names·are·turned·to·lowercase,·and·underscores106 <li><p>All·keyword·parameter·names·are·turned·to·lowercase,·and·underscores
106 are·converted·to·hyphens.</p></li>107 are·converted·to·hyphens.</p></li>
107 <li><p>If·the·value·of·a·parameter·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·(exactly·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·not·just·a108 <li><p>If·the·value·of·a·parameter·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·(exactly·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·not·just·a
108 true·value),·only·the·parameter·name·is·added·to·the·header.</p></li>109 true·value),·only·the·parameter·name·is·added·to·the·header.</p></li>
109 <li><p>All·other·parameters·are·added·with·their·value,·after·applying110 <li><p>All·other·parameters·are·added·with·their·value,·after·applying
110 <code·class="docutils·literal·notranslate"><span·class="pre">str()</span></code>·to·it.</p></li>111 <code·class="docutils·literal·notranslate"><span·class="pre">str()</span></code>·to·it.</p></li>
111 </ul>112 </ul>
112 </dd></dl>113 </dd></dl>
  
113 <dl·class="py·function">114 <dl·class="py·function">
114 <dt·class="sig·sig-object·py"·id="django.utils.cache.get_max_age">115 <dt·class="sig·sig-object·py"·id="django.utils.cache.get_max_age">
115 <span·class="sig-name·descname"><span·class="pre">get_max_age</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L103"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.utils.cache.get_max_age"·title="Link·to·this·definition">¶</a></dt>116 <span·class="sig-name·descname"><span·class="pre">get_max_age</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L103"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.utils.cache.get_max_age"·title="Link·to·this·definition">¶</a></dt>
116 <dd><p>Returns·the·max-age·from·the·response·Cache-Control·header·as·an·integer117 <dd><p>Returns·the·max-age·from·the·response·Cache-Control·header·as·an·integer
117 (or·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·if·it·wasn’t·found·or·wasn’t·an·integer).</p>118 (or·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·if·it·wasn’t·found·or·wasn’t·an·integer).</p>
118 </dd></dl>119 </dd></dl>
  
119 <dl·class="py·function">120 <dl·class="py·function">
120 <dt·class="sig·sig-object·py"·id="django.utils.cache.patch_response_headers">121 <dt·class="sig·sig-object·py"·id="django.utils.cache.patch_response_headers">
121 <span·class="sig-name·descname"><span·class="pre">patch_response_headers</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache_timeout</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L270"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.utils.cache.patch_response_headers"·title="Link·to·this·definition">¶</a></dt>122 <span·class="sig-name·descname"><span·class="pre">patch_response_headers</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache_timeout</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L270"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.utils.cache.patch_response_headers"·title="Link·to·this·definition">¶</a></dt>
122 <dd><p>Adds·some·useful·headers·to·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code>·object:</p>123 <dd><p>Adds·some·useful·headers·to·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code>·object:</p>
123 <ul·class="simple">124 <ul·class="simple">
124 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">Expires</span></code></p></li>125 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">Expires</span></code></p></li>
125 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">Cache-Control</span></code></p></li>126 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">Cache-Control</span></code></p></li>
126 </ul>127 </ul>
127 <p>Each·header·is·only·added·if·it·isn’t·already·set.</p>128 <p>Each·header·is·only·added·if·it·isn’t·already·set.</p>
128 <p><code·class="docutils·literal·notranslate"><span·class="pre">cache_timeout</span></code>·is·in·seconds.·The·<a·class="reference·internal"·href="settings.html#std-setting-CACHE_MIDDLEWARE_SECONDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CACHE_MIDDLEWARE_SECONDS</span></code></a>129 <p><code·class="docutils·literal·notranslate"><span·class="pre">cache_timeout</span></code>·is·in·seconds.·The·<a·class="reference·internal"·href="settings.html#std-setting-CACHE_MIDDLEWARE_SECONDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CACHE_MIDDLEWARE_SECONDS</span></code></a>
129 setting·is·used·by·default.</p>130 setting·is·used·by·default.</p>
130 </dd></dl>131 </dd></dl>
  
131 <dl·class="py·function">132 <dl·class="py·function">
132 <dt·class="sig·sig-object·py"·id="django.utils.cache.add_never_cache_headers">133 <dt·class="sig·sig-object·py"·id="django.utils.cache.add_never_cache_headers">
133 <span·class="sig-name·descname"><span·class="pre">add_never_cache_headers</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L289"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.utils.cache.add_never_cache_headers"·title="Link·to·this·definition">¶</a></dt>134 <span·class="sig-name·descname"><span·class="pre">add_never_cache_headers</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L289"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.utils.cache.add_never_cache_headers"·title="Link·to·this·definition">¶</a></dt>
134 <dd><p>Adds·an·<code·class="docutils·literal·notranslate"><span·class="pre">Expires</span></code>·header·to·the·current·date/time.</p>135 <dd><p>Adds·an·<code·class="docutils·literal·notranslate"><span·class="pre">Expires</span></code>·header·to·the·current·date/time.</p>
135 <p>Adds·a·<code·class="docutils·literal·notranslate"><span·class="pre">Cache-Control:</span>·<span·class="pre">max-age=0,</span>·<span·class="pre">no-cache,</span>·<span·class="pre">no-store,</span>·<span·class="pre">must-revalidate,</span>136 <p>Adds·a·<code·class="docutils·literal·notranslate"><span·class="pre">Cache-Control:</span>·<span·class="pre">max-age=0,</span>·<span·class="pre">no-cache,</span>·<span·class="pre">no-store,</span>·<span·class="pre">must-revalidate,</span>
136 <span·class="pre">private</span></code>·header·to·a·response·to·indicate·that·a·page·should·never·be137 <span·class="pre">private</span></code>·header·to·a·response·to·indicate·that·a·page·should·never·be
137 cached.</p>138 cached.</p>
138 <p>Each·header·is·only·added·if·it·isn’t·already·set.</p>139 <p>Each·header·is·only·added·if·it·isn’t·already·set.</p>
139 </dd></dl>140 </dd></dl>
  
140 <dl·class="py·function">141 <dl·class="py·function">
141 <dt·class="sig·sig-object·py"·id="django.utils.cache.patch_vary_headers">142 <dt·class="sig·sig-object·py"·id="django.utils.cache.patch_vary_headers">
142 <span·class="sig-name·descname"><span·class="pre">patch_vary_headers</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">newheaders</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L299"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.utils.cache.patch_vary_headers"·title="Link·to·this·definition">¶</a></dt>143 <span·class="sig-name·descname"><span·class="pre">patch_vary_headers</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">newheaders</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L299"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.utils.cache.patch_vary_headers"·title="Link·to·this·definition">¶</a></dt>
143 <dd><p>Adds·(or·updates)·the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·header·in·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code>·object.144 <dd><p>Adds·(or·updates)·the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·header·in·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code>·object.
144 <code·class="docutils·literal·notranslate"><span·class="pre">newheaders</span></code>·is·a·list·of·header·names·that·should·be·in·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>.·If145 <code·class="docutils·literal·notranslate"><span·class="pre">newheaders</span></code>·is·a·list·of·header·names·that·should·be·in·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>.·If
145 headers·contains·an·asterisk,·then·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·header·will·consist·of·a·single146 headers·contains·an·asterisk,·then·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·header·will·consist·of·a·single
146 asterisk·<code·class="docutils·literal·notranslate"><span·class="pre">'*'</span></code>,·according·to·<span·class="target"·id="index-1"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-12.5.5"><strong>RFC·9110#section-12.5.5</strong></a>.·Otherwise,147 asterisk·<code·class="docutils·literal·notranslate"><span·class="pre">'*'</span></code>,·according·to·<span·class="target"·id="index-1"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-12.5.5"><strong>RFC·9110#section-12.5.5</strong></a>.·Otherwise,
147 existing·headers·in·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·aren’t·removed.</p>148 existing·headers·in·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·aren’t·removed.</p>
148 </dd></dl>149 </dd></dl>
  
149 <dl·class="py·function">150 <dl·class="py·function">
150 <dt·class="sig·sig-object·py"·id="django.utils.cache.get_cache_key">151 <dt·class="sig·sig-object·py"·id="django.utils.cache.get_cache_key">
151 <span·class="sig-name·descname"><span·class="pre">get_cache_key</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key_prefix</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">method</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'GET'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L377"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.utils.cache.get_cache_key"·title="Link·to·this·definition">¶</a></dt>152 <span·class="sig-name·descname"><span·class="pre">get_cache_key</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key_prefix</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">method</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'GET'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L377"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.utils.cache.get_cache_key"·title="Link·to·this·definition">¶</a></dt>
152 <dd><p>Returns·a·cache·key·based·on·the·request·path.·It·can·be·used·in·the153 <dd><p>Returns·a·cache·key·based·on·the·request·path.·It·can·be·used·in·the
153 request·phase·because·it·pulls·the·list·of·headers·to·take·into·account154 request·phase·because·it·pulls·the·list·of·headers·to·take·into·account
154 from·the·global·path·registry·and·uses·those·to·build·a·cache·key·to155 from·the·global·path·registry·and·uses·those·to·build·a·cache·key·to
155 check·against.</p>156 check·against.</p>
156 <p>If·there·is·no·headerlist·stored,·the·page·needs·to·be·rebuilt,·so·this157 <p>If·there·is·no·headerlist·stored,·the·page·needs·to·be·rebuilt,·so·this
157 function·returns·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>158 function·returns·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>
158 </dd></dl>159 </dd></dl>
  
159 <dl·class="py·function">160 <dl·class="py·function">
160 <dt·class="sig·sig-object·py"·id="django.utils.cache.learn_cache_key">161 <dt·class="sig·sig-object·py"·id="django.utils.cache.learn_cache_key">
161 <span·class="sig-name·descname"><span·class="pre">learn_cache_key</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache_timeout</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key_prefix</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L399"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.utils.cache.learn_cache_key"·title="Link·to·this·definition">¶</a></dt>162 <span·class="sig-name·descname"><span·class="pre">learn_cache_key</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">response</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache_timeout</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key_prefix</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">cache</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/utils/cache.py#L399"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.utils.cache.learn_cache_key"·title="Link·to·this·definition">¶</a></dt>
162 <dd><p>Learns·what·headers·to·take·into·account·for·some·request·path·from·the163 <dd><p>Learns·what·headers·to·take·into·account·for·some·request·path·from·the
163 response·object.·It·stores·those·headers·in·a·global·path·registry·so·that164 response·object.·It·stores·those·headers·in·a·global·path·registry·so·that
164 later·access·to·that·path·will·know·what·headers·to·take·into·account165 later·access·to·that·path·will·know·what·headers·to·take·into·account
165 without·building·the·response·object·itself.·The·headers·are·named·in166 without·building·the·response·object·itself.·The·headers·are·named·in
166 the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·header·of·the·response,·but·we·want·to·prevent·response167 the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·header·of·the·response,·but·we·want·to·prevent·response
167 generation.</p>168 generation.</p>
168 <p>The·list·of·headers·to·use·for·cache·key·generation·is·stored·in·the·same169 <p>The·list·of·headers·to·use·for·cache·key·generation·is·stored·in·the·same
Offset 180, 83 lines modifiedOffset 181, 83 lines modified
180 </section>181 </section>
181 <section·id="s-module-django.utils.dateparse">182 <section·id="s-module-django.utils.dateparse">
182 <span·id="s-django-utils-dateparse"></span><span·id="module-django.utils.dateparse"></span><span·id="django-utils-dateparse"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.dateparse</span></code><a·class="headerlink"·href="#module-django.utils.dateparse"·title="Link·to·this·heading">¶</a></h2>183 <span·id="s-django-utils-dateparse"></span><span·id="module-django.utils.dateparse"></span><span·id="django-utils-dateparse"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.dateparse</span></code><a·class="headerlink"·href="#module-django.utils.dateparse"·title="Link·to·this·heading">¶</a></h2>
183 <p>The·functions·defined·in·this·module·share·the·following·properties:</p>184 <p>The·functions·defined·in·this·module·share·the·following·properties:</p>
184 <ul·class="simple">185 <ul·class="simple">
Max diff block lines reached; 198401/216720 bytes (91.55%) of diff not shown.
52.9 KB
html2text {}
Max HTML report size reached
80.4 KB
./usr/share/doc/python-django-doc/html/ref/validators.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Validators·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Validators·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Built-in·Views"·href="views.html"·/>15 ····<link·rel="next"·title="Built-in·Views"·href="views.html"·/>
15 ····<link·rel="prev"·title="Django·Utils"·href="utils.html"·/>16 ····<link·rel="prev"·title="Django·Utils"·href="utils.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 138, 42 lines modifiedOffset 139, 42 lines modified
138 validators·for·use·with·model·and·form·fields.·They’re·used·internally·but139 validators·for·use·with·model·and·form·fields.·They’re·used·internally·but
139 are·available·for·use·with·your·own·fields,·too.·They·can·be·used·in·addition140 are·available·for·use·with·your·own·fields,·too.·They·can·be·used·in·addition
140 to,·or·in·lieu·of·custom·<code·class="docutils·literal·notranslate"><span·class="pre">field.clean()</span></code>·methods.</p>141 to,·or·in·lieu·of·custom·<code·class="docutils·literal·notranslate"><span·class="pre">field.clean()</span></code>·methods.</p>
141 <section·id="s-regexvalidator">142 <section·id="s-regexvalidator">
142 <span·id="regexvalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegexValidator</span></code><a·class="headerlink"·href="#regexvalidator"·title="Link·to·this·heading">¶</a></h3>143 <span·id="regexvalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">RegexValidator</span></code><a·class="headerlink"·href="#regexvalidator"·title="Link·to·this·heading">¶</a></h3>
143 <dl·class="py·class">144 <dl·class="py·class">
144 <dt·class="sig·sig-object·py"·id="django.core.validators.RegexValidator">145 <dt·class="sig·sig-object·py"·id="django.core.validators.RegexValidator">
145 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegexValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">regex</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">inverse_match</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">flags</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/validators.py#L20"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.validators.RegexValidator"·title="Link·to·this·definition">¶</a></dt>146 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RegexValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">regex</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">inverse_match</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">flags</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/validators.py#L20"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.validators.RegexValidator"·title="Link·to·this·definition">¶</a></dt>
146 <dd><dl·class="field-list·simple">147 <dd><dl·class="field-list·simple">
147 <dt·class="field-odd">Parameters<span·class="colon">:</span></dt>148 <dt·class="field-odd">Parameetrid<span·class="colon">:</span></dt>
148 <dd·class="field-odd"><ul·class="simple">149 <dd·class="field-odd"><ul·class="simple">
149 <li><p><strong>regex</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>.·Can·be·a·regular150 <li><p><strong>regex</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>.·Can·be·a·regular
150 expression·string·or·a·pre-compiled·regular·expression.</p></li>151 expression·string·or·a·pre-compiled·regular·expression.</p></li>
151 <li><p><strong>message</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.message"·title="django.core.validators.RegexValidator.message"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">message</span></code></a>.</p></li>152 <li><p><strong>message</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.message"·title="django.core.validators.RegexValidator.message"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">message</span></code></a>.</p></li>
152 <li><p><strong>code</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.code"·title="django.core.validators.RegexValidator.code"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">code</span></code></a>.</p></li>153 <li><p><strong>code</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.code"·title="django.core.validators.RegexValidator.code"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">code</span></code></a>.</p></li>
153 <li><p><strong>inverse_match</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.inverse_match"·title="django.core.validators.RegexValidator.inverse_match"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">inverse_match</span></code></a>.</p></li>154 <li><p><strong>inverse_match</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.inverse_match"·title="django.core.validators.RegexValidator.inverse_match"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">inverse_match</span></code></a>.</p></li>
154 <li><p><strong>flags</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.flags"·title="django.core.validators.RegexValidator.flags"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">flags</span></code></a>.·In·that·case,155 <li><p><strong>flags</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.flags"·title="django.core.validators.RegexValidator.flags"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">flags</span></code></a>.·In·that·case,
155 <a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>·must·be·a·regular·expression·string,·or156 <a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>·must·be·a·regular·expression·string,·or
156 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#TypeError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TypeError</span></code></a>·is·raised.</p></li>157 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#TypeError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TypeError</span></code></a>·is·raised.</p></li>
157 </ul>158 </ul>
158 </dd>159 </dd>
159 </dl>160 </dl>
160 <p>A·<a·class="reference·internal"·href="#django.core.validators.RegexValidator"·title="django.core.validators.RegexValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RegexValidator</span></code></a>·searches·the·provided·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·for·a·given161 <p>A·<a·class="reference·internal"·href="#django.core.validators.RegexValidator"·title="django.core.validators.RegexValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RegexValidator</span></code></a>·searches·the·provided·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·for·a·given
161 regular·expression·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#re.search"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re.search()</span></code></a>.·By·default,·raises·a162 regular·expression·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#re.search"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re.search()</span></code></a>.·By·default,·raises·a
162 <a·class="reference·internal"·href="exceptions.html#django.core.exceptions.ValidationError"·title="django.core.exceptions.ValidationError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a>·with·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.message"·title="django.core.validators.RegexValidator.message"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">message</span></code></a>·and163 <a·class="reference·internal"·href="exceptions.html#django.core.exceptions.ValidationError"·title="django.core.exceptions.ValidationError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a>·with·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.message"·title="django.core.validators.RegexValidator.message"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">message</span></code></a>·and
163 <a·class="reference·internal"·href="#django.core.validators.RegexValidator.code"·title="django.core.validators.RegexValidator.code"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">code</span></code></a>·if·a·match·<strong>is·not</strong>·found.·Its·behavior·can·be·inverted·by164 <a·class="reference·internal"·href="#django.core.validators.RegexValidator.code"·title="django.core.validators.RegexValidator.code"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">code</span></code></a>·if·a·match·<strong>is·not</strong>·found.·Its·behavior·can·be·inverted·by
164 setting·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.inverse_match"·title="django.core.validators.RegexValidator.inverse_match"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">inverse_match</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·in·which·case·the165 setting·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.inverse_match"·title="django.core.validators.RegexValidator.inverse_match"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">inverse_match</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·in·which·case·the
165 <a·class="reference·internal"·href="exceptions.html#django.core.exceptions.ValidationError"·title="django.core.exceptions.ValidationError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a>·is·raised·when·a·match166 <a·class="reference·internal"·href="exceptions.html#django.core.exceptions.ValidationError"·title="django.core.exceptions.ValidationError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a>·is·raised·when·a·match
166 <strong>is</strong>·found.</p>167 <strong>is</strong>·found.</p>
167 <dl·class="py·attribute">168 <dl·class="py·attribute">
168 <dt·class="sig·sig-object·py"·id="django.core.validators.RegexValidator.regex">169 <dt·class="sig·sig-object·py"·id="django.core.validators.RegexValidator.regex">
169 <span·class="sig-name·descname"><span·class="pre">regex</span></span><a·class="headerlink"·href="#django.core.validators.RegexValidator.regex"·title="Link·to·this·definition">¶</a></dt>170 <span·class="sig-name·descname"><span·class="pre">regex</span></span><a·class="headerlink"·href="#django.core.validators.RegexValidator.regex"·title="Link·to·this·definition">¶</a></dt>
170 <dd><p>The·regular·expression·pattern·to·search·for·within·the·provided171 <dd><p>The·regular·expression·pattern·to·search·for·within·the·provided
171 <code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>,·using·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#re.search"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re.search()</span></code></a>.·This·may·be·a·string·or·a172 <code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>,·using·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#re.search"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re.search()</span></code></a>.·This·may·be·a·string·or·a
172 pre-compiled·regular·expression·created·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#re.compile"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re.compile()</span></code></a>.173 pre-compiled·regular·expression·created·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#re.compile"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re.compile()</span></code></a>.
173 Defaults·to·the·empty·string,·which·will·be·found·in·every·possible174 Defaults·to·the·empty·string,·which·will·be·found·in·every·possible
174 <code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>.</p>175 <code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>.</p>
175 </dd></dl>176 </dd></dl>
  
176 <dl·class="py·attribute">177 <dl·class="py·attribute">
177 <dt·class="sig·sig-object·py"·id="django.core.validators.RegexValidator.message">178 <dt·class="sig·sig-object·py"·id="django.core.validators.RegexValidator.message">
178 <span·class="sig-name·descname"><span·class="pre">message</span></span><a·class="headerlink"·href="#django.core.validators.RegexValidator.message"·title="Link·to·this·definition">¶</a></dt>179 <span·class="sig-name·descname"><span·class="pre">message</span></span><a·class="headerlink"·href="#django.core.validators.RegexValidator.message"·title="Link·to·this·definition">¶</a></dt>
Offset 194, 30 lines modifiedOffset 195, 30 lines modified
194 <span·class="sig-name·descname"><span·class="pre">inverse_match</span></span><a·class="headerlink"·href="#django.core.validators.RegexValidator.inverse_match"·title="Link·to·this·definition">¶</a></dt>195 <span·class="sig-name·descname"><span·class="pre">inverse_match</span></span><a·class="headerlink"·href="#django.core.validators.RegexValidator.inverse_match"·title="Link·to·this·definition">¶</a></dt>
195 <dd><p>The·match·mode·for·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>.·Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>196 <dd><p>The·match·mode·for·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>.·Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
196 </dd></dl>197 </dd></dl>
  
197 <dl·class="py·attribute">198 <dl·class="py·attribute">
198 <dt·class="sig·sig-object·py"·id="django.core.validators.RegexValidator.flags">199 <dt·class="sig·sig-object·py"·id="django.core.validators.RegexValidator.flags">
199 <span·class="sig-name·descname"><span·class="pre">flags</span></span><a·class="headerlink"·href="#django.core.validators.RegexValidator.flags"·title="Link·to·this·definition">¶</a></dt>200 <span·class="sig-name·descname"><span·class="pre">flags</span></span><a·class="headerlink"·href="#django.core.validators.RegexValidator.flags"·title="Link·to·this·definition">¶</a></dt>
200 <dd><p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#contents-of-module-re"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">regex·flags</span></a>·used·when201 <dd><p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/re.html#contents-of-module-re"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">regex·flags</span></a>·used·when
201 compiling·the·regular·expression·string·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>.·If·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>202 compiling·the·regular·expression·string·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>.·If·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.regex"·title="django.core.validators.RegexValidator.regex"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">regex</span></code></a>
202 is·a·pre-compiled·regular·expression,·and·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.flags"·title="django.core.validators.RegexValidator.flags"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">flags</span></code></a>·is·overridden,203 is·a·pre-compiled·regular·expression,·and·<a·class="reference·internal"·href="#django.core.validators.RegexValidator.flags"·title="django.core.validators.RegexValidator.flags"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">flags</span></code></a>·is·overridden,
203 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#TypeError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TypeError</span></code></a>·is·raised.·Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>.</p>204 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#TypeError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TypeError</span></code></a>·is·raised.·Defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>.</p>
204 </dd></dl>205 </dd></dl>
  
205 </dd></dl>206 </dd></dl>
  
206 </section>207 </section>
207 <section·id="s-emailvalidator">208 <section·id="s-emailvalidator">
208 <span·id="emailvalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code><a·class="headerlink"·href="#emailvalidator"·title="Link·to·this·heading">¶</a></h3>209 <span·id="emailvalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code><a·class="headerlink"·href="#emailvalidator"·title="Link·to·this·heading">¶</a></h3>
209 <dl·class="py·class">210 <dl·class="py·class">
210 <dt·class="sig·sig-object·py"·id="django.core.validators.EmailValidator">211 <dt·class="sig·sig-object·py"·id="django.core.validators.EmailValidator">
211 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">EmailValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">allowlist</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/validators.py#L226"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.validators.EmailValidator"·title="Link·to·this·definition">¶</a></dt>212 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">EmailValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">allowlist</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/validators.py#L226"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.validators.EmailValidator"·title="Link·to·this·definition">¶</a></dt>
212 <dd><dl·class="field-list·simple">213 <dd><dl·class="field-list·simple">
213 <dt·class="field-odd">Parameters<span·class="colon">:</span></dt>214 <dt·class="field-odd">Parameetrid<span·class="colon">:</span></dt>
214 <dd·class="field-odd"><ul·class="simple">215 <dd·class="field-odd"><ul·class="simple">
215 <li><p><strong>message</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.EmailValidator.message"·title="django.core.validators.EmailValidator.message"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">message</span></code></a>.</p></li>216 <li><p><strong>message</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.EmailValidator.message"·title="django.core.validators.EmailValidator.message"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">message</span></code></a>.</p></li>
216 <li><p><strong>code</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.EmailValidator.code"·title="django.core.validators.EmailValidator.code"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">code</span></code></a>.</p></li>217 <li><p><strong>code</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.EmailValidator.code"·title="django.core.validators.EmailValidator.code"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">code</span></code></a>.</p></li>
217 <li><p><strong>allowlist</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.EmailValidator.allowlist"·title="django.core.validators.EmailValidator.allowlist"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allowlist</span></code></a>.</p></li>218 <li><p><strong>allowlist</strong>··If·not·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·overrides·<a·class="reference·internal"·href="#django.core.validators.EmailValidator.allowlist"·title="django.core.validators.EmailValidator.allowlist"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">allowlist</span></code></a>.</p></li>
218 </ul>219 </ul>
219 </dd>220 </dd>
220 </dl>221 </dl>
Offset 257, 15 lines modifiedOffset 258, 15 lines modified
257 </section>258 </section>
258 <section·id="s-domainnamevalidator">259 <section·id="s-domainnamevalidator">
259 <span·id="domainnamevalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">DomainNameValidator</span></code><a·class="headerlink"·href="#domainnamevalidator"·title="Link·to·this·heading">¶</a></h3>260 <span·id="domainnamevalidator"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">DomainNameValidator</span></code><a·class="headerlink"·href="#domainnamevalidator"·title="Link·to·this·heading">¶</a></h3>
260 <div·class="versionadded">261 <div·class="versionadded">
261 <span·class="title">New·in·Django·5.1.</span>·</div>262 <span·class="title">New·in·Django·5.1.</span>·</div>
262 <dl·class="py·class">263 <dl·class="py·class">
263 <dt·class="sig·sig-object·py"·id="django.core.validators.DomainNameValidator">264 <dt·class="sig·sig-object·py"·id="django.core.validators.DomainNameValidator">
264 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DomainNameValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">accept_idna</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/validators.py#L69"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.validators.DomainNameValidator"·title="Link·to·this·definition">¶</a></dt>265 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DomainNameValidator</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">accept_idna</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">code</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/validators.py#L69"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.validators.DomainNameValidator"·title="Link·to·this·definition">¶</a></dt>
265 <dd><p>A·<a·class="reference·internal"·href="#django.core.validators.RegexValidator"·title="django.core.validators.RegexValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RegexValidator</span></code></a>·subclass·that·ensures·a·value·looks·like·a·domain266 <dd><p>A·<a·class="reference·internal"·href="#django.core.validators.RegexValidator"·title="django.core.validators.RegexValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RegexValidator</span></code></a>·subclass·that·ensures·a·value·looks·like·a·domain
266 name.·Values·longer·than·255·characters·are·always·considered·invalid.·IP267 name.·Values·longer·than·255·characters·are·always·considered·invalid.·IP
267 addresses·are·not·accepted·as·valid·domain·names.</p>268 addresses·are·not·accepted·as·valid·domain·names.</p>
268 <p>In·addition·to·the·optional·arguments·of·its·parent·<a·class="reference·internal"·href="#django.core.validators.RegexValidator"·title="django.core.validators.RegexValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RegexValidator</span></code></a>269 <p>In·addition·to·the·optional·arguments·of·its·parent·<a·class="reference·internal"·href="#django.core.validators.RegexValidator"·title="django.core.validators.RegexValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RegexValidator</span></code></a>
269 class,·<code·class="docutils·literal·notranslate"><span·class="pre">DomainNameValidator</span></code>·accepts·an·extra·optional·attribute:</p>270 class,·<code·class="docutils·literal·notranslate"><span·class="pre">DomainNameValidator</span></code>·accepts·an·extra·optional·attribute:</p>
Max diff block lines reached; 41280/64573 bytes (63.93%) of diff not shown.
17.2 KB
html2text {}
Max HTML report size reached
20.8 KB
./usr/share/doc/python-django-doc/html/ref/views.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Built-in·Views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Built-in·Views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Meta-documentation·and·miscellany"·href="../misc/index.html"·/>15 ····<link·rel="next"·title="Meta-documentation·and·miscellany"·href="../misc/index.html"·/>
15 ····<link·rel="prev"·title="Validators"·href="validators.html"·/>16 ····<link·rel="prev"·title="Validators"·href="validators.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 135, 16 lines modifiedOffset 136, 16 lines modified
135 <dl·class="py·function">136 <dl·class="py·function">
136 <dt·class="sig·sig-object·py"·id="django.views.defaults.page_not_found">137 <dt·class="sig·sig-object·py"·id="django.views.defaults.page_not_found">
137 <span·class="sig-prename·descclassname"><span·class="pre">defaults.</span></span><span·class="sig-name·descname"><span·class="pre">page_not_found</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exception</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'404.html'</span></span></em>)<a·class="headerlink"·href="#django.views.defaults.page_not_found"·title="Link·to·this·definition">¶</a></dt>138 <span·class="sig-prename·descclassname"><span·class="pre">defaults.</span></span><span·class="sig-name·descname"><span·class="pre">page_not_found</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exception</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'404.html'</span></span></em>)<a·class="headerlink"·href="#django.views.defaults.page_not_found"·title="Link·to·this·definition">¶</a></dt>
138 <dd></dd></dl>139 <dd></dd></dl>
  
139 <p>When·you·raise·<a·class="reference·internal"·href="../topics/http/views.html#django.http.Http404"·title="django.http.Http404"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">Http404</span></code></a>·from·within·a·view,·Django·loads·a140 <p>When·you·raise·<a·class="reference·internal"·href="../topics/http/views.html#django.http.Http404"·title="django.http.Http404"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">Http404</span></code></a>·from·within·a·view,·Django·loads·a
140 special·view·devoted·to·handling·404·errors.·By·default,·it’s·the·view141 special·view·devoted·to·handling·404·errors.·By·default,·it’s·the·view
141 <a·class="reference·internal"·href="#django.views.defaults.page_not_found"·title="django.views.defaults.page_not_found"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.views.defaults.page_not_found()</span></code></a>,·which·either·produces·a·Not142 <a·class="reference·internal"·href="#django.views.defaults.page_not_found"·title="django.views.defaults.page_not_found"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.views.defaults.page_not_found()</span></code></a>,·which·either·produces·a·Not
142 Found·message·or·loads·and·renders·the·template·<code·class="docutils·literal·notranslate"><span·class="pre">404.html</span></code>·if·you·created·it143 Found·message·or·loads·and·renders·the·template·<code·class="docutils·literal·notranslate"><span·class="pre">404.html</span></code>·if·you·created·it
143 in·your·root·template·directory.</p>144 in·your·root·template·directory.</p>
144 <p>The·default·404·view·will·pass·two·variables·to·the·template:·<code·class="docutils·literal·notranslate"><span·class="pre">request_path</span></code>,145 <p>The·default·404·view·will·pass·two·variables·to·the·template:·<code·class="docutils·literal·notranslate"><span·class="pre">request_path</span></code>,
145 which·is·the·URL·that·resulted·in·the·error,·and·<code·class="docutils·literal·notranslate"><span·class="pre">exception</span></code>,·which·is·a146 which·is·the·URL·that·resulted·in·the·error,·and·<code·class="docutils·literal·notranslate"><span·class="pre">exception</span></code>,·which·is·a
146 useful·representation·of·the·exception·that·triggered·the·view·(e.g.·containing147 useful·representation·of·the·exception·that·triggered·the·view·(e.g.·containing
147 any·message·passed·to·a·specific·<code·class="docutils·literal·notranslate"><span·class="pre">Http404</span></code>·instance).</p>148 any·message·passed·to·a·specific·<code·class="docutils·literal·notranslate"><span·class="pre">Http404</span></code>·instance).</p>
148 <p>Three·things·to·note·about·404·views:</p>149 <p>Three·things·to·note·about·404·views:</p>
149 <ul·class="simple">150 <ul·class="simple">
Offset 164, 15 lines modifiedOffset 165, 15 lines modified
164 <dt·class="sig·sig-object·py"·id="django.views.defaults.server_error">165 <dt·class="sig·sig-object·py"·id="django.views.defaults.server_error">
165 <span·class="sig-prename·descclassname"><span·class="pre">defaults.</span></span><span·class="sig-name·descname"><span·class="pre">server_error</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'500.html'</span></span></em>)<a·class="headerlink"·href="#django.views.defaults.server_error"·title="Link·to·this·definition">¶</a></dt>166 <span·class="sig-prename·descclassname"><span·class="pre">defaults.</span></span><span·class="sig-name·descname"><span·class="pre">server_error</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'500.html'</span></span></em>)<a·class="headerlink"·href="#django.views.defaults.server_error"·title="Link·to·this·definition">¶</a></dt>
166 <dd></dd></dl>167 <dd></dd></dl>
  
167 <p>Similarly,·Django·executes·special-case·behavior·in·the·case·of·runtime·errors168 <p>Similarly,·Django·executes·special-case·behavior·in·the·case·of·runtime·errors
168 in·view·code.·If·a·view·results·in·an·exception,·Django·will,·by·default,·call169 in·view·code.·If·a·view·results·in·an·exception,·Django·will,·by·default,·call
169 the·view·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.defaults.server_error</span></code>,·which·either·produces·a170 the·view·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.defaults.server_error</span></code>,·which·either·produces·a
170 Server·Error·message·or·loads·and·renders·the·template·<code·class="docutils·literal·notranslate"><span·class="pre">500.html</span></code>·if·you171 Server·Error·message·or·loads·and·renders·the·template·<code·class="docutils·literal·notranslate"><span·class="pre">500.html</span></code>·if·you
171 created·it·in·your·root·template·directory.</p>172 created·it·in·your·root·template·directory.</p>
172 <p>The·default·500·view·passes·no·variables·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">500.html</span></code>·template·and·is173 <p>The·default·500·view·passes·no·variables·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">500.html</span></code>·template·and·is
173 rendered·with·an·empty·<code·class="docutils·literal·notranslate"><span·class="pre">Context</span></code>·to·lessen·the·chance·of·additional·errors.</p>174 rendered·with·an·empty·<code·class="docutils·literal·notranslate"><span·class="pre">Context</span></code>·to·lessen·the·chance·of·additional·errors.</p>
174 <p>If·<a·class="reference·internal"·href="settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·(in·your·settings·module),·then175 <p>If·<a·class="reference·internal"·href="settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·(in·your·settings·module),·then
175 your·500·view·will·never·be·used,·and·the·traceback·will·be·displayed176 your·500·view·will·never·be·used,·and·the·traceback·will·be·displayed
176 instead,·with·some·debug·information.</p>177 instead,·with·some·debug·information.</p>
177 </section>178 </section>
Offset 184, 15 lines modifiedOffset 185, 15 lines modified
184 <dd></dd></dl>185 <dd></dd></dl>
  
185 <p>In·the·same·vein·as·the·404·and·500·views,·Django·has·a·view·to·handle·403186 <p>In·the·same·vein·as·the·404·and·500·views,·Django·has·a·view·to·handle·403
186 Forbidden·errors.·If·a·view·results·in·a·403·exception·then·Django·will,·by187 Forbidden·errors.·If·a·view·results·in·a·403·exception·then·Django·will,·by
187 default,·call·the·view·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.defaults.permission_denied</span></code>.</p>188 default,·call·the·view·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.defaults.permission_denied</span></code>.</p>
188 <p>This·view·loads·and·renders·the·template·<code·class="docutils·literal·notranslate"><span·class="pre">403.html</span></code>·in·your·root·template189 <p>This·view·loads·and·renders·the·template·<code·class="docutils·literal·notranslate"><span·class="pre">403.html</span></code>·in·your·root·template
189 directory,·or·if·this·file·does·not·exist,·instead·serves·the·text190 directory,·or·if·this·file·does·not·exist,·instead·serves·the·text
190 403·Forbidden,·as·per·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-15.5.4"><strong>RFC·9110#section-15.5.4</strong></a>·(the·HTTP·1.1191 403·Forbidden,·as·per·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-15.5.4"><strong>RFC·9110#section-15.5.4</strong></a>·(the·HTTP·1.1
191 Specification).·The·template·context·contains·<code·class="docutils·literal·notranslate"><span·class="pre">exception</span></code>,·which·is·the192 Specification).·The·template·context·contains·<code·class="docutils·literal·notranslate"><span·class="pre">exception</span></code>,·which·is·the
192 string·representation·of·the·exception·that·triggered·the·view.</p>193 string·representation·of·the·exception·that·triggered·the·view.</p>
193 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.views.defaults.permission_denied</span></code>·is·triggered·by·a194 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.views.defaults.permission_denied</span></code>·is·triggered·by·a
194 <a·class="reference·internal"·href="exceptions.html#django.core.exceptions.PermissionDenied"·title="django.core.exceptions.PermissionDenied"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">PermissionDenied</span></code></a>·exception.·To·deny·access·in·a195 <a·class="reference·internal"·href="exceptions.html#django.core.exceptions.PermissionDenied"·title="django.core.exceptions.PermissionDenied"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">PermissionDenied</span></code></a>·exception.·To·deny·access·in·a
195 view·you·can·use·code·like·this:</p>196 view·you·can·use·code·like·this:</p>
196 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.core.exceptions</span>·<span·class="kn">import</span>·<span·class="n">PermissionDenied</span>197 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.core.exceptions</span>·<span·class="kn">import</span>·<span·class="n">PermissionDenied</span>
  
Offset 210, 15 lines modifiedOffset 211, 15 lines modified
210 <dt·class="sig·sig-object·py"·id="django.views.defaults.bad_request">211 <dt·class="sig·sig-object·py"·id="django.views.defaults.bad_request">
211 <span·class="sig-prename·descclassname"><span·class="pre">defaults.</span></span><span·class="sig-name·descname"><span·class="pre">bad_request</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exception</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'400.html'</span></span></em>)<a·class="headerlink"·href="#django.views.defaults.bad_request"·title="Link·to·this·definition">¶</a></dt>212 <span·class="sig-prename·descclassname"><span·class="pre">defaults.</span></span><span·class="sig-name·descname"><span·class="pre">bad_request</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exception</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'400.html'</span></span></em>)<a·class="headerlink"·href="#django.views.defaults.bad_request"·title="Link·to·this·definition">¶</a></dt>
212 <dd></dd></dl>213 <dd></dd></dl>
  
213 <p>When·a·<a·class="reference·internal"·href="exceptions.html#django.core.exceptions.SuspiciousOperation"·title="django.core.exceptions.SuspiciousOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">SuspiciousOperation</span></code></a>·is·raised·in·Django,214 <p>When·a·<a·class="reference·internal"·href="exceptions.html#django.core.exceptions.SuspiciousOperation"·title="django.core.exceptions.SuspiciousOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">SuspiciousOperation</span></code></a>·is·raised·in·Django,
214 it·may·be·handled·by·a·component·of·Django·(for·example·resetting·the·session215 it·may·be·handled·by·a·component·of·Django·(for·example·resetting·the·session
215 data).·If·not·specifically·handled,·Django·will·consider·the·current·request·a216 data).·If·not·specifically·handled,·Django·will·consider·the·current·request·a
216 bad·request·instead·of·a·server·error.</p>217 bad·request·instead·of·a·server·error.</p>
217 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.views.defaults.bad_request</span></code>,·is·otherwise·very·similar·to·the218 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.views.defaults.bad_request</span></code>,·is·otherwise·very·similar·to·the
218 <code·class="docutils·literal·notranslate"><span·class="pre">server_error</span></code>·view,·but·returns·with·the·status·code·400·indicating·that219 <code·class="docutils·literal·notranslate"><span·class="pre">server_error</span></code>·view,·but·returns·with·the·status·code·400·indicating·that
219 the·error·condition·was·the·result·of·a·client·operation.·By·default,·nothing220 the·error·condition·was·the·result·of·a·client·operation.·By·default,·nothing
220 related·to·the·exception·that·triggered·the·view·is·passed·to·the·template221 related·to·the·exception·that·triggered·the·view·is·passed·to·the·template
221 context,·as·the·exception·message·might·contain·sensitive·information·like222 context,·as·the·exception·message·might·contain·sensitive·information·like
222 filesystem·paths.</p>223 filesystem·paths.</p>
223 <p><code·class="docutils·literal·notranslate"><span·class="pre">bad_request</span></code>·views·are·also·only·used·when·<a·class="reference·internal"·href="settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>224 <p><code·class="docutils·literal·notranslate"><span·class="pre">bad_request</span></code>·views·are·also·only·used·when·<a·class="reference·internal"·href="settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
Offset 233, 15 lines modifiedOffset 234, 15 lines modified
233 ······234 ······
234 ········235 ········
235 ··········<div·class="yui-b"·id="sidebar">236 ··········<div·class="yui-b"·id="sidebar">
236 ············237 ············
237 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">238 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
238 ········<div·class="sphinxsidebarwrapper">239 ········<div·class="sphinxsidebarwrapper">
239 ··<div>240 ··<div>
240 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>241 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
241 ····<ul>242 ····<ul>
242 <li><a·class="reference·internal"·href="#">Built-in·Views</a><ul>243 <li><a·class="reference·internal"·href="#">Built-in·Views</a><ul>
243 <li><a·class="reference·internal"·href="#serving-files-in-development">Serving·files·in·development</a></li>244 <li><a·class="reference·internal"·href="#serving-files-in-development">Serving·files·in·development</a></li>
244 <li><a·class="reference·internal"·href="#error-views">Error·views</a><ul>245 <li><a·class="reference·internal"·href="#error-views">Error·views</a><ul>
245 <li><a·class="reference·internal"·href="#the-404-page-not-found-view">The·404·(page·not·found)·view</a></li>246 <li><a·class="reference·internal"·href="#the-404-page-not-found-view">The·404·(page·not·found)·view</a></li>
246 <li><a·class="reference·internal"·href="#the-500-server-error-view">The·500·(server·error)·view</a></li>247 <li><a·class="reference·internal"·href="#the-500-server-error-view">The·500·(server·error)·view</a></li>
247 <li><a·class="reference·internal"·href="#the-403-http-forbidden-view">The·403·(HTTP·Forbidden)·view</a></li>248 <li><a·class="reference·internal"·href="#the-403-http-forbidden-view">The·403·(HTTP·Forbidden)·view</a></li>
Offset 250, 37 lines modifiedOffset 251, 37 lines modified
250 </li>251 </li>
251 </ul>252 </ul>
252 </li>253 </li>
253 </ul>254 </ul>
  
254 ··</div>255 ··</div>
Max diff block lines reached; 1418/13380 bytes (10.60%) of diff not shown.
7.63 KB
html2text {}
Max HTML report size reached
14.4 KB
./usr/share/doc/python-django-doc/html/releases/0.95.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·version·0.95·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·version·0.95·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Archive·of·security·issues"·href="security.html"·/>15 ····<link·rel="next"·title="Archive·of·security·issues"·href="security.html"·/>
15 ····<link·rel="prev"·title="Django·version·0.96·release·notes"·href="0.96.html"·/>16 ····<link·rel="prev"·title="Django·version·0.96·release·notes"·href="0.96.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 32 lines modifiedOffset 89, 32 lines modified
88 <p>This·release·is·intended·to·provide·a·stable·reference·point·for·developers89 <p>This·release·is·intended·to·provide·a·stable·reference·point·for·developers
89 wanting·to·work·on·production-level·applications·that·use·Django.</p>90 wanting·to·work·on·production-level·applications·that·use·Django.</p>
90 <p>However,·it’s·not·the·1.0·release,·and·we’ll·be·introducing·further·changes91 <p>However,·it’s·not·the·1.0·release,·and·we’ll·be·introducing·further·changes
91 before·1.0.·For·a·clear·look·at·which·areas·of·the·framework·will·change·(and92 before·1.0.·For·a·clear·look·at·which·areas·of·the·framework·will·change·(and
92 which·ones·will·<em>not</em>·change)·before·1.0,·see·the·<code·class="docutils·literal·notranslate"><span·class="pre">api-stability.txt</span></code>·file,93 which·ones·will·<em>not</em>·change)·before·1.0,·see·the·<code·class="docutils·literal·notranslate"><span·class="pre">api-stability.txt</span></code>·file,
93 which·lives·in·the·docs/·directory·of·the·distribution.</p>94 which·lives·in·the·docs/·directory·of·the·distribution.</p>
94 <p>You·may·have·a·need·to·use·some·of·the·features·that·are·marked·as95 <p>You·may·have·a·need·to·use·some·of·the·features·that·are·marked·as
95 subject·to·API·change·in·that·document,·but·that’s·OK·with·us·as·long·as·it’s96 subject·to·API·change·in·that·document,·but·that’s·OK·with·us·as·long·as·it’s
96 OK·with·you,·and·as·long·as·you·understand·APIs·may·change·in·the·future.</p>97 OK·with·you,·and·as·long·as·you·understand·APIs·may·change·in·the·future.</p>
97 <p>Fortunately,·most·of·Django’s·core·APIs·won’t·be·changing·before·version·1.0.98 <p>Fortunately,·most·of·Django’s·core·APIs·won’t·be·changing·before·version·1.0.
98 There·likely·won’t·be·as·big·of·a·change·between·0.95·and·1.0·versions·as·there99 There·likely·won’t·be·as·big·of·a·change·between·0.95·and·1.0·versions·as·there
99 was·between·0.91·and·0.95.</p>100 was·between·0.91·and·0.95.</p>
100 </section>101 </section>
101 <section·id="s-changes-and-new-features">102 <section·id="s-changes-and-new-features">
102 <span·id="changes-and-new-features"></span><h2>Changes·and·new·features<a·class="headerlink"·href="#changes-and-new-features"·title="Link·to·this·heading">¶</a></h2>103 <span·id="changes-and-new-features"></span><h2>Changes·and·new·features<a·class="headerlink"·href="#changes-and-new-features"·title="Link·to·this·heading">¶</a></h2>
103 <p>The·major·changes·in·this·release·(for·developers·currently·using·the·0.91104 <p>The·major·changes·in·this·release·(for·developers·currently·using·the·0.91
104 release)·are·a·result·of·merging·the·magic-removal·branch·of·development.105 release)·are·a·result·of·merging·the·magic-removal·branch·of·development.
105 This·branch·removed·a·number·of·constraints·in·the·way·Django·code·had·to·be106 This·branch·removed·a·number·of·constraints·in·the·way·Django·code·had·to·be
106 written·that·were·a·consequence·of·decisions·made·in·the·early·days·of·Django,107 written·that·were·a·consequence·of·decisions·made·in·the·early·days·of·Django,
107 prior·to·its·open-source·release.·It’s·now·possible·to·write·more·natural,108 prior·to·its·open-source·release.·It’s·now·possible·to·write·more·natural,
108 Pythonic·code·that·works·as·expected,·and·there’s·less·black·magic·happening109 Pythonic·code·that·works·as·expected,·and·there’s·less·black·magic·happening
109 behind·the·scenes.</p>110 behind·the·scenes.</p>
110 <p>Aside·from·that,·another·main·theme·of·this·release·is·a·dramatic·increase·in111 <p>Aside·from·that,·another·main·theme·of·this·release·is·a·dramatic·increase·in
111 usability.·We’ve·made·countless·improvements·in·error·messages,·documentation,112 usability.·We’ve·made·countless·improvements·in·error·messages,·documentation,
112 etc.,·to·improve·developers·quality·of·life.</p>113 etc.,·to·improve·developers·quality·of·life.</p>
113 <p>The·new·features·and·changes·introduced·in·0.95·include:</p>114 <p>The·new·features·and·changes·introduced·in·0.95·include:</p>
114 <ul·class="simple">115 <ul·class="simple">
115 <li><p>Django·now·uses·a·more·consistent·and·natural·filtering·interface·for116 <li><p>Django·now·uses·a·more·consistent·and·natural·filtering·interface·for
116 retrieving·objects·from·the·database.</p></li>117 retrieving·objects·from·the·database.</p></li>
117 <li><p>User-defined·models,·functions·and·constants·now·appear·in·the·module118 <li><p>User-defined·models,·functions·and·constants·now·appear·in·the·module
118 namespace·they·were·defined·in.·(Previously·everything·was·magically119 namespace·they·were·defined·in.·(Previously·everything·was·magically
119 transferred·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.models.*</span></code>·namespace.)</p></li>120 transferred·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.models.*</span></code>·namespace.)</p></li>
Offset 122, 15 lines modifiedOffset 123, 15 lines modified
122 want·to·use·these·applications,·you·no·longer·have·to·install·their123 want·to·use·these·applications,·you·no·longer·have·to·install·their
123 database·tables.</p></li>124 database·tables.</p></li>
124 <li><p>Django·now·has·support·for·managing·database·transactions.</p></li>125 <li><p>Django·now·has·support·for·managing·database·transactions.</p></li>
125 <li><p>We’ve·added·the·ability·to·write·custom·authentication·and·authorization126 <li><p>We’ve·added·the·ability·to·write·custom·authentication·and·authorization
126 backends·for·authenticating·users·against·alternate·systems,·such·as127 backends·for·authenticating·users·against·alternate·systems,·such·as
127 LDAP.</p></li>128 LDAP.</p></li>
128 <li><p>We’ve·made·it·easier·to·add·custom·table-level·functions·to·models,129 <li><p>We’ve·made·it·easier·to·add·custom·table-level·functions·to·models,
129 through·a·new·Manager·API.</p></li>130 through·a·new·Manager·API.</p></li>
130 <li><p>It’s·now·possible·to·use·Django·without·a·database.·This·simply·means131 <li><p>It’s·now·possible·to·use·Django·without·a·database.·This·simply·means
131 that·the·framework·no·longer·requires·you·to·have·a·working·database·set132 that·the·framework·no·longer·requires·you·to·have·a·working·database·set
132 up·just·to·serve·dynamic·pages.·In·other·words,·you·can·just·use133 up·just·to·serve·dynamic·pages.·In·other·words,·you·can·just·use
133 URLconfs/views·on·their·own.·Previously,·the·framework·required·that·a134 URLconfs/views·on·their·own.·Previously,·the·framework·required·that·a
134 database·be·configured,·regardless·of·whether·you·actually·used·it.</p></li>135 database·be·configured,·regardless·of·whether·you·actually·used·it.</p></li>
135 <li><p>It’s·now·more·explicit·and·natural·to·override·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">delete()</span></code>136 <li><p>It’s·now·more·explicit·and·natural·to·override·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">delete()</span></code>
136 methods·on·models,·rather·than·needing·to·hook·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">pre_save()</span></code>·and137 methods·on·models,·rather·than·needing·to·hook·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">pre_save()</span></code>·and
Offset 178, 49 lines modifiedOffset 179, 49 lines modified
178 ······179 ······
179 ········180 ········
180 ··········<div·class="yui-b"·id="sidebar">181 ··········<div·class="yui-b"·id="sidebar">
181 ············182 ············
182 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">183 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
183 ········<div·class="sphinxsidebarwrapper">184 ········<div·class="sphinxsidebarwrapper">
184 ··<div>185 ··<div>
185 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>186 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
186 ····<ul>187 ····<ul>
187 <li><a·class="reference·internal"·href="#">Django·version·0.95·release·notes</a><ul>188 <li><a·class="reference·internal"·href="#">Django·version·0.95·release·notes</a><ul>
188 <li><a·class="reference·internal"·href="#suitability-and-api-stability">Suitability·and·API·stability</a></li>189 <li><a·class="reference·internal"·href="#suitability-and-api-stability">Suitability·and·API·stability</a></li>
189 <li><a·class="reference·internal"·href="#changes-and-new-features">Changes·and·new·features</a></li>190 <li><a·class="reference·internal"·href="#changes-and-new-features">Changes·and·new·features</a></li>
190 <li><a·class="reference·internal"·href="#problem-reports-and-getting-help">Problem·reports·and·getting·help</a></li>191 <li><a·class="reference·internal"·href="#problem-reports-and-getting-help">Problem·reports·and·getting·help</a></li>
191 </ul>192 </ul>
192 </li>193 </li>
193 </ul>194 </ul>
  
194 ··</div>195 ··</div>
195 ··<div>196 ··<div>
196 ····<h4>Previous·topic</h4>197 ····<h4>Eelmine·teema</h4>
197 ····<p·class="topless"><a·href="0.96.html"198 ····<p·class="topless"><a·href="0.96.html"
198 ··························title="previous·chapter">Django·version·0.96·release·notes</a></p>199 ··························title="eelmine·jaotis">Django·version·0.96·release·notes</a></p>
199 ··</div>200 ··</div>
200 ··<div>201 ··<div>
201 ····<h4>Next·topic</h4>202 ····<h4>Järgmine·teema</h4>
202 ····<p·class="topless"><a·href="security.html"203 ····<p·class="topless"><a·href="security.html"
203 ··························title="next·chapter">Archive·of·security·issues</a></p>204 ··························title="järgmine·jaotis">Archive·of·security·issues</a></p>
204 ··</div>205 ··</div>
205 <search·id="searchbox"·style="display:·none"·role="search">206 <search·id="searchbox"·style="display:·none"·role="search">
206 ··<h3·id="searchlabel">Quick·search</h3>207 ··<h3·id="searchlabel">Kiirotsing</h3>
207 ····<div·class="searchformwrapper">208 ····<div·class="searchformwrapper">
208 ····<form·class="search"·action="../search.html"·method="get">209 ····<form·class="search"·action="../search.html"·method="get">
209 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>210 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
210 ······<input·type="submit"·value="Go"·/>211 ······<input·type="submit"·value="Otsi"·/>
211 ····</form>212 ····</form>
212 ····</div>213 ····</div>
213 </search>214 </search>
214 <script>document.getElementById('searchbox').style.display·=·"block"</script>215 <script>document.getElementById('searchbox').style.display·=·"block"</script>
Max diff block lines reached; 247/8347 bytes (2.96%) of diff not shown.
6.17 KB
html2text {}
Max HTML report size reached
19.8 KB
./usr/share/doc/python-django-doc/html/releases/0.96.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·version·0.96·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·version·0.96·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·version·0.95·release·notes"·href="0.95.html"·/>15 ····<link·rel="next"·title="Django·version·0.95·release·notes"·href="0.95.html"·/>
15 ····<link·rel="prev"·title="Porting·your·apps·from·Django·0.96·to·1.0"·href="1.0-porting-guide.html"·/>16 ····<link·rel="prev"·title="Porting·your·apps·from·Django·0.96·to·1.0"·href="1.0-porting-guide.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 32 lines modifiedOffset 100, 32 lines modified
99 <span·id="mysqldb-version-requirement"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·version·requirement<a·class="headerlink"·href="#mysqldb-version-requirement"·title="Link·to·this·heading">¶</a></h3>100 <span·id="mysqldb-version-requirement"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·version·requirement<a·class="headerlink"·href="#mysqldb-version-requirement"·title="Link·to·this·heading">¶</a></h3>
100 <p>Due·to·a·bug·in·older·versions·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·Python·module·(which101 <p>Due·to·a·bug·in·older·versions·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·Python·module·(which
101 Django·uses·to·connect·to·MySQL·databases),·Django’s·MySQL·backend·now102 Django·uses·to·connect·to·MySQL·databases),·Django’s·MySQL·backend·now
102 requires·version·1.2.1p2·or·higher·of·<code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>,·and·will·raise103 requires·version·1.2.1p2·or·higher·of·<code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>,·and·will·raise
103 exceptions·if·you·attempt·to·use·an·older·version.</p>104 exceptions·if·you·attempt·to·use·an·older·version.</p>
104 <p>If·you’re·currently·unable·to·upgrade·your·copy·of·<code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·to·meet105 <p>If·you’re·currently·unable·to·upgrade·your·copy·of·<code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·to·meet
105 this·requirement,·a·separate,·backwards-compatible·backend,·called106 this·requirement,·a·separate,·backwards-compatible·backend,·called
106 mysql_old,·has·been·added·to·Django.·To·use·this·backend,·change107 mysql_old,·has·been·added·to·Django.·To·use·this·backend,·change
107 the·<code·class="docutils·literal·notranslate"><span·class="pre">DATABASE_ENGINE</span></code>·setting·in·your·Django·settings·file·from·this:</p>108 the·<code·class="docutils·literal·notranslate"><span·class="pre">DATABASE_ENGINE</span></code>·setting·in·your·Django·settings·file·from·this:</p>
108 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">DATABASE_ENGINE</span>·<span·class="o">=</span>·<span·class="s2">&quot;mysql&quot;</span>109 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">DATABASE_ENGINE</span>·<span·class="o">=</span>·<span·class="s2">&quot;mysql&quot;</span>
109 </pre></div>110 </pre></div>
110 </div>111 </div>
111 <p>to·this:</p>112 <p>to·this:</p>
112 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">DATABASE_ENGINE</span>·<span·class="o">=</span>·<span·class="s2">&quot;mysql_old&quot;</span>113 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">DATABASE_ENGINE</span>·<span·class="o">=</span>·<span·class="s2">&quot;mysql_old&quot;</span>
113 </pre></div>114 </pre></div>
114 </div>115 </div>
115 <p>However,·we·strongly·encourage·MySQL·users·to·upgrade·to·a·more·recent116 <p>However,·we·strongly·encourage·MySQL·users·to·upgrade·to·a·more·recent
116 version·of·<code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·as·soon·as·possible,·The·mysql_old·backend·is117 version·of·<code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·as·soon·as·possible,·The·mysql_old·backend·is
117 provided·only·to·ease·this·transition,·and·is·considered·deprecated;118 provided·only·to·ease·this·transition,·and·is·considered·deprecated;
118 aside·from·any·necessary·security·fixes,·it·will·not·be·actively119 aside·from·any·necessary·security·fixes,·it·will·not·be·actively
119 maintained,·and·it·will·be·removed·in·a·future·release·of·Django.</p>120 maintained,·and·it·will·be·removed·in·a·future·release·of·Django.</p>
120 <p>Also,·note·that·some·features,·like·the·new·<code·class="docutils·literal·notranslate"><span·class="pre">DATABASE_OPTIONS</span></code>121 <p>Also,·note·that·some·features,·like·the·new·<code·class="docutils·literal·notranslate"><span·class="pre">DATABASE_OPTIONS</span></code>
121 setting·(see·the·<a·class="reference·internal"·href="../ref/databases.html"><span·class="doc">databases·documentation</span></a>·for·details),122 setting·(see·the·<a·class="reference·internal"·href="../ref/databases.html"><span·class="doc">databases·documentation</span></a>·for·details),
122 are·only·available·on·the·mysql·backend,·and·will·not·be·made·available·for123 are·only·available·on·the·mysql·backend,·and·will·not·be·made·available·for
123 mysql_old.</p>124 mysql_old.</p>
124 </section>125 </section>
125 <section·id="s-database-constraint-names-changed">126 <section·id="s-database-constraint-names-changed">
126 <span·id="database-constraint-names-changed"></span><h3>Database·constraint·names·changed<a·class="headerlink"·href="#database-constraint-names-changed"·title="Link·to·this·heading">¶</a></h3>127 <span·id="database-constraint-names-changed"></span><h3>Database·constraint·names·changed<a·class="headerlink"·href="#database-constraint-names-changed"·title="Link·to·this·heading">¶</a></h3>
127 <p>The·format·of·the·constraint·names·Django·generates·for·foreign·key128 <p>The·format·of·the·constraint·names·Django·generates·for·foreign·key
128 references·have·changed·slightly.·These·names·are·generally·only·used129 references·have·changed·slightly.·These·names·are·generally·only·used
129 when·it·is·not·possible·to·put·the·reference·directly·on·the·affected130 when·it·is·not·possible·to·put·the·reference·directly·on·the·affected
130 column,·so·they·are·not·always·visible.</p>131 column,·so·they·are·not·always·visible.</p>
Offset 158, 15 lines modifiedOffset 159, 15 lines modified
158 <li><p>The·vestigial·<code·class="docutils·literal·notranslate"><span·class="pre">install</span></code>·command·has·been·removed.·Use·<code·class="docutils·literal·notranslate"><span·class="pre">syncdb</span></code>.</p></li>159 <li><p>The·vestigial·<code·class="docutils·literal·notranslate"><span·class="pre">install</span></code>·command·has·been·removed.·Use·<code·class="docutils·literal·notranslate"><span·class="pre">syncdb</span></code>.</p></li>
159 </ul>160 </ul>
160 </section>161 </section>
161 <section·id="s-backslash-escaping-changed">162 <section·id="s-backslash-escaping-changed">
162 <span·id="backslash-escaping-changed"></span><h3>Backslash·escaping·changed<a·class="headerlink"·href="#backslash-escaping-changed"·title="Link·to·this·heading">¶</a></h3>163 <span·id="backslash-escaping-changed"></span><h3>Backslash·escaping·changed<a·class="headerlink"·href="#backslash-escaping-changed"·title="Link·to·this·heading">¶</a></h3>
163 <p>The·Django·database·API·now·escapes·backslashes·given·as·query·parameters.·If164 <p>The·Django·database·API·now·escapes·backslashes·given·as·query·parameters.·If
164 you·have·any·database·API·code·that·matches·backslashes,·and·it·was·working·before165 you·have·any·database·API·code·that·matches·backslashes,·and·it·was·working·before
165 (despite·the·lack·of·escaping),·you’ll·have·to·change·your·code·to·unescape·the166 (despite·the·lack·of·escaping),·you’ll·have·to·change·your·code·to·unescape·the
166 slashes·one·level.</p>167 slashes·one·level.</p>
167 <p>For·example,·this·used·to·work:</p>168 <p>For·example,·this·used·to·work:</p>
168 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·Find·text·containing·a·single·backslash</span>169 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·Find·text·containing·a·single·backslash</span>
169 <span·class="n">MyModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">text__contains</span><span·class="o">=</span><span·class="s2">&quot;</span><span·class="se">\\\\</span><span·class="s2">&quot;</span><span·class="p">)</span>170 <span·class="n">MyModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">text__contains</span><span·class="o">=</span><span·class="s2">&quot;</span><span·class="se">\\\\</span><span·class="s2">&quot;</span><span·class="p">)</span>
170 </pre></div>171 </pre></div>
171 </div>172 </div>
172 <p>The·above·is·now·incorrect,·and·should·be·rewritten·as:</p>173 <p>The·above·is·now·incorrect,·and·should·be·rewritten·as:</p>
Offset 256, 16 lines modifiedOffset 257, 16 lines modified
256 <p>Note·that·both·syntaxes·(strings·and·callables)·are·valid,·and·will·continue·to257 <p>Note·that·both·syntaxes·(strings·and·callables)·are·valid,·and·will·continue·to
257 be·valid·for·the·foreseeable·future.</p>258 be·valid·for·the·foreseeable·future.</p>
258 </section>259 </section>
259 <section·id="s-the-test-framework">260 <section·id="s-the-test-framework">
260 <span·id="the-test-framework"></span><h3>The·test·framework<a·class="headerlink"·href="#the-test-framework"·title="Link·to·this·heading">¶</a></h3>261 <span·id="the-test-framework"></span><h3>The·test·framework<a·class="headerlink"·href="#the-test-framework"·title="Link·to·this·heading">¶</a></h3>
261 <p>Django·now·includes·a·test·framework·so·you·can·start·transmuting·fear·into262 <p>Django·now·includes·a·test·framework·so·you·can·start·transmuting·fear·into
262 boredom·(with·apologies·to·Kent·Beck).·You·can·write·tests·based·on263 boredom·(with·apologies·to·Kent·Beck).·You·can·write·tests·based·on
263 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/doctest.html#module-doctest"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">doctest</span></code></a>·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>·and·test·your·views·with·a·simple·test·client.</p>264 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/doctest.html#module-doctest"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">doctest</span></code></a>·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>·and·test·your·views·with·a·simple·test·client.</p>
264 <p>There·is·also·new·support·for·fixtures··initial·data,·stored·in·any·of·the265 <p>There·is·also·new·support·for·fixtures··initial·data,·stored·in·any·of·the
265 supported·<a·class="reference·internal"·href="../topics/serialization.html"><span·class="doc">serialization·formats</span></a>,·that·will·be266 supported·<a·class="reference·internal"·href="../topics/serialization.html"><span·class="doc">serialization·formats</span></a>,·that·will·be
266 loaded·into·your·database·at·the·start·of·your·tests.·This·makes·testing·with267 loaded·into·your·database·at·the·start·of·your·tests.·This·makes·testing·with
267 real·data·much·easier.</p>268 real·data·much·easier.</p>
268 <p>See·<a·class="reference·internal"·href="../topics/testing/index.html"><span·class="doc">the·testing·documentation</span></a>·for·the·full·details.</p>269 <p>See·<a·class="reference·internal"·href="../topics/testing/index.html"><span·class="doc">the·testing·documentation</span></a>·for·the·full·details.</p>
269 </section>270 </section>
270 <section·id="s-improvements-to-the-admin-interface">271 <section·id="s-improvements-to-the-admin-interface">
271 <span·id="improvements-to-the-admin-interface"></span><h3>Improvements·to·the·admin·interface<a·class="headerlink"·href="#improvements-to-the-admin-interface"·title="Link·to·this·heading">¶</a></h3>272 <span·id="improvements-to-the-admin-interface"></span><h3>Improvements·to·the·admin·interface<a·class="headerlink"·href="#improvements-to-the-admin-interface"·title="Link·to·this·heading">¶</a></h3>
Offset 304, 15 lines modifiedOffset 305, 15 lines modified
304 ······305 ······
305 ········306 ········
306 ··········<div·class="yui-b"·id="sidebar">307 ··········<div·class="yui-b"·id="sidebar">
307 ············308 ············
308 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">309 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
309 ········<div·class="sphinxsidebarwrapper">310 ········<div·class="sphinxsidebarwrapper">
310 ··<div>311 ··<div>
311 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>312 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
312 ····<ul>313 ····<ul>
313 <li><a·class="reference·internal"·href="#">Django·version·0.96·release·notes</a><ul>314 <li><a·class="reference·internal"·href="#">Django·version·0.96·release·notes</a><ul>
314 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards-incompatible·changes</a><ul>315 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards-incompatible·changes</a><ul>
315 <li><a·class="reference·internal"·href="#mysqldb-version-requirement"><code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·version·requirement</a></li>316 <li><a·class="reference·internal"·href="#mysqldb-version-requirement"><code·class="docutils·literal·notranslate"><span·class="pre">MySQLdb</span></code>·version·requirement</a></li>
316 <li><a·class="reference·internal"·href="#database-constraint-names-changed">Database·constraint·names·changed</a></li>317 <li><a·class="reference·internal"·href="#database-constraint-names-changed">Database·constraint·names·changed</a></li>
317 <li><a·class="reference·internal"·href="#name-changes-in-manage-py">Name·changes·in·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span></code></a></li>318 <li><a·class="reference·internal"·href="#name-changes-in-manage-py">Name·changes·in·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span></code></a></li>
318 <li><a·class="reference·internal"·href="#backslash-escaping-changed">Backslash·escaping·changed</a></li>319 <li><a·class="reference·internal"·href="#backslash-escaping-changed">Backslash·escaping·changed</a></li>
Offset 329, 37 lines modifiedOffset 330, 37 lines modified
329 <li><a·class="reference·internal"·href="#thanks">Thanks</a></li>330 <li><a·class="reference·internal"·href="#thanks">Thanks</a></li>
330 </ul>331 </ul>
331 </li>332 </li>
332 </ul>333 </ul>
  
Max diff block lines reached; 1487/11966 bytes (12.43%) of diff not shown.
7.98 KB
html2text {}
Max HTML report size reached
23.3 KB
./usr/share/doc/python-django-doc/html/releases/1.0-porting-guide.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Porting·your·apps·from·Django·0.96·to·1.0·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Porting·your·apps·from·Django·0.96·to·1.0·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·version·0.96·release·notes"·href="0.96.html"·/>15 ····<link·rel="next"·title="Django·version·0.96·release·notes"·href="0.96.html"·/>
15 ····<link·rel="prev"·title="Django·1.0·release·notes"·href="1.0.html"·/>16 ····<link·rel="prev"·title="Django·1.0·release·notes"·href="1.0.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="porting-your-apps-from-django-0-96-to-1-0"></span><h1>Porting·your·apps·from·Django·0.96·to·1.0<a·class="headerlink"·href="#porting-your-apps-from-django-0-96-to-1-0"·title="Link·to·this·heading">¶</a></h1>82 <span·id="porting-your-apps-from-django-0-96-to-1-0"></span><h1>Porting·your·apps·from·Django·0.96·to·1.0<a·class="headerlink"·href="#porting-your-apps-from-django-0-96-to-1-0"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django·1.0·breaks·compatibility·with·0.96·in·some·areas.</p>83 <p>Django·1.0·breaks·compatibility·with·0.96·in·some·areas.</p>
83 <p>This·guide·will·help·you·port·0.96·projects·and·apps·to·1.0.·The·first·part·of84 <p>This·guide·will·help·you·port·0.96·projects·and·apps·to·1.0.·The·first·part·of
84 this·document·includes·the·common·changes·needed·to·run·with·1.0.·If·after·going85 this·document·includes·the·common·changes·needed·to·run·with·1.0.·If·after·going
85 through·the·first·part·your·code·still·breaks,·check·the·section·<a·class="reference·internal"·href="#less-common-changes">Less-common86 through·the·first·part·your·code·still·breaks,·check·the·section·<a·class="reference·internal"·href="#less-common-changes">Less-common
86 Changes</a>·for·a·list·of·a·bunch·of·less-common·compatibility·issues.</p>87 Changes</a>·for·a·list·of·a·bunch·of·less-common·compatibility·issues.</p>
87 <div·class="admonition·seealso">88 <div·class="admonition·seealso">
88 <p·class="admonition-title">See·also</p>89 <p·class="admonition-title">Vaata·ka</p>
89 <p>The·<a·class="reference·internal"·href="1.0.html"><span·class="doc">1.0·release·notes</span></a>.·That·document·explains·the·new90 <p>The·<a·class="reference·internal"·href="1.0.html"><span·class="doc">1.0·release·notes</span></a>.·That·document·explains·the·new
90 features·in·1.0·more·deeply;·the·porting·guide·is·more·concerned·with91 features·in·1.0·more·deeply;·the·porting·guide·is·more·concerned·with
91 helping·you·quickly·update·your·code.</p>92 helping·you·quickly·update·your·code.</p>
92 </div>93 </div>
93 <section·id="s-common-changes">94 <section·id="s-common-changes">
94 <span·id="common-changes"></span><h2>Common·changes<a·class="headerlink"·href="#common-changes"·title="Link·to·this·heading">¶</a></h2>95 <span·id="common-changes"></span><h2>Common·changes<a·class="headerlink"·href="#common-changes"·title="Link·to·this·heading">¶</a></h2>
95 <p>This·section·describes·the·changes·between·0.96·and·1.0·that·most·users·will96 <p>This·section·describes·the·changes·between·0.96·and·1.0·that·most·users·will
Offset 131, 15 lines modifiedOffset 132, 15 lines modified
131 <section·id="s-replace-class-admin-with-admin-py">132 <section·id="s-replace-class-admin-with-admin-py">
132 <span·id="replace-class-admin-with-admin-py"></span><h4>Replace·<code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Admin:</span></code>·with·<code·class="docutils·literal·notranslate"><span·class="pre">admin.py</span></code><a·class="headerlink"·href="#replace-class-admin-with-admin-py"·title="Link·to·this·heading">¶</a></h4>133 <span·id="replace-class-admin-with-admin-py"></span><h4>Replace·<code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Admin:</span></code>·with·<code·class="docutils·literal·notranslate"><span·class="pre">admin.py</span></code><a·class="headerlink"·href="#replace-class-admin-with-admin-py"·title="Link·to·this·heading">¶</a></h4>
133 <p>Remove·all·your·inner·<code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Admin</span></code>·declarations·from·your·models.·They·won’t134 <p>Remove·all·your·inner·<code·class="docutils·literal·notranslate"><span·class="pre">class</span>·<span·class="pre">Admin</span></code>·declarations·from·your·models.·They·won’t
134 break·anything·if·you·leave·them,·but·they·also·won’t·do·anything.·To·register135 break·anything·if·you·leave·them,·but·they·also·won’t·do·anything.·To·register
135 apps·with·the·admin·you’ll·move·those·declarations·to·an·<code·class="docutils·literal·notranslate"><span·class="pre">admin.py</span></code>·file;136 apps·with·the·admin·you’ll·move·those·declarations·to·an·<code·class="docutils·literal·notranslate"><span·class="pre">admin.py</span></code>·file;
136 see·<a·class="reference·internal"·href="#the-admin">the·admin</a>·below·for·more·details.</p>137 see·<a·class="reference·internal"·href="#the-admin">the·admin</a>·below·for·more·details.</p>
137 <div·class="admonition·seealso">138 <div·class="admonition·seealso">
138 <p·class="admonition-title">See·also</p>139 <p·class="admonition-title">Vaata·ka</p>
139 <p>A·contributor·to·<a·class="reference·external"·href="https://djangosnippets.org/">djangosnippets</a>·has·written·a·script·that’ll·<a·class="reference·external"·href="https://djangosnippets.org/snippets/603/">scan·your140 <p>A·contributor·to·<a·class="reference·external"·href="https://djangosnippets.org/">djangosnippets</a>·has·written·a·script·that’ll·<a·class="reference·external"·href="https://djangosnippets.org/snippets/603/">scan·your
140 models.py·and·generate·a·corresponding·admin.py</a>.</p>141 models.py·and·generate·a·corresponding·admin.py</a>.</p>
141 </div>142 </div>
142 </section>143 </section>
143 <section·id="s-example">144 <section·id="s-example">
144 <span·id="example"></span><h4>Example<a·class="headerlink"·href="#example"·title="Link·to·this·heading">¶</a></h4>145 <span·id="example"></span><h4>Example<a·class="headerlink"·href="#example"·title="Link·to·this·heading">¶</a></h4>
145 <p>Below·is·an·example·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>·file·with·all·the·changes·you’ll·need·to·make:</p>146 <p>Below·is·an·example·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>·file·with·all·the·changes·you’ll·need·to·make:</p>
Offset 252, 15 lines modifiedOffset 253, 15 lines modified
252 ····<span·class="n">fieldsets</span>·<span·class="o">=</span>·<span·class="p">(</span>253 ····<span·class="n">fieldsets</span>·<span·class="o">=</span>·<span·class="p">(</span>
253 ········<span·class="p">(</span><span·class="s2">&quot;group1&quot;</span><span·class="p">,</span>·<span·class="p">{</span><span·class="s2">&quot;fields&quot;</span><span·class="p">:</span>·<span·class="p">(</span><span·class="s2">&quot;foo&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;bar&quot;</span><span·class="p">),</span>·<span·class="s2">&quot;classes&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;collapse&quot;</span><span·class="p">}),</span>254 ········<span·class="p">(</span><span·class="s2">&quot;group1&quot;</span><span·class="p">,</span>·<span·class="p">{</span><span·class="s2">&quot;fields&quot;</span><span·class="p">:</span>·<span·class="p">(</span><span·class="s2">&quot;foo&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;bar&quot;</span><span·class="p">),</span>·<span·class="s2">&quot;classes&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;collapse&quot;</span><span·class="p">}),</span>
254 ········<span·class="p">(</span><span·class="s2">&quot;group2&quot;</span><span·class="p">,</span>·<span·class="p">{</span><span·class="s2">&quot;fields&quot;</span><span·class="p">:</span>·<span·class="p">(</span><span·class="s2">&quot;spam&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;eggs&quot;</span><span·class="p">),</span>·<span·class="s2">&quot;classes&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;collapse·wide&quot;</span><span·class="p">}),</span>255 ········<span·class="p">(</span><span·class="s2">&quot;group2&quot;</span><span·class="p">,</span>·<span·class="p">{</span><span·class="s2">&quot;fields&quot;</span><span·class="p">:</span>·<span·class="p">(</span><span·class="s2">&quot;spam&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;eggs&quot;</span><span·class="p">),</span>·<span·class="s2">&quot;classes&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;collapse·wide&quot;</span><span·class="p">}),</span>
255 ····<span·class="p">)</span>256 ····<span·class="p">)</span>
256 </pre></div>257 </pre></div>
257 </div>258 </div>
258 <div·class="admonition·seealso">259 <div·class="admonition·seealso">
259 <p·class="admonition-title">See·also</p>260 <p·class="admonition-title">Vaata·ka</p>
260 <ul·class="simple">261 <ul·class="simple">
261 <li><p>More·detailed·information·about·the·changes·and·the·reasons·behind·them262 <li><p>More·detailed·information·about·the·changes·and·the·reasons·behind·them
262 can·be·found·on·the·<a·class="reference·external"·href="https://code.djangoproject.com/wiki/NewformsAdminBranch">NewformsAdminBranch·wiki·page</a></p></li>263 can·be·found·on·the·<a·class="reference·external"·href="https://code.djangoproject.com/wiki/NewformsAdminBranch">NewformsAdminBranch·wiki·page</a></p></li>
263 <li><p>The·new·admin·comes·with·a·ton·of·new·features;·you·can·read·about·them·in264 <li><p>The·new·admin·comes·with·a·ton·of·new·features;·you·can·read·about·them·in
264 the·<a·class="reference·internal"·href="../ref/contrib/admin/index.html"><span·class="doc">admin·documentation</span></a>.</p></li>265 the·<a·class="reference·internal"·href="../ref/contrib/admin/index.html"><span·class="doc">admin·documentation</span></a>.</p></li>
265 </ul>266 </ul>
266 </div>267 </div>
Offset 503, 17 lines modifiedOffset 504, 17 lines modified
503 auto-populated·by·a·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·now·need·explicit·values·in·any·fixture.</p>504 auto-populated·by·a·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·now·need·explicit·values·in·any·fixture.</p>
504 </section>505 </section>
505 </section>506 </section>
506 <section·id="s-settings">507 <section·id="s-settings">
507 <span·id="settings"></span><h3>Settings<a·class="headerlink"·href="#settings"·title="Link·to·this·heading">¶</a></h3>508 <span·id="settings"></span><h3>Settings<a·class="headerlink"·href="#settings"·title="Link·to·this·heading">¶</a></h3>
508 <section·id="s-better-exceptions">509 <section·id="s-better-exceptions">
509 <span·id="better-exceptions"></span><h4>Better·exceptions<a·class="headerlink"·href="#better-exceptions"·title="Link·to·this·heading">¶</a></h4>510 <span·id="better-exceptions"></span><h4>Better·exceptions<a·class="headerlink"·href="#better-exceptions"·title="Link·to·this·heading">¶</a></h4>
510 <p>The·old·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#EnvironmentError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">EnvironmentError</span></code></a>·has·split·into·an511 <p>The·old·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#EnvironmentError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">EnvironmentError</span></code></a>·has·split·into·an
511 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ImportError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ImportError</span></code></a>·when·Django·fails·to·find·the·settings·module512 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ImportError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ImportError</span></code></a>·when·Django·fails·to·find·the·settings·module
512 and·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#RuntimeError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">RuntimeError</span></code></a>·when·you·try·to·reconfigure·settings513 and·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#RuntimeError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">RuntimeError</span></code></a>·when·you·try·to·reconfigure·settings
513 after·having·already·used·them.</p>514 after·having·already·used·them.</p>
514 </section>515 </section>
515 <section·id="s-login-url-has-moved">516 <section·id="s-login-url-has-moved">
516 <span·id="login-url-has-moved"></span><h4><a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGIN_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGIN_URL</span></code></a>·has·moved<a·class="headerlink"·href="#login-url-has-moved"·title="Link·to·this·heading">¶</a></h4>517 <span·id="login-url-has-moved"></span><h4><a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGIN_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGIN_URL</span></code></a>·has·moved<a·class="headerlink"·href="#login-url-has-moved"·title="Link·to·this·heading">¶</a></h4>
517 <p>The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGIN_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGIN_URL</span></code></a>·constant·moved·from·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code>·into·the518 <p>The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGIN_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGIN_URL</span></code></a>·constant·moved·from·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code>·into·the
518 <code·class="docutils·literal·notranslate"><span·class="pre">settings</span></code>·module.·Instead·of·using·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">django.contrib.auth</span>·<span·class="pre">import</span>519 <code·class="docutils·literal·notranslate"><span·class="pre">settings</span></code>·module.·Instead·of·using·<code·class="docutils·literal·notranslate"><span·class="pre">from</span>·<span·class="pre">django.contrib.auth</span>·<span·class="pre">import</span>
519 <span·class="pre">LOGIN_URL</span></code>·refer·to·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGIN_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">settings.LOGIN_URL</span></code></a>.</p>520 <span·class="pre">LOGIN_URL</span></code>·refer·to·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGIN_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">settings.LOGIN_URL</span></code></a>.</p>
Offset 539, 15 lines modifiedOffset 540, 15 lines modified
539 </section>540 </section>
540 </section>541 </section>
541 <section·id="s-smaller-model-changes">542 <section·id="s-smaller-model-changes">
542 <span·id="smaller-model-changes"></span><h3>Smaller·model·changes<a·class="headerlink"·href="#smaller-model-changes"·title="Link·to·this·heading">¶</a></h3>543 <span·id="smaller-model-changes"></span><h3>Smaller·model·changes<a·class="headerlink"·href="#smaller-model-changes"·title="Link·to·this·heading">¶</a></h3>
543 <section·id="s-different-exception-from-get">544 <section·id="s-different-exception-from-get">
544 <span·id="different-exception-from-get"></span><h4>Different·exception·from·<code·class="docutils·literal·notranslate"><span·class="pre">get()</span></code><a·class="headerlink"·href="#different-exception-from-get"·title="Link·to·this·heading">¶</a></h4>545 <span·id="different-exception-from-get"></span><h4>Different·exception·from·<code·class="docutils·literal·notranslate"><span·class="pre">get()</span></code><a·class="headerlink"·href="#different-exception-from-get"·title="Link·to·this·heading">¶</a></h4>
545 <p>Managers·now·return·a·<a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.MultipleObjectsReturned"·title="django.core.exceptions.MultipleObjectsReturned"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code></a>546 <p>Managers·now·return·a·<a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.MultipleObjectsReturned"·title="django.core.exceptions.MultipleObjectsReturned"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">MultipleObjectsReturned</span></code></a>
546 exception·instead·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#AssertionError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">AssertionError</span></code></a>:</p>547 exception·instead·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#AssertionError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">AssertionError</span></code></a>:</p>
547 <p>Old·(0.96):</p>548 <p>Old·(0.96):</p>
548 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">try</span><span·class="p">:</span>549 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">try</span><span·class="p">:</span>
549 ····<span·class="n">Model</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="o">...</span><span·class="p">)</span>550 ····<span·class="n">Model</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="o">...</span><span·class="p">)</span>
550 <span·class="k">except</span>·<span·class="ne">AssertionError</span><span·class="p">:</span>551 <span·class="k">except</span>·<span·class="ne">AssertionError</span><span·class="p">:</span>
551 ····<span·class="n">handle_the_error</span><span·class="p">()</span>552 ····<span·class="n">handle_the_error</span><span·class="p">()</span>
552 </pre></div>553 </pre></div>
553 </div>554 </div>
Offset 601, 15 lines modifiedOffset 602, 15 lines modified
601 database·column·types·for·<code·class="docutils·literal·notranslate"><span·class="pre">DecimalField</span></code>·are·the·same·as·for·the·old602 database·column·types·for·<code·class="docutils·literal·notranslate"><span·class="pre">DecimalField</span></code>·are·the·same·as·for·the·old
602 <code·class="docutils·literal·notranslate"><span·class="pre">FloatField</span></code>.</p>603 <code·class="docutils·literal·notranslate"><span·class="pre">FloatField</span></code>.</p>
603 <p>If·you’re·using·SQLite,·you·need·to·force·the·database·to·view·the604 <p>If·you’re·using·SQLite,·you·need·to·force·the·database·to·view·the
604 appropriate·columns·as·decimal·types,·rather·than·floats.·To·do·this,·you’ll605 appropriate·columns·as·decimal·types,·rather·than·floats.·To·do·this,·you’ll
605 need·to·reload·your·data.·Do·this·after·you·have·made·the·change·to·using606 need·to·reload·your·data.·Do·this·after·you·have·made·the·change·to·using
Max diff block lines reached; 3485/16419 bytes (21.23%) of diff not shown.
7.08 KB
html2text {}
Max HTML report size reached
8.2 KB
./usr/share/doc/python-django-doc/html/releases/1.0.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.0.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.0.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.0·release·notes"·href="1.0.html"·/>15 ····<link·rel="next"·title="Django·1.0·release·notes"·href="1.0.html"·/>
15 ····<link·rel="prev"·title="Django·1.0.2·release·notes"·href="1.0.2.html"·/>16 ····<link·rel="prev"·title="Django·1.0.2·release·notes"·href="1.0.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.0.1">79 ··········<div·class="yui-g"·id="releases-1.0.1">
79 ············80 ············
80 ··<section·id="s-django-1-0-1-release-notes">81 ··<section·id="s-django-1-0-1-release-notes">
81 <span·id="django-1-0-1-release-notes"></span><h1>Django·1.0.1·release·notes<a·class="headerlink"·href="#django-1-0-1-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-0-1-release-notes"></span><h1>Django·1.0.1·release·notes<a·class="headerlink"·href="#django-1-0-1-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p>Welcome·to·Django·1.0.1!</p>83 <p>Welcome·to·Django·1.0.1!</p>
83 <p>This·is·the·first·bugfix·release·in·the·Django·1.0·series,·improving84 <p>This·is·the·first·bugfix·release·in·the·Django·1.0·series,·improving
84 the·stability·and·performance·of·the·Django·1.0·codebase.·As·such,85 the·stability·and·performance·of·the·Django·1.0·codebase.·As·such,
85 Django·1.0.1·contains·no·new·features·(and,·pursuant·to·<a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our86 Django·1.0.1·contains·no·new·features·(and,·pursuant·to·<a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our
86 compatibility·policy</span></a>,·maintains·backwards87 compatibility·policy</span></a>,·maintains·backwards
87 compatibility·with·Django·1.0),·but·does·contain·a·number·of·fixes88 compatibility·with·Django·1.0),·but·does·contain·a·number·of·fixes
88 and·other·improvements.·Django·1.0.1·is·a·recommended·upgrade·for·any89 and·other·improvements.·Django·1.0.1·is·a·recommended·upgrade·for·any
89 development·or·deployment·currently·using·or·targeting·Django·1.0.</p>90 development·or·deployment·currently·using·or·targeting·Django·1.0.</p>
90 <section·id="s-fixes-and-improvements-in-django-1-0-1">91 <section·id="s-fixes-and-improvements-in-django-1-0-1">
Offset 134, 47 lines modifiedOffset 135, 47 lines modified
134 ······135 ······
135 ········136 ········
136 ··········<div·class="yui-b"·id="sidebar">137 ··········<div·class="yui-b"·id="sidebar">
137 ············138 ············
138 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">139 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
139 ········<div·class="sphinxsidebarwrapper">140 ········<div·class="sphinxsidebarwrapper">
140 ··<div>141 ··<div>
141 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>142 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
142 ····<ul>143 ····<ul>
143 <li><a·class="reference·internal"·href="#">Django·1.0.1·release·notes</a><ul>144 <li><a·class="reference·internal"·href="#">Django·1.0.1·release·notes</a><ul>
144 <li><a·class="reference·internal"·href="#fixes-and-improvements-in-django-1-0-1">Fixes·and·improvements·in·Django·1.0.1</a></li>145 <li><a·class="reference·internal"·href="#fixes-and-improvements-in-django-1-0-1">Fixes·and·improvements·in·Django·1.0.1</a></li>
145 </ul>146 </ul>
146 </li>147 </li>
147 </ul>148 </ul>
  
148 ··</div>149 ··</div>
149 ··<div>150 ··<div>
150 ····<h4>Previous·topic</h4>151 ····<h4>Eelmine·teema</h4>
151 ····<p·class="topless"><a·href="1.0.2.html"152 ····<p·class="topless"><a·href="1.0.2.html"
152 ··························title="previous·chapter">Django·1.0.2·release·notes</a></p>153 ··························title="eelmine·jaotis">Django·1.0.2·release·notes</a></p>
153 ··</div>154 ··</div>
154 ··<div>155 ··<div>
155 ····<h4>Next·topic</h4>156 ····<h4>Järgmine·teema</h4>
156 ····<p·class="topless"><a·href="1.0.html"157 ····<p·class="topless"><a·href="1.0.html"
157 ··························title="next·chapter">Django·1.0·release·notes</a></p>158 ··························title="järgmine·jaotis">Django·1.0·release·notes</a></p>
158 ··</div>159 ··</div>
159 <search·id="searchbox"·style="display:·none"·role="search">160 <search·id="searchbox"·style="display:·none"·role="search">
160 ··<h3·id="searchlabel">Quick·search</h3>161 ··<h3·id="searchlabel">Kiirotsing</h3>
161 ····<div·class="searchformwrapper">162 ····<div·class="searchformwrapper">
162 ····<form·class="search"·action="../search.html"·method="get">163 ····<form·class="search"·action="../search.html"·method="get">
163 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>164 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
164 ······<input·type="submit"·value="Go"·/>165 ······<input·type="submit"·value="Otsi"·/>
165 ····</form>166 ····</form>
166 ····</div>167 ····</div>
167 </search>168 </search>
168 <script>document.getElementById('searchbox').style.display·=·"block"</script>169 <script>document.getElementById('searchbox').style.display·=·"block"</script>
169 ········</div>170 ········</div>
170 ······</div>171 ······</div>
171 ··············<h3>Last·update:</h3>172 ··············<h3>Last·update:</h3>
172 ··············<p·class="topless">Nov·05,·2024</p>173 ··············<p·class="topless">nov·05,·2024</p>
173 ··········</div>174 ··········</div>
174 ········175 ········
175 ······176 ······
176 ····</div>177 ····</div>
  
177 ····<div·id="ft">178 ····<div·id="ft">
178 ······<div·class="nav">179 ······<div·class="nav">
2.98 KB
html2text {}
Max HTML report size reached
10.4 KB
./usr/share/doc/python-django-doc/html/releases/1.0.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.0.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.0.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.0.1·release·notes"·href="1.0.1.html"·/>15 ····<link·rel="next"·title="Django·1.0.1·release·notes"·href="1.0.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.1·release·notes"·href="1.1.html"·/>16 ····<link·rel="prev"·title="Django·1.1·release·notes"·href="1.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.0.2">79 ··········<div·class="yui-g"·id="releases-1.0.2">
79 ············80 ············
80 ··<section·id="s-django-1-0-2-release-notes">81 ··<section·id="s-django-1-0-2-release-notes">
81 <span·id="django-1-0-2-release-notes"></span><h1>Django·1.0.2·release·notes<a·class="headerlink"·href="#django-1-0-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-0-2-release-notes"></span><h1>Django·1.0.2·release·notes<a·class="headerlink"·href="#django-1-0-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p>Welcome·to·Django·1.0.2!</p>83 <p>Welcome·to·Django·1.0.2!</p>
83 <p>This·is·the·second·bugfix·release·in·the·Django·1.0·series,84 <p>This·is·the·second·bugfix·release·in·the·Django·1.0·series,
84 improving·the·stability·and·performance·of·the·Django·1.0·codebase.·As85 improving·the·stability·and·performance·of·the·Django·1.0·codebase.·As
85 such,·Django·1.0.2·contains·no·new·features·(and,·pursuant·to86 such,·Django·1.0.2·contains·no·new·features·(and,·pursuant·to
86 <a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our·compatibility·policy</span></a>,·maintains·backwards·compatibility·with·Django87 <a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our·compatibility·policy</span></a>,·maintains·backwards·compatibility·with·Django
87 1.0.0),·but·does·contain·a·number·of·fixes·and·other88 1.0.0),·but·does·contain·a·number·of·fixes·and·other
88 improvements.·Django·1.0.2·is·a·recommended·upgrade·for·any89 improvements.·Django·1.0.2·is·a·recommended·upgrade·for·any
89 development·or·deployment·currently·using·or·targeting·Django·1.0.</p>90 development·or·deployment·currently·using·or·targeting·Django·1.0.</p>
90 <section·id="s-fixes-and-improvements-in-django-1-0-2">91 <section·id="s-fixes-and-improvements-in-django-1-0-2">
Offset 101, 15 lines modifiedOffset 102, 15 lines modified
101 details.</p>102 details.</p>
102 <p>Additionally,·in·the·period·since·Django·1.0.1·was·released:</p>103 <p>Additionally,·in·the·period·since·Django·1.0.1·was·released:</p>
103 <ul·class="simple">104 <ul·class="simple">
104 <li><p>Updated·Hebrew·and·Danish·translations·have·been·added.</p></li>105 <li><p>Updated·Hebrew·and·Danish·translations·have·been·added.</p></li>
105 <li><p>The·default·<code·class="docutils·literal·notranslate"><span·class="pre">__repr__</span></code>·method·of·Django·models·has·been·made·more106 <li><p>The·default·<code·class="docutils·literal·notranslate"><span·class="pre">__repr__</span></code>·method·of·Django·models·has·been·made·more
106 robust·in·the·face·of·bad·Unicode·data·coming·from·the107 robust·in·the·face·of·bad·Unicode·data·coming·from·the
107 <code·class="docutils·literal·notranslate"><span·class="pre">__unicode__</span></code>·method;·rather·than·raise·an·exception·in·such108 <code·class="docutils·literal·notranslate"><span·class="pre">__unicode__</span></code>·method;·rather·than·raise·an·exception·in·such
108 cases,·<code·class="docutils·literal·notranslate"><span·class="pre">repr()</span></code>·will·now·contain·the·string·[Bad·Unicode·data]109 cases,·<code·class="docutils·literal·notranslate"><span·class="pre">repr()</span></code>·will·now·contain·the·string·[Bad·Unicode·data]
109 in·place·of·the·invalid·Unicode.</p></li>110 in·place·of·the·invalid·Unicode.</p></li>
110 <li><p>A·bug·involving·the·interaction·of·Django’s·<code·class="docutils·literal·notranslate"><span·class="pre">SafeUnicode</span></code>·class111 <li><p>A·bug·involving·the·interaction·of·Django’s·<code·class="docutils·literal·notranslate"><span·class="pre">SafeUnicode</span></code>·class
111 and·the·MySQL·adapter·has·been·resolved;·<code·class="docutils·literal·notranslate"><span·class="pre">SafeUnicode</span></code>·instances112 and·the·MySQL·adapter·has·been·resolved;·<code·class="docutils·literal·notranslate"><span·class="pre">SafeUnicode</span></code>·instances
112 (generated,·for·example,·by·template·rendering)·can·now·be·assigned113 (generated,·for·example,·by·template·rendering)·can·now·be·assigned
113 to·model·attributes·and·saved·to·MySQL·without·requiring·an·explicit114 to·model·attributes·and·saved·to·MySQL·without·requiring·an·explicit
114 intermediate·cast·to·<code·class="docutils·literal·notranslate"><span·class="pre">unicode</span></code>.</p></li>115 intermediate·cast·to·<code·class="docutils·literal·notranslate"><span·class="pre">unicode</span></code>.</p></li>
115 <li><p>A·bug·affecting·filtering·on·a·nullable·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>·in·SQLite·has116 <li><p>A·bug·affecting·filtering·on·a·nullable·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>·in·SQLite·has
Offset 127, 47 lines modifiedOffset 128, 47 lines modified
127 ······128 ······
128 ········129 ········
129 ··········<div·class="yui-b"·id="sidebar">130 ··········<div·class="yui-b"·id="sidebar">
130 ············131 ············
131 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">132 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
132 ········<div·class="sphinxsidebarwrapper">133 ········<div·class="sphinxsidebarwrapper">
133 ··<div>134 ··<div>
134 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>135 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
135 ····<ul>136 ····<ul>
136 <li><a·class="reference·internal"·href="#">Django·1.0.2·release·notes</a><ul>137 <li><a·class="reference·internal"·href="#">Django·1.0.2·release·notes</a><ul>
137 <li><a·class="reference·internal"·href="#fixes-and-improvements-in-django-1-0-2">Fixes·and·improvements·in·Django·1.0.2</a></li>138 <li><a·class="reference·internal"·href="#fixes-and-improvements-in-django-1-0-2">Fixes·and·improvements·in·Django·1.0.2</a></li>
138 </ul>139 </ul>
139 </li>140 </li>
140 </ul>141 </ul>
  
141 ··</div>142 ··</div>
142 ··<div>143 ··<div>
143 ····<h4>Previous·topic</h4>144 ····<h4>Eelmine·teema</h4>
144 ····<p·class="topless"><a·href="1.1.html"145 ····<p·class="topless"><a·href="1.1.html"
145 ··························title="previous·chapter">Django·1.1·release·notes</a></p>146 ··························title="eelmine·jaotis">Django·1.1·release·notes</a></p>
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Next·topic</h4>149 ····<h4>Järgmine·teema</h4>
149 ····<p·class="topless"><a·href="1.0.1.html"150 ····<p·class="topless"><a·href="1.0.1.html"
150 ··························title="next·chapter">Django·1.0.1·release·notes</a></p>151 ··························title="järgmine·jaotis">Django·1.0.1·release·notes</a></p>
151 ··</div>152 ··</div>
152 <search·id="searchbox"·style="display:·none"·role="search">153 <search·id="searchbox"·style="display:·none"·role="search">
153 ··<h3·id="searchlabel">Quick·search</h3>154 ··<h3·id="searchlabel">Kiirotsing</h3>
154 ····<div·class="searchformwrapper">155 ····<div·class="searchformwrapper">
155 ····<form·class="search"·action="../search.html"·method="get">156 ····<form·class="search"·action="../search.html"·method="get">
156 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>157 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
157 ······<input·type="submit"·value="Go"·/>158 ······<input·type="submit"·value="Otsi"·/>
158 ····</form>159 ····</form>
159 ····</div>160 ····</div>
160 </search>161 </search>
161 <script>document.getElementById('searchbox').style.display·=·"block"</script>162 <script>document.getElementById('searchbox').style.display·=·"block"</script>
162 ········</div>163 ········</div>
163 ······</div>164 ······</div>
164 ··············<h3>Last·update:</h3>165 ··············<h3>Last·update:</h3>
165 ··············<p·class="topless">Nov·05,·2024</p>166 ··············<p·class="topless">nov·05,·2024</p>
166 ··········</div>167 ··········</div>
167 ········168 ········
168 ······169 ······
169 ····</div>170 ····</div>
  
170 ····<div·id="ft">171 ····<div·id="ft">
171 ······<div·class="nav">172 ······<div·class="nav">
3.72 KB
html2text {}
Max HTML report size reached
8.38 KB
./usr/share/doc/python-django-doc/html/releases/1.0.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.0·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.0·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Porting·your·apps·from·Django·0.96·to·1.0"·href="1.0-porting-guide.html"·/>15 ····<link·rel="next"·title="Porting·your·apps·from·Django·0.96·to·1.0"·href="1.0-porting-guide.html"·/>
15 ····<link·rel="prev"·title="Django·1.0.1·release·notes"·href="1.0.1.html"·/>16 ····<link·rel="prev"·title="Django·1.0.1·release·notes"·href="1.0.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 288, 15 lines modifiedOffset 289, 15 lines modified
288 ······289 ······
289 ········290 ········
290 ··········<div·class="yui-b"·id="sidebar">291 ··········<div·class="yui-b"·id="sidebar">
291 ············292 ············
292 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">293 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
293 ········<div·class="sphinxsidebarwrapper">294 ········<div·class="sphinxsidebarwrapper">
294 ··<div>295 ··<div>
295 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>296 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
296 ····<ul>297 ····<ul>
297 <li><a·class="reference·internal"·href="#">Django·1.0·release·notes</a><ul>298 <li><a·class="reference·internal"·href="#">Django·1.0·release·notes</a><ul>
298 <li><a·class="reference·internal"·href="#stability-and-forwards-compatibility">Stability·and·forwards-compatibility</a></li>299 <li><a·class="reference·internal"·href="#stability-and-forwards-compatibility">Stability·and·forwards-compatibility</a></li>
299 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards-incompatible·changes</a></li>300 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards-incompatible·changes</a></li>
300 <li><a·class="reference·internal"·href="#what-s-new-in-django-1-0">What’s·new·in·Django·1.0</a><ul>301 <li><a·class="reference·internal"·href="#what-s-new-in-django-1-0">What’s·new·in·Django·1.0</a><ul>
301 <li><a·class="reference·internal"·href="#refactored-admin-application">Refactored·admin·application</a></li>302 <li><a·class="reference·internal"·href="#refactored-admin-application">Refactored·admin·application</a></li>
302 <li><a·class="reference·internal"·href="#improved-unicode-handling">Improved·Unicode·handling</a></li>303 <li><a·class="reference·internal"·href="#improved-unicode-handling">Improved·Unicode·handling</a></li>
Offset 319, 37 lines modifiedOffset 320, 37 lines modified
319 </li>320 </li>
320 </ul>321 </ul>
321 </li>322 </li>
322 </ul>323 </ul>
  
323 ··</div>324 ··</div>
324 ··<div>325 ··<div>
325 ····<h4>Previous·topic</h4>326 ····<h4>Eelmine·teema</h4>
326 ····<p·class="topless"><a·href="1.0.1.html"327 ····<p·class="topless"><a·href="1.0.1.html"
327 ··························title="previous·chapter">Django·1.0.1·release·notes</a></p>328 ··························title="eelmine·jaotis">Django·1.0.1·release·notes</a></p>
328 ··</div>329 ··</div>
329 ··<div>330 ··<div>
330 ····<h4>Next·topic</h4>331 ····<h4>Järgmine·teema</h4>
331 ····<p·class="topless"><a·href="1.0-porting-guide.html"332 ····<p·class="topless"><a·href="1.0-porting-guide.html"
332 ··························title="next·chapter">Porting·your·apps·from·Django·0.96·to·1.0</a></p>333 ··························title="järgmine·jaotis">Porting·your·apps·from·Django·0.96·to·1.0</a></p>
333 ··</div>334 ··</div>
334 <search·id="searchbox"·style="display:·none"·role="search">335 <search·id="searchbox"·style="display:·none"·role="search">
335 ··<h3·id="searchlabel">Quick·search</h3>336 ··<h3·id="searchlabel">Kiirotsing</h3>
336 ····<div·class="searchformwrapper">337 ····<div·class="searchformwrapper">
337 ····<form·class="search"·action="../search.html"·method="get">338 ····<form·class="search"·action="../search.html"·method="get">
338 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>339 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
339 ······<input·type="submit"·value="Go"·/>340 ······<input·type="submit"·value="Otsi"·/>
340 ····</form>341 ····</form>
341 ····</div>342 ····</div>
342 </search>343 </search>
343 <script>document.getElementById('searchbox').style.display·=·"block"</script>344 <script>document.getElementById('searchbox').style.display·=·"block"</script>
344 ········</div>345 ········</div>
345 ······</div>346 ······</div>
346 ··············<h3>Last·update:</h3>347 ··············<h3>Last·update:</h3>
347 ··············<p·class="topless">Nov·05,·2024</p>348 ··············<p·class="topless">nov·05,·2024</p>
348 ··········</div>349 ··········</div>
349 ········350 ········
350 ······351 ······
351 ····</div>352 ····</div>
  
352 ····<div·id="ft">353 ····<div·id="ft">
353 ······<div·class="nav">354 ······<div·class="nav">
3.7 KB
html2text {}
Max HTML report size reached
8.83 KB
./usr/share/doc/python-django-doc/html/releases/1.1.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.1.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.1.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.1·release·notes"·href="1.1.html"·/>15 ····<link·rel="next"·title="Django·1.1·release·notes"·href="1.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.1.3·release·notes"·href="1.1.3.html"·/>16 ····<link·rel="prev"·title="Django·1.1.3·release·notes"·href="1.1.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.1.2">79 ··········<div·class="yui-g"·id="releases-1.1.2">
79 ············80 ············
80 ··<section·id="s-django-1-1-2-release-notes">81 ··<section·id="s-django-1-1-2-release-notes">
81 <span·id="django-1-1-2-release-notes"></span><h1>Django·1.1.2·release·notes<a·class="headerlink"·href="#django-1-1-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-1-2-release-notes"></span><h1>Django·1.1.2·release·notes<a·class="headerlink"·href="#django-1-1-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p>Welcome·to·Django·1.1.2!</p>83 <p>Welcome·to·Django·1.1.2!</p>
83 <p>This·is·the·second·bugfix·release·in·the·Django·1.1·series,84 <p>This·is·the·second·bugfix·release·in·the·Django·1.1·series,
84 improving·the·stability·and·performance·of·the·Django·1.1·codebase.</p>85 improving·the·stability·and·performance·of·the·Django·1.1·codebase.</p>
85 <p>Django·1.1.2·maintains·backwards·compatibility·with·Django86 <p>Django·1.1.2·maintains·backwards·compatibility·with·Django
86 1.1.0,·but·contain·a·number·of·fixes·and·other87 1.1.0,·but·contain·a·number·of·fixes·and·other
87 improvements.·Django·1.1.2·is·a·recommended·upgrade·for·any88 improvements.·Django·1.1.2·is·a·recommended·upgrade·for·any
88 development·or·deployment·currently·using·or·targeting·Django·1.1.</p>89 development·or·deployment·currently·using·or·targeting·Django·1.1.</p>
89 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and90 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and
90 deprecated·features·in·the·1.1·branch,·see·the·<a·class="reference·internal"·href="1.1.html"><span·class="doc">Django·1.1·release·notes</span></a>.</p>91 deprecated·features·in·the·1.1·branch,·see·the·<a·class="reference·internal"·href="1.1.html"><span·class="doc">Django·1.1·release·notes</span></a>.</p>
Offset 133, 52 lines modifiedOffset 134, 52 lines modified
133 ······134 ······
134 ········135 ········
135 ··········<div·class="yui-b"·id="sidebar">136 ··········<div·class="yui-b"·id="sidebar">
136 ············137 ············
137 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">138 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
138 ········<div·class="sphinxsidebarwrapper">139 ········<div·class="sphinxsidebarwrapper">
139 ··<div>140 ··<div>
140 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>141 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
141 ····<ul>142 ····<ul>
142 <li><a·class="reference·internal"·href="#">Django·1.1.2·release·notes</a><ul>143 <li><a·class="reference·internal"·href="#">Django·1.1.2·release·notes</a><ul>
143 <li><a·class="reference·internal"·href="#backwards-incompatible-changes-in-1-1-2">Backwards-incompatible·changes·in·1.1.2</a><ul>144 <li><a·class="reference·internal"·href="#backwards-incompatible-changes-in-1-1-2">Backwards-incompatible·changes·in·1.1.2</a><ul>
144 <li><a·class="reference·internal"·href="#test-runner-exit-status-code">Test·runner·exit·status·code</a></li>145 <li><a·class="reference·internal"·href="#test-runner-exit-status-code">Test·runner·exit·status·code</a></li>
145 <li><a·class="reference·internal"·href="#cookie-encoding">Cookie·encoding</a></li>146 <li><a·class="reference·internal"·href="#cookie-encoding">Cookie·encoding</a></li>
146 </ul>147 </ul>
147 </li>148 </li>
148 <li><a·class="reference·internal"·href="#one-new-feature">One·new·feature</a></li>149 <li><a·class="reference·internal"·href="#one-new-feature">One·new·feature</a></li>
149 </ul>150 </ul>
150 </li>151 </li>
151 </ul>152 </ul>
  
152 ··</div>153 ··</div>
153 ··<div>154 ··<div>
154 ····<h4>Previous·topic</h4>155 ····<h4>Eelmine·teema</h4>
155 ····<p·class="topless"><a·href="1.1.3.html"156 ····<p·class="topless"><a·href="1.1.3.html"
156 ··························title="previous·chapter">Django·1.1.3·release·notes</a></p>157 ··························title="eelmine·jaotis">Django·1.1.3·release·notes</a></p>
157 ··</div>158 ··</div>
158 ··<div>159 ··<div>
159 ····<h4>Next·topic</h4>160 ····<h4>Järgmine·teema</h4>
160 ····<p·class="topless"><a·href="1.1.html"161 ····<p·class="topless"><a·href="1.1.html"
161 ··························title="next·chapter">Django·1.1·release·notes</a></p>162 ··························title="järgmine·jaotis">Django·1.1·release·notes</a></p>
162 ··</div>163 ··</div>
163 <search·id="searchbox"·style="display:·none"·role="search">164 <search·id="searchbox"·style="display:·none"·role="search">
164 ··<h3·id="searchlabel">Quick·search</h3>165 ··<h3·id="searchlabel">Kiirotsing</h3>
165 ····<div·class="searchformwrapper">166 ····<div·class="searchformwrapper">
166 ····<form·class="search"·action="../search.html"·method="get">167 ····<form·class="search"·action="../search.html"·method="get">
167 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>168 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
168 ······<input·type="submit"·value="Go"·/>169 ······<input·type="submit"·value="Otsi"·/>
169 ····</form>170 ····</form>
170 ····</div>171 ····</div>
171 </search>172 </search>
172 <script>document.getElementById('searchbox').style.display·=·"block"</script>173 <script>document.getElementById('searchbox').style.display·=·"block"</script>
173 ········</div>174 ········</div>
174 ······</div>175 ······</div>
175 ··············<h3>Last·update:</h3>176 ··············<h3>Last·update:</h3>
176 ··············<p·class="topless">Nov·05,·2024</p>177 ··············<p·class="topless">nov·05,·2024</p>
177 ··········</div>178 ··········</div>
178 ········179 ········
179 ······180 ······
180 ····</div>181 ····</div>
  
181 ····<div·id="ft">182 ····<div·id="ft">
182 ······<div·class="nav">183 ······<div·class="nav">
3.33 KB
html2text {}
Max HTML report size reached
9.96 KB
./usr/share/doc/python-django-doc/html/releases/1.1.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.1.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.1.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.1.2·release·notes"·href="1.1.2.html"·/>15 ····<link·rel="next"·title="Django·1.1.2·release·notes"·href="1.1.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.1.4·release·notes"·href="1.1.4.html"·/>16 ····<link·rel="prev"·title="Django·1.1.4·release·notes"·href="1.1.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.1.3">79 ··········<div·class="yui-g"·id="releases-1.1.3">
79 ············80 ············
80 ··<section·id="s-django-1-1-3-release-notes">81 ··<section·id="s-django-1-1-3-release-notes">
81 <span·id="django-1-1-3-release-notes"></span><h1>Django·1.1.3·release·notes<a·class="headerlink"·href="#django-1-1-3-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-1-3-release-notes"></span><h1>Django·1.1.3·release·notes<a·class="headerlink"·href="#django-1-1-3-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p>Welcome·to·Django·1.1.3!</p>83 <p>Welcome·to·Django·1.1.3!</p>
83 <p>This·is·the·third·bugfix·release·in·the·Django·1.1·series,84 <p>This·is·the·third·bugfix·release·in·the·Django·1.1·series,
84 improving·the·stability·and·performance·of·the·Django·1.1·codebase.</p>85 improving·the·stability·and·performance·of·the·Django·1.1·codebase.</p>
85 <p>With·one·exception,·Django·1.1.3·maintains·backwards·compatibility86 <p>With·one·exception,·Django·1.1.3·maintains·backwards·compatibility
86 with·Django·1.1.2.·It·also·contains·a·number·of·fixes·and·other87 with·Django·1.1.2.·It·also·contains·a·number·of·fixes·and·other
87 improvements.·Django·1.1.2·is·a·recommended·upgrade·for·any88 improvements.·Django·1.1.2·is·a·recommended·upgrade·for·any
88 development·or·deployment·currently·using·or·targeting·Django·1.1.</p>89 development·or·deployment·currently·using·or·targeting·Django·1.1.</p>
89 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and90 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and
90 deprecated·features·in·the·1.1·branch,·see·the·<a·class="reference·internal"·href="1.1.html"><span·class="doc">Django·1.1·release·notes</span></a>.</p>91 deprecated·features·in·the·1.1·branch,·see·the·<a·class="reference·internal"·href="1.1.html"><span·class="doc">Django·1.1·release·notes</span></a>.</p>
Offset 104, 15 lines modifiedOffset 105, 15 lines modified
104 structure·and·the·format·of·these·lookup·arguments·to·invent·useful105 structure·and·the·format·of·these·lookup·arguments·to·invent·useful
105 new·filters·on·the·fly·by·manipulating·the·querystring.</p>106 new·filters·on·the·fly·by·manipulating·the·querystring.</p>
106 <p>However,·it·has·been·demonstrated·that·this·can·be·abused·to·gain107 <p>However,·it·has·been·demonstrated·that·this·can·be·abused·to·gain
107 access·to·information·outside·of·an·admin·user’s·permissions;·for108 access·to·information·outside·of·an·admin·user’s·permissions;·for
108 example,·an·attacker·with·access·to·the·admin·and·sufficient·knowledge109 example,·an·attacker·with·access·to·the·admin·and·sufficient·knowledge
109 of·model·structure·and·relations·could·construct·query·strings·which·110 of·model·structure·and·relations·could·construct·query·strings·which·
110 with·repeated·use·of·regular-expression·lookups·supported·by·the111 with·repeated·use·of·regular-expression·lookups·supported·by·the
111 Django·database·API··expose·sensitive·information·such·as·users112 Django·database·API··expose·sensitive·information·such·as·users
112 password·hashes.</p>113 password·hashes.</p>
113 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code>·will·now·validate·that114 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code>·will·now·validate·that
114 querystring·lookup·arguments·either·specify·only·fields·on·the·model115 querystring·lookup·arguments·either·specify·only·fields·on·the·model
115 being·viewed,·or·cross·relations·which·have·been·explicitly116 being·viewed,·or·cross·relations·which·have·been·explicitly
116 allowed·by·the·application·developer·using·the·preexisting117 allowed·by·the·application·developer·using·the·preexisting
117 mechanism·mentioned·above.·This·is·backwards-incompatible·for·any118 mechanism·mentioned·above.·This·is·backwards-incompatible·for·any
118 users·relying·on·the·prior·ability·to·insert·arbitrary·lookups.</p>119 users·relying·on·the·prior·ability·to·insert·arbitrary·lookups.</p>
Offset 127, 50 lines modifiedOffset 128, 50 lines modified
127 ······128 ······
128 ········129 ········
129 ··········<div·class="yui-b"·id="sidebar">130 ··········<div·class="yui-b"·id="sidebar">
130 ············131 ············
131 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">132 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
132 ········<div·class="sphinxsidebarwrapper">133 ········<div·class="sphinxsidebarwrapper">
133 ··<div>134 ··<div>
134 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>135 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
135 ····<ul>136 ····<ul>
136 <li><a·class="reference·internal"·href="#">Django·1.1.3·release·notes</a><ul>137 <li><a·class="reference·internal"·href="#">Django·1.1.3·release·notes</a><ul>
137 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a><ul>138 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a><ul>
138 <li><a·class="reference·internal"·href="#restricted-filters-in-admin-interface">Restricted·filters·in·admin·interface</a></li>139 <li><a·class="reference·internal"·href="#restricted-filters-in-admin-interface">Restricted·filters·in·admin·interface</a></li>
139 </ul>140 </ul>
140 </li>141 </li>
141 </ul>142 </ul>
142 </li>143 </li>
143 </ul>144 </ul>
  
144 ··</div>145 ··</div>
145 ··<div>146 ··<div>
146 ····<h4>Previous·topic</h4>147 ····<h4>Eelmine·teema</h4>
147 ····<p·class="topless"><a·href="1.1.4.html"148 ····<p·class="topless"><a·href="1.1.4.html"
148 ··························title="previous·chapter">Django·1.1.4·release·notes</a></p>149 ··························title="eelmine·jaotis">Django·1.1.4·release·notes</a></p>
149 ··</div>150 ··</div>
150 ··<div>151 ··<div>
151 ····<h4>Next·topic</h4>152 ····<h4>Järgmine·teema</h4>
152 ····<p·class="topless"><a·href="1.1.2.html"153 ····<p·class="topless"><a·href="1.1.2.html"
153 ··························title="next·chapter">Django·1.1.2·release·notes</a></p>154 ··························title="järgmine·jaotis">Django·1.1.2·release·notes</a></p>
154 ··</div>155 ··</div>
155 <search·id="searchbox"·style="display:·none"·role="search">156 <search·id="searchbox"·style="display:·none"·role="search">
156 ··<h3·id="searchlabel">Quick·search</h3>157 ··<h3·id="searchlabel">Kiirotsing</h3>
157 ····<div·class="searchformwrapper">158 ····<div·class="searchformwrapper">
158 ····<form·class="search"·action="../search.html"·method="get">159 ····<form·class="search"·action="../search.html"·method="get">
159 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>160 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
160 ······<input·type="submit"·value="Go"·/>161 ······<input·type="submit"·value="Otsi"·/>
161 ····</form>162 ····</form>
162 ····</div>163 ····</div>
163 </search>164 </search>
164 <script>document.getElementById('searchbox').style.display·=·"block"</script>165 <script>document.getElementById('searchbox').style.display·=·"block"</script>
165 ········</div>166 ········</div>
166 ······</div>167 ······</div>
167 ··············<h3>Last·update:</h3>168 ··············<h3>Last·update:</h3>
168 ··············<p·class="topless">Nov·05,·2024</p>169 ··············<p·class="topless">nov·05,·2024</p>
169 ··········</div>170 ··········</div>
170 ········171 ········
171 ······172 ······
172 ····</div>173 ····</div>
  
173 ····<div·id="ft">174 ····<div·id="ft">
174 ······<div·class="nav">175 ······<div·class="nav">
3.5 KB
html2text {}
Max HTML report size reached
8.35 KB
./usr/share/doc/python-django-doc/html/releases/1.1.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.1.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.1.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.1.3·release·notes"·href="1.1.3.html"·/>15 ····<link·rel="next"·title="Django·1.1.3·release·notes"·href="1.1.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.2·release·notes"·href="1.2.html"·/>16 ····<link·rel="prev"·title="Django·1.2·release·notes"·href="1.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.1.4">79 ··········<div·class="yui-g"·id="releases-1.1.4">
79 ············80 ············
80 ··<section·id="s-django-1-1-4-release-notes">81 ··<section·id="s-django-1-1-4-release-notes">
81 <span·id="django-1-1-4-release-notes"></span><h1>Django·1.1.4·release·notes<a·class="headerlink"·href="#django-1-1-4-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-1-4-release-notes"></span><h1>Django·1.1.4·release·notes<a·class="headerlink"·href="#django-1-1-4-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p>Welcome·to·Django·1.1.4!</p>83 <p>Welcome·to·Django·1.1.4!</p>
83 <p>This·is·the·fourth·bugfix·release·in·the·Django·1.1·series,84 <p>This·is·the·fourth·bugfix·release·in·the·Django·1.1·series,
84 improving·the·stability·and·performance·of·the·Django·1.1·codebase.</p>85 improving·the·stability·and·performance·of·the·Django·1.1·codebase.</p>
85 <p>With·one·exception,·Django·1.1.4·maintains·backwards·compatibility86 <p>With·one·exception,·Django·1.1.4·maintains·backwards·compatibility
86 with·Django·1.1.3.·It·also·contains·a·number·of·fixes·and·other87 with·Django·1.1.3.·It·also·contains·a·number·of·fixes·and·other
87 improvements.·Django·1.1.4·is·a·recommended·upgrade·for·any88 improvements.·Django·1.1.4·is·a·recommended·upgrade·for·any
88 development·or·deployment·currently·using·or·targeting·Django·1.1.</p>89 development·or·deployment·currently·using·or·targeting·Django·1.1.</p>
89 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and90 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and
90 deprecated·features·in·the·1.1·branch,·see·the·<a·class="reference·internal"·href="1.1.html"><span·class="doc">Django·1.1·release·notes</span></a>.</p>91 deprecated·features·in·the·1.1·branch,·see·the·<a·class="reference·internal"·href="1.1.html"><span·class="doc">Django·1.1·release·notes</span></a>.</p>
Offset 140, 50 lines modifiedOffset 141, 50 lines modified
140 ······141 ······
141 ········142 ········
142 ··········<div·class="yui-b"·id="sidebar">143 ··········<div·class="yui-b"·id="sidebar">
143 ············144 ············
144 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">145 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
145 ········<div·class="sphinxsidebarwrapper">146 ········<div·class="sphinxsidebarwrapper">
146 ··<div>147 ··<div>
147 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>148 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
148 ····<ul>149 ····<ul>
149 <li><a·class="reference·internal"·href="#">Django·1.1.4·release·notes</a><ul>150 <li><a·class="reference·internal"·href="#">Django·1.1.4·release·notes</a><ul>
150 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a><ul>151 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a><ul>
151 <li><a·class="reference·internal"·href="#csrf-exception-for-ajax-requests">CSRF·exception·for·AJAX·requests</a></li>152 <li><a·class="reference·internal"·href="#csrf-exception-for-ajax-requests">CSRF·exception·for·AJAX·requests</a></li>
152 </ul>153 </ul>
153 </li>154 </li>
154 </ul>155 </ul>
155 </li>156 </li>
156 </ul>157 </ul>
  
157 ··</div>158 ··</div>
158 ··<div>159 ··<div>
159 ····<h4>Previous·topic</h4>160 ····<h4>Eelmine·teema</h4>
160 ····<p·class="topless"><a·href="1.2.html"161 ····<p·class="topless"><a·href="1.2.html"
161 ··························title="previous·chapter">Django·1.2·release·notes</a></p>162 ··························title="eelmine·jaotis">Django·1.2·release·notes</a></p>
162 ··</div>163 ··</div>
163 ··<div>164 ··<div>
164 ····<h4>Next·topic</h4>165 ····<h4>Järgmine·teema</h4>
165 ····<p·class="topless"><a·href="1.1.3.html"166 ····<p·class="topless"><a·href="1.1.3.html"
166 ··························title="next·chapter">Django·1.1.3·release·notes</a></p>167 ··························title="järgmine·jaotis">Django·1.1.3·release·notes</a></p>
167 ··</div>168 ··</div>
168 <search·id="searchbox"·style="display:·none"·role="search">169 <search·id="searchbox"·style="display:·none"·role="search">
169 ··<h3·id="searchlabel">Quick·search</h3>170 ··<h3·id="searchlabel">Kiirotsing</h3>
170 ····<div·class="searchformwrapper">171 ····<div·class="searchformwrapper">
171 ····<form·class="search"·action="../search.html"·method="get">172 ····<form·class="search"·action="../search.html"·method="get">
172 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>173 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
173 ······<input·type="submit"·value="Go"·/>174 ······<input·type="submit"·value="Otsi"·/>
174 ····</form>175 ····</form>
175 ····</div>176 ····</div>
176 </search>177 </search>
177 <script>document.getElementById('searchbox').style.display·=·"block"</script>178 <script>document.getElementById('searchbox').style.display·=·"block"</script>
178 ········</div>179 ········</div>
179 ······</div>180 ······</div>
180 ··············<h3>Last·update:</h3>181 ··············<h3>Last·update:</h3>
181 ··············<p·class="topless">Nov·05,·2024</p>182 ··············<p·class="topless">nov·05,·2024</p>
182 ··········</div>183 ··········</div>
183 ········184 ········
184 ······185 ······
185 ····</div>186 ····</div>
  
186 ····<div·id="ft">187 ····<div·id="ft">
187 ······<div·class="nav">188 ······<div·class="nav">
3.0 KB
html2text {}
Max HTML report size reached
28.1 KB
./usr/share/doc/python-django-doc/html/releases/1.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.0.2·release·notes"·href="1.0.2.html"·/>15 ····<link·rel="next"·title="Django·1.0.2·release·notes"·href="1.0.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.1.2·release·notes"·href="1.1.2.html"·/>16 ····<link·rel="prev"·title="Django·1.1.2·release·notes"·href="1.1.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 136, 15 lines modifiedOffset 137, 15 lines modified
136 <p>For·convenience,·Django·1.0·included·an·optional·middleware·class·137 <p>For·convenience,·Django·1.0·included·an·optional·middleware·class·
137 <code·class="docutils·literal·notranslate"><span·class="pre">django.middleware.http.SetRemoteAddrFromForwardedFor</span></code>··which·updated·the138 <code·class="docutils·literal·notranslate"><span·class="pre">django.middleware.http.SetRemoteAddrFromForwardedFor</span></code>··which·updated·the
138 value·of·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_ADDR</span></code>·based·on·the·HTTP·<code·class="docutils·literal·notranslate"><span·class="pre">X-Forwarded-For</span></code>·header·commonly139 value·of·<code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_ADDR</span></code>·based·on·the·HTTP·<code·class="docutils·literal·notranslate"><span·class="pre">X-Forwarded-For</span></code>·header·commonly
139 set·by·some·proxy·configurations.</p>140 set·by·some·proxy·configurations.</p>
140 <p>It·has·been·demonstrated·that·this·mechanism·cannot·be·made·reliable·enough·for141 <p>It·has·been·demonstrated·that·this·mechanism·cannot·be·made·reliable·enough·for
141 general-purpose·use,·and·that·(despite·documentation·to·the·contrary)·its142 general-purpose·use,·and·that·(despite·documentation·to·the·contrary)·its
142 inclusion·in·Django·may·lead·application·developers·to·assume·that·the·value·of143 inclusion·in·Django·may·lead·application·developers·to·assume·that·the·value·of
143 <code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_ADDR</span></code>·is·safe·or·in·some·way·reliable·as·a·source·of·authentication.</p>144 <code·class="docutils·literal·notranslate"><span·class="pre">REMOTE_ADDR</span></code>·is·safe·or·in·some·way·reliable·as·a·source·of·authentication.</p>
144 <p>While·not·directly·a·security·issue,·we’ve·decided·to·remove·this·middleware145 <p>While·not·directly·a·security·issue,·we’ve·decided·to·remove·this·middleware
145 with·the·Django·1.1·release.·It·has·been·replaced·with·a·class·that·does·nothing146 with·the·Django·1.1·release.·It·has·been·replaced·with·a·class·that·does·nothing
146 other·than·raise·a·<code·class="docutils·literal·notranslate"><span·class="pre">DeprecationWarning</span></code>.</p>147 other·than·raise·a·<code·class="docutils·literal·notranslate"><span·class="pre">DeprecationWarning</span></code>.</p>
147 <p>If·you’ve·been·relying·on·this·middleware,·the·easiest·upgrade·path·is:</p>148 <p>If·you’ve·been·relying·on·this·middleware,·the·easiest·upgrade·path·is:</p>
148 <ul·class="simple">149 <ul·class="simple">
149 <li><p>Examine·<a·class="reference·external"·href="https://github.com/django/django/blob/91f18400cc0fb37659e2dbaab5484ff2081f1f30/django/middleware/http.py#L33">the·code·as·it·existed·before·it·was·removed</a>.</p></li>150 <li><p>Examine·<a·class="reference·external"·href="https://github.com/django/django/blob/91f18400cc0fb37659e2dbaab5484ff2081f1f30/django/middleware/http.py#L33">the·code·as·it·existed·before·it·was·removed</a>.</p></li>
150 <li><p>Verify·that·it·works·correctly·with·your·upstream·proxy,·modifying151 <li><p>Verify·that·it·works·correctly·with·your·upstream·proxy,·modifying
Offset 183, 15 lines modifiedOffset 184, 15 lines modified
183 and·expected.</p>184 and·expected.</p>
184 </section>185 </section>
185 <section·id="s-permanent-redirects-and-the-redirect-to-generic-view">186 <section·id="s-permanent-redirects-and-the-redirect-to-generic-view">
186 <span·id="permanent-redirects-and-the-redirect-to-generic-view"></span><h3>Permanent·redirects·and·the·<code·class="docutils·literal·notranslate"><span·class="pre">redirect_to()</span></code>·generic·view<a·class="headerlink"·href="#permanent-redirects-and-the-redirect-to-generic-view"·title="Link·to·this·heading">¶</a></h3>187 <span·id="permanent-redirects-and-the-redirect-to-generic-view"></span><h3>Permanent·redirects·and·the·<code·class="docutils·literal·notranslate"><span·class="pre">redirect_to()</span></code>·generic·view<a·class="headerlink"·href="#permanent-redirects-and-the-redirect-to-generic-view"·title="Link·to·this·heading">¶</a></h3>
187 <p>Django·1.1·adds·a·<code·class="docutils·literal·notranslate"><span·class="pre">permanent</span></code>·argument·to·the188 <p>Django·1.1·adds·a·<code·class="docutils·literal·notranslate"><span·class="pre">permanent</span></code>·argument·to·the
188 <code·class="docutils·literal·notranslate"><span·class="pre">django.views.generic.simple.redirect_to()</span></code>·view.·This·is·technically189 <code·class="docutils·literal·notranslate"><span·class="pre">django.views.generic.simple.redirect_to()</span></code>·view.·This·is·technically
189 backwards-incompatible·if·you·were·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">redirect_to</span></code>·view·with·a190 backwards-incompatible·if·you·were·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">redirect_to</span></code>·view·with·a
190 format-string·key·called·permanent,·which·is·highly·unlikely.</p>191 format-string·key·called·permanent,·which·is·highly·unlikely.</p>
191 </section>192 </section>
192 </section>193 </section>
193 <section·id="s-features-deprecated-in-1-1">194 <section·id="s-features-deprecated-in-1-1">
194 <span·id="s-deprecated-features-1-1"></span><span·id="features-deprecated-in-1-1"></span><span·id="deprecated-features-1-1"></span><h2>Features·deprecated·in·1.1<a·class="headerlink"·href="#features-deprecated-in-1-1"·title="Link·to·this·heading">¶</a></h2>195 <span·id="s-deprecated-features-1-1"></span><span·id="features-deprecated-in-1-1"></span><span·id="deprecated-features-1-1"></span><h2>Features·deprecated·in·1.1<a·class="headerlink"·href="#features-deprecated-in-1-1"·title="Link·to·this·heading">¶</a></h2>
195 <p>One·feature·has·been·marked·as·deprecated·in·Django·1.1:</p>196 <p>One·feature·has·been·marked·as·deprecated·in·Django·1.1:</p>
196 <ul>197 <ul>
197 <li><p>You·should·no·longer·use·<code·class="docutils·literal·notranslate"><span·class="pre">AdminSite.root()</span></code>·to·register·that·admin198 <li><p>You·should·no·longer·use·<code·class="docutils·literal·notranslate"><span·class="pre">AdminSite.root()</span></code>·to·register·that·admin
Offset 242, 15 lines modifiedOffset 243, 15 lines modified
242 consult·the·<a·class="reference·internal"·href="../ref/models/expressions.html#django.db.models.F"·title="django.db.models.F"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">F</span>·<span·class="pre">expressions</span>·<span·class="pre">documentation</span></code></a>.</p>243 consult·the·<a·class="reference·internal"·href="../ref/models/expressions.html#django.db.models.F"·title="django.db.models.F"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">F</span>·<span·class="pre">expressions</span>·<span·class="pre">documentation</span></code></a>.</p>
243 </section>244 </section>
244 </section>245 </section>
245 <section·id="s-model-improvements">246 <section·id="s-model-improvements">
246 <span·id="model-improvements"></span><h3>Model·improvements<a·class="headerlink"·href="#model-improvements"·title="Link·to·this·heading">¶</a></h3>247 <span·id="model-improvements"></span><h3>Model·improvements<a·class="headerlink"·href="#model-improvements"·title="Link·to·this·heading">¶</a></h3>
247 <p>A·number·of·features·have·been·added·to·Django’s·model·layer:</p>248 <p>A·number·of·features·have·been·added·to·Django’s·model·layer:</p>
248 <section·id="s-unmanaged-models">249 <section·id="s-unmanaged-models">
249 <span·id="unmanaged-models"></span><h4>Unmanaged·models<a·class="headerlink"·href="#unmanaged-models"·title="Link·to·this·heading">¶</a></h4>250 <span·id="unmanaged-models"></span><h4>Unmanaged·models<a·class="headerlink"·href="#unmanaged-models"·title="Link·to·this·heading">¶</a></h4>
250 <p>You·can·now·control·whether·or·not·Django·manages·the·life-cycle·of·the·database251 <p>You·can·now·control·whether·or·not·Django·manages·the·life-cycle·of·the·database
251 tables·for·a·model·using·the·<a·class="reference·internal"·href="../ref/models/options.html#django.db.models.Options.managed"·title="django.db.models.Options.managed"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">managed</span></code></a>·model·option.·This252 tables·for·a·model·using·the·<a·class="reference·internal"·href="../ref/models/options.html#django.db.models.Options.managed"·title="django.db.models.Options.managed"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">managed</span></code></a>·model·option.·This
252 defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·meaning·that·Django·will·create·the·appropriate·database253 defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·meaning·that·Django·will·create·the·appropriate·database
253 tables·in·<code·class="docutils·literal·notranslate"><span·class="pre">syncdb</span></code>·and·remove·them·as·part·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">reset</span></code>254 tables·in·<code·class="docutils·literal·notranslate"><span·class="pre">syncdb</span></code>·and·remove·them·as·part·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">reset</span></code>
254 command.·That·is,·Django·<em>manages</em>·the·database·table’s·lifecycle.</p>255 command.·That·is,·Django·<em>manages</em>·the·database·table’s·lifecycle.</p>
255 <p>If·you·set·this·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·however,·no·database·table·creating·or·deletion256 <p>If·you·set·this·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·however,·no·database·table·creating·or·deletion
256 will·be·automatically·performed·for·this·model.·This·is·useful·if·the·model257 will·be·automatically·performed·for·this·model.·This·is·useful·if·the·model
Offset 317, 15 lines modifiedOffset 318, 15 lines modified
317 <section·id="s-editable-fields-on-the-change-list">318 <section·id="s-editable-fields-on-the-change-list">
318 <span·id="editable-fields-on-the-change-list"></span><h4>Editable·fields·on·the·change·list<a·class="headerlink"·href="#editable-fields-on-the-change-list"·title="Link·to·this·heading">¶</a></h4>319 <span·id="editable-fields-on-the-change-list"></span><h4>Editable·fields·on·the·change·list<a·class="headerlink"·href="#editable-fields-on-the-change-list"·title="Link·to·this·heading">¶</a></h4>
319 <p>You·can·now·make·fields·editable·on·the·admin·list·views·via·the·new320 <p>You·can·now·make·fields·editable·on·the·admin·list·views·via·the·new
320 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#admin-list-editable"><span·class="std·std-ref">list_editable</span></a>·admin·option.·These·fields·will·show321 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#admin-list-editable"><span·class="std·std-ref">list_editable</span></a>·admin·option.·These·fields·will·show
321 up·as·form·widgets·on·the·list·pages,·and·can·be·edited·and·saved·in·bulk.</p>322 up·as·form·widgets·on·the·list·pages,·and·can·be·edited·and·saved·in·bulk.</p>
322 </section>323 </section>
323 <section·id="s-admin-actions">324 <section·id="s-admin-actions">
324 <span·id="admin-actions"></span><h4>Admin·actions<a·class="headerlink"·href="#admin-actions"·title="Link·to·this·heading">¶</a></h4>325 <span·id="admin-actions"></span><h4>Admin·actions<a·class="headerlink"·href="#admin-actions"·title="Link·to·this·heading">¶</a></h4>
325 <p>You·can·now·define·<a·class="reference·internal"·href="../ref/contrib/admin/actions.html"><span·class="doc">admin·actions</span></a>·that·can326 <p>You·can·now·define·<a·class="reference·internal"·href="../ref/contrib/admin/actions.html"><span·class="doc">admin·actions</span></a>·that·can
326 perform·some·action·to·a·group·of·models·in·bulk.·Users·will·be·able·to·select327 perform·some·action·to·a·group·of·models·in·bulk.·Users·will·be·able·to·select
327 objects·on·the·change·list·page·and·then·apply·these·bulk·actions·to·all328 objects·on·the·change·list·page·and·then·apply·these·bulk·actions·to·all
328 selected·objects.</p>329 selected·objects.</p>
329 <p>Django·ships·with·one·pre-defined·admin·action·to·delete·a·group·of·objects·in330 <p>Django·ships·with·one·pre-defined·admin·action·to·delete·a·group·of·objects·in
330 one·fell·swoop.</p>331 one·fell·swoop.</p>
331 </section>332 </section>
Offset 336, 15 lines modifiedOffset 337, 15 lines modified
336 <code·class="docutils·literal·notranslate"><span·class="pre">Last-Modified</span></code>·HTTP·headers.·This·means·you·can·now·easily·short-circuit337 <code·class="docutils·literal·notranslate"><span·class="pre">Last-Modified</span></code>·HTTP·headers.·This·means·you·can·now·easily·short-circuit
337 view·processing·by·testing·less-expensive·conditions.·For·many·views·this·can338 view·processing·by·testing·less-expensive·conditions.·For·many·views·this·can
338 lead·to·a·serious·improvement·in·speed·and·reduction·in·bandwidth.</p>339 lead·to·a·serious·improvement·in·speed·and·reduction·in·bandwidth.</p>
339 </section>340 </section>
340 <section·id="s-url-namespaces">341 <section·id="s-url-namespaces">
341 <span·id="url-namespaces"></span><h3>URL·namespaces<a·class="headerlink"·href="#url-namespaces"·title="Link·to·this·heading">¶</a></h3>342 <span·id="url-namespaces"></span><h3>URL·namespaces<a·class="headerlink"·href="#url-namespaces"·title="Link·to·this·heading">¶</a></h3>
342 <p>Django·1.1·improves·<a·class="reference·internal"·href="../topics/http/urls.html#naming-url-patterns"><span·class="std·std-ref">named·URL·patterns</span></a>·with·the343 <p>Django·1.1·improves·<a·class="reference·internal"·href="../topics/http/urls.html#naming-url-patterns"><span·class="std·std-ref">named·URL·patterns</span></a>·with·the
343 introduction·of·URL·namespaces.</p>344 introduction·of·URL·namespaces.</p>
344 <p>In·short,·this·feature·allows·the·same·group·of·URLs,·from·the·same·application,345 <p>In·short,·this·feature·allows·the·same·group·of·URLs,·from·the·same·application,
345 to·be·included·in·a·Django·URLConf·multiple·times,·with·varying·(and·potentially346 to·be·included·in·a·Django·URLConf·multiple·times,·with·varying·(and·potentially
346 nested)·named·prefixes·which·will·be·used·when·performing·reverse·resolution.·In347 nested)·named·prefixes·which·will·be·used·when·performing·reverse·resolution.·In
347 other·words,·reusable·applications·like·Django’s·admin·interface·may·be348 other·words,·reusable·applications·like·Django’s·admin·interface·may·be
348 registered·multiple·times·without·URL·conflicts.</p>349 registered·multiple·times·without·URL·conflicts.</p>
349 <p>For·full·details,·see·<a·class="reference·internal"·href="../topics/http/urls.html#topics-http-defining-url-namespaces"><span·class="std·std-ref">the·documentation·on·defining·URL·namespaces</span></a>.</p>350 <p>For·full·details,·see·<a·class="reference·internal"·href="../topics/http/urls.html#topics-http-defining-url-namespaces"><span·class="std·std-ref">the·documentation·on·defining·URL·namespaces</span></a>.</p>
350 </section>351 </section>
Offset 374, 15 lines modifiedOffset 375, 15 lines modified
374 backwards-compatibility,·but·using·the·split·classes·is·now·recommended·in375 backwards-compatibility,·but·using·the·split·classes·is·now·recommended·in
375 order·to·allow·fine-grained·control·of·when·and·where·the·CSRF·processing376 order·to·allow·fine-grained·control·of·when·and·where·the·CSRF·processing
376 takes·place.</p></li>377 takes·place.</p></li>
377 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·and·code·which·uses·it·(e.g.,·the·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">url</span>·<span·class="pre">%}</span></code>·template·tag)378 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·and·code·which·uses·it·(e.g.,·the·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">url</span>·<span·class="pre">%}</span></code>·template·tag)
378 now·works·with·URLs·in·Django’s·administrative·site,·provided·that·the·admin379 now·works·with·URLs·in·Django’s·administrative·site,·provided·that·the·admin
379 URLs·are·set·up·via·<code·class="docutils·literal·notranslate"><span·class="pre">include(admin.site.urls)</span></code>·(sending·admin·requests·to380 URLs·are·set·up·via·<code·class="docutils·literal·notranslate"><span·class="pre">include(admin.site.urls)</span></code>·(sending·admin·requests·to
380 the·<code·class="docutils·literal·notranslate"><span·class="pre">admin.site.root</span></code>·view·still·works,·but·URLs·in·the·admin·will·not·be381 the·<code·class="docutils·literal·notranslate"><span·class="pre">admin.site.root</span></code>·view·still·works,·but·URLs·in·the·admin·will·not·be
Max diff block lines reached; 5515/16713 bytes (33.00%) of diff not shown.
11.7 KB
html2text {}
Max HTML report size reached
6.53 KB
./usr/share/doc/python-django-doc/html/releases/1.10.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.10.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.10.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.10·release·notes"·href="1.10.html"·/>15 ····<link·rel="next"·title="Django·1.10·release·notes"·href="1.10.html"·/>
15 ····<link·rel="prev"·title="Django·1.10.2·release·notes"·href="1.10.2.html"·/>16 ····<link·rel="prev"·title="Django·1.10.2·release·notes"·href="1.10.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 148, 47 lines modifiedOffset 149, 47 lines modified
148 ······149 ······
149 ········150 ········
150 ··········<div·class="yui-b"·id="sidebar">151 ··········<div·class="yui-b"·id="sidebar">
151 ············152 ············
152 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">153 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
153 ········<div·class="sphinxsidebarwrapper">154 ········<div·class="sphinxsidebarwrapper">
154 ··<div>155 ··<div>
155 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>156 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
156 ····<ul>157 ····<ul>
157 <li><a·class="reference·internal"·href="#">Django·1.10.1·release·notes</a><ul>158 <li><a·class="reference·internal"·href="#">Django·1.10.1·release·notes</a><ul>
158 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>159 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
159 </ul>160 </ul>
160 </li>161 </li>
161 </ul>162 </ul>
  
162 ··</div>163 ··</div>
163 ··<div>164 ··<div>
164 ····<h4>Previous·topic</h4>165 ····<h4>Eelmine·teema</h4>
165 ····<p·class="topless"><a·href="1.10.2.html"166 ····<p·class="topless"><a·href="1.10.2.html"
166 ··························title="previous·chapter">Django·1.10.2·release·notes</a></p>167 ··························title="eelmine·jaotis">Django·1.10.2·release·notes</a></p>
167 ··</div>168 ··</div>
168 ··<div>169 ··<div>
169 ····<h4>Next·topic</h4>170 ····<h4>Järgmine·teema</h4>
170 ····<p·class="topless"><a·href="1.10.html"171 ····<p·class="topless"><a·href="1.10.html"
171 ··························title="next·chapter">Django·1.10·release·notes</a></p>172 ··························title="järgmine·jaotis">Django·1.10·release·notes</a></p>
172 ··</div>173 ··</div>
173 <search·id="searchbox"·style="display:·none"·role="search">174 <search·id="searchbox"·style="display:·none"·role="search">
174 ··<h3·id="searchlabel">Quick·search</h3>175 ··<h3·id="searchlabel">Kiirotsing</h3>
175 ····<div·class="searchformwrapper">176 ····<div·class="searchformwrapper">
176 ····<form·class="search"·action="../search.html"·method="get">177 ····<form·class="search"·action="../search.html"·method="get">
177 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>178 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
178 ······<input·type="submit"·value="Go"·/>179 ······<input·type="submit"·value="Otsi"·/>
179 ····</form>180 ····</form>
180 ····</div>181 ····</div>
181 </search>182 </search>
182 <script>document.getElementById('searchbox').style.display·=·"block"</script>183 <script>document.getElementById('searchbox').style.display·=·"block"</script>
183 ········</div>184 ········</div>
184 ······</div>185 ······</div>
185 ··············<h3>Last·update:</h3>186 ··············<h3>Last·update:</h3>
186 ··············<p·class="topless">Nov·05,·2024</p>187 ··············<p·class="topless">nov·05,·2024</p>
187 ··········</div>188 ··········</div>
188 ········189 ········
189 ······190 ······
190 ····</div>191 ····</div>
  
191 ····<div·id="ft">192 ····<div·id="ft">
192 ······<div·class="nav">193 ······<div·class="nav">
2.41 KB
html2text {}
Max HTML report size reached
10.1 KB
./usr/share/doc/python-django-doc/html/releases/1.10.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.10.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.10.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.10.1·release·notes"·href="1.10.1.html"·/>15 ····<link·rel="next"·title="Django·1.10.1·release·notes"·href="1.10.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.10.3·release·notes"·href="1.10.3.html"·/>16 ····<link·rel="prev"·title="Django·1.10.3·release·notes"·href="1.10.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 21 lines modifiedOffset 85, 21 lines modified
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Fixed·a·crash·in·MySQL·database·validation·where·<code·class="docutils·literal·notranslate"><span·class="pre">SELECT</span>·<span·class="pre">&#64;&#64;sql_mode</span></code>88 <li><p>Fixed·a·crash·in·MySQL·database·validation·where·<code·class="docutils·literal·notranslate"><span·class="pre">SELECT</span>·<span·class="pre">&#64;&#64;sql_mode</span></code>
88 doesn’t·return·a·result·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27180">#27180</a>).</p></li>89 doesn’t·return·a·result·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27180">#27180</a>).</p></li>
89 <li><p>Allowed·combining·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.postgres.search.SearchQuery</span></code>·with·more·than·one90 <li><p>Allowed·combining·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.postgres.search.SearchQuery</span></code>·with·more·than·one
90 <code·class="docutils·literal·notranslate"><span·class="pre">&amp;</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">|</span></code>·operators·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27143">#27143</a>).</p></li>91 <code·class="docutils·literal·notranslate"><span·class="pre">&amp;</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">|</span></code>·operators·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27143">#27143</a>).</p></li>
91 <li><p>Disabled·system·check·for·URL·patterns·beginning·with·a·/·when92 <li><p>Disabled·system·check·for·URL·patterns·beginning·with·a·/·when
92 <code·class="docutils·literal·notranslate"><span·class="pre">APPEND_SLASH=False</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27238">#27238</a>).</p></li>93 <code·class="docutils·literal·notranslate"><span·class="pre">APPEND_SLASH=False</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27238">#27238</a>).</p></li>
93 <li><p>Fixed·model·form·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·fallback·for·<code·class="docutils·literal·notranslate"><span·class="pre">CheckboxSelectMultiple</span></code>,94 <li><p>Fixed·model·form·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·fallback·for·<code·class="docutils·literal·notranslate"><span·class="pre">CheckboxSelectMultiple</span></code>,
94 <code·class="docutils·literal·notranslate"><span·class="pre">MultiWidget</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">FileInput</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">SplitDateTimeWidget</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">SelectDateWidget</span></code>,95 <code·class="docutils·literal·notranslate"><span·class="pre">MultiWidget</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">FileInput</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">SplitDateTimeWidget</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">SelectDateWidget</span></code>,
95 and·<code·class="docutils·literal·notranslate"><span·class="pre">SplitArrayWidget</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27186">#27186</a>).·Custom·widgets·affected·by·this96 and·<code·class="docutils·literal·notranslate"><span·class="pre">SplitArrayWidget</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27186">#27186</a>).·Custom·widgets·affected·by·this
96 issue·should·implement·<a·class="reference·internal"·href="../ref/forms/widgets.html#django.forms.Widget.value_omitted_from_data"·title="django.forms.Widget.value_omitted_from_data"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">value_omitted_from_data()</span></code></a>.</p></li>97 issue·should·implement·<a·class="reference·internal"·href="../ref/forms/widgets.html#django.forms.Widget.value_omitted_from_data"·title="django.forms.Widget.value_omitted_from_data"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">value_omitted_from_data()</span></code></a>.</p></li>
97 <li><p>Fixed·a·crash·in·<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code>·logging·during·a·Broken·pipe·error98 <li><p>Fixed·a·crash·in·<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code>·logging·during·a·Broken·pipe·error
98 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27271">#27271</a>).</p></li>99 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27271">#27271</a>).</p></li>
99 <li><p>Fixed·a·regression·where·unchanged·localized·date/time·fields·were·listed·as100 <li><p>Fixed·a·regression·where·unchanged·localized·date/time·fields·were·listed·as
100 changed·in·the·admin’s·model·history·messages·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27302">#27302</a>).</p></li>101 changed·in·the·admin’s·model·history·messages·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27302">#27302</a>).</p></li>
101 </ul>102 </ul>
102 </section>103 </section>
103 </section>104 </section>
  
Offset 109, 47 lines modifiedOffset 110, 47 lines modified
109 ······110 ······
110 ········111 ········
111 ··········<div·class="yui-b"·id="sidebar">112 ··········<div·class="yui-b"·id="sidebar">
112 ············113 ············
113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
114 ········<div·class="sphinxsidebarwrapper">115 ········<div·class="sphinxsidebarwrapper">
115 ··<div>116 ··<div>
116 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>117 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
117 ····<ul>118 ····<ul>
118 <li><a·class="reference·internal"·href="#">Django·1.10.2·release·notes</a><ul>119 <li><a·class="reference·internal"·href="#">Django·1.10.2·release·notes</a><ul>
119 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>120 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
120 </ul>121 </ul>
121 </li>122 </li>
122 </ul>123 </ul>
  
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Previous·topic</h4>126 ····<h4>Eelmine·teema</h4>
126 ····<p·class="topless"><a·href="1.10.3.html"127 ····<p·class="topless"><a·href="1.10.3.html"
127 ··························title="previous·chapter">Django·1.10.3·release·notes</a></p>128 ··························title="eelmine·jaotis">Django·1.10.3·release·notes</a></p>
128 ··</div>129 ··</div>
129 ··<div>130 ··<div>
130 ····<h4>Next·topic</h4>131 ····<h4>Järgmine·teema</h4>
131 ····<p·class="topless"><a·href="1.10.1.html"132 ····<p·class="topless"><a·href="1.10.1.html"
132 ··························title="next·chapter">Django·1.10.1·release·notes</a></p>133 ··························title="järgmine·jaotis">Django·1.10.1·release·notes</a></p>
133 ··</div>134 ··</div>
134 <search·id="searchbox"·style="display:·none"·role="search">135 <search·id="searchbox"·style="display:·none"·role="search">
135 ··<h3·id="searchlabel">Quick·search</h3>136 ··<h3·id="searchlabel">Kiirotsing</h3>
136 ····<div·class="searchformwrapper">137 ····<div·class="searchformwrapper">
137 ····<form·class="search"·action="../search.html"·method="get">138 ····<form·class="search"·action="../search.html"·method="get">
138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
139 ······<input·type="submit"·value="Go"·/>140 ······<input·type="submit"·value="Otsi"·/>
140 ····</form>141 ····</form>
141 ····</div>142 ····</div>
142 </search>143 </search>
143 <script>document.getElementById('searchbox').style.display·=·"block"</script>144 <script>document.getElementById('searchbox').style.display·=·"block"</script>
144 ········</div>145 ········</div>
145 ······</div>146 ······</div>
146 ··············<h3>Last·update:</h3>147 ··············<h3>Last·update:</h3>
147 ··············<p·class="topless">Nov·05,·2024</p>148 ··············<p·class="topless">nov·05,·2024</p>
148 ··········</div>149 ··········</div>
149 ········150 ········
150 ······151 ······
151 ····</div>152 ····</div>
  
152 ····<div·id="ft">153 ····<div·id="ft">
153 ······<div·class="nav">154 ······<div·class="nav">
2.92 KB
html2text {}
Max HTML report size reached
7.49 KB
./usr/share/doc/python-django-doc/html/releases/1.10.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.10.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.10.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.10.2·release·notes"·href="1.10.2.html"·/>15 ····<link·rel="next"·title="Django·1.10.2·release·notes"·href="1.10.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.10.4·release·notes"·href="1.10.4.html"·/>16 ····<link·rel="prev"·title="Django·1.10.4·release·notes"·href="1.10.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 139, 49 lines modifiedOffset 140, 49 lines modified
139 ······140 ······
140 ········141 ········
141 ··········<div·class="yui-b"·id="sidebar">142 ··········<div·class="yui-b"·id="sidebar">
142 ············143 ············
143 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">144 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
144 ········<div·class="sphinxsidebarwrapper">145 ········<div·class="sphinxsidebarwrapper">
145 ··<div>146 ··<div>
146 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>147 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
147 ····<ul>148 ····<ul>
148 <li><a·class="reference·internal"·href="#">Django·1.10.3·release·notes</a><ul>149 <li><a·class="reference·internal"·href="#">Django·1.10.3·release·notes</a><ul>
149 <li><a·class="reference·internal"·href="#user-with-hardcoded-password-created-when-running-tests-on-oracle">User·with·hardcoded·password·created·when·running·tests·on·Oracle</a></li>150 <li><a·class="reference·internal"·href="#user-with-hardcoded-password-created-when-running-tests-on-oracle">User·with·hardcoded·password·created·when·running·tests·on·Oracle</a></li>
150 <li><a·class="reference·internal"·href="#dns-rebinding-vulnerability-when-debug-true">DNS·rebinding·vulnerability·when·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG=True</span></code></a></li>151 <li><a·class="reference·internal"·href="#dns-rebinding-vulnerability-when-debug-true">DNS·rebinding·vulnerability·when·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG=True</span></code></a></li>
151 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>152 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
152 </ul>153 </ul>
153 </li>154 </li>
154 </ul>155 </ul>
  
155 ··</div>156 ··</div>
156 ··<div>157 ··<div>
157 ····<h4>Previous·topic</h4>158 ····<h4>Eelmine·teema</h4>
158 ····<p·class="topless"><a·href="1.10.4.html"159 ····<p·class="topless"><a·href="1.10.4.html"
159 ··························title="previous·chapter">Django·1.10.4·release·notes</a></p>160 ··························title="eelmine·jaotis">Django·1.10.4·release·notes</a></p>
160 ··</div>161 ··</div>
161 ··<div>162 ··<div>
162 ····<h4>Next·topic</h4>163 ····<h4>Järgmine·teema</h4>
163 ····<p·class="topless"><a·href="1.10.2.html"164 ····<p·class="topless"><a·href="1.10.2.html"
164 ··························title="next·chapter">Django·1.10.2·release·notes</a></p>165 ··························title="järgmine·jaotis">Django·1.10.2·release·notes</a></p>
165 ··</div>166 ··</div>
166 <search·id="searchbox"·style="display:·none"·role="search">167 <search·id="searchbox"·style="display:·none"·role="search">
167 ··<h3·id="searchlabel">Quick·search</h3>168 ··<h3·id="searchlabel">Kiirotsing</h3>
168 ····<div·class="searchformwrapper">169 ····<div·class="searchformwrapper">
169 ····<form·class="search"·action="../search.html"·method="get">170 ····<form·class="search"·action="../search.html"·method="get">
170 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>171 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
171 ······<input·type="submit"·value="Go"·/>172 ······<input·type="submit"·value="Otsi"·/>
172 ····</form>173 ····</form>
173 ····</div>174 ····</div>
174 </search>175 </search>
175 <script>document.getElementById('searchbox').style.display·=·"block"</script>176 <script>document.getElementById('searchbox').style.display·=·"block"</script>
176 ········</div>177 ········</div>
177 ······</div>178 ······</div>
178 ··············<h3>Last·update:</h3>179 ··············<h3>Last·update:</h3>
179 ··············<p·class="topless">Nov·05,·2024</p>180 ··············<p·class="topless">nov·05,·2024</p>
180 ··········</div>181 ··········</div>
181 ········182 ········
182 ······183 ······
183 ····</div>184 ····</div>
  
184 ····<div·id="ft">185 ····<div·id="ft">
185 ······<div·class="nav">186 ······<div·class="nav">
2.97 KB
html2text {}
Max HTML report size reached
8.95 KB
./usr/share/doc/python-django-doc/html/releases/1.10.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.10.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.10.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.10.3·release·notes"·href="1.10.3.html"·/>15 ····<link·rel="next"·title="Django·1.10.3·release·notes"·href="1.10.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.10.5·release·notes"·href="1.10.5.html"·/>16 ····<link·rel="prev"·title="Django·1.10.5·release·notes"·href="1.10.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 16 lines modifiedOffset 81, 16 lines modified
80 ··<section·id="s-django-1-10-4-release-notes">81 ··<section·id="s-django-1-10-4-release-notes">
81 <span·id="django-1-10-4-release-notes"></span><h1>Django·1.10.4·release·notes<a·class="headerlink"·href="#django-1-10-4-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-10-4-release-notes"></span><h1>Django·1.10.4·release·notes<a·class="headerlink"·href="#django-1-10-4-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>December·1,·2016</em></p>83 <p><em>December·1,·2016</em></p>
83 <p>Django·1.10.4·fixes·several·bugs·in·1.10.3.</p>84 <p>Django·1.10.4·fixes·several·bugs·in·1.10.3.</p>
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Quoted·the·Oracle·test·user’s·password·in·queries·to·fix·the·ORA-00922:88 <li><p>Quoted·the·Oracle·test·user’s·password·in·queries·to·fix·the·ORA-00922:
88 missing·or·invalid·option·error·when·the·password·starts·with·a·number·or89 missing·or·invalid·option·error·when·the·password·starts·with·a·number·or
89 special·character·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27420">#27420</a>).</p></li>90 special·character·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27420">#27420</a>).</p></li>
90 <li><p>Fixed·incorrect·<code·class="docutils·literal·notranslate"><span·class="pre">app_label</span></code>·/·<code·class="docutils·literal·notranslate"><span·class="pre">model_name</span></code>·arguments·for91 <li><p>Fixed·incorrect·<code·class="docutils·literal·notranslate"><span·class="pre">app_label</span></code>·/·<code·class="docutils·literal·notranslate"><span·class="pre">model_name</span></code>·arguments·for
91 <code·class="docutils·literal·notranslate"><span·class="pre">allow_migrate()</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">makemigrations</span></code>·migration·consistency·checks92 <code·class="docutils·literal·notranslate"><span·class="pre">allow_migrate()</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">makemigrations</span></code>·migration·consistency·checks
92 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27461">#27461</a>).</p></li>93 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27461">#27461</a>).</p></li>
93 <li><p>Made·<code·class="docutils·literal·notranslate"><span·class="pre">Model.delete(keep_parents=True)</span></code>·preserve·parent·reverse94 <li><p>Made·<code·class="docutils·literal·notranslate"><span·class="pre">Model.delete(keep_parents=True)</span></code>·preserve·parent·reverse
94 relationships·in·multi-table·inheritance·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27407">#27407</a>).</p></li>95 relationships·in·multi-table·inheritance·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27407">#27407</a>).</p></li>
95 <li><p>Fixed·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.update()</span></code>·crash·on·SQLite·when·updating·a96 <li><p>Fixed·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.update()</span></code>·crash·on·SQLite·when·updating·a
Offset 110, 47 lines modifiedOffset 111, 47 lines modified
110 ······111 ······
111 ········112 ········
112 ··········<div·class="yui-b"·id="sidebar">113 ··········<div·class="yui-b"·id="sidebar">
113 ············114 ············
114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
115 ········<div·class="sphinxsidebarwrapper">116 ········<div·class="sphinxsidebarwrapper">
116 ··<div>117 ··<div>
117 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>118 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
118 ····<ul>119 ····<ul>
119 <li><a·class="reference·internal"·href="#">Django·1.10.4·release·notes</a><ul>120 <li><a·class="reference·internal"·href="#">Django·1.10.4·release·notes</a><ul>
120 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>121 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="1.10.5.html"128 ····<p·class="topless"><a·href="1.10.5.html"
128 ··························title="previous·chapter">Django·1.10.5·release·notes</a></p>129 ··························title="eelmine·jaotis">Django·1.10.5·release·notes</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="1.10.3.html"133 ····<p·class="topless"><a·href="1.10.3.html"
133 ··························title="next·chapter">Django·1.10.3·release·notes</a></p>134 ··························title="järgmine·jaotis">Django·1.10.3·release·notes</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../search.html"·method="get">139 ····<form·class="search"·action="../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
2.93 KB
html2text {}
Max HTML report size reached
6.45 KB
./usr/share/doc/python-django-doc/html/releases/1.10.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.10.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.10.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.10.4·release·notes"·href="1.10.4.html"·/>15 ····<link·rel="next"·title="Django·1.10.4·release·notes"·href="1.10.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.10.6·release·notes"·href="1.10.6.html"·/>16 ····<link·rel="prev"·title="Django·1.10.6·release·notes"·href="1.10.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 47 lines modifiedOffset 104, 47 lines modified
103 ······104 ······
104 ········105 ········
105 ··········<div·class="yui-b"·id="sidebar">106 ··········<div·class="yui-b"·id="sidebar">
106 ············107 ············
107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
108 ········<div·class="sphinxsidebarwrapper">109 ········<div·class="sphinxsidebarwrapper">
109 ··<div>110 ··<div>
110 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>111 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
111 ····<ul>112 ····<ul>
112 <li><a·class="reference·internal"·href="#">Django·1.10.5·release·notes</a><ul>113 <li><a·class="reference·internal"·href="#">Django·1.10.5·release·notes</a><ul>
113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>114 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
114 </ul>115 </ul>
115 </li>116 </li>
116 </ul>117 </ul>
  
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Previous·topic</h4>120 ····<h4>Eelmine·teema</h4>
120 ····<p·class="topless"><a·href="1.10.6.html"121 ····<p·class="topless"><a·href="1.10.6.html"
121 ··························title="previous·chapter">Django·1.10.6·release·notes</a></p>122 ··························title="eelmine·jaotis">Django·1.10.6·release·notes</a></p>
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Next·topic</h4>125 ····<h4>Järgmine·teema</h4>
125 ····<p·class="topless"><a·href="1.10.4.html"126 ····<p·class="topless"><a·href="1.10.4.html"
126 ··························title="next·chapter">Django·1.10.4·release·notes</a></p>127 ··························title="järgmine·jaotis">Django·1.10.4·release·notes</a></p>
127 ··</div>128 ··</div>
128 <search·id="searchbox"·style="display:·none"·role="search">129 <search·id="searchbox"·style="display:·none"·role="search">
129 ··<h3·id="searchlabel">Quick·search</h3>130 ··<h3·id="searchlabel">Kiirotsing</h3>
130 ····<div·class="searchformwrapper">131 ····<div·class="searchformwrapper">
131 ····<form·class="search"·action="../search.html"·method="get">132 ····<form·class="search"·action="../search.html"·method="get">
132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
133 ······<input·type="submit"·value="Go"·/>134 ······<input·type="submit"·value="Otsi"·/>
134 ····</form>135 ····</form>
135 ····</div>136 ····</div>
136 </search>137 </search>
137 <script>document.getElementById('searchbox').style.display·=·"block"</script>138 <script>document.getElementById('searchbox').style.display·=·"block"</script>
138 ········</div>139 ········</div>
139 ······</div>140 ······</div>
140 ··············<h3>Last·update:</h3>141 ··············<h3>Last·update:</h3>
141 ··············<p·class="topless">Nov·05,·2024</p>142 ··············<p·class="topless">nov·05,·2024</p>
142 ··········</div>143 ··········</div>
143 ········144 ········
144 ······145 ······
145 ····</div>146 ····</div>
  
146 ····<div·id="ft">147 ····<div·id="ft">
147 ······<div·class="nav">148 ······<div·class="nav">
2.31 KB
html2text {}
Max HTML report size reached
8.71 KB
./usr/share/doc/python-django-doc/html/releases/1.10.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.10.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.10.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.10.5·release·notes"·href="1.10.5.html"·/>15 ····<link·rel="next"·title="Django·1.10.5·release·notes"·href="1.10.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.10.7·release·notes"·href="1.10.7.html"·/>16 ····<link·rel="prev"·title="Django·1.10.7·release·notes"·href="1.10.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 15 lines modifiedOffset 81, 15 lines modified
80 ··<section·id="s-django-1-10-6-release-notes">81 ··<section·id="s-django-1-10-6-release-notes">
81 <span·id="django-1-10-6-release-notes"></span><h1>Django·1.10.6·release·notes<a·class="headerlink"·href="#django-1-10-6-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-10-6-release-notes"></span><h1>Django·1.10.6·release·notes<a·class="headerlink"·href="#django-1-10-6-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>March·1,·2017</em></p>83 <p><em>March·1,·2017</em></p>
83 <p>Django·1.10.6·fixes·several·bugs·in·1.10.5.</p>84 <p>Django·1.10.6·fixes·several·bugs·in·1.10.5.</p>
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">ClearableFileInput</span></code>’s·Clear·checkbox·on·model·form·fields·where88 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">ClearableFileInput</span></code>’s·Clear·checkbox·on·model·form·fields·where
88 the·model·field·has·a·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27805">#27805</a>).</p></li>89 the·model·field·has·a·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27805">#27805</a>).</p></li>
89 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">RequestDataTooBig</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">TooManyFieldsSent</span></code>·exceptions·crashing90 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">RequestDataTooBig</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">TooManyFieldsSent</span></code>·exceptions·crashing
90 rather·than·generating·a·bad·request·response·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27820">#27820</a>).</p></li>91 rather·than·generating·a·bad·request·response·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27820">#27820</a>).</p></li>
91 <li><p>Fixed·a·crash·on·Oracle·and·PostgreSQL·when·subtracting·<code·class="docutils·literal·notranslate"><span·class="pre">DurationField</span></code>92 <li><p>Fixed·a·crash·on·Oracle·and·PostgreSQL·when·subtracting·<code·class="docutils·literal·notranslate"><span·class="pre">DurationField</span></code>
92 or·<code·class="docutils·literal·notranslate"><span·class="pre">IntegerField</span></code>·from·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27828">#27828</a>).</p></li>93 or·<code·class="docutils·literal·notranslate"><span·class="pre">IntegerField</span></code>·from·<code·class="docutils·literal·notranslate"><span·class="pre">DateField</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27828">#27828</a>).</p></li>
93 <li><p>Fixed·query·expression·date·subtraction·accuracy·on·PostgreSQL·for94 <li><p>Fixed·query·expression·date·subtraction·accuracy·on·PostgreSQL·for
94 differences·larger·than·a·month·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27856">#27856</a>).</p></li>95 differences·larger·than·a·month·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27856">#27856</a>).</p></li>
Offset 105, 47 lines modifiedOffset 106, 47 lines modified
105 ······106 ······
106 ········107 ········
107 ··········<div·class="yui-b"·id="sidebar">108 ··········<div·class="yui-b"·id="sidebar">
108 ············109 ············
109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
110 ········<div·class="sphinxsidebarwrapper">111 ········<div·class="sphinxsidebarwrapper">
111 ··<div>112 ··<div>
112 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>113 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
113 ····<ul>114 ····<ul>
114 <li><a·class="reference·internal"·href="#">Django·1.10.6·release·notes</a><ul>115 <li><a·class="reference·internal"·href="#">Django·1.10.6·release·notes</a><ul>
115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="1.10.7.html"123 ····<p·class="topless"><a·href="1.10.7.html"
123 ··························title="previous·chapter">Django·1.10.7·release·notes</a></p>124 ··························title="eelmine·jaotis">Django·1.10.7·release·notes</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="1.10.5.html"128 ····<p·class="topless"><a·href="1.10.5.html"
128 ··························title="next·chapter">Django·1.10.5·release·notes</a></p>129 ··························title="järgmine·jaotis">Django·1.10.5·release·notes</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
2.53 KB
html2text {}
Max HTML report size reached
11.3 KB
./usr/share/doc/python-django-doc/html/releases/1.10.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.10.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.10.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.10.6·release·notes"·href="1.10.6.html"·/>15 ····<link·rel="next"·title="Django·1.10.6·release·notes"·href="1.10.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.10.8·release·notes"·href="1.10.8.html"·/>16 ····<link·rel="prev"·title="Django·1.10.8·release·notes"·href="1.10.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 17 lines modifiedOffset 82, 17 lines modified
81 <span·id="django-1-10-7-release-notes"></span><h1>Django·1.10.7·release·notes<a·class="headerlink"·href="#django-1-10-7-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-10-7-release-notes"></span><h1>Django·1.10.7·release·notes<a·class="headerlink"·href="#django-1-10-7-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·4,·2017</em></p>83 <p><em>April·4,·2017</em></p>
83 <p>Django·1.10.7·fixes·two·security·issues·and·a·bug·in·1.10.6.</p>84 <p>Django·1.10.7·fixes·two·security·issues·and·a·bug·in·1.10.6.</p>
84 <section·id="s-cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">85 <section·id="s-cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">
85 <span·id="cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"></span><h2>CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs<a·class="headerlink"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"></span><h2>CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs<a·class="headerlink"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
86 <p>Django·relies·on·user·input·in·some·cases··(e.g.87 <p>Django·relies·on·user·input·in·some·cases··(e.g.
87 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)88 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
88 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these89 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these
89 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·numeric90 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·numeric
90 URLs·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">http:999999999</span></code>)·safe·when·they·shouldn’t·be.</p>91 URLs·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">http:999999999</span></code>)·safe·when·they·shouldn’t·be.</p>
91 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect92 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect
92 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>93 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>
93 </section>94 </section>
94 <section·id="s-cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">95 <section·id="s-cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">
95 <span·id="cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"></span><h2>CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code><a·class="headerlink"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"·title="Link·to·this·heading">¶</a></h2>96 <span·id="cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"></span><h2>CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code><a·class="headerlink"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"·title="Link·to·this·heading">¶</a></h2>
96 <p>A·maliciously·crafted·URL·to·a·Django·site·using·the97 <p>A·maliciously·crafted·URL·to·a·Django·site·using·the
97 <a·class="reference·internal"·href="../ref/views.html#django.views.static.serve"·title="django.views.static.serve"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">serve()</span></code></a>·view·could·redirect·to·any·other·domain.·The98 <a·class="reference·internal"·href="../ref/views.html#django.views.static.serve"·title="django.views.static.serve"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">serve()</span></code></a>·view·could·redirect·to·any·other·domain.·The
Offset 118, 49 lines modifiedOffset 119, 49 lines modified
118 ······119 ······
119 ········120 ········
120 ··········<div·class="yui-b"·id="sidebar">121 ··········<div·class="yui-b"·id="sidebar">
121 ············122 ············
122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">123 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
123 ········<div·class="sphinxsidebarwrapper">124 ········<div·class="sphinxsidebarwrapper">
124 ··<div>125 ··<div>
125 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>126 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
126 ····<ul>127 ····<ul>
127 <li><a·class="reference·internal"·href="#">Django·1.10.7·release·notes</a><ul>128 <li><a·class="reference·internal"·href="#">Django·1.10.7·release·notes</a><ul>
128 <li><a·class="reference·internal"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs</a></li>129 <li><a·class="reference·internal"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs</a></li>
129 <li><a·class="reference·internal"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code></a></li>130 <li><a·class="reference·internal"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code></a></li>
130 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>131 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
131 </ul>132 </ul>
132 </li>133 </li>
133 </ul>134 </ul>
  
134 ··</div>135 ··</div>
135 ··<div>136 ··<div>
136 ····<h4>Previous·topic</h4>137 ····<h4>Eelmine·teema</h4>
137 ····<p·class="topless"><a·href="1.10.8.html"138 ····<p·class="topless"><a·href="1.10.8.html"
138 ··························title="previous·chapter">Django·1.10.8·release·notes</a></p>139 ··························title="eelmine·jaotis">Django·1.10.8·release·notes</a></p>
139 ··</div>140 ··</div>
140 ··<div>141 ··<div>
141 ····<h4>Next·topic</h4>142 ····<h4>Järgmine·teema</h4>
142 ····<p·class="topless"><a·href="1.10.6.html"143 ····<p·class="topless"><a·href="1.10.6.html"
143 ··························title="next·chapter">Django·1.10.6·release·notes</a></p>144 ··························title="järgmine·jaotis">Django·1.10.6·release·notes</a></p>
144 ··</div>145 ··</div>
145 <search·id="searchbox"·style="display:·none"·role="search">146 <search·id="searchbox"·style="display:·none"·role="search">
146 ··<h3·id="searchlabel">Quick·search</h3>147 ··<h3·id="searchlabel">Kiirotsing</h3>
147 ····<div·class="searchformwrapper">148 ····<div·class="searchformwrapper">
148 ····<form·class="search"·action="../search.html"·method="get">149 ····<form·class="search"·action="../search.html"·method="get">
149 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>150 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
150 ······<input·type="submit"·value="Go"·/>151 ······<input·type="submit"·value="Otsi"·/>
151 ····</form>152 ····</form>
152 ····</div>153 ····</div>
153 </search>154 </search>
154 <script>document.getElementById('searchbox').style.display·=·"block"</script>155 <script>document.getElementById('searchbox').style.display·=·"block"</script>
155 ········</div>156 ········</div>
156 ······</div>157 ······</div>
157 ··············<h3>Last·update:</h3>158 ··············<h3>Last·update:</h3>
158 ··············<p·class="topless">Nov·05,·2024</p>159 ··············<p·class="topless">nov·05,·2024</p>
159 ··········</div>160 ··········</div>
160 ········161 ········
161 ······162 ······
162 ····</div>163 ····</div>
  
163 ····<div·id="ft">164 ····<div·id="ft">
164 ······<div·class="nav">165 ······<div·class="nav">
4.07 KB
html2text {}
Max HTML report size reached
6.83 KB
./usr/share/doc/python-django-doc/html/releases/1.10.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.10.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.10.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.10.7·release·notes"·href="1.10.7.html"·/>15 ····<link·rel="next"·title="Django·1.10.7·release·notes"·href="1.10.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.11·release·notes"·href="1.11.html"·/>16 ····<link·rel="prev"·title="Django·1.11·release·notes"·href="1.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·1.10.8·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·1.10.8·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#cve-2017-12794-possible-xss-in-traceback-section-of-technical-500-debug-page">CVE-2017-12794:·Possible·XSS·in·traceback·section·of·technical·500·debug·page</a></li>109 <li><a·class="reference·internal"·href="#cve-2017-12794-possible-xss-in-traceback-section-of-technical-500-debug-page">CVE-2017-12794:·Possible·XSS·in·traceback·section·of·technical·500·debug·page</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="1.11.html"116 ····<p·class="topless"><a·href="1.11.html"
116 ··························title="previous·chapter">Django·1.11·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·1.11·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="1.10.7.html"121 ····<p·class="topless"><a·href="1.10.7.html"
121 ··························title="next·chapter">Django·1.10.7·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·1.10.7·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.58 KB
html2text {}
Max HTML report size reached
50.0 KB
./usr/share/doc/python-django-doc/html/releases/1.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.13·release·notes"·href="1.9.13.html"·/>15 ····<link·rel="next"·title="Django·1.9.13·release·notes"·href="1.9.13.html"·/>
15 ····<link·rel="prev"·title="Django·1.10.1·release·notes"·href="1.10.1.html"·/>16 ····<link·rel="prev"·title="Django·1.10.1·release·notes"·href="1.10.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 138, 25 lines modifiedOffset 139, 25 lines modified
138 will·now·point·to·<code·class="docutils·literal·notranslate"><span·class="pre">request.META['SCRIPT_NAME']</span></code>·if·set,·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">/</span></code>.</p></li>139 will·now·point·to·<code·class="docutils·literal·notranslate"><span·class="pre">request.META['SCRIPT_NAME']</span></code>·if·set,·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">/</span></code>.</p></li>
139 <li><p>The·success·message·that·appears·after·adding·or·editing·an·object·now140 <li><p>The·success·message·that·appears·after·adding·or·editing·an·object·now
140 contains·a·link·to·the·object’s·change·form.</p></li>141 contains·a·link·to·the·object’s·change·form.</p></li>
141 <li><p>All·inline·JavaScript·is·removed·so·you·can·enable·the142 <li><p>All·inline·JavaScript·is·removed·so·you·can·enable·the
142 <code·class="docutils·literal·notranslate"><span·class="pre">Content-Security-Policy</span></code>·HTTP·header·if·you·wish.</p></li>143 <code·class="docutils·literal·notranslate"><span·class="pre">Content-Security-Policy</span></code>·HTTP·header·if·you·wish.</p></li>
143 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.InlineModelAdmin.classes"·title="django.contrib.admin.InlineModelAdmin.classes"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">InlineModelAdmin.classes</span></code></a>·attribute·allows·specifying144 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.InlineModelAdmin.classes"·title="django.contrib.admin.InlineModelAdmin.classes"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">InlineModelAdmin.classes</span></code></a>·attribute·allows·specifying
144 classes·on·inline·fieldsets.·Inlines·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">collapse</span></code>·class·will·be145 classes·on·inline·fieldsets.·Inlines·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">collapse</span></code>·class·will·be
145 initially·collapsed·and·their·header·will·have·a·small·show·link.</p></li>146 initially·collapsed·and·their·header·will·have·a·small·show·link.</p></li>
146 <li><p>If·a·user·doesn’t·have·the·add·permission,·the·<code·class="docutils·literal·notranslate"><span·class="pre">object-tools</span></code>·block·on·a147 <li><p>If·a·user·doesn’t·have·the·add·permission,·the·<code·class="docutils·literal·notranslate"><span·class="pre">object-tools</span></code>·block·on·a
147 model’s·changelist·will·now·be·rendered·(without·the·add·button).·This·makes148 model’s·changelist·will·now·be·rendered·(without·the·add·button).·This·makes
148 it·easier·to·add·custom·tools·in·this·case.</p></li>149 it·easier·to·add·custom·tools·in·this·case.</p></li>
149 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.models.LogEntry"·title="django.contrib.admin.models.LogEntry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LogEntry</span></code></a>·model·now·stores·change150 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.models.LogEntry"·title="django.contrib.admin.models.LogEntry"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LogEntry</span></code></a>·model·now·stores·change
150 messages·in·a·JSON·structure·so·that·the·message·can·be·dynamically·translated151 messages·in·a·JSON·structure·so·that·the·message·can·be·dynamically·translated
151 using·the·current·active·language.·A·new·<code·class="docutils·literal·notranslate"><span·class="pre">LogEntry.get_change_message()</span></code>152 using·the·current·active·language.·A·new·<code·class="docutils·literal·notranslate"><span·class="pre">LogEntry.get_change_message()</span></code>
152 method·is·now·the·preferred·way·of·retrieving·the·change·message.</p></li>153 method·is·now·the·preferred·way·of·retrieving·the·change·message.</p></li>
153 <li><p>Selected·objects·for·fields·in·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.raw_id_fields</span></code>·now·have·a·link154 <li><p>Selected·objects·for·fields·in·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.raw_id_fields</span></code>·now·have·a·link
154 to·object’s·change·form.</p></li>155 to·object’s·change·form.</p></li>
155 <li><p>Added·No·date·and·Has·date·choices·for·<code·class="docutils·literal·notranslate"><span·class="pre">DateFieldListFilter</span></code>·if·the156 <li><p>Added·No·date·and·Has·date·choices·for·<code·class="docutils·literal·notranslate"><span·class="pre">DateFieldListFilter</span></code>·if·the
156 field·is·nullable.</p></li>157 field·is·nullable.</p></li>
157 <li><p>The·jQuery·library·embedded·in·the·admin·is·upgraded·from·version·2.1.4·to158 <li><p>The·jQuery·library·embedded·in·the·admin·is·upgraded·from·version·2.1.4·to
158 2.2.3.</p></li>159 2.2.3.</p></li>
159 </ul>160 </ul>
160 </section>161 </section>
161 <section·id="s-django-contrib-auth">162 <section·id="s-django-contrib-auth">
162 <span·id="django-contrib-auth"></span><h4><a·class="reference·internal"·href="../topics/auth/index.html#module-django.contrib.auth"·title="django.contrib.auth:·Django's·authentication·framework."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code></a><a·class="headerlink"·href="#django-contrib-auth"·title="Link·to·this·heading">¶</a></h4>163 <span·id="django-contrib-auth"></span><h4><a·class="reference·internal"·href="../topics/auth/index.html#module-django.contrib.auth"·title="django.contrib.auth:·Django's·authentication·framework."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code></a><a·class="headerlink"·href="#django-contrib-auth"·title="Link·to·this·heading">¶</a></h4>
Offset 164, 15 lines modifiedOffset 165, 15 lines modified
164 <li><p>Added·support·for·the·<a·class="reference·internal"·href="../topics/auth/passwords.html#argon2-usage"><span·class="std·std-ref">Argon2·password·hash</span></a>.·It’s165 <li><p>Added·support·for·the·<a·class="reference·internal"·href="../topics/auth/passwords.html#argon2-usage"><span·class="std·std-ref">Argon2·password·hash</span></a>.·It’s
165 recommended·over·PBKDF2,·however,·it’s·not·the·default·as·it·requires·a166 recommended·over·PBKDF2,·however,·it’s·not·the·default·as·it·requires·a
166 third-party·library.</p></li>167 third-party·library.</p></li>
167 <li><p>The·default·iteration·count·for·the·PBKDF2·password·hasher·has·been·increased168 <li><p>The·default·iteration·count·for·the·PBKDF2·password·hasher·has·been·increased
168 by·25%.·This·backwards·compatible·change·will·not·affect·users·who·have169 by·25%.·This·backwards·compatible·change·will·not·affect·users·who·have
169 subclassed·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.hashers.PBKDF2PasswordHasher</span></code>·to·change·the170 subclassed·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.hashers.PBKDF2PasswordHasher</span></code>·to·change·the
170 default·value.</p></li>171 default·value.</p></li>
171 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view·sends·no-cache·headers172 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view·sends·no-cache·headers
172 to·prevent·an·issue·where·Safari·caches·redirects·and·prevents·a·user·from173 to·prevent·an·issue·where·Safari·caches·redirects·and·prevents·a·user·from
173 being·able·to·log·out.</p></li>174 being·able·to·log·out.</p></li>
174 <li><p>Added·the·optional·<code·class="docutils·literal·notranslate"><span·class="pre">backend</span></code>·argument·to·<a·class="reference·internal"·href="../topics/auth/default.html#django.contrib.auth.login"·title="django.contrib.auth.login"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.contrib.auth.login()</span></code></a>175 <li><p>Added·the·optional·<code·class="docutils·literal·notranslate"><span·class="pre">backend</span></code>·argument·to·<a·class="reference·internal"·href="../topics/auth/default.html#django.contrib.auth.login"·title="django.contrib.auth.login"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.contrib.auth.login()</span></code></a>
175 to·allow·using·it·without·credentials.</p></li>176 to·allow·using·it·without·credentials.</p></li>
176 <li><p>The·new·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGOUT_REDIRECT_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGOUT_REDIRECT_URL</span></code></a>·setting·controls·the·redirect·of·the177 <li><p>The·new·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGOUT_REDIRECT_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGOUT_REDIRECT_URL</span></code></a>·setting·controls·the·redirect·of·the
177 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view,·if·the·view·doesn’t·get·a178 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view,·if·the·view·doesn’t·get·a
178 <code·class="docutils·literal·notranslate"><span·class="pre">next_page</span></code>·argument.</p></li>179 <code·class="docutils·literal·notranslate"><span·class="pre">next_page</span></code>·argument.</p></li>
Offset 355, 15 lines modifiedOffset 356, 15 lines modified
355 <li><p>The·new·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-check-fail-level"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">check</span>·<span·class="pre">--fail-level</span></code></a>·option·allows·specifying·the·message356 <li><p>The·new·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-check-fail-level"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">check</span>·<span·class="pre">--fail-level</span></code></a>·option·allows·specifying·the·message
356 level·that·will·cause·the·command·to·exit·with·a·non-zero·status.</p></li>357 level·that·will·cause·the·command·to·exit·with·a·non-zero·status.</p></li>
357 <li><p>The·new·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-makemigrations-check"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">makemigrations</span>·<span·class="pre">--check</span></code></a>·option·makes·the·command·exit358 <li><p>The·new·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-makemigrations-check"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">makemigrations</span>·<span·class="pre">--check</span></code></a>·option·makes·the·command·exit
358 with·a·non-zero·status·when·model·changes·without·migrations·are·detected.</p></li>359 with·a·non-zero·status·when·model·changes·without·migrations·are·detected.</p></li>
359 <li><p><a·class="reference·internal"·href="../ref/django-admin.html#django-admin-makemigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">makemigrations</span></code></a>·now·displays·the·path·to·the·migration·files·that360 <li><p><a·class="reference·internal"·href="../ref/django-admin.html#django-admin-makemigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">makemigrations</span></code></a>·now·displays·the·path·to·the·migration·files·that
360 it·generates.</p></li>361 it·generates.</p></li>
361 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-shell-interface"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">shell</span>·<span·class="pre">--interface</span></code></a>·option·now·accepts·<code·class="docutils·literal·notranslate"><span·class="pre">python</span></code>·to·force·use·of362 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-shell-interface"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">shell</span>·<span·class="pre">--interface</span></code></a>·option·now·accepts·<code·class="docutils·literal·notranslate"><span·class="pre">python</span></code>·to·force·use·of
362 the·plain·Python·interpreter.</p></li>363 the·plain·Python·interpreter.</p></li>
363 <li><p>The·new·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-shell-command"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">shell</span>·<span·class="pre">--command</span></code></a>·option·lets·you·run·a·command·as·Django·and364 <li><p>The·new·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-shell-command"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">shell</span>·<span·class="pre">--command</span></code></a>·option·lets·you·run·a·command·as·Django·and
364 exit,·instead·of·opening·the·interactive·shell.</p></li>365 exit,·instead·of·opening·the·interactive·shell.</p></li>
365 <li><p>Added·a·warning·to·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-dumpdata"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dumpdata</span></code></a>·if·a·proxy·model·is·specified·(which366 <li><p>Added·a·warning·to·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-dumpdata"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dumpdata</span></code></a>·if·a·proxy·model·is·specified·(which
366 results·in·no·output)·without·its·concrete·parent.</p></li>367 results·in·no·output)·without·its·concrete·parent.</p></li>
367 <li><p>The·new·<a·class="reference·internal"·href="../howto/custom-management-commands.html#django.core.management.BaseCommand.requires_migrations_checks"·title="django.core.management.BaseCommand.requires_migrations_checks"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">BaseCommand.requires_migrations_checks</span></code></a>·attribute368 <li><p>The·new·<a·class="reference·internal"·href="../howto/custom-management-commands.html#django.core.management.BaseCommand.requires_migrations_checks"·title="django.core.management.BaseCommand.requires_migrations_checks"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">BaseCommand.requires_migrations_checks</span></code></a>·attribute
368 may·be·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·if·you·want·your·command·to·print·a·warning,·like369 may·be·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·if·you·want·your·command·to·print·a·warning,·like
369 <a·class="reference·internal"·href="../ref/django-admin.html#django-admin-runserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">runserver</span></code></a>·does,·if·the·set·of·migrations·on·disk·don’t·match·the370 <a·class="reference·internal"·href="../ref/django-admin.html#django-admin-runserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">runserver</span></code></a>·does,·if·the·set·of·migrations·on·disk·don’t·match·the
Offset 441, 15 lines modifiedOffset 442, 15 lines modified
441 <section·id="s-requests-and-responses">442 <section·id="s-requests-and-responses">
442 <span·id="requests-and-responses"></span><h4>Requests·and·Responses<a·class="headerlink"·href="#requests-and-responses"·title="Link·to·this·heading">¶</a></h4>443 <span·id="requests-and-responses"></span><h4>Requests·and·Responses<a·class="headerlink"·href="#requests-and-responses"·title="Link·to·this·heading">¶</a></h4>
443 <ul·class="simple">444 <ul·class="simple">
444 <li><p>Added·<code·class="docutils·literal·notranslate"><span·class="pre">request.user</span></code>·to·the·debug·view.</p></li>445 <li><p>Added·<code·class="docutils·literal·notranslate"><span·class="pre">request.user</span></code>·to·the·debug·view.</p></li>
445 <li><p>Added·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·methods446 <li><p>Added·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·methods
446 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse.readable"·title="django.http.HttpResponse.readable"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">readable()</span></code></a>·and447 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse.readable"·title="django.http.HttpResponse.readable"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">readable()</span></code></a>·and
447 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse.seekable"·title="django.http.HttpResponse.seekable"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">seekable()</span></code></a>·to·make·an·instance·a448 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse.seekable"·title="django.http.HttpResponse.seekable"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">seekable()</span></code></a>·to·make·an·instance·a
448 stream-like·object·and·allow·wrapping·it·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/io.html#io.TextIOWrapper"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">io.TextIOWrapper</span></code></a>.</p></li>449 stream-like·object·and·allow·wrapping·it·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/io.html#io.TextIOWrapper"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">io.TextIOWrapper</span></code></a>.</p></li>
449 <li><p>Added·the·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.content_type"·title="django.http.HttpRequest.content_type"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">HttpRequest.content_type</span></code></a>·and450 <li><p>Added·the·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.content_type"·title="django.http.HttpRequest.content_type"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">HttpRequest.content_type</span></code></a>·and
450 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.content_params"·title="django.http.HttpRequest.content_params"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">content_params</span></code></a>·attributes·which·are451 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.content_params"·title="django.http.HttpRequest.content_params"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">content_params</span></code></a>·attributes·which·are
451 parsed·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">CONTENT_TYPE</span></code>·header.</p></li>452 parsed·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">CONTENT_TYPE</span></code>·header.</p></li>
452 <li><p>The·parser·for·<code·class="docutils·literal·notranslate"><span·class="pre">request.COOKIES</span></code>·is·simplified·to·better·match·the·behavior453 <li><p>The·parser·for·<code·class="docutils·literal·notranslate"><span·class="pre">request.COOKIES</span></code>·is·simplified·to·better·match·the·behavior
453 of·browsers.·<code·class="docutils·literal·notranslate"><span·class="pre">request.COOKIES</span></code>·may·now·contain·cookies·that·are·invalid454 of·browsers.·<code·class="docutils·literal·notranslate"><span·class="pre">request.COOKIES</span></code>·may·now·contain·cookies·that·are·invalid
454 according·to·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc6265.html"><strong>RFC·6265</strong></a>·but·are·possible·to·set·via·<code·class="docutils·literal·notranslate"><span·class="pre">document.cookie</span></code>.</p></li>455 according·to·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc6265.html"><strong>RFC·6265</strong></a>·but·are·possible·to·set·via·<code·class="docutils·literal·notranslate"><span·class="pre">document.cookie</span></code>.</p></li>
455 </ul>456 </ul>
Offset 509, 15 lines modifiedOffset 510, 15 lines modified
509 </ul>510 </ul>
510 </section>511 </section>
511 </section>512 </section>
512 </section>513 </section>
513 <section·id="s-backwards-incompatible-changes-in-1-10">514 <section·id="s-backwards-incompatible-changes-in-1-10">
514 <span·id="s-backwards-incompatible-1-10"></span><span·id="backwards-incompatible-changes-in-1-10"></span><span·id="backwards-incompatible-1-10"></span><h2>Backwards·incompatible·changes·in·1.10<a·class="headerlink"·href="#backwards-incompatible-changes-in-1-10"·title="Link·to·this·heading">¶</a></h2>515 <span·id="s-backwards-incompatible-1-10"></span><span·id="backwards-incompatible-changes-in-1-10"></span><span·id="backwards-incompatible-1-10"></span><h2>Backwards·incompatible·changes·in·1.10<a·class="headerlink"·href="#backwards-incompatible-changes-in-1-10"·title="Link·to·this·heading">¶</a></h2>
515 <div·class="admonition·warning">516 <div·class="admonition·warning">
516 <p·class="admonition-title">Warning</p>517 <p·class="admonition-title">Hoiatus</p>
517 <p>In·addition·to·the·changes·outlined·in·this·section,·be·sure·to·review·the518 <p>In·addition·to·the·changes·outlined·in·this·section,·be·sure·to·review·the
518 <a·class="reference·internal"·href="#removed-features-1-10"><span·class="std·std-ref">Features·removed·in·1.10</span></a>·for·the·features·that·have·reached·the·end·of519 <a·class="reference·internal"·href="#removed-features-1-10"><span·class="std·std-ref">Features·removed·in·1.10</span></a>·for·the·features·that·have·reached·the·end·of
519 their·deprecation·cycle·and·therefore·been·removed.·If·you·haven’t·updated520 their·deprecation·cycle·and·therefore·been·removed.·If·you·haven’t·updated
520 your·code·within·the·deprecation·timeline·for·a·given·feature,·its·removal521 your·code·within·the·deprecation·timeline·for·a·given·feature,·its·removal
521 may·appear·as·a·backwards·incompatible·change.</p>522 may·appear·as·a·backwards·incompatible·change.</p>
Max diff block lines reached; 20477/34745 bytes (58.94%) of diff not shown.
16.0 KB
html2text {}
Max HTML report size reached
10.6 KB
./usr/share/doc/python-django-doc/html/releases/1.11.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11·release·notes"·href="1.11.html"·/>15 ····<link·rel="next"·title="Django·1.11·release·notes"·href="1.11.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.2·release·notes"·href="1.11.2.html"·/>16 ····<link·rel="prev"·title="Django·1.11.2·release·notes"·href="1.11.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 15 lines modifiedOffset 97, 15 lines modified
96 recreate·the·index·with·the·correct·name·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28051">#28051</a>).</p></li>97 recreate·the·index·with·the·correct·name·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28051">#28051</a>).</p></li>
97 <li><p>Fixed·a·crash·when·using·a·<code·class="docutils·literal·notranslate"><span·class="pre">__icontains</span></code>·lookup·on·a·<code·class="docutils·literal·notranslate"><span·class="pre">ArrayField</span></code>98 <li><p>Fixed·a·crash·when·using·a·<code·class="docutils·literal·notranslate"><span·class="pre">__icontains</span></code>·lookup·on·a·<code·class="docutils·literal·notranslate"><span·class="pre">ArrayField</span></code>
98 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28038">#28038</a>).</p></li>99 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28038">#28038</a>).</p></li>
99 <li><p>Fixed·a·crash·when·using·a·2-tuple·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailMessage</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">attachments</span></code>100 <li><p>Fixed·a·crash·when·using·a·2-tuple·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailMessage</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">attachments</span></code>
100 argument·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28042">#28042</a>).</p></li>101 argument·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28042">#28042</a>).</p></li>
101 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.filter()</span></code>·crash·when·it·references·the·name·of·a102 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.filter()</span></code>·crash·when·it·references·the·name·of·a
102 <code·class="docutils·literal·notranslate"><span·class="pre">OneToOneField</span></code>·primary·key·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28047">#28047</a>).</p></li>103 <code·class="docutils·literal·notranslate"><span·class="pre">OneToOneField</span></code>·primary·key·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28047">#28047</a>).</p></li>
103 <li><p>Fixed·empty·POST·data·table·appearing·instead·of·No·POST·data·in·HTML·debug104 <li><p>Fixed·empty·POST·data·table·appearing·instead·of·No·POST·data·in·HTML·debug
104 page·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28079">#28079</a>).</p></li>105 page·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28079">#28079</a>).</p></li>
105 <li><p>Restored·<code·class="docutils·literal·notranslate"><span·class="pre">BoundField</span></code>s·without·any·<code·class="docutils·literal·notranslate"><span·class="pre">choices</span></code>·evaluating·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>106 <li><p>Restored·<code·class="docutils·literal·notranslate"><span·class="pre">BoundField</span></code>s·without·any·<code·class="docutils·literal·notranslate"><span·class="pre">choices</span></code>·evaluating·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>
106 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28058">#28058</a>).</p></li>107 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28058">#28058</a>).</p></li>
107 <li><p>Prevented·<code·class="docutils·literal·notranslate"><span·class="pre">SessionBase.cycle_key()</span></code>·from·losing·session·data·if108 <li><p>Prevented·<code·class="docutils·literal·notranslate"><span·class="pre">SessionBase.cycle_key()</span></code>·from·losing·session·data·if
108 <code·class="docutils·literal·notranslate"><span·class="pre">_session_cache</span></code>·isn’t·populated·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28066">#28066</a>).</p></li>109 <code·class="docutils·literal·notranslate"><span·class="pre">_session_cache</span></code>·isn’t·populated·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28066">#28066</a>).</p></li>
109 <li><p>Fixed·layout·of·<code·class="docutils·literal·notranslate"><span·class="pre">ReadOnlyPasswordHashWidget</span></code>·(used·in·the·admin’s·user110 <li><p>Fixed·layout·of·<code·class="docutils·literal·notranslate"><span·class="pre">ReadOnlyPasswordHashWidget</span></code>·(used·in·the·admin’s·user
110 change·page)·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28097">#28097</a>).</p></li>111 change·page)·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28097">#28097</a>).</p></li>
Offset 164, 48 lines modifiedOffset 165, 48 lines modified
164 ······165 ······
165 ········166 ········
166 ··········<div·class="yui-b"·id="sidebar">167 ··········<div·class="yui-b"·id="sidebar">
167 ············168 ············
168 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">169 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
169 ········<div·class="sphinxsidebarwrapper">170 ········<div·class="sphinxsidebarwrapper">
170 ··<div>171 ··<div>
171 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>172 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
172 ····<ul>173 ····<ul>
173 <li><a·class="reference·internal"·href="#">Django·1.11.1·release·notes</a><ul>174 <li><a·class="reference·internal"·href="#">Django·1.11.1·release·notes</a><ul>
174 <li><a·class="reference·internal"·href="#allowed-disabling-server-side-cursors-on-postgresql">Allowed·disabling·server-side·cursors·on·PostgreSQL</a></li>175 <li><a·class="reference·internal"·href="#allowed-disabling-server-side-cursors-on-postgresql">Allowed·disabling·server-side·cursors·on·PostgreSQL</a></li>
175 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>176 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
176 </ul>177 </ul>
177 </li>178 </li>
178 </ul>179 </ul>
  
179 ··</div>180 ··</div>
180 ··<div>181 ··<div>
181 ····<h4>Previous·topic</h4>182 ····<h4>Eelmine·teema</h4>
182 ····<p·class="topless"><a·href="1.11.2.html"183 ····<p·class="topless"><a·href="1.11.2.html"
183 ··························title="previous·chapter">Django·1.11.2·release·notes</a></p>184 ··························title="eelmine·jaotis">Django·1.11.2·release·notes</a></p>
184 ··</div>185 ··</div>
185 ··<div>186 ··<div>
186 ····<h4>Next·topic</h4>187 ····<h4>Järgmine·teema</h4>
187 ····<p·class="topless"><a·href="1.11.html"188 ····<p·class="topless"><a·href="1.11.html"
188 ··························title="next·chapter">Django·1.11·release·notes</a></p>189 ··························title="järgmine·jaotis">Django·1.11·release·notes</a></p>
189 ··</div>190 ··</div>
190 <search·id="searchbox"·style="display:·none"·role="search">191 <search·id="searchbox"·style="display:·none"·role="search">
191 ··<h3·id="searchlabel">Quick·search</h3>192 ··<h3·id="searchlabel">Kiirotsing</h3>
192 ····<div·class="searchformwrapper">193 ····<div·class="searchformwrapper">
193 ····<form·class="search"·action="../search.html"·method="get">194 ····<form·class="search"·action="../search.html"·method="get">
194 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>195 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
195 ······<input·type="submit"·value="Go"·/>196 ······<input·type="submit"·value="Otsi"·/>
196 ····</form>197 ····</form>
197 ····</div>198 ····</div>
198 </search>199 </search>
199 <script>document.getElementById('searchbox').style.display·=·"block"</script>200 <script>document.getElementById('searchbox').style.display·=·"block"</script>
200 ········</div>201 ········</div>
201 ······</div>202 ······</div>
202 ··············<h3>Last·update:</h3>203 ··············<h3>Last·update:</h3>
203 ··············<p·class="topless">Nov·05,·2024</p>204 ··············<p·class="topless">nov·05,·2024</p>
204 ··········</div>205 ··········</div>
205 ········206 ········
206 ······207 ······
207 ····</div>208 ····</div>
  
208 ····<div·id="ft">209 ····<div·id="ft">
209 ······<div·class="nav">210 ······<div·class="nav">
3.81 KB
html2text {}
Max HTML report size reached
9.54 KB
./usr/share/doc/python-django-doc/html/releases/1.11.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.9·release·notes"·href="1.11.9.html"·/>15 ····<link·rel="next"·title="Django·1.11.9·release·notes"·href="1.11.9.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.11·release·notes"·href="1.11.11.html"·/>16 ····<link·rel="prev"·title="Django·1.11.11·release·notes"·href="1.11.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 15 lines modifiedOffset 89, 15 lines modified
88 <code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·method·even·if·an·incorrect·password·is·entered.89 <code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·method·even·if·an·incorrect·password·is·entered.
89 This·can·leak·information·about·a·user,·depending·on·what·messages90 This·can·leak·information·about·a·user,·depending·on·what·messages
90 <code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·raises.·If·<code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·isn’t91 <code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·raises.·If·<code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·isn’t
91 overridden,·an·attacker·enter·an·arbitrary·username·and·see·if·that·user·has92 overridden,·an·attacker·enter·an·arbitrary·username·and·see·if·that·user·has
92 been·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">is_active=False</span></code>.·If·<code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·is·overridden,93 been·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">is_active=False</span></code>.·If·<code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·is·overridden,
93 more·sensitive·details·could·be·leaked.</p>94 more·sensitive·details·could·be·leaked.</p>
94 <p>This·issue·is·fixed·with·the·caveat·that·<code·class="docutils·literal·notranslate"><span·class="pre">AuthenticationForm</span></code>·can·no·longer95 <p>This·issue·is·fixed·with·the·caveat·that·<code·class="docutils·literal·notranslate"><span·class="pre">AuthenticationForm</span></code>·can·no·longer
95 raise·the·This·account·is·inactive.·error·if·the·authentication·backend96 raise·the·This·account·is·inactive.·error·if·the·authentication·backend
96 rejects·inactive·users·(the·default·authentication·backend,·<code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>,97 rejects·inactive·users·(the·default·authentication·backend,·<code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>,
97 has·done·that·since·Django·1.10).·This·issue·will·be·revisited·for·Django·2.198 has·done·that·since·Django·1.10).·This·issue·will·be·revisited·for·Django·2.1
98 as·a·fix·to·address·the·caveat·will·likely·be·too·invasive·for·inclusion·in99 as·a·fix·to·address·the·caveat·will·likely·be·too·invasive·for·inclusion·in
99 older·versions.</p>100 older·versions.</p>
100 </section>101 </section>
101 <section·id="s-bugfixes">102 <section·id="s-bugfixes">
102 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>103 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
Offset 119, 48 lines modifiedOffset 120, 48 lines modified
119 ······120 ······
120 ········121 ········
121 ··········<div·class="yui-b"·id="sidebar">122 ··········<div·class="yui-b"·id="sidebar">
122 ············123 ············
123 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">124 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
124 ········<div·class="sphinxsidebarwrapper">125 ········<div·class="sphinxsidebarwrapper">
125 ··<div>126 ··<div>
126 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>127 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
127 ····<ul>128 ····<ul>
128 <li><a·class="reference·internal"·href="#">Django·1.11.10·release·notes</a><ul>129 <li><a·class="reference·internal"·href="#">Django·1.11.10·release·notes</a><ul>
129 <li><a·class="reference·internal"·href="#cve-2018-6188-information-leakage-in-authenticationform">CVE-2018-6188:·Information·leakage·in·<code·class="docutils·literal·notranslate"><span·class="pre">AuthenticationForm</span></code></a></li>130 <li><a·class="reference·internal"·href="#cve-2018-6188-information-leakage-in-authenticationform">CVE-2018-6188:·Information·leakage·in·<code·class="docutils·literal·notranslate"><span·class="pre">AuthenticationForm</span></code></a></li>
130 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>131 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
131 </ul>132 </ul>
132 </li>133 </li>
133 </ul>134 </ul>
  
134 ··</div>135 ··</div>
135 ··<div>136 ··<div>
136 ····<h4>Previous·topic</h4>137 ····<h4>Eelmine·teema</h4>
137 ····<p·class="topless"><a·href="1.11.11.html"138 ····<p·class="topless"><a·href="1.11.11.html"
138 ··························title="previous·chapter">Django·1.11.11·release·notes</a></p>139 ··························title="eelmine·jaotis">Django·1.11.11·release·notes</a></p>
139 ··</div>140 ··</div>
140 ··<div>141 ··<div>
141 ····<h4>Next·topic</h4>142 ····<h4>Järgmine·teema</h4>
142 ····<p·class="topless"><a·href="1.11.9.html"143 ····<p·class="topless"><a·href="1.11.9.html"
143 ··························title="next·chapter">Django·1.11.9·release·notes</a></p>144 ··························title="järgmine·jaotis">Django·1.11.9·release·notes</a></p>
144 ··</div>145 ··</div>
145 <search·id="searchbox"·style="display:·none"·role="search">146 <search·id="searchbox"·style="display:·none"·role="search">
146 ··<h3·id="searchlabel">Quick·search</h3>147 ··<h3·id="searchlabel">Kiirotsing</h3>
147 ····<div·class="searchformwrapper">148 ····<div·class="searchformwrapper">
148 ····<form·class="search"·action="../search.html"·method="get">149 ····<form·class="search"·action="../search.html"·method="get">
149 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>150 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
150 ······<input·type="submit"·value="Go"·/>151 ······<input·type="submit"·value="Otsi"·/>
151 ····</form>152 ····</form>
152 ····</div>153 ····</div>
153 </search>154 </search>
154 <script>document.getElementById('searchbox').style.display·=·"block"</script>155 <script>document.getElementById('searchbox').style.display·=·"block"</script>
155 ········</div>156 ········</div>
156 ······</div>157 ······</div>
157 ··············<h3>Last·update:</h3>158 ··············<h3>Last·update:</h3>
158 ··············<p·class="topless">Nov·05,·2024</p>159 ··············<p·class="topless">nov·05,·2024</p>
159 ··········</div>160 ··········</div>
160 ········161 ········
161 ······162 ······
162 ····</div>163 ····</div>
  
163 ····<div·id="ft">164 ····<div·id="ft">
164 ······<div·class="nav">165 ······<div·class="nav">
3.62 KB
html2text {}
Max HTML report size reached
8.05 KB
./usr/share/doc/python-django-doc/html/releases/1.11.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.10·release·notes"·href="1.11.10.html"·/>15 ····<link·rel="next"·title="Django·1.11.10·release·notes"·href="1.11.10.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.12·release·notes"·href="1.11.12.html"·/>16 ····<link·rel="prev"·title="Django·1.11.12·release·notes"·href="1.11.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 109, 48 lines modifiedOffset 110, 48 lines modified
109 ······110 ······
110 ········111 ········
111 ··········<div·class="yui-b"·id="sidebar">112 ··········<div·class="yui-b"·id="sidebar">
112 ············113 ············
113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
114 ········<div·class="sphinxsidebarwrapper">115 ········<div·class="sphinxsidebarwrapper">
115 ··<div>116 ··<div>
116 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>117 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
117 ····<ul>118 ····<ul>
118 <li><a·class="reference·internal"·href="#">Django·1.11.11·release·notes</a><ul>119 <li><a·class="reference·internal"·href="#">Django·1.11.11·release·notes</a><ul>
119 <li><a·class="reference·internal"·href="#cve-2018-7536-denial-of-service-possibility-in-urlize-and-urlizetrunc-template-filters">CVE-2018-7536:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">urlize</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code>·template·filters</a></li>120 <li><a·class="reference·internal"·href="#cve-2018-7536-denial-of-service-possibility-in-urlize-and-urlizetrunc-template-filters">CVE-2018-7536:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">urlize</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code>·template·filters</a></li>
120 <li><a·class="reference·internal"·href="#cve-2018-7537-denial-of-service-possibility-in-truncatechars-html-and-truncatewords-html-template-filters">CVE-2018-7537:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">truncatechars_html</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code>·template·filters</a></li>121 <li><a·class="reference·internal"·href="#cve-2018-7537-denial-of-service-possibility-in-truncatechars-html-and-truncatewords-html-template-filters">CVE-2018-7537:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">truncatechars_html</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code>·template·filters</a></li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="1.11.12.html"128 ····<p·class="topless"><a·href="1.11.12.html"
128 ··························title="previous·chapter">Django·1.11.12·release·notes</a></p>129 ··························title="eelmine·jaotis">Django·1.11.12·release·notes</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="1.11.10.html"133 ····<p·class="topless"><a·href="1.11.10.html"
133 ··························title="next·chapter">Django·1.11.10·release·notes</a></p>134 ··························title="järgmine·jaotis">Django·1.11.10·release·notes</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../search.html"·method="get">139 ····<form·class="search"·action="../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
3.2 KB
html2text {}
Max HTML report size reached
6.37 KB
./usr/share/doc/python-django-doc/html/releases/1.11.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.11·release·notes"·href="1.11.11.html"·/>15 ····<link·rel="next"·title="Django·1.11.11·release·notes"·href="1.11.11.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.13·release·notes"·href="1.11.13.html"·/>16 ····<link·rel="prev"·title="Django·1.11.13·release·notes"·href="1.11.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 101, 47 lines modifiedOffset 102, 47 lines modified
101 ······102 ······
102 ········103 ········
103 ··········<div·class="yui-b"·id="sidebar">104 ··········<div·class="yui-b"·id="sidebar">
104 ············105 ············
105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
106 ········<div·class="sphinxsidebarwrapper">107 ········<div·class="sphinxsidebarwrapper">
107 ··<div>108 ··<div>
108 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>109 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
109 ····<ul>110 ····<ul>
110 <li><a·class="reference·internal"·href="#">Django·1.11.12·release·notes</a><ul>111 <li><a·class="reference·internal"·href="#">Django·1.11.12·release·notes</a><ul>
111 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
112 </ul>113 </ul>
113 </li>114 </li>
114 </ul>115 </ul>
  
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Previous·topic</h4>118 ····<h4>Eelmine·teema</h4>
118 ····<p·class="topless"><a·href="1.11.13.html"119 ····<p·class="topless"><a·href="1.11.13.html"
119 ··························title="previous·chapter">Django·1.11.13·release·notes</a></p>120 ··························title="eelmine·jaotis">Django·1.11.13·release·notes</a></p>
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Next·topic</h4>123 ····<h4>Järgmine·teema</h4>
123 ····<p·class="topless"><a·href="1.11.11.html"124 ····<p·class="topless"><a·href="1.11.11.html"
124 ··························title="next·chapter">Django·1.11.11·release·notes</a></p>125 ··························title="järgmine·jaotis">Django·1.11.11·release·notes</a></p>
125 ··</div>126 ··</div>
126 <search·id="searchbox"·style="display:·none"·role="search">127 <search·id="searchbox"·style="display:·none"·role="search">
127 ··<h3·id="searchlabel">Quick·search</h3>128 ··<h3·id="searchlabel">Kiirotsing</h3>
128 ····<div·class="searchformwrapper">129 ····<div·class="searchformwrapper">
129 ····<form·class="search"·action="../search.html"·method="get">130 ····<form·class="search"·action="../search.html"·method="get">
130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
131 ······<input·type="submit"·value="Go"·/>132 ······<input·type="submit"·value="Otsi"·/>
132 ····</form>133 ····</form>
133 ····</div>134 ····</div>
134 </search>135 </search>
135 <script>document.getElementById('searchbox').style.display·=·"block"</script>136 <script>document.getElementById('searchbox').style.display·=·"block"</script>
136 ········</div>137 ········</div>
137 ······</div>138 ······</div>
138 ··············<h3>Last·update:</h3>139 ··············<h3>Last·update:</h3>
139 ··············<p·class="topless">Nov·05,·2024</p>140 ··············<p·class="topless">nov·05,·2024</p>
140 ··········</div>141 ··········</div>
141 ········142 ········
142 ······143 ······
143 ····</div>144 ····</div>
  
144 ····<div·id="ft">145 ····<div·id="ft">
145 ······<div·class="nav">146 ······<div·class="nav">
2.22 KB
html2text {}
Max HTML report size reached
6.51 KB
./usr/share/doc/python-django-doc/html/releases/1.11.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.12·release·notes"·href="1.11.12.html"·/>15 ····<link·rel="next"·title="Django·1.11.12·release·notes"·href="1.11.12.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.14·release·notes"·href="1.11.14.html"·/>16 ····<link·rel="prev"·title="Django·1.11.14·release·notes"·href="1.11.14.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 104, 47 lines modifiedOffset 105, 47 lines modified
104 ······105 ······
105 ········106 ········
106 ··········<div·class="yui-b"·id="sidebar">107 ··········<div·class="yui-b"·id="sidebar">
107 ············108 ············
108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
109 ········<div·class="sphinxsidebarwrapper">110 ········<div·class="sphinxsidebarwrapper">
110 ··<div>111 ··<div>
111 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>112 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
112 ····<ul>113 ····<ul>
113 <li><a·class="reference·internal"·href="#">Django·1.11.13·release·notes</a><ul>114 <li><a·class="reference·internal"·href="#">Django·1.11.13·release·notes</a><ul>
114 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
115 </ul>116 </ul>
116 </li>117 </li>
117 </ul>118 </ul>
  
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Previous·topic</h4>121 ····<h4>Eelmine·teema</h4>
121 ····<p·class="topless"><a·href="1.11.14.html"122 ····<p·class="topless"><a·href="1.11.14.html"
122 ··························title="previous·chapter">Django·1.11.14·release·notes</a></p>123 ··························title="eelmine·jaotis">Django·1.11.14·release·notes</a></p>
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Next·topic</h4>126 ····<h4>Järgmine·teema</h4>
126 ····<p·class="topless"><a·href="1.11.12.html"127 ····<p·class="topless"><a·href="1.11.12.html"
127 ··························title="next·chapter">Django·1.11.12·release·notes</a></p>128 ··························title="järgmine·jaotis">Django·1.11.12·release·notes</a></p>
128 ··</div>129 ··</div>
129 <search·id="searchbox"·style="display:·none"·role="search">130 <search·id="searchbox"·style="display:·none"·role="search">
130 ··<h3·id="searchlabel">Quick·search</h3>131 ··<h3·id="searchlabel">Kiirotsing</h3>
131 ····<div·class="searchformwrapper">132 ····<div·class="searchformwrapper">
132 ····<form·class="search"·action="../search.html"·method="get">133 ····<form·class="search"·action="../search.html"·method="get">
133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
134 ······<input·type="submit"·value="Go"·/>135 ······<input·type="submit"·value="Otsi"·/>
135 ····</form>136 ····</form>
136 ····</div>137 ····</div>
137 </search>138 </search>
138 <script>document.getElementById('searchbox').style.display·=·"block"</script>139 <script>document.getElementById('searchbox').style.display·=·"block"</script>
139 ········</div>140 ········</div>
140 ······</div>141 ······</div>
141 ··············<h3>Last·update:</h3>142 ··············<h3>Last·update:</h3>
142 ··············<p·class="topless">Nov·05,·2024</p>143 ··············<p·class="topless">nov·05,·2024</p>
143 ··········</div>144 ··········</div>
144 ········145 ········
145 ······146 ······
146 ····</div>147 ····</div>
  
147 ····<div·id="ft">148 ····<div·id="ft">
148 ······<div·class="nav">149 ······<div·class="nav">
2.37 KB
html2text {}
Max HTML report size reached
6.24 KB
./usr/share/doc/python-django-doc/html/releases/1.11.14.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.14·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.14·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.13·release·notes"·href="1.11.13.html"·/>15 ····<link·rel="next"·title="Django·1.11.13·release·notes"·href="1.11.13.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.15·release·notes"·href="1.11.15.html"·/>16 ····<link·rel="prev"·title="Django·1.11.15·release·notes"·href="1.11.15.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.11.14·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.11.14·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.11.15.html"117 ····<p·class="topless"><a·href="1.11.15.html"
117 ··························title="previous·chapter">Django·1.11.15·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.11.15·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.11.13.html"122 ····<p·class="topless"><a·href="1.11.13.html"
122 ··························title="next·chapter">Django·1.11.13·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.11.13·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.1 KB
html2text {}
Max HTML report size reached
6.94 KB
./usr/share/doc/python-django-doc/html/releases/1.11.15.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.15·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.15·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.14·release·notes"·href="1.11.14.html"·/>15 ····<link·rel="next"·title="Django·1.11.14·release·notes"·href="1.11.14.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.16·release·notes"·href="1.11.16.html"·/>16 ····<link·rel="prev"·title="Django·1.11.16·release·notes"·href="1.11.16.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 101, 47 lines modifiedOffset 102, 47 lines modified
101 ······102 ······
102 ········103 ········
103 ··········<div·class="yui-b"·id="sidebar">104 ··········<div·class="yui-b"·id="sidebar">
104 ············105 ············
105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
106 ········<div·class="sphinxsidebarwrapper">107 ········<div·class="sphinxsidebarwrapper">
107 ··<div>108 ··<div>
108 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>109 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
109 ····<ul>110 ····<ul>
110 <li><a·class="reference·internal"·href="#">Django·1.11.15·release·notes</a><ul>111 <li><a·class="reference·internal"·href="#">Django·1.11.15·release·notes</a><ul>
111 <li><a·class="reference·internal"·href="#cve-2018-14574-open-redirect-possibility-in-commonmiddleware">CVE-2018-14574:·Open·redirect·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">CommonMiddleware</span></code></a></li>112 <li><a·class="reference·internal"·href="#cve-2018-14574-open-redirect-possibility-in-commonmiddleware">CVE-2018-14574:·Open·redirect·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">CommonMiddleware</span></code></a></li>
112 </ul>113 </ul>
113 </li>114 </li>
114 </ul>115 </ul>
  
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Previous·topic</h4>118 ····<h4>Eelmine·teema</h4>
118 ····<p·class="topless"><a·href="1.11.16.html"119 ····<p·class="topless"><a·href="1.11.16.html"
119 ··························title="previous·chapter">Django·1.11.16·release·notes</a></p>120 ··························title="eelmine·jaotis">Django·1.11.16·release·notes</a></p>
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Next·topic</h4>123 ····<h4>Järgmine·teema</h4>
123 ····<p·class="topless"><a·href="1.11.14.html"124 ····<p·class="topless"><a·href="1.11.14.html"
124 ··························title="next·chapter">Django·1.11.14·release·notes</a></p>125 ··························title="järgmine·jaotis">Django·1.11.14·release·notes</a></p>
125 ··</div>126 ··</div>
126 <search·id="searchbox"·style="display:·none"·role="search">127 <search·id="searchbox"·style="display:·none"·role="search">
127 ··<h3·id="searchlabel">Quick·search</h3>128 ··<h3·id="searchlabel">Kiirotsing</h3>
128 ····<div·class="searchformwrapper">129 ····<div·class="searchformwrapper">
129 ····<form·class="search"·action="../search.html"·method="get">130 ····<form·class="search"·action="../search.html"·method="get">
130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
131 ······<input·type="submit"·value="Go"·/>132 ······<input·type="submit"·value="Otsi"·/>
132 ····</form>133 ····</form>
133 ····</div>134 ····</div>
134 </search>135 </search>
135 <script>document.getElementById('searchbox').style.display·=·"block"</script>136 <script>document.getElementById('searchbox').style.display·=·"block"</script>
136 ········</div>137 ········</div>
137 ······</div>138 ······</div>
138 ··············<h3>Last·update:</h3>139 ··············<h3>Last·update:</h3>
139 ··············<p·class="topless">Nov·05,·2024</p>140 ··············<p·class="topless">nov·05,·2024</p>
140 ··········</div>141 ··········</div>
141 ········142 ········
142 ······143 ······
143 ····</div>144 ····</div>
  
144 ····<div·id="ft">145 ····<div·id="ft">
145 ······<div·class="nav">146 ······<div·class="nav">
2.62 KB
html2text {}
Max HTML report size reached
6.11 KB
./usr/share/doc/python-django-doc/html/releases/1.11.16.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.16·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.16·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.15·release·notes"·href="1.11.15.html"·/>15 ····<link·rel="next"·title="Django·1.11.15·release·notes"·href="1.11.15.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.17·release·notes"·href="1.11.17.html"·/>16 ····<link·rel="prev"·title="Django·1.11.17·release·notes"·href="1.11.17.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·1.11.16·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·1.11.16·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="1.11.17.html"115 ····<p·class="topless"><a·href="1.11.17.html"
115 ··························title="previous·chapter">Django·1.11.17·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·1.11.17·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="1.11.15.html"120 ····<p·class="topless"><a·href="1.11.15.html"
120 ··························title="next·chapter">Django·1.11.15·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·1.11.15·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.96 KB
html2text {}
Max HTML report size reached
6.22 KB
./usr/share/doc/python-django-doc/html/releases/1.11.17.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.17·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.17·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.16·release·notes"·href="1.11.16.html"·/>15 ····<link·rel="next"·title="Django·1.11.16·release·notes"·href="1.11.16.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.18·release·notes"·href="1.11.18.html"·/>16 ····<link·rel="prev"·title="Django·1.11.18·release·notes"·href="1.11.18.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.11.17·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.11.17·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.11.18.html"117 ····<p·class="topless"><a·href="1.11.18.html"
117 ··························title="previous·chapter">Django·1.11.18·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.11.18·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.11.16.html"122 ····<p·class="topless"><a·href="1.11.16.html"
122 ··························title="next·chapter">Django·1.11.16·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.11.16·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.08 KB
html2text {}
Max HTML report size reached
6.77 KB
./usr/share/doc/python-django-doc/html/releases/1.11.18.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.18·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.18·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.17·release·notes"·href="1.11.17.html"·/>15 ····<link·rel="next"·title="Django·1.11.17·release·notes"·href="1.11.17.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.19·release·notes"·href="1.11.19.html"·/>16 ····<link·rel="prev"·title="Django·1.11.19·release·notes"·href="1.11.19.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.11.18·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.11.18·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#cve-2019-3498-content-spoofing-possibility-in-the-default-404-page">CVE-2019-3498:·Content·spoofing·possibility·in·the·default·404·page</a></li>110 <li><a·class="reference·internal"·href="#cve-2019-3498-content-spoofing-possibility-in-the-default-404-page">CVE-2019-3498:·Content·spoofing·possibility·in·the·default·404·page</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.11.19.html"117 ····<p·class="topless"><a·href="1.11.19.html"
117 ··························title="previous·chapter">Django·1.11.19·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.11.19·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.11.17.html"122 ····<p·class="topless"><a·href="1.11.17.html"
122 ··························title="next·chapter">Django·1.11.17·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.11.17·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.51 KB
html2text {}
Max HTML report size reached
6.93 KB
./usr/share/doc/python-django-doc/html/releases/1.11.19.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.19·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.19·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.18·release·notes"·href="1.11.18.html"·/>15 ····<link·rel="next"·title="Django·1.11.18·release·notes"·href="1.11.18.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.20·release·notes"·href="1.11.20.html"·/>16 ····<link·rel="prev"·title="Django·1.11.20·release·notes"·href="1.11.20.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.11.19·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.11.19·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#cve-2019-6975-memory-exhaustion-in-django-utils-numberformat-format">CVE-2019-6975:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.format()</span></code></a></li>110 <li><a·class="reference·internal"·href="#cve-2019-6975-memory-exhaustion-in-django-utils-numberformat-format">CVE-2019-6975:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.format()</span></code></a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.11.20.html"117 ····<p·class="topless"><a·href="1.11.20.html"
117 ··························title="previous·chapter">Django·1.11.20·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.11.20·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.11.18.html"122 ····<p·class="topless"><a·href="1.11.18.html"
122 ··························title="next·chapter">Django·1.11.18·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.11.18·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.6 KB
html2text {}
Max HTML report size reached
6.66 KB
./usr/share/doc/python-django-doc/html/releases/1.11.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.1·release·notes"·href="1.11.1.html"·/>15 ····<link·rel="next"·title="Django·1.11.1·release·notes"·href="1.11.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.3·release·notes"·href="1.11.3.html"·/>16 ····<link·rel="prev"·title="Django·1.11.3·release·notes"·href="1.11.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 132, 48 lines modifiedOffset 133, 48 lines modified
132 ······133 ······
133 ········134 ········
134 ··········<div·class="yui-b"·id="sidebar">135 ··········<div·class="yui-b"·id="sidebar">
135 ············136 ············
136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">137 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
137 ········<div·class="sphinxsidebarwrapper">138 ········<div·class="sphinxsidebarwrapper">
138 ··<div>139 ··<div>
139 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>140 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
140 ····<ul>141 ····<ul>
141 <li><a·class="reference·internal"·href="#">Django·1.11.2·release·notes</a><ul>142 <li><a·class="reference·internal"·href="#">Django·1.11.2·release·notes</a><ul>
142 <li><a·class="reference·internal"·href="#minor-feature">Minor·feature</a></li>143 <li><a·class="reference·internal"·href="#minor-feature">Minor·feature</a></li>
143 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>144 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
144 </ul>145 </ul>
145 </li>146 </li>
146 </ul>147 </ul>
  
147 ··</div>148 ··</div>
148 ··<div>149 ··<div>
149 ····<h4>Previous·topic</h4>150 ····<h4>Eelmine·teema</h4>
150 ····<p·class="topless"><a·href="1.11.3.html"151 ····<p·class="topless"><a·href="1.11.3.html"
151 ··························title="previous·chapter">Django·1.11.3·release·notes</a></p>152 ··························title="eelmine·jaotis">Django·1.11.3·release·notes</a></p>
152 ··</div>153 ··</div>
153 ··<div>154 ··<div>
154 ····<h4>Next·topic</h4>155 ····<h4>Järgmine·teema</h4>
155 ····<p·class="topless"><a·href="1.11.1.html"156 ····<p·class="topless"><a·href="1.11.1.html"
156 ··························title="next·chapter">Django·1.11.1·release·notes</a></p>157 ··························title="järgmine·jaotis">Django·1.11.1·release·notes</a></p>
157 ··</div>158 ··</div>
158 <search·id="searchbox"·style="display:·none"·role="search">159 <search·id="searchbox"·style="display:·none"·role="search">
159 ··<h3·id="searchlabel">Quick·search</h3>160 ··<h3·id="searchlabel">Kiirotsing</h3>
160 ····<div·class="searchformwrapper">161 ····<div·class="searchformwrapper">
161 ····<form·class="search"·action="../search.html"·method="get">162 ····<form·class="search"·action="../search.html"·method="get">
162 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>163 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
163 ······<input·type="submit"·value="Go"·/>164 ······<input·type="submit"·value="Otsi"·/>
164 ····</form>165 ····</form>
165 ····</div>166 ····</div>
166 </search>167 </search>
167 <script>document.getElementById('searchbox').style.display·=·"block"</script>168 <script>document.getElementById('searchbox').style.display·=·"block"</script>
168 ········</div>169 ········</div>
169 ······</div>170 ······</div>
170 ··············<h3>Last·update:</h3>171 ··············<h3>Last·update:</h3>
171 ··············<p·class="topless">Nov·05,·2024</p>172 ··············<p·class="topless">nov·05,·2024</p>
172 ··········</div>173 ··········</div>
173 ········174 ········
174 ······175 ······
175 ····</div>176 ····</div>
  
176 ····<div·id="ft">177 ····<div·id="ft">
177 ······<div·class="nav">178 ······<div·class="nav">
2.45 KB
html2text {}
Max HTML report size reached
6.07 KB
./usr/share/doc/python-django-doc/html/releases/1.11.20.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.20·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.20·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.19·release·notes"·href="1.11.19.html"·/>15 ····<link·rel="next"·title="Django·1.11.19·release·notes"·href="1.11.19.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.21·release·notes"·href="1.11.21.html"·/>16 ····<link·rel="prev"·title="Django·1.11.21·release·notes"·href="1.11.21.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·1.11.20·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·1.11.20·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="1.11.21.html"114 ····<p·class="topless"><a·href="1.11.21.html"
114 ··························title="previous·chapter">Django·1.11.21·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·1.11.21·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="1.11.19.html"119 ····<p·class="topless"><a·href="1.11.19.html"
119 ··························title="next·chapter">Django·1.11.19·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·1.11.19·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
1.92 KB
html2text {}
    
Offset 1, 20 lines modifiedOffset 1, 20 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.1\x811\x81.\x8.2\x820\x80·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.1\x811\x81.\x8.2\x820\x80·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·1\x811\x81,\x8,·2\x820\x801\x819\x895 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·1\x811\x81,\x8,·2\x820\x801\x819\x89
6 Django·1.11.20·fixes·a·packaging·error·in·1.11.19.6 Django·1.11.20·fixes·a·packaging·error·in·1.11.19.
7 *\x8**\x8**\x8**\x8**\x8*·B\x8Bu\x8ug\x8gf\x8fi\x8ix\x8xe\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8*7 *\x8**\x8**\x8**\x8**\x8*·B\x8Bu\x8ug\x8gf\x8fi\x8ix\x8xe\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8*
8 ····*·Corrected·packaging·error·from·1.11.19·(_\x8#_\x83_\x80_\x81_\x87_\x85).8 ····*·Corrected·packaging·error·from·1.11.19·(_\x8#_\x83_\x80_\x81_\x87_\x85).
9 *\x8**\x8**\x8**\x8*·_\x8T.T_.a.a_.b.b_.l.l_.e.e_.·_.o.o_.f.f_.·_.C.C_.o.o_.n.n_.t.t_.e.e_.n.n_.t.t_.s.s·*\x8**\x8**\x8**\x8*9 *\x8**\x8**\x8**\x8*·_\x8S.S_.i.i_.s.s_.u.u_.k.k_.o.o_.r.r_.r.r_.a.a_.t.t_.a.a_.b.b_.e.e_.l.l·*\x8**\x8**\x8**\x8*
10 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x81_\x81_\x8._\x82_\x80_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s10 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x81_\x81_\x8._\x82_\x80_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
11 ··········o·_\x8B_\x8u_\x8g_\x8f_\x8i_\x8x_\x8e_\x8s11 ··········o·_\x8B_\x8u_\x8g_\x8f_\x8i_\x8x_\x8e_\x8s
12 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*12 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x81_\x81_\x8._\x82_\x81_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x81_\x81_\x8._\x82_\x81_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
14 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*14 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x81_\x81_\x8._\x81_\x89_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x81_\x81_\x8._\x81_\x89_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
16 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*16 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
17 [q···················][Go]17 [q···················][Otsi]
18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
19 Nov·05,·202419 nov·05,·2024
20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
8.68 KB
./usr/share/doc/python-django-doc/html/releases/1.11.21.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.21·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.21·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.20·release·notes"·href="1.11.20.html"·/>15 ····<link·rel="next"·title="Django·1.11.20·release·notes"·href="1.11.20.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.22·release·notes"·href="1.11.22.html"·/>16 ····<link·rel="prev"·title="Django·1.11.22·release·notes"·href="1.11.22.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-django-1-11-21-release-notes">81 ··<section·id="s-django-1-11-21-release-notes">
81 <span·id="django-1-11-21-release-notes"></span><h1>Django·1.11.21·release·notes<a·class="headerlink"·href="#django-1-11-21-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-11-21-release-notes"></span><h1>Django·1.11.21·release·notes<a·class="headerlink"·href="#django-1-11-21-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>June·3,·2019</em></p>83 <p><em>June·3,·2019</em></p>
83 <p>Django·1.11.21·fixes·a·security·issue·in·1.11.20.</p>84 <p>Django·1.11.21·fixes·a·security·issue·in·1.11.20.</p>
84 <section·id="s-cve-2019-12308-adminurlfieldwidget-xss">85 <section·id="s-cve-2019-12308-adminurlfieldwidget-xss">
85 <span·id="cve-2019-12308-adminurlfieldwidget-xss"></span><h2>CVE-2019-12308:·AdminURLFieldWidget·XSS<a·class="headerlink"·href="#cve-2019-12308-adminurlfieldwidget-xss"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2019-12308-adminurlfieldwidget-xss"></span><h2>CVE-2019-12308:·AdminURLFieldWidget·XSS<a·class="headerlink"·href="#cve-2019-12308-adminurlfieldwidget-xss"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·clickable·Current·URL·link·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·displayed87 <p>The·clickable·Current·URL·link·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·displayed
87 the·provided·value·without·validating·it·as·a·safe·URL.·Thus,·an·unvalidated88 the·provided·value·without·validating·it·as·a·safe·URL.·Thus,·an·unvalidated
88 value·stored·in·the·database,·or·a·value·provided·as·a·URL·query·parameter89 value·stored·in·the·database,·or·a·value·provided·as·a·URL·query·parameter
89 payload,·could·result·in·an·clickable·JavaScript·link.</p>90 payload,·could·result·in·an·clickable·JavaScript·link.</p>
90 <p><code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·now·validates·the·provided·value·using91 <p><code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·now·validates·the·provided·value·using
91 <a·class="reference·internal"·href="../ref/validators.html#django.core.validators.URLValidator"·title="django.core.validators.URLValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a>·before·displaying·the·clickable92 <a·class="reference·internal"·href="../ref/validators.html#django.core.validators.URLValidator"·title="django.core.validators.URLValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a>·before·displaying·the·clickable
92 link.·You·may·customize·the·validator·by·passing·a·<code·class="docutils·literal·notranslate"><span·class="pre">validator_class</span></code>·kwarg·to93 link.·You·may·customize·the·validator·by·passing·a·<code·class="docutils·literal·notranslate"><span·class="pre">validator_class</span></code>·kwarg·to
93 <code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget.__init__()</span></code>,·e.g.·when·using94 <code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget.__init__()</span></code>,·e.g.·when·using
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·1.11.21·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·1.11.21·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#cve-2019-12308-adminurlfieldwidget-xss">CVE-2019-12308:·AdminURLFieldWidget·XSS</a></li>113 <li><a·class="reference·internal"·href="#cve-2019-12308-adminurlfieldwidget-xss">CVE-2019-12308:·AdminURLFieldWidget·XSS</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="1.11.22.html"120 ····<p·class="topless"><a·href="1.11.22.html"
120 ··························title="previous·chapter">Django·1.11.22·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·1.11.22·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="1.11.20.html"125 ····<p·class="topless"><a·href="1.11.20.html"
125 ··························title="next·chapter">Django·1.11.20·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·1.11.20·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.68 KB
html2text {}
Max HTML report size reached
7.03 KB
./usr/share/doc/python-django-doc/html/releases/1.11.22.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.22·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.22·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.21·release·notes"·href="1.11.21.html"·/>15 ····<link·rel="next"·title="Django·1.11.21·release·notes"·href="1.11.21.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.23·release·notes"·href="1.11.23.html"·/>16 ····<link·rel="prev"·title="Django·1.11.23·release·notes"·href="1.11.23.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 47 lines modifiedOffset 108, 47 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>115 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
115 ····<ul>116 ····<ul>
116 <li><a·class="reference·internal"·href="#">Django·1.11.22·release·notes</a><ul>117 <li><a·class="reference·internal"·href="#">Django·1.11.22·release·notes</a><ul>
117 <li><a·class="reference·internal"·href="#cve-2019-12781-incorrect-http-detection-with-reverse-proxy-connecting-via-https">CVE-2019-12781:·Incorrect·HTTP·detection·with·reverse-proxy·connecting·via·HTTPS</a></li>118 <li><a·class="reference·internal"·href="#cve-2019-12781-incorrect-http-detection-with-reverse-proxy-connecting-via-https">CVE-2019-12781:·Incorrect·HTTP·detection·with·reverse-proxy·connecting·via·HTTPS</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="1.11.23.html"125 ····<p·class="topless"><a·href="1.11.23.html"
125 ··························title="previous·chapter">Django·1.11.23·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·1.11.23·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="1.11.21.html"130 ····<p·class="topless"><a·href="1.11.21.html"
130 ··························title="next·chapter">Django·1.11.21·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·1.11.21·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
2.74 KB
html2text {}
Max HTML report size reached
8.87 KB
./usr/share/doc/python-django-doc/html/releases/1.11.23.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.23·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.23·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.22·release·notes"·href="1.11.22.html"·/>15 ····<link·rel="next"·title="Django·1.11.22·release·notes"·href="1.11.22.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.24·release·notes"·href="1.11.24.html"·/>16 ····<link·rel="prev"·title="Django·1.11.24·release·notes"·href="1.11.24.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 131, 50 lines modifiedOffset 132, 50 lines modified
131 ······132 ······
132 ········133 ········
133 ··········<div·class="yui-b"·id="sidebar">134 ··········<div·class="yui-b"·id="sidebar">
134 ············135 ············
135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
136 ········<div·class="sphinxsidebarwrapper">137 ········<div·class="sphinxsidebarwrapper">
137 ··<div>138 ··<div>
138 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>139 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
139 ····<ul>140 ····<ul>
140 <li><a·class="reference·internal"·href="#">Django·1.11.23·release·notes</a><ul>141 <li><a·class="reference·internal"·href="#">Django·1.11.23·release·notes</a><ul>
141 <li><a·class="reference·internal"·href="#cve-2019-14232-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2019-14232:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>142 <li><a·class="reference·internal"·href="#cve-2019-14232-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2019-14232:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>
142 <li><a·class="reference·internal"·href="#cve-2019-14233-denial-of-service-possibility-in-strip-tags">CVE-2019-14233:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>143 <li><a·class="reference·internal"·href="#cve-2019-14233-denial-of-service-possibility-in-strip-tags">CVE-2019-14233:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>
143 <li><a·class="reference·internal"·href="#cve-2019-14234-sql-injection-possibility-in-key-and-index-lookups-for-jsonfield-hstorefield">CVE-2019-14234:·SQL·injection·possibility·in·key·and·index·lookups·for·<code·class="docutils·literal·notranslate"><span·class="pre">JSONField</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a></li>144 <li><a·class="reference·internal"·href="#cve-2019-14234-sql-injection-possibility-in-key-and-index-lookups-for-jsonfield-hstorefield">CVE-2019-14234:·SQL·injection·possibility·in·key·and·index·lookups·for·<code·class="docutils·literal·notranslate"><span·class="pre">JSONField</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a></li>
144 <li><a·class="reference·internal"·href="#cve-2019-14235-potential-memory-exhaustion-in-django-utils-encoding-uri-to-iri">CVE-2019-14235:·Potential·memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>145 <li><a·class="reference·internal"·href="#cve-2019-14235-potential-memory-exhaustion-in-django-utils-encoding-uri-to-iri">CVE-2019-14235:·Potential·memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>
145 </ul>146 </ul>
146 </li>147 </li>
147 </ul>148 </ul>
  
148 ··</div>149 ··</div>
149 ··<div>150 ··<div>
150 ····<h4>Previous·topic</h4>151 ····<h4>Eelmine·teema</h4>
151 ····<p·class="topless"><a·href="1.11.24.html"152 ····<p·class="topless"><a·href="1.11.24.html"
152 ··························title="previous·chapter">Django·1.11.24·release·notes</a></p>153 ··························title="eelmine·jaotis">Django·1.11.24·release·notes</a></p>
153 ··</div>154 ··</div>
154 ··<div>155 ··<div>
155 ····<h4>Next·topic</h4>156 ····<h4>Järgmine·teema</h4>
156 ····<p·class="topless"><a·href="1.11.22.html"157 ····<p·class="topless"><a·href="1.11.22.html"
157 ··························title="next·chapter">Django·1.11.22·release·notes</a></p>158 ··························title="järgmine·jaotis">Django·1.11.22·release·notes</a></p>
158 ··</div>159 ··</div>
159 <search·id="searchbox"·style="display:·none"·role="search">160 <search·id="searchbox"·style="display:·none"·role="search">
160 ··<h3·id="searchlabel">Quick·search</h3>161 ··<h3·id="searchlabel">Kiirotsing</h3>
161 ····<div·class="searchformwrapper">162 ····<div·class="searchformwrapper">
162 ····<form·class="search"·action="../search.html"·method="get">163 ····<form·class="search"·action="../search.html"·method="get">
163 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>164 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
164 ······<input·type="submit"·value="Go"·/>165 ······<input·type="submit"·value="Otsi"·/>
165 ····</form>166 ····</form>
166 ····</div>167 ····</div>
167 </search>168 </search>
168 <script>document.getElementById('searchbox').style.display·=·"block"</script>169 <script>document.getElementById('searchbox').style.display·=·"block"</script>
169 ········</div>170 ········</div>
170 ······</div>171 ······</div>
171 ··············<h3>Last·update:</h3>172 ··············<h3>Last·update:</h3>
172 ··············<p·class="topless">Nov·05,·2024</p>173 ··············<p·class="topless">nov·05,·2024</p>
173 ··········</div>174 ··········</div>
174 ········175 ········
175 ······176 ······
176 ····</div>177 ····</div>
  
177 ····<div·id="ft">178 ····<div·id="ft">
178 ······<div·class="nav">179 ······<div·class="nav">
3.62 KB
html2text {}
Max HTML report size reached
6.18 KB
./usr/share/doc/python-django-doc/html/releases/1.11.24.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.24·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.24·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.23·release·notes"·href="1.11.23.html"·/>15 ····<link·rel="next"·title="Django·1.11.23·release·notes"·href="1.11.23.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.25·release·notes"·href="1.11.25.html"·/>16 ····<link·rel="prev"·title="Django·1.11.25·release·notes"·href="1.11.25.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.11.24·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.11.24·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.11.25.html"117 ····<p·class="topless"><a·href="1.11.25.html"
117 ··························title="previous·chapter">Django·1.11.25·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.11.25·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.11.23.html"122 ····<p·class="topless"><a·href="1.11.23.html"
122 ··························title="next·chapter">Django·1.11.23·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.11.23·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.04 KB
html2text {}
Max HTML report size reached
6.19 KB
./usr/share/doc/python-django-doc/html/releases/1.11.25.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.25·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.25·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.24·release·notes"·href="1.11.24.html"·/>15 ····<link·rel="next"·title="Django·1.11.24·release·notes"·href="1.11.24.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.26·release·notes"·href="1.11.26.html"·/>16 ····<link·rel="prev"·title="Django·1.11.26·release·notes"·href="1.11.26.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·1.11.25·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·1.11.25·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="1.11.26.html"116 ····<p·class="topless"><a·href="1.11.26.html"
116 ··························title="previous·chapter">Django·1.11.26·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·1.11.26·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="1.11.24.html"121 ····<p·class="topless"><a·href="1.11.24.html"
121 ··························title="next·chapter">Django·1.11.24·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·1.11.24·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.04 KB
html2text {}
Max HTML report size reached
6.23 KB
./usr/share/doc/python-django-doc/html/releases/1.11.26.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.26·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.26·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.25·release·notes"·href="1.11.25.html"·/>15 ····<link·rel="next"·title="Django·1.11.25·release·notes"·href="1.11.25.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.27·release·notes"·href="1.11.27.html"·/>16 ····<link·rel="prev"·title="Django·1.11.27·release·notes"·href="1.11.27.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.11.26·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.11.26·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.11.27.html"117 ····<p·class="topless"><a·href="1.11.27.html"
117 ··························title="previous·chapter">Django·1.11.27·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.11.27·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.11.25.html"122 ····<p·class="topless"><a·href="1.11.25.html"
122 ··························title="next·chapter">Django·1.11.25·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.11.25·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.09 KB
html2text {}
Max HTML report size reached
7.26 KB
./usr/share/doc/python-django-doc/html/releases/1.11.27.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.27·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.27·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.26·release·notes"·href="1.11.26.html"·/>15 ····<link·rel="next"·title="Django·1.11.26·release·notes"·href="1.11.26.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.28·release·notes"·href="1.11.28.html"·/>16 ····<link·rel="prev"·title="Django·1.11.28·release·notes"·href="1.11.28.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 111, 48 lines modifiedOffset 112, 48 lines modified
111 ······112 ······
112 ········113 ········
113 ··········<div·class="yui-b"·id="sidebar">114 ··········<div·class="yui-b"·id="sidebar">
114 ············115 ············
115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
116 ········<div·class="sphinxsidebarwrapper">117 ········<div·class="sphinxsidebarwrapper">
117 ··<div>118 ··<div>
118 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>119 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
119 ····<ul>120 ····<ul>
120 <li><a·class="reference·internal"·href="#">Django·1.11.27·release·notes</a><ul>121 <li><a·class="reference·internal"·href="#">Django·1.11.27·release·notes</a><ul>
121 <li><a·class="reference·internal"·href="#cve-2019-19844-potential-account-hijack-via-password-reset-form">CVE-2019-19844:·Potential·account·hijack·via·password·reset·form</a></li>122 <li><a·class="reference·internal"·href="#cve-2019-19844-potential-account-hijack-via-password-reset-form">CVE-2019-19844:·Potential·account·hijack·via·password·reset·form</a></li>
122 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>123 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
123 </ul>124 </ul>
124 </li>125 </li>
125 </ul>126 </ul>
  
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Previous·topic</h4>129 ····<h4>Eelmine·teema</h4>
129 ····<p·class="topless"><a·href="1.11.28.html"130 ····<p·class="topless"><a·href="1.11.28.html"
130 ··························title="previous·chapter">Django·1.11.28·release·notes</a></p>131 ··························title="eelmine·jaotis">Django·1.11.28·release·notes</a></p>
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Next·topic</h4>134 ····<h4>Järgmine·teema</h4>
134 ····<p·class="topless"><a·href="1.11.26.html"135 ····<p·class="topless"><a·href="1.11.26.html"
135 ··························title="next·chapter">Django·1.11.26·release·notes</a></p>136 ··························title="järgmine·jaotis">Django·1.11.26·release·notes</a></p>
136 ··</div>137 ··</div>
137 <search·id="searchbox"·style="display:·none"·role="search">138 <search·id="searchbox"·style="display:·none"·role="search">
138 ··<h3·id="searchlabel">Quick·search</h3>139 ··<h3·id="searchlabel">Kiirotsing</h3>
139 ····<div·class="searchformwrapper">140 ····<div·class="searchformwrapper">
140 ····<form·class="search"·action="../search.html"·method="get">141 ····<form·class="search"·action="../search.html"·method="get">
141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
142 ······<input·type="submit"·value="Go"·/>143 ······<input·type="submit"·value="Otsi"·/>
143 ····</form>144 ····</form>
144 ····</div>145 ····</div>
145 </search>146 </search>
146 <script>document.getElementById('searchbox').style.display·=·"block"</script>147 <script>document.getElementById('searchbox').style.display·=·"block"</script>
147 ········</div>148 ········</div>
148 ······</div>149 ······</div>
149 ··············<h3>Last·update:</h3>150 ··············<h3>Last·update:</h3>
150 ··············<p·class="topless">Nov·05,·2024</p>151 ··············<p·class="topless">nov·05,·2024</p>
151 ··········</div>152 ··········</div>
152 ········153 ········
153 ······154 ······
154 ····</div>155 ····</div>
  
155 ····<div·id="ft">156 ····<div·id="ft">
156 ······<div·class="nav">157 ······<div·class="nav">
2.94 KB
html2text {}
Max HTML report size reached
6.6 KB
./usr/share/doc/python-django-doc/html/releases/1.11.28.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.28·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.28·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.27·release·notes"·href="1.11.27.html"·/>15 ····<link·rel="next"·title="Django·1.11.27·release·notes"·href="1.11.27.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.29·release·notes"·href="1.11.29.html"·/>16 ····<link·rel="prev"·title="Django·1.11.29·release·notes"·href="1.11.29.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 47 lines modifiedOffset 96, 47 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>103 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
103 ····<ul>104 ····<ul>
104 <li><a·class="reference·internal"·href="#">Django·1.11.28·release·notes</a><ul>105 <li><a·class="reference·internal"·href="#">Django·1.11.28·release·notes</a><ul>
105 <li><a·class="reference·internal"·href="#cve-2020-7471-potential-sql-injection-via-stringagg-delimiter">CVE-2020-7471:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">StringAgg(delimiter)</span></code></a></li>106 <li><a·class="reference·internal"·href="#cve-2020-7471-potential-sql-injection-via-stringagg-delimiter">CVE-2020-7471:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">StringAgg(delimiter)</span></code></a></li>
106 </ul>107 </ul>
107 </li>108 </li>
108 </ul>109 </ul>
  
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="1.11.29.html"113 ····<p·class="topless"><a·href="1.11.29.html"
113 ··························title="previous·chapter">Django·1.11.29·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·1.11.29·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="1.11.27.html"118 ····<p·class="topless"><a·href="1.11.27.html"
118 ··························title="next·chapter">Django·1.11.27·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·1.11.27·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.28 KB
html2text {}
Max HTML report size reached
6.87 KB
./usr/share/doc/python-django-doc/html/releases/1.11.29.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.29·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.29·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.28·release·notes"·href="1.11.28.html"·/>15 ····<link·rel="next"·title="Django·1.11.28·release·notes"·href="1.11.28.html"·/>
15 ····<link·rel="prev"·title="Django·2.0·release·notes"·href="2.0.html"·/>16 ····<link·rel="prev"·title="Django·2.0·release·notes"·href="2.0.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 47 lines modifiedOffset 96, 47 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>103 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
103 ····<ul>104 ····<ul>
104 <li><a·class="reference·internal"·href="#">Django·1.11.29·release·notes</a><ul>105 <li><a·class="reference·internal"·href="#">Django·1.11.29·release·notes</a><ul>
105 <li><a·class="reference·internal"·href="#cve-2020-9402-potential-sql-injection-via-tolerance-parameter-in-gis-functions-and-aggregates-on-oracle">CVE-2020-9402:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">tolerance</span></code>·parameter·in·GIS·functions·and·aggregates·on·Oracle</a></li>106 <li><a·class="reference·internal"·href="#cve-2020-9402-potential-sql-injection-via-tolerance-parameter-in-gis-functions-and-aggregates-on-oracle">CVE-2020-9402:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">tolerance</span></code>·parameter·in·GIS·functions·and·aggregates·on·Oracle</a></li>
106 </ul>107 </ul>
107 </li>108 </li>
108 </ul>109 </ul>
  
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="2.0.html"113 ····<p·class="topless"><a·href="2.0.html"
113 ··························title="previous·chapter">Django·2.0·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·2.0·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="1.11.28.html"118 ····<p·class="topless"><a·href="1.11.28.html"
118 ··························title="next·chapter">Django·1.11.28·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·1.11.28·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.48 KB
html2text {}
Max HTML report size reached
6.48 KB
./usr/share/doc/python-django-doc/html/releases/1.11.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.2·release·notes"·href="1.11.2.html"·/>15 ····<link·rel="next"·title="Django·1.11.2·release·notes"·href="1.11.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.4·release·notes"·href="1.11.4.html"·/>16 ····<link·rel="prev"·title="Django·1.11.4·release·notes"·href="1.11.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 132, 47 lines modifiedOffset 133, 47 lines modified
132 ······133 ······
133 ········134 ········
134 ··········<div·class="yui-b"·id="sidebar">135 ··········<div·class="yui-b"·id="sidebar">
135 ············136 ············
136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">137 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
137 ········<div·class="sphinxsidebarwrapper">138 ········<div·class="sphinxsidebarwrapper">
138 ··<div>139 ··<div>
139 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>140 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
140 ····<ul>141 ····<ul>
141 <li><a·class="reference·internal"·href="#">Django·1.11.3·release·notes</a><ul>142 <li><a·class="reference·internal"·href="#">Django·1.11.3·release·notes</a><ul>
142 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>143 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
143 </ul>144 </ul>
144 </li>145 </li>
145 </ul>146 </ul>
  
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Previous·topic</h4>149 ····<h4>Eelmine·teema</h4>
149 ····<p·class="topless"><a·href="1.11.4.html"150 ····<p·class="topless"><a·href="1.11.4.html"
150 ··························title="previous·chapter">Django·1.11.4·release·notes</a></p>151 ··························title="eelmine·jaotis">Django·1.11.4·release·notes</a></p>
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Next·topic</h4>154 ····<h4>Järgmine·teema</h4>
154 ····<p·class="topless"><a·href="1.11.2.html"155 ····<p·class="topless"><a·href="1.11.2.html"
155 ··························title="next·chapter">Django·1.11.2·release·notes</a></p>156 ··························title="järgmine·jaotis">Django·1.11.2·release·notes</a></p>
156 ··</div>157 ··</div>
157 <search·id="searchbox"·style="display:·none"·role="search">158 <search·id="searchbox"·style="display:·none"·role="search">
158 ··<h3·id="searchlabel">Quick·search</h3>159 ··<h3·id="searchlabel">Kiirotsing</h3>
159 ····<div·class="searchformwrapper">160 ····<div·class="searchformwrapper">
160 ····<form·class="search"·action="../search.html"·method="get">161 ····<form·class="search"·action="../search.html"·method="get">
161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>162 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
162 ······<input·type="submit"·value="Go"·/>163 ······<input·type="submit"·value="Otsi"·/>
163 ····</form>164 ····</form>
164 ····</div>165 ····</div>
165 </search>166 </search>
166 <script>document.getElementById('searchbox').style.display·=·"block"</script>167 <script>document.getElementById('searchbox').style.display·=·"block"</script>
167 ········</div>168 ········</div>
168 ······</div>169 ······</div>
169 ··············<h3>Last·update:</h3>170 ··············<h3>Last·update:</h3>
170 ··············<p·class="topless">Nov·05,·2024</p>171 ··············<p·class="topless">nov·05,·2024</p>
171 ··········</div>172 ··········</div>
172 ········173 ········
173 ······174 ······
174 ····</div>175 ····</div>
  
175 ····<div·id="ft">176 ····<div·id="ft">
176 ······<div·class="nav">177 ······<div·class="nav">
2.35 KB
html2text {}
Max HTML report size reached
6.54 KB
./usr/share/doc/python-django-doc/html/releases/1.11.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.3·release·notes"·href="1.11.3.html"·/>15 ····<link·rel="next"·title="Django·1.11.3·release·notes"·href="1.11.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.5·release·notes"·href="1.11.5.html"·/>16 ····<link·rel="prev"·title="Django·1.11.5·release·notes"·href="1.11.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 117, 47 lines modifiedOffset 118, 47 lines modified
117 ······118 ······
118 ········119 ········
119 ··········<div·class="yui-b"·id="sidebar">120 ··········<div·class="yui-b"·id="sidebar">
120 ············121 ············
121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
122 ········<div·class="sphinxsidebarwrapper">123 ········<div·class="sphinxsidebarwrapper">
123 ··<div>124 ··<div>
124 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>125 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
125 ····<ul>126 ····<ul>
126 <li><a·class="reference·internal"·href="#">Django·1.11.4·release·notes</a><ul>127 <li><a·class="reference·internal"·href="#">Django·1.11.4·release·notes</a><ul>
127 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>128 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
128 </ul>129 </ul>
129 </li>130 </li>
130 </ul>131 </ul>
  
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Previous·topic</h4>134 ····<h4>Eelmine·teema</h4>
134 ····<p·class="topless"><a·href="1.11.5.html"135 ····<p·class="topless"><a·href="1.11.5.html"
135 ··························title="previous·chapter">Django·1.11.5·release·notes</a></p>136 ··························title="eelmine·jaotis">Django·1.11.5·release·notes</a></p>
136 ··</div>137 ··</div>
137 ··<div>138 ··<div>
138 ····<h4>Next·topic</h4>139 ····<h4>Järgmine·teema</h4>
139 ····<p·class="topless"><a·href="1.11.3.html"140 ····<p·class="topless"><a·href="1.11.3.html"
140 ··························title="next·chapter">Django·1.11.3·release·notes</a></p>141 ··························title="järgmine·jaotis">Django·1.11.3·release·notes</a></p>
141 ··</div>142 ··</div>
142 <search·id="searchbox"·style="display:·none"·role="search">143 <search·id="searchbox"·style="display:·none"·role="search">
143 ··<h3·id="searchlabel">Quick·search</h3>144 ··<h3·id="searchlabel">Kiirotsing</h3>
144 ····<div·class="searchformwrapper">145 ····<div·class="searchformwrapper">
145 ····<form·class="search"·action="../search.html"·method="get">146 ····<form·class="search"·action="../search.html"·method="get">
146 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
147 ······<input·type="submit"·value="Go"·/>148 ······<input·type="submit"·value="Otsi"·/>
148 ····</form>149 ····</form>
149 ····</div>150 ····</div>
150 </search>151 </search>
151 <script>document.getElementById('searchbox').style.display·=·"block"</script>152 <script>document.getElementById('searchbox').style.display·=·"block"</script>
152 ········</div>153 ········</div>
153 ······</div>154 ······</div>
154 ··············<h3>Last·update:</h3>155 ··············<h3>Last·update:</h3>
155 ··············<p·class="topless">Nov·05,·2024</p>156 ··············<p·class="topless">nov·05,·2024</p>
156 ··········</div>157 ··········</div>
157 ········158 ········
158 ······159 ······
159 ····</div>160 ····</div>
  
160 ····<div·id="ft">161 ····<div·id="ft">
161 ······<div·class="nav">162 ······<div·class="nav">
2.4 KB
html2text {}
Max HTML report size reached
7.11 KB
./usr/share/doc/python-django-doc/html/releases/1.11.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.4·release·notes"·href="1.11.4.html"·/>15 ····<link·rel="next"·title="Django·1.11.4·release·notes"·href="1.11.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.6·release·notes"·href="1.11.6.html"·/>16 ····<link·rel="prev"·title="Django·1.11.6·release·notes"·href="1.11.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 130, 48 lines modifiedOffset 131, 48 lines modified
130 ······131 ······
131 ········132 ········
132 ··········<div·class="yui-b"·id="sidebar">133 ··········<div·class="yui-b"·id="sidebar">
133 ············134 ············
134 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
135 ········<div·class="sphinxsidebarwrapper">136 ········<div·class="sphinxsidebarwrapper">
136 ··<div>137 ··<div>
137 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>138 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
138 ····<ul>139 ····<ul>
139 <li><a·class="reference·internal"·href="#">Django·1.11.5·release·notes</a><ul>140 <li><a·class="reference·internal"·href="#">Django·1.11.5·release·notes</a><ul>
140 <li><a·class="reference·internal"·href="#cve-2017-12794-possible-xss-in-traceback-section-of-technical-500-debug-page">CVE-2017-12794:·Possible·XSS·in·traceback·section·of·technical·500·debug·page</a></li>141 <li><a·class="reference·internal"·href="#cve-2017-12794-possible-xss-in-traceback-section-of-technical-500-debug-page">CVE-2017-12794:·Possible·XSS·in·traceback·section·of·technical·500·debug·page</a></li>
141 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>142 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
142 </ul>143 </ul>
143 </li>144 </li>
144 </ul>145 </ul>
  
145 ··</div>146 ··</div>
146 ··<div>147 ··<div>
147 ····<h4>Previous·topic</h4>148 ····<h4>Eelmine·teema</h4>
148 ····<p·class="topless"><a·href="1.11.6.html"149 ····<p·class="topless"><a·href="1.11.6.html"
149 ··························title="previous·chapter">Django·1.11.6·release·notes</a></p>150 ··························title="eelmine·jaotis">Django·1.11.6·release·notes</a></p>
150 ··</div>151 ··</div>
151 ··<div>152 ··<div>
152 ····<h4>Next·topic</h4>153 ····<h4>Järgmine·teema</h4>
153 ····<p·class="topless"><a·href="1.11.4.html"154 ····<p·class="topless"><a·href="1.11.4.html"
154 ··························title="next·chapter">Django·1.11.4·release·notes</a></p>155 ··························title="järgmine·jaotis">Django·1.11.4·release·notes</a></p>
155 ··</div>156 ··</div>
156 <search·id="searchbox"·style="display:·none"·role="search">157 <search·id="searchbox"·style="display:·none"·role="search">
157 ··<h3·id="searchlabel">Quick·search</h3>158 ··<h3·id="searchlabel">Kiirotsing</h3>
158 ····<div·class="searchformwrapper">159 ····<div·class="searchformwrapper">
159 ····<form·class="search"·action="../search.html"·method="get">160 ····<form·class="search"·action="../search.html"·method="get">
160 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
161 ······<input·type="submit"·value="Go"·/>162 ······<input·type="submit"·value="Otsi"·/>
162 ····</form>163 ····</form>
163 ····</div>164 ····</div>
164 </search>165 </search>
165 <script>document.getElementById('searchbox').style.display·=·"block"</script>166 <script>document.getElementById('searchbox').style.display·=·"block"</script>
166 ········</div>167 ········</div>
167 ······</div>168 ······</div>
168 ··············<h3>Last·update:</h3>169 ··············<h3>Last·update:</h3>
169 ··············<p·class="topless">Nov·05,·2024</p>170 ··············<p·class="topless">nov·05,·2024</p>
170 ··········</div>171 ··········</div>
171 ········172 ········
172 ······173 ······
173 ····</div>174 ····</div>
  
174 ····<div·id="ft">175 ····<div·id="ft">
175 ······<div·class="nav">176 ······<div·class="nav">
2.78 KB
html2text {}
Max HTML report size reached
6.43 KB
./usr/share/doc/python-django-doc/html/releases/1.11.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.5·release·notes"·href="1.11.5.html"·/>15 ····<link·rel="next"·title="Django·1.11.5·release·notes"·href="1.11.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.7·release·notes"·href="1.11.7.html"·/>16 ····<link·rel="prev"·title="Django·1.11.7·release·notes"·href="1.11.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·1.11.6·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·1.11.6·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="1.11.7.html"120 ····<p·class="topless"><a·href="1.11.7.html"
120 ··························title="previous·chapter">Django·1.11.7·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·1.11.7·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="1.11.5.html"125 ····<p·class="topless"><a·href="1.11.5.html"
125 ··························title="next·chapter">Django·1.11.5·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·1.11.5·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.3 KB
html2text {}
Max HTML report size reached
6.34 KB
./usr/share/doc/python-django-doc/html/releases/1.11.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.6·release·notes"·href="1.11.6.html"·/>15 ····<link·rel="next"·title="Django·1.11.6·release·notes"·href="1.11.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.8·release·notes"·href="1.11.8.html"·/>16 ····<link·rel="prev"·title="Django·1.11.8·release·notes"·href="1.11.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·1.11.7·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·1.11.7·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="1.11.8.html"120 ····<p·class="topless"><a·href="1.11.8.html"
120 ··························title="previous·chapter">Django·1.11.8·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·1.11.8·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="1.11.6.html"125 ····<p·class="topless"><a·href="1.11.6.html"
125 ··························title="next·chapter">Django·1.11.6·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·1.11.6·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.21 KB
html2text {}
Max HTML report size reached
8.83 KB
./usr/share/doc/python-django-doc/html/releases/1.11.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.7·release·notes"·href="1.11.7.html"·/>15 ····<link·rel="next"·title="Django·1.11.7·release·notes"·href="1.11.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.9·release·notes"·href="1.11.9.html"·/>16 ····<link·rel="prev"·title="Django·1.11.9·release·notes"·href="1.11.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 15 lines modifiedOffset 96, 15 lines modified
95 <code·class="docutils·literal·notranslate"><span·class="pre">values()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">values_list()</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28817">#28817</a>).</p></li>96 <code·class="docutils·literal·notranslate"><span·class="pre">values()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">values_list()</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28817">#28817</a>).</p></li>
96 <li><p>Fixed·crash·on·SQLite·and·MySQL·when·ordering·by·a·filtered·subquery·that97 <li><p>Fixed·crash·on·SQLite·and·MySQL·when·ordering·by·a·filtered·subquery·that
97 uses·<code·class="docutils·literal·notranslate"><span·class="pre">nulls_first</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">nulls_last</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28848">#28848</a>).</p></li>98 uses·<code·class="docutils·literal·notranslate"><span·class="pre">nulls_first</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">nulls_last</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28848">#28848</a>).</p></li>
98 <li><p>Made·query·lookups·for·<code·class="docutils·literal·notranslate"><span·class="pre">CICharField</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">CIEmailField</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">CITextField</span></code>99 <li><p>Made·query·lookups·for·<code·class="docutils·literal·notranslate"><span·class="pre">CICharField</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">CIEmailField</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">CITextField</span></code>
99 use·a·<code·class="docutils·literal·notranslate"><span·class="pre">citext</span></code>·cast·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28702">#28702</a>).</p></li>100 use·a·<code·class="docutils·literal·notranslate"><span·class="pre">citext</span></code>·cast·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28702">#28702</a>).</p></li>
100 <li><p>Fixed·a·regression·in·caching·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">GenericForeignKey</span></code>·when·the·referenced101 <li><p>Fixed·a·regression·in·caching·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">GenericForeignKey</span></code>·when·the·referenced
101 model·instance·uses·multi-table·inheritance·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28856">#28856</a>).</p></li>102 model·instance·uses·multi-table·inheritance·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28856">#28856</a>).</p></li>
102 <li><p>Fixed·Cannot·change·column·x:·used·in·a·foreign·key·constraint·crash·on103 <li><p>Fixed·Cannot·change·column·x:·used·in·a·foreign·key·constraint·crash·on
103 MySQL·with·a·sequence·of·<code·class="docutils·literal·notranslate"><span·class="pre">AlterField</span></code>·and/or·<code·class="docutils·literal·notranslate"><span·class="pre">RenameField</span></code>·operations·in104 MySQL·with·a·sequence·of·<code·class="docutils·literal·notranslate"><span·class="pre">AlterField</span></code>·and/or·<code·class="docutils·literal·notranslate"><span·class="pre">RenameField</span></code>·operations·in
104 a·migration·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28305">#28305</a>).</p></li>105 a·migration·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28305">#28305</a>).</p></li>
105 </ul>106 </ul>
106 </section>107 </section>
107 </section>108 </section>
  
  
Offset 113, 47 lines modifiedOffset 114, 47 lines modified
113 ······114 ······
114 ········115 ········
115 ··········<div·class="yui-b"·id="sidebar">116 ··········<div·class="yui-b"·id="sidebar">
116 ············117 ············
117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">118 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
118 ········<div·class="sphinxsidebarwrapper">119 ········<div·class="sphinxsidebarwrapper">
119 ··<div>120 ··<div>
120 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>121 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
121 ····<ul>122 ····<ul>
122 <li><a·class="reference·internal"·href="#">Django·1.11.8·release·notes</a><ul>123 <li><a·class="reference·internal"·href="#">Django·1.11.8·release·notes</a><ul>
123 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>124 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
124 </ul>125 </ul>
125 </li>126 </li>
126 </ul>127 </ul>
  
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Previous·topic</h4>130 ····<h4>Eelmine·teema</h4>
130 ····<p·class="topless"><a·href="1.11.9.html"131 ····<p·class="topless"><a·href="1.11.9.html"
131 ··························title="previous·chapter">Django·1.11.9·release·notes</a></p>132 ··························title="eelmine·jaotis">Django·1.11.9·release·notes</a></p>
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Next·topic</h4>135 ····<h4>Järgmine·teema</h4>
135 ····<p·class="topless"><a·href="1.11.7.html"136 ····<p·class="topless"><a·href="1.11.7.html"
136 ··························title="next·chapter">Django·1.11.7·release·notes</a></p>137 ··························title="järgmine·jaotis">Django·1.11.7·release·notes</a></p>
137 ··</div>138 ··</div>
138 <search·id="searchbox"·style="display:·none"·role="search">139 <search·id="searchbox"·style="display:·none"·role="search">
139 ··<h3·id="searchlabel">Quick·search</h3>140 ··<h3·id="searchlabel">Kiirotsing</h3>
140 ····<div·class="searchformwrapper">141 ····<div·class="searchformwrapper">
141 ····<form·class="search"·action="../search.html"·method="get">142 ····<form·class="search"·action="../search.html"·method="get">
142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
143 ······<input·type="submit"·value="Go"·/>144 ······<input·type="submit"·value="Otsi"·/>
144 ····</form>145 ····</form>
145 ····</div>146 ····</div>
146 </search>147 </search>
147 <script>document.getElementById('searchbox').style.display·=·"block"</script>148 <script>document.getElementById('searchbox').style.display·=·"block"</script>
148 ········</div>149 ········</div>
149 ······</div>150 ······</div>
150 ··············<h3>Last·update:</h3>151 ··············<h3>Last·update:</h3>
151 ··············<p·class="topless">Nov·05,·2024</p>152 ··············<p·class="topless">nov·05,·2024</p>
152 ··········</div>153 ··········</div>
153 ········154 ········
154 ······155 ······
155 ····</div>156 ····</div>
  
156 ····<div·id="ft">157 ····<div·id="ft">
157 ······<div·class="nav">158 ······<div·class="nav">
2.66 KB
html2text {}
Max HTML report size reached
6.46 KB
./usr/share/doc/python-django-doc/html/releases/1.11.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.8·release·notes"·href="1.11.8.html"·/>15 ····<link·rel="next"·title="Django·1.11.8·release·notes"·href="1.11.8.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.10·release·notes"·href="1.11.10.html"·/>16 ····<link·rel="prev"·title="Django·1.11.10·release·notes"·href="1.11.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 104, 47 lines modifiedOffset 105, 47 lines modified
104 ······105 ······
105 ········106 ········
106 ··········<div·class="yui-b"·id="sidebar">107 ··········<div·class="yui-b"·id="sidebar">
107 ············108 ············
108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
109 ········<div·class="sphinxsidebarwrapper">110 ········<div·class="sphinxsidebarwrapper">
110 ··<div>111 ··<div>
111 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>112 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
112 ····<ul>113 ····<ul>
113 <li><a·class="reference·internal"·href="#">Django·1.11.9·release·notes</a><ul>114 <li><a·class="reference·internal"·href="#">Django·1.11.9·release·notes</a><ul>
114 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
115 </ul>116 </ul>
116 </li>117 </li>
117 </ul>118 </ul>
  
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Previous·topic</h4>121 ····<h4>Eelmine·teema</h4>
121 ····<p·class="topless"><a·href="1.11.10.html"122 ····<p·class="topless"><a·href="1.11.10.html"
122 ··························title="previous·chapter">Django·1.11.10·release·notes</a></p>123 ··························title="eelmine·jaotis">Django·1.11.10·release·notes</a></p>
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Next·topic</h4>126 ····<h4>Järgmine·teema</h4>
126 ····<p·class="topless"><a·href="1.11.8.html"127 ····<p·class="topless"><a·href="1.11.8.html"
127 ··························title="next·chapter">Django·1.11.8·release·notes</a></p>128 ··························title="järgmine·jaotis">Django·1.11.8·release·notes</a></p>
128 ··</div>129 ··</div>
129 <search·id="searchbox"·style="display:·none"·role="search">130 <search·id="searchbox"·style="display:·none"·role="search">
130 ··<h3·id="searchlabel">Quick·search</h3>131 ··<h3·id="searchlabel">Kiirotsing</h3>
131 ····<div·class="searchformwrapper">132 ····<div·class="searchformwrapper">
132 ····<form·class="search"·action="../search.html"·method="get">133 ····<form·class="search"·action="../search.html"·method="get">
133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
134 ······<input·type="submit"·value="Go"·/>135 ······<input·type="submit"·value="Otsi"·/>
135 ····</form>136 ····</form>
136 ····</div>137 ····</div>
137 </search>138 </search>
138 <script>document.getElementById('searchbox').style.display·=·"block"</script>139 <script>document.getElementById('searchbox').style.display·=·"block"</script>
139 ········</div>140 ········</div>
140 ······</div>141 ······</div>
141 ··············<h3>Last·update:</h3>142 ··············<h3>Last·update:</h3>
142 ··············<p·class="topless">Nov·05,·2024</p>143 ··············<p·class="topless">nov·05,·2024</p>
143 ··········</div>144 ··········</div>
144 ········145 ········
145 ······146 ······
146 ····</div>147 ····</div>
  
147 ····<div·id="ft">148 ····<div·id="ft">
148 ······<div·class="nav">149 ······<div·class="nav">
2.33 KB
html2text {}
Max HTML report size reached
22.1 KB
./usr/share/doc/python-django-doc/html/releases/1.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.10.8·release·notes"·href="1.10.8.html"·/>15 ····<link·rel="next"·title="Django·1.10.8·release·notes"·href="1.10.8.html"·/>
15 ····<link·rel="prev"·title="Django·1.11.1·release·notes"·href="1.11.1.html"·/>16 ····<link·rel="prev"·title="Django·1.11.1·release·notes"·href="1.11.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 308, 26 lines modifiedOffset 309, 26 lines modified
308 <em·class="mimetype">application/octet-stream</em>·when·binary·content·that·can’t·be309 <em·class="mimetype">application/octet-stream</em>·when·binary·content·that·can’t·be
309 decoded·as·UTF-8·is·specified·for·a·<em·class="mimetype">text/*</em>·attachment.</p></li>310 decoded·as·UTF-8·is·specified·for·a·<em·class="mimetype">text/*</em>·attachment.</p></li>
310 </ul>311 </ul>
311 </section>312 </section>
312 <section·id="s-file-storage">313 <section·id="s-file-storage">
313 <span·id="file-storage"></span><h4>File·Storage<a·class="headerlink"·href="#file-storage"·title="Link·to·this·heading">¶</a></h4>314 <span·id="file-storage"></span><h4>File·Storage<a·class="headerlink"·href="#file-storage"·title="Link·to·this·heading">¶</a></h4>
314 <ul·class="simple">315 <ul·class="simple">
315 <li><p>To·make·it·wrappable·by·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/io.html#io.TextIOWrapper"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">io.TextIOWrapper</span></code></a>,316 <li><p>To·make·it·wrappable·by·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/io.html#io.TextIOWrapper"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">io.TextIOWrapper</span></code></a>,
316 <a·class="reference·internal"·href="../ref/files/file.html#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>·now·has·the·<code·class="docutils·literal·notranslate"><span·class="pre">readable()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">writable()</span></code>,317 <a·class="reference·internal"·href="../ref/files/file.html#django.core.files.File"·title="django.core.files.File"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">File</span></code></a>·now·has·the·<code·class="docutils·literal·notranslate"><span·class="pre">readable()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">writable()</span></code>,
317 and·<code·class="docutils·literal·notranslate"><span·class="pre">seekable()</span></code>·methods.</p></li>318 and·<code·class="docutils·literal·notranslate"><span·class="pre">seekable()</span></code>·methods.</p></li>
318 </ul>319 </ul>
319 </section>320 </section>
320 <section·id="s-forms">321 <section·id="s-forms">
321 <span·id="forms"></span><h4>Forms<a·class="headerlink"·href="#forms"·title="Link·to·this·heading">¶</a></h4>322 <span·id="forms"></span><h4>Forms<a·class="headerlink"·href="#forms"·title="Link·to·this·heading">¶</a></h4>
322 <ul·class="simple">323 <ul·class="simple">
323 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">empty_value</span></code>·attribute·on·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.CharField"·title="django.forms.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>,324 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">empty_value</span></code>·attribute·on·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.CharField"·title="django.forms.CharField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CharField</span></code></a>,
324 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.EmailField"·title="django.forms.EmailField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">EmailField</span></code></a>,·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.RegexField"·title="django.forms.RegexField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RegexField</span></code></a>,325 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.EmailField"·title="django.forms.EmailField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">EmailField</span></code></a>,·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.RegexField"·title="django.forms.RegexField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RegexField</span></code></a>,
325 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.SlugField"·title="django.forms.SlugField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SlugField</span></code></a>,·and·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.URLField"·title="django.forms.URLField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLField</span></code></a>·allows326 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.SlugField"·title="django.forms.SlugField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SlugField</span></code></a>,·and·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.URLField"·title="django.forms.URLField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLField</span></code></a>·allows
326 specifying·the·Python·value·to·use·to·represent·empty.</p></li>327 specifying·the·Python·value·to·use·to·represent·empty.</p></li>
327 <li><p>The·new·<a·class="reference·internal"·href="../ref/forms/api.html#django.forms.Form.get_initial_for_field"·title="django.forms.Form.get_initial_for_field"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Form.get_initial_for_field()</span></code></a>·method·returns·initial·data·for·a328 <li><p>The·new·<a·class="reference·internal"·href="../ref/forms/api.html#django.forms.Form.get_initial_for_field"·title="django.forms.Form.get_initial_for_field"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Form.get_initial_for_field()</span></code></a>·method·returns·initial·data·for·a
328 form·field.</p></li>329 form·field.</p></li>
329 </ul>330 </ul>
330 </section>331 </section>
331 <section·id="s-internationalization">332 <section·id="s-internationalization">
332 <span·id="internationalization"></span><h4>Internationalization<a·class="headerlink"·href="#internationalization"·title="Link·to·this·heading">¶</a></h4>333 <span·id="internationalization"></span><h4>Internationalization<a·class="headerlink"·href="#internationalization"·title="Link·to·this·heading">¶</a></h4>
333 <ul·class="simple">334 <ul·class="simple">
Offset 403, 15 lines modifiedOffset 404, 15 lines modified
403 <ul·class="simple">404 <ul·class="simple">
404 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.serializers.base.Serializer.stream_class</span></code>·attribute405 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.serializers.base.Serializer.stream_class</span></code>·attribute
405 allows·subclasses·to·customize·the·default·stream.</p></li>406 allows·subclasses·to·customize·the·default·stream.</p></li>
406 <li><p>The·encoder·used·by·the·<a·class="reference·internal"·href="../topics/serialization.html#serialization-formats-json"><span·class="std·std-ref">JSON·serializer</span></a>407 <li><p>The·encoder·used·by·the·<a·class="reference·internal"·href="../topics/serialization.html#serialization-formats-json"><span·class="std·std-ref">JSON·serializer</span></a>
407 can·now·be·customized·by·passing·a·<code·class="docutils·literal·notranslate"><span·class="pre">cls</span></code>·keyword·argument·to·the408 can·now·be·customized·by·passing·a·<code·class="docutils·literal·notranslate"><span·class="pre">cls</span></code>·keyword·argument·to·the
408 <code·class="docutils·literal·notranslate"><span·class="pre">serializers.serialize()</span></code>·function.</p></li>409 <code·class="docutils·literal·notranslate"><span·class="pre">serializers.serialize()</span></code>·function.</p></li>
409 <li><p><a·class="reference·internal"·href="../topics/serialization.html#django.core.serializers.json.DjangoJSONEncoder"·title="django.core.serializers.json.DjangoJSONEncoder"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoJSONEncoder</span></code></a>·now·serializes410 <li><p><a·class="reference·internal"·href="../topics/serialization.html#django.core.serializers.json.DjangoJSONEncoder"·title="django.core.serializers.json.DjangoJSONEncoder"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DjangoJSONEncoder</span></code></a>·now·serializes
410 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>·objects·(used·by411 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>·objects·(used·by
411 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DurationField"·title="django.db.models.DurationField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DurationField</span></code></a>).</p></li>412 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DurationField"·title="django.db.models.DurationField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DurationField</span></code></a>).</p></li>
412 </ul>413 </ul>
413 </section>414 </section>
414 <section·id="s-templates">415 <section·id="s-templates">
415 <span·id="templates"></span><h4>Templates<a·class="headerlink"·href="#templates"·title="Link·to·this·heading">¶</a></h4>416 <span·id="templates"></span><h4>Templates<a·class="headerlink"·href="#templates"·title="Link·to·this·heading">¶</a></h4>
416 <ul·class="simple">417 <ul·class="simple">
417 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.safestring.mark_safe"·title="django.utils.safestring.mark_safe"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">mark_safe()</span></code></a>·can·now·be·used·as·a·decorator.</p></li>418 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.safestring.mark_safe"·title="django.utils.safestring.mark_safe"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">mark_safe()</span></code></a>·can·now·be·used·as·a·decorator.</p></li>
Offset 433, 15 lines modifiedOffset 434, 15 lines modified
433 <li><p>Added·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner.get_test_runner_kwargs"·title="django.test.runner.DiscoverRunner.get_test_runner_kwargs"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DiscoverRunner.get_test_runner_kwargs()</span></code></a>·to·allow·customizing·the434 <li><p>Added·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner.get_test_runner_kwargs"·title="django.test.runner.DiscoverRunner.get_test_runner_kwargs"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DiscoverRunner.get_test_runner_kwargs()</span></code></a>·to·allow·customizing·the
434 keyword·arguments·passed·to·the·test·runner.</p></li>435 keyword·arguments·passed·to·the·test·runner.</p></li>
435 <li><p>Added·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-debug-mode"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--debug-mode</span></code></a>·option·to·help·troubleshoot·test436 <li><p>Added·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-debug-mode"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--debug-mode</span></code></a>·option·to·help·troubleshoot·test
436 failures·by·setting·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·setting·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p></li>437 failures·by·setting·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·setting·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p></li>
437 <li><p>The·new·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.utils.setup_databases"·title="django.test.utils.setup_databases"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.test.utils.setup_databases()</span></code></a>·(moved·from438 <li><p>The·new·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.utils.setup_databases"·title="django.test.utils.setup_databases"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.test.utils.setup_databases()</span></code></a>·(moved·from
438 <code·class="docutils·literal·notranslate"><span·class="pre">django.test.runner</span></code>)·and·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.utils.teardown_databases"·title="django.test.utils.teardown_databases"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">teardown_databases()</span></code></a>439 <code·class="docutils·literal·notranslate"><span·class="pre">django.test.runner</span></code>)·and·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.utils.teardown_databases"·title="django.test.utils.teardown_databases"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">teardown_databases()</span></code></a>
439 functions·make·it·easier·to·build·custom·test·runners.</p></li>440 functions·make·it·easier·to·build·custom·test·runners.</p></li>
440 <li><p>Added·support·for·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.subTest"·title="(in·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">unittest.TestCase.subTest()</span></code></a>’s·when·using·the441 <li><p>Added·support·for·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.subTest"·title="(projektis·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">unittest.TestCase.subTest()</span></code></a>’s·when·using·the
441 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-parallel"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--parallel</span></code></a>·option.</p></li>442 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-parallel"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--parallel</span></code></a>·option.</p></li>
442 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code>·now·runs·the·system·checks·at·the·start·of·a·test·run.443 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code>·now·runs·the·system·checks·at·the·start·of·a·test·run.
443 Override·the·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner.run_checks"·title="django.test.runner.DiscoverRunner.run_checks"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DiscoverRunner.run_checks()</span></code></a>·method·if·you·want·to·disable444 Override·the·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner.run_checks"·title="django.test.runner.DiscoverRunner.run_checks"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DiscoverRunner.run_checks()</span></code></a>·method·if·you·want·to·disable
444 that.</p></li>445 that.</p></li>
445 </ul>446 </ul>
446 </section>447 </section>
447 <section·id="s-validators">448 <section·id="s-validators">
Offset 717, 15 lines modifiedOffset 718, 15 lines modified
717 <li><p>For·consistency·with·non-multipart·requests,·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPartParser.parse()</span></code>·now718 <li><p>For·consistency·with·non-multipart·requests,·<code·class="docutils·literal·notranslate"><span·class="pre">MultiPartParser.parse()</span></code>·now
718 leaves·<code·class="docutils·literal·notranslate"><span·class="pre">request.POST</span></code>·immutable.·If·you’re·modifying·that·<code·class="docutils·literal·notranslate"><span·class="pre">QueryDict</span></code>,719 leaves·<code·class="docutils·literal·notranslate"><span·class="pre">request.POST</span></code>·immutable.·If·you’re·modifying·that·<code·class="docutils·literal·notranslate"><span·class="pre">QueryDict</span></code>,
719 you·must·now·first·copy·it,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">request.POST.copy()</span></code>.</p></li>720 you·must·now·first·copy·it,·e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">request.POST.copy()</span></code>.</p></li>
720 <li><p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">cx_Oracle</span></code>·&lt;·5.2·is·removed.</p></li>721 <li><p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">cx_Oracle</span></code>·&lt;·5.2·is·removed.</p></li>
721 <li><p>Support·for·IPython·&lt;·1.0·is·removed·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">shell</span></code>·command.</p></li>722 <li><p>Support·for·IPython·&lt;·1.0·is·removed·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">shell</span></code>·command.</p></li>
722 <li><p>The·signature·of·private·API·<code·class="docutils·literal·notranslate"><span·class="pre">Widget.build_attrs()</span></code>·changed·from723 <li><p>The·signature·of·private·API·<code·class="docutils·literal·notranslate"><span·class="pre">Widget.build_attrs()</span></code>·changed·from
723 <code·class="docutils·literal·notranslate"><span·class="pre">extra_attrs=None,</span>·<span·class="pre">**kwargs</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">base_attrs,</span>·<span·class="pre">extra_attrs=None</span></code>.</p></li>724 <code·class="docutils·literal·notranslate"><span·class="pre">extra_attrs=None,</span>·<span·class="pre">**kwargs</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">base_attrs,</span>·<span·class="pre">extra_attrs=None</span></code>.</p></li>
724 <li><p>File-like·objects·(e.g.,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/io.html#io.StringIO"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">StringIO</span></code></a>·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/io.html#io.BytesIO"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BytesIO</span></code></a>)725 <li><p>File-like·objects·(e.g.,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/io.html#io.StringIO"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">StringIO</span></code></a>·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/io.html#io.BytesIO"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BytesIO</span></code></a>)
725 uploaded·to·an·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ImageField"·title="django.db.models.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ImageField</span></code></a>·using·the·test·client726 uploaded·to·an·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ImageField"·title="django.db.models.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ImageField</span></code></a>·using·the·test·client
726 now·require·a·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·attribute·with·a·value·that·passes·the727 now·require·a·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·attribute·with·a·value·that·passes·the
727 <a·class="reference·internal"·href="../ref/validators.html#django.core.validators.validate_image_file_extension"·title="django.core.validators.validate_image_file_extension"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">validate_image_file_extension</span></code></a>·validator.728 <a·class="reference·internal"·href="../ref/validators.html#django.core.validators.validate_image_file_extension"·title="django.core.validators.validate_image_file_extension"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">validate_image_file_extension</span></code></a>·validator.
728 See·the·note·in·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.Client.post"·title="django.test.Client.post"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Client.post()</span></code></a>.</p></li>729 See·the·note·in·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.Client.post"·title="django.test.Client.post"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Client.post()</span></code></a>.</p></li>
729 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.FileField"·title="django.db.models.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>·now·moves·rather·than·copies·the·file730 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.FileField"·title="django.db.models.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>·now·moves·rather·than·copies·the·file
730 it·receives.·With·the·default·file·upload·settings,·files·larger·than731 it·receives.·With·the·default·file·upload·settings,·files·larger·than
731 <a·class="reference·internal"·href="../ref/settings.html#std-setting-FILE_UPLOAD_MAX_MEMORY_SIZE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">FILE_UPLOAD_MAX_MEMORY_SIZE</span></code></a>·now·have·the·same·permissions·as732 <a·class="reference·internal"·href="../ref/settings.html#std-setting-FILE_UPLOAD_MAX_MEMORY_SIZE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">FILE_UPLOAD_MAX_MEMORY_SIZE</span></code></a>·now·have·the·same·permissions·as
Offset 830, 15 lines modifiedOffset 831, 15 lines modified
830 ······831 ······
831 ········832 ········
832 ··········<div·class="yui-b"·id="sidebar">833 ··········<div·class="yui-b"·id="sidebar">
833 ············834 ············
834 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">835 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
835 ········<div·class="sphinxsidebarwrapper">836 ········<div·class="sphinxsidebarwrapper">
836 ··<div>837 ··<div>
837 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>838 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
838 ····<ul>839 ····<ul>
839 <li><a·class="reference·internal"·href="#">Django·1.11·release·notes</a><ul>840 <li><a·class="reference·internal"·href="#">Django·1.11·release·notes</a><ul>
840 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>841 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>
841 <li><a·class="reference·internal"·href="#deprecating-warnings-are-no-longer-loud-by-default">Deprecating·warnings·are·no·longer·loud·by·default</a></li>842 <li><a·class="reference·internal"·href="#deprecating-warnings-are-no-longer-loud-by-default">Deprecating·warnings·are·no·longer·loud·by·default</a></li>
Max diff block lines reached; 1720/17471 bytes (9.84%) of diff not shown.
4.94 KB
html2text {}
Max HTML report size reached
5.36 KB
./usr/share/doc/python-django-doc/html/releases/1.2.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.2.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.2.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.2·release·notes"·href="1.2.html"·/>15 ····<link·rel="next"·title="Django·1.2·release·notes"·href="1.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.2.2·release·notes"·href="1.2.2.html"·/>16 ····<link·rel="prev"·title="Django·1.2.2·release·notes"·href="1.2.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 92, 37 lines modifiedOffset 93, 37 lines modified
92 ······93 ······
93 ········94 ········
94 ··········<div·class="yui-b"·id="sidebar">95 ··········<div·class="yui-b"·id="sidebar">
95 ············96 ············
96 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">97 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
97 ········<div·class="sphinxsidebarwrapper">98 ········<div·class="sphinxsidebarwrapper">
98 ··<div>99 ··<div>
99 ····<h4>Previous·topic</h4>100 ····<h4>Eelmine·teema</h4>
100 ····<p·class="topless"><a·href="1.2.2.html"101 ····<p·class="topless"><a·href="1.2.2.html"
101 ··························title="previous·chapter">Django·1.2.2·release·notes</a></p>102 ··························title="eelmine·jaotis">Django·1.2.2·release·notes</a></p>
102 ··</div>103 ··</div>
103 ··<div>104 ··<div>
104 ····<h4>Next·topic</h4>105 ····<h4>Järgmine·teema</h4>
105 ····<p·class="topless"><a·href="1.2.html"106 ····<p·class="topless"><a·href="1.2.html"
106 ··························title="next·chapter">Django·1.2·release·notes</a></p>107 ··························title="järgmine·jaotis">Django·1.2·release·notes</a></p>
107 ··</div>108 ··</div>
108 <search·id="searchbox"·style="display:·none"·role="search">109 <search·id="searchbox"·style="display:·none"·role="search">
109 ··<h3·id="searchlabel">Quick·search</h3>110 ··<h3·id="searchlabel">Kiirotsing</h3>
110 ····<div·class="searchformwrapper">111 ····<div·class="searchformwrapper">
111 ····<form·class="search"·action="../search.html"·method="get">112 ····<form·class="search"·action="../search.html"·method="get">
112 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>113 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
113 ······<input·type="submit"·value="Go"·/>114 ······<input·type="submit"·value="Otsi"·/>
114 ····</form>115 ····</form>
115 ····</div>116 ····</div>
116 </search>117 </search>
117 <script>document.getElementById('searchbox').style.display·=·"block"</script>118 <script>document.getElementById('searchbox').style.display·=·"block"</script>
118 ········</div>119 ········</div>
119 ······</div>120 ······</div>
120 ··············<h3>Last·update:</h3>121 ··············<h3>Last·update:</h3>
121 ··············<p·class="topless">Nov·05,·2024</p>122 ··············<p·class="topless">nov·05,·2024</p>
122 ··········</div>123 ··········</div>
123 ········124 ········
124 ······125 ······
125 ····</div>126 ····</div>
  
126 ····<div·id="ft">127 ····<div·id="ft">
127 ······<div·class="nav">128 ······<div·class="nav">
1.57 KB
html2text {}
    
Offset 1, 16 lines modifiedOffset 1, 16 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.2\x82.\x8.1\x81·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.2\x82.\x8.1\x81·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 Django·1.2.1·was·released·almost·immediately·after·1.2.0·to·correct·two·small5 Django·1.2.1·was·released·almost·immediately·after·1.2.0·to·correct·two·small
6 bugs:·one·was·in·the·documentation·packaging·script,·the·other·was·a·_\x8b_\x8u_\x8g·that6 bugs:·one·was·in·the·documentation·packaging·script,·the·other·was·a·_\x8b_\x8u_\x8g·that
7 affected·datetime·form·field·widgets·when·localization·was·enabled.7 affected·datetime·form·field·widgets·when·localization·was·enabled.
8 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*8 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
9 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s9 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
10 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*10 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
12 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*12 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
13 [q···················][Go]13 [q···················][Otsi]
14 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*14 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
15 Nov·05,·202415 nov·05,·2024
16 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»16 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
8.11 KB
./usr/share/doc/python-django-doc/html/releases/1.2.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.2.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.2.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.2.1·release·notes"·href="1.2.1.html"·/>15 ····<link·rel="next"·title="Django·1.2.1·release·notes"·href="1.2.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.2.3·release·notes"·href="1.2.3.html"·/>16 ····<link·rel="prev"·title="Django·1.2.3·release·notes"·href="1.2.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.2.2">79 ··········<div·class="yui-g"·id="releases-1.2.2">
79 ············80 ············
80 ··<section·id="s-django-1-2-2-release-notes">81 ··<section·id="s-django-1-2-2-release-notes">
81 <span·id="django-1-2-2-release-notes"></span><h1>Django·1.2.2·release·notes<a·class="headerlink"·href="#django-1-2-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-2-2-release-notes"></span><h1>Django·1.2.2·release·notes<a·class="headerlink"·href="#django-1-2-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p>Welcome·to·Django·1.2.2!</p>83 <p>Welcome·to·Django·1.2.2!</p>
83 <p>This·is·the·second·bugfix·release·in·the·Django·1.2·series,84 <p>This·is·the·second·bugfix·release·in·the·Django·1.2·series,
84 improving·the·stability·and·performance·of·the·Django·1.2·codebase.</p>85 improving·the·stability·and·performance·of·the·Django·1.2·codebase.</p>
85 <p>Django·1.2.2·maintains·backwards·compatibility·with·Django86 <p>Django·1.2.2·maintains·backwards·compatibility·with·Django
86 1.2.1,·but·contain·a·number·of·fixes·and·other87 1.2.1,·but·contain·a·number·of·fixes·and·other
87 improvements.·Django·1.2.2·is·a·recommended·upgrade·for·any88 improvements.·Django·1.2.2·is·a·recommended·upgrade·for·any
88 development·or·deployment·currently·using·or·targeting·Django·1.2.</p>89 development·or·deployment·currently·using·or·targeting·Django·1.2.</p>
89 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and90 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and
90 deprecated·features·in·the·1.2·branch,·see·the·<a·class="reference·internal"·href="1.2.html"><span·class="doc">Django·1.2·release·notes</span></a>.</p>91 deprecated·features·in·the·1.2·branch,·see·the·<a·class="reference·internal"·href="1.2.html"><span·class="doc">Django·1.2·release·notes</span></a>.</p>
Offset 108, 47 lines modifiedOffset 109, 47 lines modified
108 ······109 ······
109 ········110 ········
110 ··········<div·class="yui-b"·id="sidebar">111 ··········<div·class="yui-b"·id="sidebar">
111 ············112 ············
112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
113 ········<div·class="sphinxsidebarwrapper">114 ········<div·class="sphinxsidebarwrapper">
114 ··<div>115 ··<div>
115 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>116 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
116 ····<ul>117 ····<ul>
117 <li><a·class="reference·internal"·href="#">Django·1.2.2·release·notes</a><ul>118 <li><a·class="reference·internal"·href="#">Django·1.2.2·release·notes</a><ul>
118 <li><a·class="reference·internal"·href="#one-new-feature">One·new·feature</a></li>119 <li><a·class="reference·internal"·href="#one-new-feature">One·new·feature</a></li>
119 </ul>120 </ul>
120 </li>121 </li>
121 </ul>122 </ul>
  
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Previous·topic</h4>125 ····<h4>Eelmine·teema</h4>
125 ····<p·class="topless"><a·href="1.2.3.html"126 ····<p·class="topless"><a·href="1.2.3.html"
126 ··························title="previous·chapter">Django·1.2.3·release·notes</a></p>127 ··························title="eelmine·jaotis">Django·1.2.3·release·notes</a></p>
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Next·topic</h4>130 ····<h4>Järgmine·teema</h4>
130 ····<p·class="topless"><a·href="1.2.1.html"131 ····<p·class="topless"><a·href="1.2.1.html"
131 ··························title="next·chapter">Django·1.2.1·release·notes</a></p>132 ··························title="järgmine·jaotis">Django·1.2.1·release·notes</a></p>
132 ··</div>133 ··</div>
133 <search·id="searchbox"·style="display:·none"·role="search">134 <search·id="searchbox"·style="display:·none"·role="search">
134 ··<h3·id="searchlabel">Quick·search</h3>135 ··<h3·id="searchlabel">Kiirotsing</h3>
135 ····<div·class="searchformwrapper">136 ····<div·class="searchformwrapper">
136 ····<form·class="search"·action="../search.html"·method="get">137 ····<form·class="search"·action="../search.html"·method="get">
137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
138 ······<input·type="submit"·value="Go"·/>139 ······<input·type="submit"·value="Otsi"·/>
139 ····</form>140 ····</form>
140 ····</div>141 ····</div>
141 </search>142 </search>
142 <script>document.getElementById('searchbox').style.display·=·"block"</script>143 <script>document.getElementById('searchbox').style.display·=·"block"</script>
143 ········</div>144 ········</div>
144 ······</div>145 ······</div>
145 ··············<h3>Last·update:</h3>146 ··············<h3>Last·update:</h3>
146 ··············<p·class="topless">Nov·05,·2024</p>147 ··············<p·class="topless">nov·05,·2024</p>
147 ··········</div>148 ··········</div>
148 ········149 ········
149 ······150 ······
150 ····</div>151 ····</div>
  
151 ····<div·id="ft">152 ····<div·id="ft">
152 ······<div·class="nav">153 ······<div·class="nav">
2.93 KB
html2text {}
Max HTML report size reached
5.66 KB
./usr/share/doc/python-django-doc/html/releases/1.2.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.2.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.2.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.2.2·release·notes"·href="1.2.2.html"·/>15 ····<link·rel="next"·title="Django·1.2.2·release·notes"·href="1.2.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.2.4·release·notes"·href="1.2.4.html"·/>16 ····<link·rel="prev"·title="Django·1.2.4·release·notes"·href="1.2.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 37 lines modifiedOffset 100, 37 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h4>Previous·topic</h4>107 ····<h4>Eelmine·teema</h4>
107 ····<p·class="topless"><a·href="1.2.4.html"108 ····<p·class="topless"><a·href="1.2.4.html"
108 ··························title="previous·chapter">Django·1.2.4·release·notes</a></p>109 ··························title="eelmine·jaotis">Django·1.2.4·release·notes</a></p>
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Next·topic</h4>112 ····<h4>Järgmine·teema</h4>
112 ····<p·class="topless"><a·href="1.2.2.html"113 ····<p·class="topless"><a·href="1.2.2.html"
113 ··························title="next·chapter">Django·1.2.2·release·notes</a></p>114 ··························title="järgmine·jaotis">Django·1.2.2·release·notes</a></p>
114 ··</div>115 ··</div>
115 <search·id="searchbox"·style="display:·none"·role="search">116 <search·id="searchbox"·style="display:·none"·role="search">
116 ··<h3·id="searchlabel">Quick·search</h3>117 ··<h3·id="searchlabel">Kiirotsing</h3>
117 ····<div·class="searchformwrapper">118 ····<div·class="searchformwrapper">
118 ····<form·class="search"·action="../search.html"·method="get">119 ····<form·class="search"·action="../search.html"·method="get">
119 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>120 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
120 ······<input·type="submit"·value="Go"·/>121 ······<input·type="submit"·value="Otsi"·/>
121 ····</form>122 ····</form>
122 ····</div>123 ····</div>
123 </search>124 </search>
124 <script>document.getElementById('searchbox').style.display·=·"block"</script>125 <script>document.getElementById('searchbox').style.display·=·"block"</script>
125 ········</div>126 ········</div>
126 ······</div>127 ······</div>
127 ··············<h3>Last·update:</h3>128 ··············<h3>Last·update:</h3>
128 ··············<p·class="topless">Nov·05,·2024</p>129 ··············<p·class="topless">nov·05,·2024</p>
129 ··········</div>130 ··········</div>
130 ········131 ········
131 ······132 ······
132 ····</div>133 ····</div>
  
133 ····<div·id="ft">134 ····<div·id="ft">
134 ······<div·class="nav">135 ······<div·class="nav">
1.86 KB
html2text {}
    
Offset 1, 21 lines modifiedOffset 1, 21 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.2\x82.\x8.3\x83·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.2\x82.\x8.3\x83·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 Django·1.2.3·fixed·a·couple·of·release·problems·in·the·1.2.2·release·and·was5 Django·1.2.3·fixed·a·couple·of·release·problems·in·the·1.2.2·release·and·was
6 released·two·days·after·1.2.2.6 released·two·days·after·1.2.2.
7 This·release·corrects·the·following·problems:7 This·release·corrects·the·following·problems:
8 ····*·The·_\x8p_\x8a_\x8t_\x8c_\x8h·applied·for·the·security·issue·covered·in·Django·1.2.2·caused8 ····*·The·_\x8p_\x8a_\x8t_\x8c_\x8h·applied·for·the·security·issue·covered·in·Django·1.2.2·caused
9 ······issues·with·non-ASCII·responses·using·CSRF·tokens.9 ······issues·with·non-ASCII·responses·using·CSRF·tokens.
10 ····*·The·patch·also·caused·issues·with·some·forms,·most·notably·the·user-10 ····*·The·patch·also·caused·issues·with·some·forms,·most·notably·the·user-
11 ······editing·forms·in·the·Django·administrative·interface.11 ······editing·forms·in·the·Django·administrative·interface.
12 ····*·The·packaging·manifest·did·not·contain·the·full·list·of·required·files.12 ····*·The·packaging·manifest·did·not·contain·the·full·list·of·required·files.
13 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*13 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
15 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*15 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
16 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s16 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
17 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*17 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
18 [q···················][Go]18 [q···················][Otsi]
19 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*19 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
20 Nov·05,·202420 nov·05,·2024
21 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»21 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
11.0 KB
./usr/share/doc/python-django-doc/html/releases/1.2.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.2.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.2.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.2.3·release·notes"·href="1.2.3.html"·/>15 ····<link·rel="next"·title="Django·1.2.3·release·notes"·href="1.2.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.2.5·release·notes"·href="1.2.5.html"·/>16 ····<link·rel="prev"·title="Django·1.2.5·release·notes"·href="1.2.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.2.4">79 ··········<div·class="yui-g"·id="releases-1.2.4">
79 ············80 ············
80 ··<section·id="s-django-1-2-4-release-notes">81 ··<section·id="s-django-1-2-4-release-notes">
81 <span·id="django-1-2-4-release-notes"></span><h1>Django·1.2.4·release·notes<a·class="headerlink"·href="#django-1-2-4-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-2-4-release-notes"></span><h1>Django·1.2.4·release·notes<a·class="headerlink"·href="#django-1-2-4-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p>Welcome·to·Django·1.2.4!</p>83 <p>Welcome·to·Django·1.2.4!</p>
83 <p>This·is·the·fourth·bugfix·release·in·the·Django·1.2·series,84 <p>This·is·the·fourth·bugfix·release·in·the·Django·1.2·series,
84 improving·the·stability·and·performance·of·the·Django·1.2·codebase.</p>85 improving·the·stability·and·performance·of·the·Django·1.2·codebase.</p>
85 <p>With·one·exception,·Django·1.2.4·maintains·backwards·compatibility86 <p>With·one·exception,·Django·1.2.4·maintains·backwards·compatibility
86 with·Django·1.2.3.·It·also·contains·a·number·of·fixes·and·other87 with·Django·1.2.3.·It·also·contains·a·number·of·fixes·and·other
87 improvements.·Django·1.2.4·is·a·recommended·upgrade·for·any88 improvements.·Django·1.2.4·is·a·recommended·upgrade·for·any
88 development·or·deployment·currently·using·or·targeting·Django·1.2.</p>89 development·or·deployment·currently·using·or·targeting·Django·1.2.</p>
89 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and90 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and
90 deprecated·features·in·the·1.2·branch,·see·the·<a·class="reference·internal"·href="1.2.html"><span·class="doc">Django·1.2·release·notes</span></a>.</p>91 deprecated·features·in·the·1.2·branch,·see·the·<a·class="reference·internal"·href="1.2.html"><span·class="doc">Django·1.2·release·notes</span></a>.</p>
Offset 104, 15 lines modifiedOffset 105, 15 lines modified
104 structure·and·the·format·of·these·lookup·arguments·to·invent·useful105 structure·and·the·format·of·these·lookup·arguments·to·invent·useful
105 new·filters·on·the·fly·by·manipulating·the·querystring.</p>106 new·filters·on·the·fly·by·manipulating·the·querystring.</p>
106 <p>However,·it·has·been·demonstrated·that·this·can·be·abused·to·gain107 <p>However,·it·has·been·demonstrated·that·this·can·be·abused·to·gain
107 access·to·information·outside·of·an·admin·user’s·permissions;·for108 access·to·information·outside·of·an·admin·user’s·permissions;·for
108 example,·an·attacker·with·access·to·the·admin·and·sufficient·knowledge109 example,·an·attacker·with·access·to·the·admin·and·sufficient·knowledge
109 of·model·structure·and·relations·could·construct·query·strings·which·110 of·model·structure·and·relations·could·construct·query·strings·which·
110 with·repeated·use·of·regular-expression·lookups·supported·by·the111 with·repeated·use·of·regular-expression·lookups·supported·by·the
111 Django·database·API··expose·sensitive·information·such·as·users112 Django·database·API··expose·sensitive·information·such·as·users
112 password·hashes.</p>113 password·hashes.</p>
113 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code>·will·now·validate·that114 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code>·will·now·validate·that
114 querystring·lookup·arguments·either·specify·only·fields·on·the·model115 querystring·lookup·arguments·either·specify·only·fields·on·the·model
115 being·viewed,·or·cross·relations·which·have·been·explicitly116 being·viewed,·or·cross·relations·which·have·been·explicitly
116 allowed·by·the·application·developer·using·the·preexisting117 allowed·by·the·application·developer·using·the·preexisting
117 mechanism·mentioned·above.·This·is·backwards-incompatible·for·any118 mechanism·mentioned·above.·This·is·backwards-incompatible·for·any
118 users·relying·on·the·prior·ability·to·insert·arbitrary·lookups.</p>119 users·relying·on·the·prior·ability·to·insert·arbitrary·lookups.</p>
Offset 156, 52 lines modifiedOffset 157, 52 lines modified
156 ······157 ······
157 ········158 ········
158 ··········<div·class="yui-b"·id="sidebar">159 ··········<div·class="yui-b"·id="sidebar">
159 ············160 ············
160 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">161 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
161 ········<div·class="sphinxsidebarwrapper">162 ········<div·class="sphinxsidebarwrapper">
162 ··<div>163 ··<div>
163 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>164 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
164 ····<ul>165 ····<ul>
165 <li><a·class="reference·internal"·href="#">Django·1.2.4·release·notes</a><ul>166 <li><a·class="reference·internal"·href="#">Django·1.2.4·release·notes</a><ul>
166 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a><ul>167 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a><ul>
167 <li><a·class="reference·internal"·href="#restricted-filters-in-admin-interface">Restricted·filters·in·admin·interface</a></li>168 <li><a·class="reference·internal"·href="#restricted-filters-in-admin-interface">Restricted·filters·in·admin·interface</a></li>
168 </ul>169 </ul>
169 </li>170 </li>
170 <li><a·class="reference·internal"·href="#one-new-feature">One·new·feature</a></li>171 <li><a·class="reference·internal"·href="#one-new-feature">One·new·feature</a></li>
171 <li><a·class="reference·internal"·href="#geodjango">GeoDjango</a></li>172 <li><a·class="reference·internal"·href="#geodjango">GeoDjango</a></li>
172 </ul>173 </ul>
173 </li>174 </li>
174 </ul>175 </ul>
  
175 ··</div>176 ··</div>
176 ··<div>177 ··<div>
177 ····<h4>Previous·topic</h4>178 ····<h4>Eelmine·teema</h4>
178 ····<p·class="topless"><a·href="1.2.5.html"179 ····<p·class="topless"><a·href="1.2.5.html"
179 ··························title="previous·chapter">Django·1.2.5·release·notes</a></p>180 ··························title="eelmine·jaotis">Django·1.2.5·release·notes</a></p>
180 ··</div>181 ··</div>
181 ··<div>182 ··<div>
182 ····<h4>Next·topic</h4>183 ····<h4>Järgmine·teema</h4>
183 ····<p·class="topless"><a·href="1.2.3.html"184 ····<p·class="topless"><a·href="1.2.3.html"
184 ··························title="next·chapter">Django·1.2.3·release·notes</a></p>185 ··························title="järgmine·jaotis">Django·1.2.3·release·notes</a></p>
185 ··</div>186 ··</div>
186 <search·id="searchbox"·style="display:·none"·role="search">187 <search·id="searchbox"·style="display:·none"·role="search">
187 ··<h3·id="searchlabel">Quick·search</h3>188 ··<h3·id="searchlabel">Kiirotsing</h3>
188 ····<div·class="searchformwrapper">189 ····<div·class="searchformwrapper">
189 ····<form·class="search"·action="../search.html"·method="get">190 ····<form·class="search"·action="../search.html"·method="get">
190 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>191 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
191 ······<input·type="submit"·value="Go"·/>192 ······<input·type="submit"·value="Otsi"·/>
192 ····</form>193 ····</form>
193 ····</div>194 ····</div>
194 </search>195 </search>
195 <script>document.getElementById('searchbox').style.display·=·"block"</script>196 <script>document.getElementById('searchbox').style.display·=·"block"</script>
196 ········</div>197 ········</div>
197 ······</div>198 ······</div>
198 ··············<h3>Last·update:</h3>199 ··············<h3>Last·update:</h3>
199 ··············<p·class="topless">Nov·05,·2024</p>200 ··············<p·class="topless">nov·05,·2024</p>
200 ··········</div>201 ··········</div>
201 ········202 ········
202 ······203 ······
203 ····</div>204 ····</div>
  
204 ····<div·id="ft">205 ····<div·id="ft">
205 ······<div·class="nav">206 ······<div·class="nav">
4.36 KB
html2text {}
Max HTML report size reached
9.31 KB
./usr/share/doc/python-django-doc/html/releases/1.2.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.2.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.2.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.2.4·release·notes"·href="1.2.4.html"·/>15 ····<link·rel="next"·title="Django·1.2.4·release·notes"·href="1.2.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.2.6·release·notes"·href="1.2.6.html"·/>16 ····<link·rel="prev"·title="Django·1.2.6·release·notes"·href="1.2.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.2.5">79 ··········<div·class="yui-g"·id="releases-1.2.5">
79 ············80 ············
80 ··<section·id="s-django-1-2-5-release-notes">81 ··<section·id="s-django-1-2-5-release-notes">
81 <span·id="django-1-2-5-release-notes"></span><h1>Django·1.2.5·release·notes<a·class="headerlink"·href="#django-1-2-5-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-2-5-release-notes"></span><h1>Django·1.2.5·release·notes<a·class="headerlink"·href="#django-1-2-5-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p>Welcome·to·Django·1.2.5!</p>83 <p>Welcome·to·Django·1.2.5!</p>
83 <p>This·is·the·fifth·bugfix·release·in·the·Django·1.2·series,84 <p>This·is·the·fifth·bugfix·release·in·the·Django·1.2·series,
84 improving·the·stability·and·performance·of·the·Django·1.2·codebase.</p>85 improving·the·stability·and·performance·of·the·Django·1.2·codebase.</p>
85 <p>With·four·exceptions,·Django·1.2.5·maintains·backwards·compatibility86 <p>With·four·exceptions,·Django·1.2.5·maintains·backwards·compatibility
86 with·Django·1.2.4.·It·also·contains·a·number·of·fixes·and·other87 with·Django·1.2.4.·It·also·contains·a·number·of·fixes·and·other
87 improvements.·Django·1.2.5·is·a·recommended·upgrade·for·any88 improvements.·Django·1.2.5·is·a·recommended·upgrade·for·any
88 development·or·deployment·currently·using·or·targeting·Django·1.2.</p>89 development·or·deployment·currently·using·or·targeting·Django·1.2.</p>
89 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and90 <p>For·full·details·on·the·new·features,·backwards·incompatibilities,·and
90 deprecated·features·in·the·1.2·branch,·see·the·<a·class="reference·internal"·href="1.2.html"><span·class="doc">Django·1.2·release·notes</span></a>.</p>91 deprecated·features·in·the·1.2·branch,·see·the·<a·class="reference·internal"·href="1.2.html"><span·class="doc">Django·1.2·release·notes</span></a>.</p>
Offset 187, 15 lines modifiedOffset 188, 15 lines modified
187 ······188 ······
188 ········189 ········
189 ··········<div·class="yui-b"·id="sidebar">190 ··········<div·class="yui-b"·id="sidebar">
190 ············191 ············
191 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">192 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
192 ········<div·class="sphinxsidebarwrapper">193 ········<div·class="sphinxsidebarwrapper">
193 ··<div>194 ··<div>
194 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>195 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
195 ····<ul>196 ····<ul>
196 <li><a·class="reference·internal"·href="#">Django·1.2.5·release·notes</a><ul>197 <li><a·class="reference·internal"·href="#">Django·1.2.5·release·notes</a><ul>
197 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a><ul>198 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a><ul>
198 <li><a·class="reference·internal"·href="#csrf-exception-for-ajax-requests">CSRF·exception·for·AJAX·requests</a></li>199 <li><a·class="reference·internal"·href="#csrf-exception-for-ajax-requests">CSRF·exception·for·AJAX·requests</a></li>
199 <li><a·class="reference·internal"·href="#filefield-no-longer-deletes-files">FileField·no·longer·deletes·files</a></li>200 <li><a·class="reference·internal"·href="#filefield-no-longer-deletes-files">FileField·no·longer·deletes·files</a></li>
200 <li><a·class="reference·internal"·href="#use-of-custom-sql-to-load-initial-data-in-tests">Use·of·custom·SQL·to·load·initial·data·in·tests</a></li>201 <li><a·class="reference·internal"·href="#use-of-custom-sql-to-load-initial-data-in-tests">Use·of·custom·SQL·to·load·initial·data·in·tests</a></li>
201 <li><a·class="reference·internal"·href="#modeladmin-lookup-allowed-signature-changed">ModelAdmin.lookup_allowed·signature·changed</a></li>202 <li><a·class="reference·internal"·href="#modeladmin-lookup-allowed-signature-changed">ModelAdmin.lookup_allowed·signature·changed</a></li>
Offset 203, 37 lines modifiedOffset 204, 37 lines modified
203 </li>204 </li>
204 </ul>205 </ul>
205 </li>206 </li>
206 </ul>207 </ul>
  
207 ··</div>208 ··</div>
208 ··<div>209 ··<div>
209 ····<h4>Previous·topic</h4>210 ····<h4>Eelmine·teema</h4>
210 ····<p·class="topless"><a·href="1.2.6.html"211 ····<p·class="topless"><a·href="1.2.6.html"
211 ··························title="previous·chapter">Django·1.2.6·release·notes</a></p>212 ··························title="eelmine·jaotis">Django·1.2.6·release·notes</a></p>
212 ··</div>213 ··</div>
213 ··<div>214 ··<div>
214 ····<h4>Next·topic</h4>215 ····<h4>Järgmine·teema</h4>
215 ····<p·class="topless"><a·href="1.2.4.html"216 ····<p·class="topless"><a·href="1.2.4.html"
216 ··························title="next·chapter">Django·1.2.4·release·notes</a></p>217 ··························title="järgmine·jaotis">Django·1.2.4·release·notes</a></p>
217 ··</div>218 ··</div>
218 <search·id="searchbox"·style="display:·none"·role="search">219 <search·id="searchbox"·style="display:·none"·role="search">
219 ··<h3·id="searchlabel">Quick·search</h3>220 ··<h3·id="searchlabel">Kiirotsing</h3>
220 ····<div·class="searchformwrapper">221 ····<div·class="searchformwrapper">
221 ····<form·class="search"·action="../search.html"·method="get">222 ····<form·class="search"·action="../search.html"·method="get">
222 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>223 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
223 ······<input·type="submit"·value="Go"·/>224 ······<input·type="submit"·value="Otsi"·/>
224 ····</form>225 ····</form>
225 ····</div>226 ····</div>
226 </search>227 </search>
227 <script>document.getElementById('searchbox').style.display·=·"block"</script>228 <script>document.getElementById('searchbox').style.display·=·"block"</script>
228 ········</div>229 ········</div>
229 ······</div>230 ······</div>
230 ··············<h3>Last·update:</h3>231 ··············<h3>Last·update:</h3>
231 ··············<p·class="topless">Nov·05,·2024</p>232 ··············<p·class="topless">nov·05,·2024</p>
232 ··········</div>233 ··········</div>
233 ········234 ········
234 ······235 ······
235 ····</div>236 ····</div>
  
236 ····<div·id="ft">237 ····<div·id="ft">
237 ······<div·class="nav">238 ······<div·class="nav">
3.54 KB
html2text {}
Max HTML report size reached
5.55 KB
./usr/share/doc/python-django-doc/html/releases/1.2.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.2.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.2.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.2.5·release·notes"·href="1.2.5.html"·/>15 ····<link·rel="next"·title="Django·1.2.5·release·notes"·href="1.2.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.2.7·release·notes"·href="1.2.7.html"·/>16 ····<link·rel="prev"·title="Django·1.2.7·release·notes"·href="1.2.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 37 lines modifiedOffset 96, 37 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h4>Previous·topic</h4>103 ····<h4>Eelmine·teema</h4>
103 ····<p·class="topless"><a·href="1.2.7.html"104 ····<p·class="topless"><a·href="1.2.7.html"
104 ··························title="previous·chapter">Django·1.2.7·release·notes</a></p>105 ··························title="eelmine·jaotis">Django·1.2.7·release·notes</a></p>
105 ··</div>106 ··</div>
106 ··<div>107 ··<div>
107 ····<h4>Next·topic</h4>108 ····<h4>Järgmine·teema</h4>
108 ····<p·class="topless"><a·href="1.2.5.html"109 ····<p·class="topless"><a·href="1.2.5.html"
109 ··························title="next·chapter">Django·1.2.5·release·notes</a></p>110 ··························title="järgmine·jaotis">Django·1.2.5·release·notes</a></p>
110 ··</div>111 ··</div>
111 <search·id="searchbox"·style="display:·none"·role="search">112 <search·id="searchbox"·style="display:·none"·role="search">
112 ··<h3·id="searchlabel">Quick·search</h3>113 ··<h3·id="searchlabel">Kiirotsing</h3>
113 ····<div·class="searchformwrapper">114 ····<div·class="searchformwrapper">
114 ····<form·class="search"·action="../search.html"·method="get">115 ····<form·class="search"·action="../search.html"·method="get">
115 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>116 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
116 ······<input·type="submit"·value="Go"·/>117 ······<input·type="submit"·value="Otsi"·/>
117 ····</form>118 ····</form>
118 ····</div>119 ····</div>
119 </search>120 </search>
120 <script>document.getElementById('searchbox').style.display·=·"block"</script>121 <script>document.getElementById('searchbox').style.display·=·"block"</script>
121 ········</div>122 ········</div>
122 ······</div>123 ······</div>
123 ··············<h3>Last·update:</h3>124 ··············<h3>Last·update:</h3>
124 ··············<p·class="topless">Nov·05,·2024</p>125 ··············<p·class="topless">nov·05,·2024</p>
125 ··········</div>126 ··········</div>
126 ········127 ········
127 ······128 ······
128 ····</div>129 ····</div>
  
129 ····<div·id="ft">130 ····<div·id="ft">
130 ······<div·class="nav">131 ······<div·class="nav">
1.75 KB
html2text {}
    
Offset 1, 19 lines modifiedOffset 1, 19 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.2\x82.\x8.6\x86·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.2\x82.\x8.6\x86·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 S\x8Se\x8ep\x8pt\x8te\x8em\x8mb\x8be\x8er\x8r·9\x89,\x8,·2\x820\x801\x811\x815 S\x8Se\x8ep\x8pt\x8te\x8em\x8mb\x8be\x8er\x8r·9\x89,\x8,·2\x820\x801\x811\x81
6 Welcome·to·Django·1.2.6!6 Welcome·to·Django·1.2.6!
7 This·is·the·sixth·bugfix/security·release·in·the·Django·1.2·series,·fixing7 This·is·the·sixth·bugfix/security·release·in·the·Django·1.2·series,·fixing
8 several·security·issues·present·in·Django·1.2.5.·Django·1.2.6·is·a·recommended8 several·security·issues·present·in·Django·1.2.5.·Django·1.2.6·is·a·recommended
9 upgrade·for·all·users·of·any·Django·release·in·the·1.2.X·series.9 upgrade·for·all·users·of·any·Django·release·in·the·1.2.X·series.
10 For·a·full·list·of·issues·addressed·in·this·release,·see·the·_\x8s_\x8e_\x8c_\x8u_\x8r_\x8i_\x8t_\x8y_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.10 For·a·full·list·of·issues·addressed·in·this·release,·see·the·_\x8s_\x8e_\x8c_\x8u_\x8r_\x8i_\x8t_\x8y_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.
11 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*11 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
12 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x87_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s12 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x87_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
13 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*13 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x85_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x85_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
15 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*15 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
16 [q···················][Go]16 [q···················][Otsi]
17 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*17 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
18 Nov·05,·202418 nov·05,·2024
19 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»19 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
5.52 KB
./usr/share/doc/python-django-doc/html/releases/1.2.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.2.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.2.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.2.6·release·notes"·href="1.2.6.html"·/>15 ····<link·rel="next"·title="Django·1.2.6·release·notes"·href="1.2.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.3·release·notes"·href="1.3.html"·/>16 ····<link·rel="prev"·title="Django·1.3·release·notes"·href="1.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 37 lines modifiedOffset 96, 37 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h4>Previous·topic</h4>103 ····<h4>Eelmine·teema</h4>
103 ····<p·class="topless"><a·href="1.3.html"104 ····<p·class="topless"><a·href="1.3.html"
104 ··························title="previous·chapter">Django·1.3·release·notes</a></p>105 ··························title="eelmine·jaotis">Django·1.3·release·notes</a></p>
105 ··</div>106 ··</div>
106 ··<div>107 ··<div>
107 ····<h4>Next·topic</h4>108 ····<h4>Järgmine·teema</h4>
108 ····<p·class="topless"><a·href="1.2.6.html"109 ····<p·class="topless"><a·href="1.2.6.html"
109 ··························title="next·chapter">Django·1.2.6·release·notes</a></p>110 ··························title="järgmine·jaotis">Django·1.2.6·release·notes</a></p>
110 ··</div>111 ··</div>
111 <search·id="searchbox"·style="display:·none"·role="search">112 <search·id="searchbox"·style="display:·none"·role="search">
112 ··<h3·id="searchlabel">Quick·search</h3>113 ··<h3·id="searchlabel">Kiirotsing</h3>
113 ····<div·class="searchformwrapper">114 ····<div·class="searchformwrapper">
114 ····<form·class="search"·action="../search.html"·method="get">115 ····<form·class="search"·action="../search.html"·method="get">
115 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>116 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
116 ······<input·type="submit"·value="Go"·/>117 ······<input·type="submit"·value="Otsi"·/>
117 ····</form>118 ····</form>
118 ····</div>119 ····</div>
119 </search>120 </search>
120 <script>document.getElementById('searchbox').style.display·=·"block"</script>121 <script>document.getElementById('searchbox').style.display·=·"block"</script>
121 ········</div>122 ········</div>
122 ······</div>123 ······</div>
123 ··············<h3>Last·update:</h3>124 ··············<h3>Last·update:</h3>
124 ··············<p·class="topless">Nov·05,·2024</p>125 ··············<p·class="topless">nov·05,·2024</p>
125 ··········</div>126 ··········</div>
126 ········127 ········
127 ······128 ······
128 ····</div>129 ····</div>
  
129 ····<div·id="ft">130 ····<div·id="ft">
130 ······<div·class="nav">131 ······<div·class="nav">
1.73 KB
html2text {}
    
Offset 1, 20 lines modifiedOffset 1, 20 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.2\x82.\x8.7\x87·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.2\x82.\x8.7\x87·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 S\x8Se\x8ep\x8pt\x8te\x8em\x8mb\x8be\x8er\x8r·1\x810\x80,\x8,·2\x820\x801\x811\x815 S\x8Se\x8ep\x8pt\x8te\x8em\x8mb\x8be\x8er\x8r·1\x810\x80,\x8,·2\x820\x801\x811\x81
6 Welcome·to·Django·1.2.7!6 Welcome·to·Django·1.2.7!
7 This·is·the·seventh·bugfix/security·release·in·the·Django·1.2·series.·It7 This·is·the·seventh·bugfix/security·release·in·the·Django·1.2·series.·It
8 replaces·Django·1.2.6·due·to·problems·with·the·1.2.6·release·tarball.·Django8 replaces·Django·1.2.6·due·to·problems·with·the·1.2.6·release·tarball.·Django
9 1.2.7·is·a·recommended·upgrade·for·all·users·of·any·Django·release·in·the·1.2.X9 1.2.7·is·a·recommended·upgrade·for·all·users·of·any·Django·release·in·the·1.2.X
10 series.10 series.
11 For·more·information,·see·the·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.11 For·more·information,·see·the·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.
12 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*12 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
14 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*14 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x82_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
16 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*16 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
17 [q···················][Go]17 [q···················][Otsi]
18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
19 Nov·05,·202419 nov·05,·2024
20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
42.4 KB
./usr/share/doc/python-django-doc/html/releases/1.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.1.4·release·notes"·href="1.1.4.html"·/>15 ····<link·rel="next"·title="Django·1.1.4·release·notes"·href="1.1.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.2.1·release·notes"·href="1.2.1.html"·/>16 ····<link·rel="prev"·title="Django·1.2.1·release·notes"·href="1.2.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 26 lines modifiedOffset 89, 26 lines modified
88 <section·id="s-overview">89 <section·id="s-overview">
89 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>90 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>
90 <p>Django·1.2·introduces·several·large,·important·new·features,·including:</p>91 <p>Django·1.2·introduces·several·large,·important·new·features,·including:</p>
91 <ul·class="simple">92 <ul·class="simple">
92 <li><p>Support·for·<a·class="reference·internal"·href="#support-for-multiple-databases"><span·class="std·std-ref">multiple·database·connections</span></a>·in·a·single·Django·instance.</p></li>93 <li><p>Support·for·<a·class="reference·internal"·href="#support-for-multiple-databases"><span·class="std·std-ref">multiple·database·connections</span></a>·in·a·single·Django·instance.</p></li>
93 <li><p><a·class="reference·internal"·href="#model-validation">Model·validation</a>·inspired·by·Django’s·form·validation.</p></li>94 <li><p><a·class="reference·internal"·href="#model-validation">Model·validation</a>·inspired·by·Django’s·form·validation.</p></li>
94 <li><p>Vastly·<a·class="reference·internal"·href="#improved-csrf-protection"><span·class="std·std-ref">improved·protection·against·Cross-Site·Request·Forgery</span></a>·(CSRF).</p></li>95 <li><p>Vastly·<a·class="reference·internal"·href="#improved-csrf-protection"><span·class="std·std-ref">improved·protection·against·Cross-Site·Request·Forgery</span></a>·(CSRF).</p></li>
95 <li><p>A·new·<a·class="reference·internal"·href="#messages-framework"><span·class="std·std-ref">user·messages·framework</span></a>·with·support·for96 <li><p>A·new·<a·class="reference·internal"·href="#messages-framework"><span·class="std·std-ref">user·messages·framework</span></a>·with·support·for
96 cookie-·and·session-based·message·for·both·anonymous·and·authenticated·users.</p></li>97 cookie-·and·session-based·message·for·both·anonymous·and·authenticated·users.</p></li>
97 <li><p>Hooks·for·<a·class="reference·internal"·href="#object-level-permissions">object-level·permissions</a>,·<a·class="reference·internal"·href="#permissions-for-anonymous-users">permissions·for·anonymous·users</a>,98 <li><p>Hooks·for·<a·class="reference·internal"·href="#object-level-permissions">object-level·permissions</a>,·<a·class="reference·internal"·href="#permissions-for-anonymous-users">permissions·for·anonymous·users</a>,
98 and·<a·class="reference·internal"·href="#relaxed-requirements-for-usernames"><span·class="std·std-ref">more·flexible·username·requirements</span></a>.</p></li>99 and·<a·class="reference·internal"·href="#relaxed-requirements-for-usernames"><span·class="std·std-ref">more·flexible·username·requirements</span></a>.</p></li>
99 <li><p>Customization·of·email·sending·via·<a·class="reference·internal"·href="#email-backends">email·backends</a>.</p></li>100 <li><p>Customization·of·email·sending·via·<a·class="reference·internal"·href="#email-backends">email·backends</a>.</p></li>
100 <li><p>New·<a·class="reference·internal"·href="#new-in-1-2-smart-if"><span·class="std·std-ref">smart·if·template·tag</span></a>·which·supports101 <li><p>New·<a·class="reference·internal"·href="#new-in-1-2-smart-if"><span·class="std·std-ref">smart·if·template·tag</span></a>·which·supports
101 comparison·operators.</p></li>102 comparison·operators.</p></li>
102 </ul>103 </ul>
103 <p>These·are·just·the·highlights;·full·details·and·a·complete·list·of·features104 <p>These·are·just·the·highlights;·full·details·and·a·complete·list·of·features
104 <a·class="reference·internal"·href="#whats-new-1-2"><span·class="std·std-ref">may·be·found·below</span></a>.</p>105 <a·class="reference·internal"·href="#whats-new-1-2"><span·class="std·std-ref">may·be·found·below</span></a>.</p>
105 <div·class="admonition·seealso">106 <div·class="admonition·seealso">
106 <p·class="admonition-title">See·also</p>107 <p·class="admonition-title">Vaata·ka</p>
107 <p><a·class="reference·external"·href="https://github.com/djangoadvent/djangoadvent-articles">Django·Advent</a>·covered·the·release·of·Django·1.2·with·a·series·of108 <p><a·class="reference·external"·href="https://github.com/djangoadvent/djangoadvent-articles">Django·Advent</a>·covered·the·release·of·Django·1.2·with·a·series·of
108 articles·and·tutorials·that·cover·some·of·the·new·features·in·depth.</p>109 articles·and·tutorials·that·cover·some·of·the·new·features·in·depth.</p>
109 </div>110 </div>
110 <p>Wherever·possible·these·features·have·been·introduced·in·a·backwards-compatible111 <p>Wherever·possible·these·features·have·been·introduced·in·a·backwards-compatible
111 manner·per·<a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our·API·stability·policy</span></a>·policy.</p>112 manner·per·<a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our·API·stability·policy</span></a>·policy.</p>
112 <p>However,·a·handful·of·features·<em>have</em>·changed·in·ways·that,·for·some·users,·will·be113 <p>However,·a·handful·of·features·<em>have</em>·changed·in·ways·that,·for·some·users,·will·be
113 backwards-incompatible.·The·big·changes·are:</p>114 backwards-incompatible.·The·big·changes·are:</p>
Offset 178, 16 lines modifiedOffset 179, 16 lines modified
178 </section>179 </section>
179 <section·id="s-improved-csrf-protection">180 <section·id="s-improved-csrf-protection">
180 <span·id="s-id2"></span><span·id="improved-csrf-protection"></span><span·id="id2"></span><h3>Improved·CSRF·protection<a·class="headerlink"·href="#improved-csrf-protection"·title="Link·to·this·heading">¶</a></h3>181 <span·id="s-id2"></span><span·id="improved-csrf-protection"></span><span·id="id2"></span><h3>Improved·CSRF·protection<a·class="headerlink"·href="#improved-csrf-protection"·title="Link·to·this·heading">¶</a></h3>
181 <p>Django·now·has·much·improved·protection·against·<a·class="reference·internal"·href="../ref/csrf.html"><span·class="doc">Cross-Site·Request·Forgery182 <p>Django·now·has·much·improved·protection·against·<a·class="reference·internal"·href="../ref/csrf.html"><span·class="doc">Cross-Site·Request·Forgery
182 (CSRF)·attacks</span></a>.·This·type·of·attack·occurs·when·a·malicious183 (CSRF)·attacks</span></a>.·This·type·of·attack·occurs·when·a·malicious
183 website·contains·a·link,·a·form·button·or·some·JavaScript·that·is·intended·to184 website·contains·a·link,·a·form·button·or·some·JavaScript·that·is·intended·to
184 perform·some·action·on·your·website,·using·the·credentials·of·a·logged-in·user185 perform·some·action·on·your·website,·using·the·credentials·of·a·logged-in·user
185 who·visits·the·malicious·site·in·their·browser.·A·related·type·of·attack,·login186 who·visits·the·malicious·site·in·their·browser.·A·related·type·of·attack,·login
186 CSRF,·where·an·attacking·site·tricks·a·user’s·browser·into·logging·into·a·site187 CSRF,·where·an·attacking·site·tricks·a·user’s·browser·into·logging·into·a·site
187 with·someone·else’s·credentials,·is·also·covered.</p>188 with·someone·else’s·credentials,·is·also·covered.</p>
188 </section>189 </section>
189 <section·id="s-messages-framework">190 <section·id="s-messages-framework">
190 <span·id="s-id3"></span><span·id="messages-framework"></span><span·id="id3"></span><h3>Messages·framework<a·class="headerlink"·href="#messages-framework"·title="Link·to·this·heading">¶</a></h3>191 <span·id="s-id3"></span><span·id="messages-framework"></span><span·id="id3"></span><h3>Messages·framework<a·class="headerlink"·href="#messages-framework"·title="Link·to·this·heading">¶</a></h3>
191 <p>Django·now·includes·a·robust·and·configurable·<a·class="reference·internal"·href="../ref/contrib/messages.html"><span·class="doc">messages·framework</span></a>·with·built-in·support·for·cookie-·and·session-based192 <p>Django·now·includes·a·robust·and·configurable·<a·class="reference·internal"·href="../ref/contrib/messages.html"><span·class="doc">messages·framework</span></a>·with·built-in·support·for·cookie-·and·session-based
192 messaging,·for·both·anonymous·and·authenticated·clients.·The·messages·framework193 messaging,·for·both·anonymous·and·authenticated·clients.·The·messages·framework
193 replaces·the·deprecated·user·message·API·and·allows·you·to·temporarily·store194 replaces·the·deprecated·user·message·API·and·allows·you·to·temporarily·store
Offset 228, 15 lines modifiedOffset 229, 15 lines modified
228 backend·implementations·that·allow·you·to·send·email·to·a229 backend·implementations·that·allow·you·to·send·email·to·a
229 <a·class="reference·internal"·href="../topics/email.html#topic-email-file-backend"><span·class="std·std-ref">file</span></a>,·to·the230 <a·class="reference·internal"·href="../topics/email.html#topic-email-file-backend"><span·class="std·std-ref">file</span></a>,·to·the
230 <a·class="reference·internal"·href="../topics/email.html#topic-email-console-backend"><span·class="std·std-ref">console</span></a>,·or·to231 <a·class="reference·internal"·href="../topics/email.html#topic-email-console-backend"><span·class="std·std-ref">console</span></a>,·or·to
231 <a·class="reference·internal"·href="../topics/email.html#topic-email-memory-backend"><span·class="std·std-ref">memory</span></a>.·You·can·even·configure·all232 <a·class="reference·internal"·href="../topics/email.html#topic-email-memory-backend"><span·class="std·std-ref">memory</span></a>.·You·can·even·configure·all
232 email·to·be·<a·class="reference·internal"·href="../topics/email.html#topic-email-dummy-backend"><span·class="std·std-ref">thrown·away</span></a>.</p>233 email·to·be·<a·class="reference·internal"·href="../topics/email.html#topic-email-dummy-backend"><span·class="std·std-ref">thrown·away</span></a>.</p>
233 </section>234 </section>
234 <section·id="s-smart-if-tag">235 <section·id="s-smart-if-tag">
235 <span·id="s-new-in-1-2-smart-if"></span><span·id="smart-if-tag"></span><span·id="new-in-1-2-smart-if"></span><h3>Smart·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">if</span></code></a>·tag<a·class="headerlink"·href="#smart-if-tag"·title="Link·to·this·heading">¶</a></h3>236 <span·id="s-new-in-1-2-smart-if"></span><span·id="smart-if-tag"></span><span·id="new-in-1-2-smart-if"></span><h3>Smart·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">if</span></code></a>·tag<a·class="headerlink"·href="#smart-if-tag"·title="Link·to·this·heading">¶</a></h3>
236 <p>The·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">if</span></code></a>·tag·has·been·upgraded·to·be·much·more·powerful.·First,·we’ve237 <p>The·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">if</span></code></a>·tag·has·been·upgraded·to·be·much·more·powerful.·First,·we’ve
237 added·support·for·comparison·operators.·No·longer·will·you·have·to·type:</p>238 added·support·for·comparison·operators.·No·longer·will·you·have·to·type:</p>
238 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">ifnotequal</span>·<span·class="nv">a</span>·<span·class="nv">b</span>·<span·class="cp">%}</span>239 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">ifnotequal</span>·<span·class="nv">a</span>·<span·class="nv">b</span>·<span·class="cp">%}</span>
239 ·...240 ·...
240 <span·class="cp">{%</span>·<span·class="k">endifnotequal</span>·<span·class="cp">%}</span>241 <span·class="cp">{%</span>·<span·class="k">endifnotequal</span>·<span·class="cp">%}</span>
241 </pre></div>242 </pre></div>
242 </div>243 </div>
Offset 530, 21 lines modifiedOffset 531, 21 lines modified
530 is·thread·safe,·this·leakage·no·longer·occurs.</p>531 is·thread·safe,·this·leakage·no·longer·occurs.</p>
531 </section>532 </section>
532 <section·id="s-user-passes-test-login-required-and-permission-required">533 <section·id="s-user-passes-test-login-required-and-permission-required">
533 <span·id="s-user-passes-test-login-required-permission-required"></span><span·id="user-passes-test-login-required-and-permission-required"></span><span·id="user-passes-test-login-required-permission-required"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">user_passes_test</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">login_required</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">permission_required</span></code><a·class="headerlink"·href="#user-passes-test-login-required-and-permission-required"·title="Link·to·this·heading">¶</a></h3>534 <span·id="s-user-passes-test-login-required-permission-required"></span><span·id="user-passes-test-login-required-and-permission-required"></span><span·id="user-passes-test-login-required-permission-required"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">user_passes_test</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">login_required</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">permission_required</span></code><a·class="headerlink"·href="#user-passes-test-login-required-and-permission-required"·title="Link·to·this·heading">¶</a></h3>
534 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.decorators</span></code>·provides·the·decorators535 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.decorators</span></code>·provides·the·decorators
535 <code·class="docutils·literal·notranslate"><span·class="pre">login_required</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">permission_required</span></code>·and536 <code·class="docutils·literal·notranslate"><span·class="pre">login_required</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">permission_required</span></code>·and
536 <code·class="docutils·literal·notranslate"><span·class="pre">user_passes_test</span></code>.·Previously·it·was·possible·to·use·these537 <code·class="docutils·literal·notranslate"><span·class="pre">user_passes_test</span></code>.·Previously·it·was·possible·to·use·these
537 decorators·both·on·functions·(where·the·first·argument·is·request)538 decorators·both·on·functions·(where·the·first·argument·is·request)
538 and·on·methods·(where·the·first·argument·is·self,·and·the·second539 and·on·methods·(where·the·first·argument·is·self,·and·the·second
539 argument·is·request).·Unfortunately,·flaws·were·discovered·in·the540 argument·is·request).·Unfortunately,·flaws·were·discovered·in·the
540 code·supporting·this:·it·only·works·in·limited·circumstances,·and541 code·supporting·this:·it·only·works·in·limited·circumstances,·and
541 produces·errors·that·are·very·difficult·to·debug·when·it·does·not542 produces·errors·that·are·very·difficult·to·debug·when·it·does·not
542 work.</p>543 work.</p>
543 <p>For·this·reason,·the·auto·adapt·behavior·has·been·removed,·and·if544 <p>For·this·reason,·the·auto·adapt·behavior·has·been·removed,·and·if
544 you·are·using·these·decorators·on·methods,·you·will·need·to·manually545 you·are·using·these·decorators·on·methods,·you·will·need·to·manually
545 apply·<a·class="reference·internal"·href="../ref/utils.html#django.utils.decorators.method_decorator"·title="django.utils.decorators.method_decorator"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.utils.decorators.method_decorator()</span></code></a>·to·convert·the546 apply·<a·class="reference·internal"·href="../ref/utils.html#django.utils.decorators.method_decorator"·title="django.utils.decorators.method_decorator"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.utils.decorators.method_decorator()</span></code></a>·to·convert·the
546 decorator·to·one·that·works·with·methods.·For·example,·you·would547 decorator·to·one·that·works·with·methods.·For·example,·you·would
547 change·code·from·this:</p>548 change·code·from·this:</p>
548 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">MyClass</span><span·class="p">(</span><span·class="nb">object</span><span·class="p">):</span>549 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">MyClass</span><span·class="p">(</span><span·class="nb">object</span><span·class="p">):</span>
549 ····<span·class="nd">@login_required</span>550 ····<span·class="nd">@login_required</span>
550 ····<span·class="k">def</span>·<span·class="nf">my_view</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">):</span>551 ····<span·class="k">def</span>·<span·class="nf">my_view</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">,</span>·<span·class="n">request</span><span·class="p">):</span>
Offset 577, 15 lines modifiedOffset 578, 15 lines modified
577 change·also·applies·to·other·decorators·introduced·since·1.1,578 change·also·applies·to·other·decorators·introduced·since·1.1,
578 including·<code·class="docutils·literal·notranslate"><span·class="pre">csrf_protect</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">cache_control</span></code>·and·anything·created579 including·<code·class="docutils·literal·notranslate"><span·class="pre">csrf_protect</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">cache_control</span></code>·and·anything·created
579 using·<code·class="docutils·literal·notranslate"><span·class="pre">decorator_from_middleware</span></code>.</p>580 using·<code·class="docutils·literal·notranslate"><span·class="pre">decorator_from_middleware</span></code>.</p>
580 </section>581 </section>
581 <section·id="s-if-tag-changes">582 <section·id="s-if-tag-changes">
Max diff block lines reached; 14147/26717 bytes (52.95%) of diff not shown.
16.2 KB
html2text {}
Max HTML report size reached
5.49 KB
./usr/share/doc/python-django-doc/html/releases/1.3.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.3.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.3.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.3·release·notes"·href="1.3.html"·/>15 ····<link·rel="next"·title="Django·1.3·release·notes"·href="1.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.3.2·release·notes"·href="1.3.2.html"·/>16 ····<link·rel="prev"·title="Django·1.3.2·release·notes"·href="1.3.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 37 lines modifiedOffset 96, 37 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h4>Previous·topic</h4>103 ····<h4>Eelmine·teema</h4>
103 ····<p·class="topless"><a·href="1.3.2.html"104 ····<p·class="topless"><a·href="1.3.2.html"
104 ··························title="previous·chapter">Django·1.3.2·release·notes</a></p>105 ··························title="eelmine·jaotis">Django·1.3.2·release·notes</a></p>
105 ··</div>106 ··</div>
106 ··<div>107 ··<div>
107 ····<h4>Next·topic</h4>108 ····<h4>Järgmine·teema</h4>
108 ····<p·class="topless"><a·href="1.3.html"109 ····<p·class="topless"><a·href="1.3.html"
109 ··························title="next·chapter">Django·1.3·release·notes</a></p>110 ··························title="järgmine·jaotis">Django·1.3·release·notes</a></p>
110 ··</div>111 ··</div>
111 <search·id="searchbox"·style="display:·none"·role="search">112 <search·id="searchbox"·style="display:·none"·role="search">
112 ··<h3·id="searchlabel">Quick·search</h3>113 ··<h3·id="searchlabel">Kiirotsing</h3>
113 ····<div·class="searchformwrapper">114 ····<div·class="searchformwrapper">
114 ····<form·class="search"·action="../search.html"·method="get">115 ····<form·class="search"·action="../search.html"·method="get">
115 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>116 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
116 ······<input·type="submit"·value="Go"·/>117 ······<input·type="submit"·value="Otsi"·/>
117 ····</form>118 ····</form>
118 ····</div>119 ····</div>
119 </search>120 </search>
120 <script>document.getElementById('searchbox').style.display·=·"block"</script>121 <script>document.getElementById('searchbox').style.display·=·"block"</script>
121 ········</div>122 ········</div>
122 ······</div>123 ······</div>
123 ··············<h3>Last·update:</h3>124 ··············<h3>Last·update:</h3>
124 ··············<p·class="topless">Nov·05,·2024</p>125 ··············<p·class="topless">nov·05,·2024</p>
125 ··········</div>126 ··········</div>
126 ········127 ········
127 ······128 ······
128 ····</div>129 ····</div>
  
129 ····<div·id="ft">130 ····<div·id="ft">
130 ······<div·class="nav">131 ······<div·class="nav">
1.7 KB
html2text {}
    
Offset 1, 19 lines modifiedOffset 1, 19 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.3\x83.\x8.1\x81·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.3\x83.\x8.1\x81·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 S\x8Se\x8ep\x8pt\x8te\x8em\x8mb\x8be\x8er\x8r·9\x89,\x8,·2\x820\x801\x811\x815 S\x8Se\x8ep\x8pt\x8te\x8em\x8mb\x8be\x8er\x8r·9\x89,\x8,·2\x820\x801\x811\x81
6 Welcome·to·Django·1.3.1!6 Welcome·to·Django·1.3.1!
7 This·is·the·first·security·release·in·the·Django·1.3·series,·fixing·several7 This·is·the·first·security·release·in·the·Django·1.3·series,·fixing·several
8 security·issues·in·Django·1.3.·Django·1.3.1·is·a·recommended·upgrade·for·all8 security·issues·in·Django·1.3.·Django·1.3.1·is·a·recommended·upgrade·for·all
9 users·of·Django·1.3.9 users·of·Django·1.3.
10 For·a·full·list·of·issues·addressed·in·this·release,·see·the·_\x8s_\x8e_\x8c_\x8u_\x8r_\x8i_\x8t_\x8y_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.10 For·a·full·list·of·issues·addressed·in·this·release,·see·the·_\x8s_\x8e_\x8c_\x8u_\x8r_\x8i_\x8t_\x8y_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.
11 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*11 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
12 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s12 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
13 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*13 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
15 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*15 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
16 [q···················][Go]16 [q···················][Otsi]
17 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*17 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
18 Nov·05,·202418 nov·05,·2024
19 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»19 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
5.47 KB
./usr/share/doc/python-django-doc/html/releases/1.3.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.3.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.3.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.3.1·release·notes"·href="1.3.1.html"·/>15 ····<link·rel="next"·title="Django·1.3.1·release·notes"·href="1.3.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.3.3·release·notes"·href="1.3.3.html"·/>16 ····<link·rel="prev"·title="Django·1.3.3·release·notes"·href="1.3.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 94, 37 lines modifiedOffset 95, 37 lines modified
94 ······95 ······
95 ········96 ········
96 ··········<div·class="yui-b"·id="sidebar">97 ··········<div·class="yui-b"·id="sidebar">
97 ············98 ············
98 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
99 ········<div·class="sphinxsidebarwrapper">100 ········<div·class="sphinxsidebarwrapper">
100 ··<div>101 ··<div>
101 ····<h4>Previous·topic</h4>102 ····<h4>Eelmine·teema</h4>
102 ····<p·class="topless"><a·href="1.3.3.html"103 ····<p·class="topless"><a·href="1.3.3.html"
103 ··························title="previous·chapter">Django·1.3.3·release·notes</a></p>104 ··························title="eelmine·jaotis">Django·1.3.3·release·notes</a></p>
104 ··</div>105 ··</div>
105 ··<div>106 ··<div>
106 ····<h4>Next·topic</h4>107 ····<h4>Järgmine·teema</h4>
107 ····<p·class="topless"><a·href="1.3.1.html"108 ····<p·class="topless"><a·href="1.3.1.html"
108 ··························title="next·chapter">Django·1.3.1·release·notes</a></p>109 ··························title="järgmine·jaotis">Django·1.3.1·release·notes</a></p>
109 ··</div>110 ··</div>
110 <search·id="searchbox"·style="display:·none"·role="search">111 <search·id="searchbox"·style="display:·none"·role="search">
111 ··<h3·id="searchlabel">Quick·search</h3>112 ··<h3·id="searchlabel">Kiirotsing</h3>
112 ····<div·class="searchformwrapper">113 ····<div·class="searchformwrapper">
113 ····<form·class="search"·action="../search.html"·method="get">114 ····<form·class="search"·action="../search.html"·method="get">
114 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>115 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
115 ······<input·type="submit"·value="Go"·/>116 ······<input·type="submit"·value="Otsi"·/>
116 ····</form>117 ····</form>
117 ····</div>118 ····</div>
118 </search>119 </search>
119 <script>document.getElementById('searchbox').style.display·=·"block"</script>120 <script>document.getElementById('searchbox').style.display·=·"block"</script>
120 ········</div>121 ········</div>
121 ······</div>122 ······</div>
122 ··············<h3>Last·update:</h3>123 ··············<h3>Last·update:</h3>
123 ··············<p·class="topless">Nov·05,·2024</p>124 ··············<p·class="topless">nov·05,·2024</p>
124 ··········</div>125 ··········</div>
125 ········126 ········
126 ······127 ······
127 ····</div>128 ····</div>
  
128 ····<div·id="ft">129 ····<div·id="ft">
129 ······<div·class="nav">130 ······<div·class="nav">
1.67 KB
html2text {}
    
Offset 1, 18 lines modifiedOffset 1, 18 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.3\x83.\x8.2\x82·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.3\x83.\x8.2\x82·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 J\x8Ju\x8ul\x8ly\x8y·3\x830\x80,\x8,·2\x820\x801\x812\x825 J\x8Ju\x8ul\x8ly\x8y·3\x830\x80,\x8,·2\x820\x801\x812\x82
6 This·is·the·second·security·release·in·the·Django·1.3·series,·fixing·several6 This·is·the·second·security·release·in·the·Django·1.3·series,·fixing·several
7 security·issues·in·Django·1.3.·Django·1.3.2·is·a·recommended·upgrade·for·all7 security·issues·in·Django·1.3.·Django·1.3.2·is·a·recommended·upgrade·for·all
8 users·of·Django·1.3.8 users·of·Django·1.3.
9 For·a·full·list·of·issues·addressed·in·this·release,·see·the·_\x8s_\x8e_\x8c_\x8u_\x8r_\x8i_\x8t_\x8y_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.9 For·a·full·list·of·issues·addressed·in·this·release,·see·the·_\x8s_\x8e_\x8c_\x8u_\x8r_\x8i_\x8t_\x8y_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.
10 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*10 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
12 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*12 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x81_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x81_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
14 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*14 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
15 [q···················][Go]15 [q···················][Otsi]
16 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*16 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
17 Nov·05,·202417 nov·05,·2024
18 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»18 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
5.49 KB
./usr/share/doc/python-django-doc/html/releases/1.3.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.3.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.3.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.3.2·release·notes"·href="1.3.2.html"·/>15 ····<link·rel="next"·title="Django·1.3.2·release·notes"·href="1.3.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.3.4·release·notes"·href="1.3.4.html"·/>16 ····<link·rel="prev"·title="Django·1.3.4·release·notes"·href="1.3.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 94, 37 lines modifiedOffset 95, 37 lines modified
94 ······95 ······
95 ········96 ········
96 ··········<div·class="yui-b"·id="sidebar">97 ··········<div·class="yui-b"·id="sidebar">
97 ············98 ············
98 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
99 ········<div·class="sphinxsidebarwrapper">100 ········<div·class="sphinxsidebarwrapper">
100 ··<div>101 ··<div>
101 ····<h4>Previous·topic</h4>102 ····<h4>Eelmine·teema</h4>
102 ····<p·class="topless"><a·href="1.3.4.html"103 ····<p·class="topless"><a·href="1.3.4.html"
103 ··························title="previous·chapter">Django·1.3.4·release·notes</a></p>104 ··························title="eelmine·jaotis">Django·1.3.4·release·notes</a></p>
104 ··</div>105 ··</div>
105 ··<div>106 ··<div>
106 ····<h4>Next·topic</h4>107 ····<h4>Järgmine·teema</h4>
107 ····<p·class="topless"><a·href="1.3.2.html"108 ····<p·class="topless"><a·href="1.3.2.html"
108 ··························title="next·chapter">Django·1.3.2·release·notes</a></p>109 ··························title="järgmine·jaotis">Django·1.3.2·release·notes</a></p>
109 ··</div>110 ··</div>
110 <search·id="searchbox"·style="display:·none"·role="search">111 <search·id="searchbox"·style="display:·none"·role="search">
111 ··<h3·id="searchlabel">Quick·search</h3>112 ··<h3·id="searchlabel">Kiirotsing</h3>
112 ····<div·class="searchformwrapper">113 ····<div·class="searchformwrapper">
113 ····<form·class="search"·action="../search.html"·method="get">114 ····<form·class="search"·action="../search.html"·method="get">
114 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>115 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
115 ······<input·type="submit"·value="Go"·/>116 ······<input·type="submit"·value="Otsi"·/>
116 ····</form>117 ····</form>
117 ····</div>118 ····</div>
118 </search>119 </search>
119 <script>document.getElementById('searchbox').style.display·=·"block"</script>120 <script>document.getElementById('searchbox').style.display·=·"block"</script>
120 ········</div>121 ········</div>
121 ······</div>122 ······</div>
122 ··············<h3>Last·update:</h3>123 ··············<h3>Last·update:</h3>
123 ··············<p·class="topless">Nov·05,·2024</p>124 ··············<p·class="topless">nov·05,·2024</p>
124 ··········</div>125 ··········</div>
125 ········126 ········
126 ······127 ······
127 ····</div>128 ····</div>
  
128 ····<div·id="ft">129 ····<div·id="ft">
129 ······<div·class="nav">130 ······<div·class="nav">
1.69 KB
html2text {}
    
Offset 1, 18 lines modifiedOffset 1, 18 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.3\x83.\x8.3\x83·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.3\x83.\x8.3\x83·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 A\x8Au\x8ug\x8gu\x8us\x8st\x8t·1\x81,\x8,·2\x820\x801\x812\x825 A\x8Au\x8ug\x8gu\x8us\x8st\x8t·1\x81,\x8,·2\x820\x801\x812\x82
6 Following·Monday’s·security·release·of·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x82,·we·began·receiving·reports6 Following·Monday’s·security·release·of·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x82,·we·began·receiving·reports
7 that·one·of·the·fixes·applied·was·breaking·Python·2.4·compatibility·for·Django7 that·one·of·the·fixes·applied·was·breaking·Python·2.4·compatibility·for·Django
8 1.3.·Since·Python·2.4·is·a·supported·Python·version·for·that·release·series,8 1.3.·Since·Python·2.4·is·a·supported·Python·version·for·that·release·series,
9 this·release·fixes·compatibility·with·Python·2.4.9 this·release·fixes·compatibility·with·Python·2.4.
10 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*10 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
12 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*12 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
14 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*14 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
15 [q···················][Go]15 [q···················][Otsi]
16 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*16 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
17 Nov·05,·202417 nov·05,·2024
18 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»18 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
6.74 KB
./usr/share/doc/python-django-doc/html/releases/1.3.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.3.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.3.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.3.3·release·notes"·href="1.3.3.html"·/>15 ····<link·rel="next"·title="Django·1.3.3·release·notes"·href="1.3.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.3.5·release·notes"·href="1.3.5.html"·/>16 ····<link·rel="prev"·title="Django·1.3.5·release·notes"·href="1.3.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 114, 47 lines modifiedOffset 115, 47 lines modified
114 ······115 ······
115 ········116 ········
116 ··········<div·class="yui-b"·id="sidebar">117 ··········<div·class="yui-b"·id="sidebar">
117 ············118 ············
118 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">119 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
119 ········<div·class="sphinxsidebarwrapper">120 ········<div·class="sphinxsidebarwrapper">
120 ··<div>121 ··<div>
121 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>122 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
122 ····<ul>123 ····<ul>
123 <li><a·class="reference·internal"·href="#">Django·1.3.4·release·notes</a><ul>124 <li><a·class="reference·internal"·href="#">Django·1.3.4·release·notes</a><ul>
124 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>125 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>
125 </ul>126 </ul>
126 </li>127 </li>
127 </ul>128 </ul>
  
128 ··</div>129 ··</div>
129 ··<div>130 ··<div>
130 ····<h4>Previous·topic</h4>131 ····<h4>Eelmine·teema</h4>
131 ····<p·class="topless"><a·href="1.3.5.html"132 ····<p·class="topless"><a·href="1.3.5.html"
132 ··························title="previous·chapter">Django·1.3.5·release·notes</a></p>133 ··························title="eelmine·jaotis">Django·1.3.5·release·notes</a></p>
133 ··</div>134 ··</div>
134 ··<div>135 ··<div>
135 ····<h4>Next·topic</h4>136 ····<h4>Järgmine·teema</h4>
136 ····<p·class="topless"><a·href="1.3.3.html"137 ····<p·class="topless"><a·href="1.3.3.html"
137 ··························title="next·chapter">Django·1.3.3·release·notes</a></p>138 ··························title="järgmine·jaotis">Django·1.3.3·release·notes</a></p>
138 ··</div>139 ··</div>
139 <search·id="searchbox"·style="display:·none"·role="search">140 <search·id="searchbox"·style="display:·none"·role="search">
140 ··<h3·id="searchlabel">Quick·search</h3>141 ··<h3·id="searchlabel">Kiirotsing</h3>
141 ····<div·class="searchformwrapper">142 ····<div·class="searchformwrapper">
142 ····<form·class="search"·action="../search.html"·method="get">143 ····<form·class="search"·action="../search.html"·method="get">
143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>144 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
144 ······<input·type="submit"·value="Go"·/>145 ······<input·type="submit"·value="Otsi"·/>
145 ····</form>146 ····</form>
146 ····</div>147 ····</div>
147 </search>148 </search>
148 <script>document.getElementById('searchbox').style.display·=·"block"</script>149 <script>document.getElementById('searchbox').style.display·=·"block"</script>
149 ········</div>150 ········</div>
150 ······</div>151 ······</div>
151 ··············<h3>Last·update:</h3>152 ··············<h3>Last·update:</h3>
152 ··············<p·class="topless">Nov·05,·2024</p>153 ··············<p·class="topless">nov·05,·2024</p>
153 ··········</div>154 ··········</div>
154 ········155 ········
155 ······156 ······
156 ····</div>157 ····</div>
  
157 ····<div·id="ft">158 ····<div·id="ft">
158 ······<div·class="nav">159 ······<div·class="nav">
2.6 KB
html2text {}
Max HTML report size reached
9.15 KB
./usr/share/doc/python-django-doc/html/releases/1.3.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.3.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.3.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.3.4·release·notes"·href="1.3.4.html"·/>15 ····<link·rel="next"·title="Django·1.3.4·release·notes"·href="1.3.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.3.6·release·notes"·href="1.3.6.html"·/>16 ····<link·rel="prev"·title="Django·1.3.6·release·notes"·href="1.3.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 94, 16 lines modifiedOffset 95, 16 lines modified
94 potentially-malicious·domains.</p>95 potentially-malicious·domains.</p>
95 <p>In·response·to·further·input·received·and·reports·of·continuing·issues96 <p>In·response·to·further·input·received·and·reports·of·continuing·issues
96 following·the·previous·release,·we’re·taking·additional·steps·to·tighten·Host97 following·the·previous·release,·we’re·taking·additional·steps·to·tighten·Host
97 header·validation.·Rather·than·attempt·to·accommodate·all·features·HTTP98 header·validation.·Rather·than·attempt·to·accommodate·all·features·HTTP
98 supports·here,·Django’s·Host·header·validation·attempts·to·support·a·smaller,99 supports·here,·Django’s·Host·header·validation·attempts·to·support·a·smaller,
99 but·far·more·common,·subset:</p>100 but·far·more·common,·subset:</p>
100 <ul·class="simple">101 <ul·class="simple">
101 <li><p>Hostnames·must·consist·of·characters·<code·class="docutils·literal·notranslate"><span·class="pre">[A-Za-z0-9]</span></code>·plus·hyphen·(-)·or·dot102 <li><p>Hostnames·must·consist·of·characters·<code·class="docutils·literal·notranslate"><span·class="pre">[A-Za-z0-9]</span></code>·plus·hyphen·(-)·or·dot
102 (.).</p></li>103 (.).</p></li>
103 <li><p>IP·addresses··both·IPv4·and·IPv6··are·permitted.</p></li>104 <li><p>IP·addresses··both·IPv4·and·IPv6··are·permitted.</p></li>
104 <li><p>Port,·if·specified,·is·numeric.</p></li>105 <li><p>Port,·if·specified,·is·numeric.</p></li>
105 </ul>106 </ul>
106 <p>Any·deviation·from·this·will·now·be·rejected,·raising·the·exception107 <p>Any·deviation·from·this·will·now·be·rejected,·raising·the·exception
107 <a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.SuspiciousOperation"·title="django.core.exceptions.SuspiciousOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">django.core.exceptions.SuspiciousOperation</span></code></a>.</p>108 <a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.SuspiciousOperation"·title="django.core.exceptions.SuspiciousOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">django.core.exceptions.SuspiciousOperation</span></code></a>.</p>
108 </section>109 </section>
109 <section·id="s-redirect-poisoning">110 <section·id="s-redirect-poisoning">
Offset 136, 48 lines modifiedOffset 137, 48 lines modified
136 ······137 ······
137 ········138 ········
138 ··········<div·class="yui-b"·id="sidebar">139 ··········<div·class="yui-b"·id="sidebar">
139 ············140 ············
140 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">141 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
141 ········<div·class="sphinxsidebarwrapper">142 ········<div·class="sphinxsidebarwrapper">
142 ··<div>143 ··<div>
143 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>144 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
144 ····<ul>145 ····<ul>
145 <li><a·class="reference·internal"·href="#">Django·1.3.5·release·notes</a><ul>146 <li><a·class="reference·internal"·href="#">Django·1.3.5·release·notes</a><ul>
146 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>147 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>
147 <li><a·class="reference·internal"·href="#redirect-poisoning">Redirect·poisoning</a></li>148 <li><a·class="reference·internal"·href="#redirect-poisoning">Redirect·poisoning</a></li>
148 </ul>149 </ul>
149 </li>150 </li>
150 </ul>151 </ul>
  
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Previous·topic</h4>154 ····<h4>Eelmine·teema</h4>
154 ····<p·class="topless"><a·href="1.3.6.html"155 ····<p·class="topless"><a·href="1.3.6.html"
155 ··························title="previous·chapter">Django·1.3.6·release·notes</a></p>156 ··························title="eelmine·jaotis">Django·1.3.6·release·notes</a></p>
156 ··</div>157 ··</div>
157 ··<div>158 ··<div>
158 ····<h4>Next·topic</h4>159 ····<h4>Järgmine·teema</h4>
159 ····<p·class="topless"><a·href="1.3.4.html"160 ····<p·class="topless"><a·href="1.3.4.html"
160 ··························title="next·chapter">Django·1.3.4·release·notes</a></p>161 ··························title="järgmine·jaotis">Django·1.3.4·release·notes</a></p>
161 ··</div>162 ··</div>
162 <search·id="searchbox"·style="display:·none"·role="search">163 <search·id="searchbox"·style="display:·none"·role="search">
163 ··<h3·id="searchlabel">Quick·search</h3>164 ··<h3·id="searchlabel">Kiirotsing</h3>
164 ····<div·class="searchformwrapper">165 ····<div·class="searchformwrapper">
165 ····<form·class="search"·action="../search.html"·method="get">166 ····<form·class="search"·action="../search.html"·method="get">
166 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>167 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
167 ······<input·type="submit"·value="Go"·/>168 ······<input·type="submit"·value="Otsi"·/>
168 ····</form>169 ····</form>
169 ····</div>170 ····</div>
170 </search>171 </search>
171 <script>document.getElementById('searchbox').style.display·=·"block"</script>172 <script>document.getElementById('searchbox').style.display·=·"block"</script>
172 ········</div>173 ········</div>
173 ······</div>174 ······</div>
174 ··············<h3>Last·update:</h3>175 ··············<h3>Last·update:</h3>
175 ··············<p·class="topless">Nov·05,·2024</p>176 ··············<p·class="topless">nov·05,·2024</p>
176 ··········</div>177 ··········</div>
177 ········178 ········
178 ······179 ······
179 ····</div>180 ····</div>
  
180 ····<div·id="ft">181 ····<div·id="ft">
181 ······<div·class="nav">182 ······<div·class="nav">
3.64 KB
html2text {}
Max HTML report size reached
7.19 KB
./usr/share/doc/python-django-doc/html/releases/1.3.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.3.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.3.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.3.5·release·notes"·href="1.3.5.html"·/>15 ····<link·rel="next"·title="Django·1.3.5·release·notes"·href="1.3.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.3.7·release·notes"·href="1.3.7.html"·/>16 ····<link·rel="prev"·title="Django·1.3.7·release·notes"·href="1.3.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 144, 50 lines modifiedOffset 145, 50 lines modified
144 ······145 ······
145 ········146 ········
146 ··········<div·class="yui-b"·id="sidebar">147 ··········<div·class="yui-b"·id="sidebar">
147 ············148 ············
148 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">149 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
149 ········<div·class="sphinxsidebarwrapper">150 ········<div·class="sphinxsidebarwrapper">
150 ··<div>151 ··<div>
151 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>152 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
152 ····<ul>153 ····<ul>
153 <li><a·class="reference·internal"·href="#">Django·1.3.6·release·notes</a><ul>154 <li><a·class="reference·internal"·href="#">Django·1.3.6·release·notes</a><ul>
154 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>155 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>
155 <li><a·class="reference·internal"·href="#xml-deserialization">XML·deserialization</a></li>156 <li><a·class="reference·internal"·href="#xml-deserialization">XML·deserialization</a></li>
156 <li><a·class="reference·internal"·href="#formset-memory-exhaustion">Formset·memory·exhaustion</a></li>157 <li><a·class="reference·internal"·href="#formset-memory-exhaustion">Formset·memory·exhaustion</a></li>
157 <li><a·class="reference·internal"·href="#admin-history-view-information-leakage">Admin·history·view·information·leakage</a></li>158 <li><a·class="reference·internal"·href="#admin-history-view-information-leakage">Admin·history·view·information·leakage</a></li>
158 </ul>159 </ul>
159 </li>160 </li>
160 </ul>161 </ul>
  
161 ··</div>162 ··</div>
162 ··<div>163 ··<div>
163 ····<h4>Previous·topic</h4>164 ····<h4>Eelmine·teema</h4>
164 ····<p·class="topless"><a·href="1.3.7.html"165 ····<p·class="topless"><a·href="1.3.7.html"
165 ··························title="previous·chapter">Django·1.3.7·release·notes</a></p>166 ··························title="eelmine·jaotis">Django·1.3.7·release·notes</a></p>
166 ··</div>167 ··</div>
167 ··<div>168 ··<div>
168 ····<h4>Next·topic</h4>169 ····<h4>Järgmine·teema</h4>
169 ····<p·class="topless"><a·href="1.3.5.html"170 ····<p·class="topless"><a·href="1.3.5.html"
170 ··························title="next·chapter">Django·1.3.5·release·notes</a></p>171 ··························title="järgmine·jaotis">Django·1.3.5·release·notes</a></p>
171 ··</div>172 ··</div>
172 <search·id="searchbox"·style="display:·none"·role="search">173 <search·id="searchbox"·style="display:·none"·role="search">
173 ··<h3·id="searchlabel">Quick·search</h3>174 ··<h3·id="searchlabel">Kiirotsing</h3>
174 ····<div·class="searchformwrapper">175 ····<div·class="searchformwrapper">
175 ····<form·class="search"·action="../search.html"·method="get">176 ····<form·class="search"·action="../search.html"·method="get">
176 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>177 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
177 ······<input·type="submit"·value="Go"·/>178 ······<input·type="submit"·value="Otsi"·/>
178 ····</form>179 ····</form>
179 ····</div>180 ····</div>
180 </search>181 </search>
181 <script>document.getElementById('searchbox').style.display·=·"block"</script>182 <script>document.getElementById('searchbox').style.display·=·"block"</script>
182 ········</div>183 ········</div>
183 ······</div>184 ······</div>
184 ··············<h3>Last·update:</h3>185 ··············<h3>Last·update:</h3>
185 ··············<p·class="topless">Nov·05,·2024</p>186 ··············<p·class="topless">nov·05,·2024</p>
186 ··········</div>187 ··········</div>
187 ········188 ········
188 ······189 ······
189 ····</div>190 ····</div>
  
190 ····<div·id="ft">191 ····<div·id="ft">
191 ······<div·class="nav">192 ······<div·class="nav">
2.73 KB
html2text {}
Max HTML report size reached
6.83 KB
./usr/share/doc/python-django-doc/html/releases/1.3.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.3.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.3.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.3.6·release·notes"·href="1.3.6.html"·/>15 ····<link·rel="next"·title="Django·1.3.6·release·notes"·href="1.3.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.4·release·notes"·href="1.4.html"·/>16 ····<link·rel="prev"·title="Django·1.4·release·notes"·href="1.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 77, 15 lines modifiedOffset 78, 15 lines modified
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.3.7">79 ··········<div·class="yui-g"·id="releases-1.3.7">
79 ············80 ············
80 ··<section·id="s-django-1-3-7-release-notes">81 ··<section·id="s-django-1-3-7-release-notes">
81 <span·id="django-1-3-7-release-notes"></span><h1>Django·1.3.7·release·notes<a·class="headerlink"·href="#django-1-3-7-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-3-7-release-notes"></span><h1>Django·1.3.7·release·notes<a·class="headerlink"·href="#django-1-3-7-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·20,·2013</em></p>83 <p><em>February·20,·2013</em></p>
83 <p>Django·1.3.7·corrects·a·packaging·problem·with·yesterday’s·<a·class="reference·internal"·href="1.3.6.html"><span·class="doc">1.3.6·release</span></a>.</p>84 <p>Django·1.3.7·corrects·a·packaging·problem·with·yesterday’s·<a·class="reference·internal"·href="1.3.6.html"><span·class="doc">1.3.6·release</span></a>.</p>
84 <p>The·release·contained·stray·<code·class="docutils·literal·notranslate"><span·class="pre">.pyc</span></code>·files·that·caused·bad·magic·number85 <p>The·release·contained·stray·<code·class="docutils·literal·notranslate"><span·class="pre">.pyc</span></code>·files·that·caused·bad·magic·number
85 errors·when·running·with·some·versions·of·Python.·This·releases·corrects·this,86 errors·when·running·with·some·versions·of·Python.·This·releases·corrects·this,
86 and·also·fixes·a·bad·documentation·link·in·the·project·template·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>87 and·also·fixes·a·bad·documentation·link·in·the·project·template·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>
87 file·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startproject</span></code>.</p>88 file·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startproject</span></code>.</p>
88 </section>89 </section>
  
  
89 ··········</div>90 ··········</div>
Offset 94, 37 lines modifiedOffset 95, 37 lines modified
94 ······95 ······
95 ········96 ········
96 ··········<div·class="yui-b"·id="sidebar">97 ··········<div·class="yui-b"·id="sidebar">
97 ············98 ············
98 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
99 ········<div·class="sphinxsidebarwrapper">100 ········<div·class="sphinxsidebarwrapper">
100 ··<div>101 ··<div>
101 ····<h4>Previous·topic</h4>102 ····<h4>Eelmine·teema</h4>
102 ····<p·class="topless"><a·href="1.4.html"103 ····<p·class="topless"><a·href="1.4.html"
103 ··························title="previous·chapter">Django·1.4·release·notes</a></p>104 ··························title="eelmine·jaotis">Django·1.4·release·notes</a></p>
104 ··</div>105 ··</div>
105 ··<div>106 ··<div>
106 ····<h4>Next·topic</h4>107 ····<h4>Järgmine·teema</h4>
107 ····<p·class="topless"><a·href="1.3.6.html"108 ····<p·class="topless"><a·href="1.3.6.html"
108 ··························title="next·chapter">Django·1.3.6·release·notes</a></p>109 ··························title="järgmine·jaotis">Django·1.3.6·release·notes</a></p>
109 ··</div>110 ··</div>
110 <search·id="searchbox"·style="display:·none"·role="search">111 <search·id="searchbox"·style="display:·none"·role="search">
111 ··<h3·id="searchlabel">Quick·search</h3>112 ··<h3·id="searchlabel">Kiirotsing</h3>
112 ····<div·class="searchformwrapper">113 ····<div·class="searchformwrapper">
113 ····<form·class="search"·action="../search.html"·method="get">114 ····<form·class="search"·action="../search.html"·method="get">
114 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>115 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
115 ······<input·type="submit"·value="Go"·/>116 ······<input·type="submit"·value="Otsi"·/>
116 ····</form>117 ····</form>
117 ····</div>118 ····</div>
118 </search>119 </search>
119 <script>document.getElementById('searchbox').style.display·=·"block"</script>120 <script>document.getElementById('searchbox').style.display·=·"block"</script>
120 ········</div>121 ········</div>
121 ······</div>122 ······</div>
122 ··············<h3>Last·update:</h3>123 ··············<h3>Last·update:</h3>
123 ··············<p·class="topless">Nov·05,·2024</p>124 ··············<p·class="topless">nov·05,·2024</p>
124 ··········</div>125 ··········</div>
125 ········126 ········
126 ······127 ······
127 ····</div>128 ····</div>
  
128 ····<div·id="ft">129 ····<div·id="ft">
129 ······<div·class="nav">130 ······<div·class="nav">
1.83 KB
html2text {}
    
Offset 1, 19 lines modifiedOffset 1, 19 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.3\x83.\x8.7\x87·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.3\x83.\x8.7\x87·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·2\x820\x80,\x8,·2\x820\x801\x813\x835 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·2\x820\x80,\x8,·2\x820\x801\x813\x83
6 Django·1.3.7·corrects·a·packaging·problem·with·yesterday’s·_\x81_\x8._\x83_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e.6 Django·1.3.7·corrects·a·packaging·problem·with·yesterday’s·_\x81_\x8._\x83_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e.
7 The·release·contained·stray·.pyc·files·that·caused·bad·magic·number·errors7 The·release·contained·stray·.pyc·files·that·caused·bad·magic·number·errors
8 when·running·with·some·versions·of·Python.·This·releases·corrects·this,·and8 when·running·with·some·versions·of·Python.·This·releases·corrects·this,·and
9 also·fixes·a·bad·documentation·link·in·the·project·template·settings.py·file9 also·fixes·a·bad·documentation·link·in·the·project·template·settings.py·file
10 generated·by·manage.py·startproject.10 generated·by·manage.py·startproject.
11 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*11 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
12 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s12 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
13 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*13 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x83_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
15 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*15 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
16 [q···················][Go]16 [q···················][Otsi]
17 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*17 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
18 Nov·05,·202418 nov·05,·2024
19 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»19 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
20.7 KB
./usr/share/doc/python-django-doc/html/releases/1.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.2.7·release·notes"·href="1.2.7.html"·/>15 ····<link·rel="next"·title="Django·1.2.7·release·notes"·href="1.2.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.3.1·release·notes"·href="1.3.1.html"·/>16 ····<link·rel="prev"·title="Django·1.3.1·release·notes"·href="1.3.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 425, 37 lines modifiedOffset 426, 37 lines modified
425 <p>Django·has·historically·provided·(and·enforced)·a·list·of·profanities.426 <p>Django·has·historically·provided·(and·enforced)·a·list·of·profanities.
426 The·comments·app·has·enforced·this·list·of·profanities,·preventing·people·from427 The·comments·app·has·enforced·this·list·of·profanities,·preventing·people·from
427 submitting·comments·that·contained·one·of·those·profanities.</p>428 submitting·comments·that·contained·one·of·those·profanities.</p>
428 <p>Unfortunately,·the·technique·used·to·implement·this·profanities·list429 <p>Unfortunately,·the·technique·used·to·implement·this·profanities·list
429 was·woefully·naive,·and·prone·to·the·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Scunthorpe_problem">Scunthorpe·problem</a>.·Improving430 was·woefully·naive,·and·prone·to·the·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Scunthorpe_problem">Scunthorpe·problem</a>.·Improving
430 the·built-in·filter·to·fix·this·problem·would·require·significant431 the·built-in·filter·to·fix·this·problem·would·require·significant
431 effort,·and·since·natural·language·processing·isn’t·the·normal·domain432 effort,·and·since·natural·language·processing·isn’t·the·normal·domain
432 of·a·web·framework,·we·have·fixed·the·problem·by·making·the·list·of433 of·a·web·framework,·we·have·fixed·the·problem·by·making·the·list·of
433 prohibited·words·an·empty·list.</p>434 prohibited·words·an·empty·list.</p>
434 <p>If·you·want·to·restore·the·old·behavior,·simply·put·a435 <p>If·you·want·to·restore·the·old·behavior,·simply·put·a
435 <code·class="docutils·literal·notranslate"><span·class="pre">PROFANITIES_LIST</span></code>·setting·in·your·settings·file·that·includes·the436 <code·class="docutils·literal·notranslate"><span·class="pre">PROFANITIES_LIST</span></code>·setting·in·your·settings·file·that·includes·the
436 words·that·you·want·to·prohibit·(see·the·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/edd767d2612d891a906268cf590571f541dd164f">commit·that·implemented·this437 words·that·you·want·to·prohibit·(see·the·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/edd767d2612d891a906268cf590571f541dd164f">commit·that·implemented·this
437 change</a>·if·you·want·to·see·the·list438 change</a>·if·you·want·to·see·the·list
438 of·words·that·was·historically·prohibited).·However,·if·avoiding·profanities·is439 of·words·that·was·historically·prohibited).·However,·if·avoiding·profanities·is
439 important·to·you,·you·would·be·well·advised·to·seek·out·a·better,·less·naive440 important·to·you,·you·would·be·well·advised·to·seek·out·a·better,·less·naive
440 approach·to·the·problem.</p>441 approach·to·the·problem.</p>
441 </section>442 </section>
442 <section·id="s-localflavor-changes">443 <section·id="s-localflavor-changes">
443 <span·id="localflavor-changes"></span><h3>Localflavor·changes<a·class="headerlink"·href="#localflavor-changes"·title="Link·to·this·heading">¶</a></h3>444 <span·id="localflavor-changes"></span><h3>Localflavor·changes<a·class="headerlink"·href="#localflavor-changes"·title="Link·to·this·heading">¶</a></h3>
444 <p>Django·1.3·introduces·the·following·backwards-incompatible·changes·to445 <p>Django·1.3·introduces·the·following·backwards-incompatible·changes·to
445 local·flavors:</p>446 local·flavors:</p>
446 <ul·class="simple">447 <ul·class="simple">
447 <li><p>Canada·(ca)··The·province·Newfoundland·and·Labrador·has·had·its448 <li><p>Canada·(ca)··The·province·Newfoundland·and·Labrador·has·had·its
448 province·code·updated·to·NL,·rather·than·the·older·NF.·In449 province·code·updated·to·NL,·rather·than·the·older·NF.·In
449 addition,·the·Yukon·Territory·has·had·its·province·code·corrected·to450 addition,·the·Yukon·Territory·has·had·its·province·code·corrected·to
450 YT,·instead·of·YK.</p></li>451 YT,·instead·of·YK.</p></li>
451 <li><p>Indonesia·(id)··The·province·Nanggroe·Aceh·Darussalam·(NAD)·has452 <li><p>Indonesia·(id)··The·province·Nanggroe·Aceh·Darussalam·(NAD)·has
452 been·removed·from·the·province·list·in·favor·of·the·new·official453 been·removed·from·the·province·list·in·favor·of·the·new·official
453 designation·Aceh·(ACE).</p></li>454 designation·Aceh·(ACE).</p></li>
454 <li><p>United·States·of·America·(us)··The·list·of·states·used·by455 <li><p>United·States·of·America·(us)··The·list·of·states·used·by
455 <code·class="docutils·literal·notranslate"><span·class="pre">USStateField</span></code>·has·expanded·to·include·Armed·Forces·postal456 <code·class="docutils·literal·notranslate"><span·class="pre">USStateField</span></code>·has·expanded·to·include·Armed·Forces·postal
456 codes.·This·is·backwards-incompatible·if·you·were·relying·on457 codes.·This·is·backwards-incompatible·if·you·were·relying·on
457 <code·class="docutils·literal·notranslate"><span·class="pre">USStateField</span></code>·not·including·them.</p></li>458 <code·class="docutils·literal·notranslate"><span·class="pre">USStateField</span></code>·not·including·them.</p></li>
458 </ul>459 </ul>
459 </section>460 </section>
460 <section·id="s-formset-updates">461 <section·id="s-formset-updates">
461 <span·id="formset-updates"></span><h3>FormSet·updates<a·class="headerlink"·href="#formset-updates"·title="Link·to·this·heading">¶</a></h3>462 <span·id="formset-updates"></span><h3>FormSet·updates<a·class="headerlink"·href="#formset-updates"·title="Link·to·this·heading">¶</a></h3>
Offset 568, 18 lines modifiedOffset 569, 18 lines modified
568 the·same·situation·considering·the·deprecation·of·such·location.</p></li>569 the·same·situation·considering·the·deprecation·of·such·location.</p></li>
569 </ul>570 </ul>
570 </section>571 </section>
571 <section·id="s-transaction-management">572 <section·id="s-transaction-management">
572 <span·id="transaction-management"></span><h3>Transaction·management<a·class="headerlink"·href="#transaction-management"·title="Link·to·this·heading">¶</a></h3>573 <span·id="transaction-management"></span><h3>Transaction·management<a·class="headerlink"·href="#transaction-management"·title="Link·to·this·heading">¶</a></h3>
573 <p>When·using·managed·transactions··that·is,·anything·but·the·default574 <p>When·using·managed·transactions··that·is,·anything·but·the·default
574 autocommit·mode··it·is·important·when·a·transaction·is·marked·as575 autocommit·mode··it·is·important·when·a·transaction·is·marked·as
575 dirty.·Dirty·transactions·are·committed·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">commit_on_success</span></code>576 dirty.·Dirty·transactions·are·committed·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">commit_on_success</span></code>
576 decorator·or·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.middleware.transaction.TransactionMiddleware</span></code>,·and577 decorator·or·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.middleware.transaction.TransactionMiddleware</span></code>,·and
577 <code·class="docutils·literal·notranslate"><span·class="pre">commit_manually</span></code>·forces·them·to·be·closed·explicitly;·clean·transactions578 <code·class="docutils·literal·notranslate"><span·class="pre">commit_manually</span></code>·forces·them·to·be·closed·explicitly;·clean·transactions
578 get·a·pass,·which·means·they·are·usually·rolled·back·at·the·end·of·a·request579 get·a·pass,·which·means·they·are·usually·rolled·back·at·the·end·of·a·request
579 when·the·connection·is·closed.</p>580 when·the·connection·is·closed.</p>
580 <p>Until·Django·1.3,·transactions·were·only·marked·dirty·when·Django·was581 <p>Until·Django·1.3,·transactions·were·only·marked·dirty·when·Django·was
581 aware·of·a·modifying·operation·performed·in·them;·that·is,·either·some582 aware·of·a·modifying·operation·performed·in·them;·that·is,·either·some
582 model·was·saved,·some·bulk·update·or·delete·was·performed,·or·the·user583 model·was·saved,·some·bulk·update·or·delete·was·performed,·or·the·user
583 explicitly·called·<code·class="docutils·literal·notranslate"><span·class="pre">transaction.set_dirty()</span></code>.·In·Django·1.3,·a584 explicitly·called·<code·class="docutils·literal·notranslate"><span·class="pre">transaction.set_dirty()</span></code>.·In·Django·1.3,·a
584 transaction·is·marked·dirty·when·<em>any</em>·database·operation·is585 transaction·is·marked·dirty·when·<em>any</em>·database·operation·is
585 performed.</p>586 performed.</p>
Offset 617, 21 lines modifiedOffset 618, 21 lines modified
617 <section·id="s-features-deprecated-in-1-3">618 <section·id="s-features-deprecated-in-1-3">
618 <span·id="s-deprecated-features-1-3"></span><span·id="features-deprecated-in-1-3"></span><span·id="deprecated-features-1-3"></span><h2>Features·deprecated·in·1.3<a·class="headerlink"·href="#features-deprecated-in-1-3"·title="Link·to·this·heading">¶</a></h2>619 <span·id="s-deprecated-features-1-3"></span><span·id="features-deprecated-in-1-3"></span><span·id="deprecated-features-1-3"></span><h2>Features·deprecated·in·1.3<a·class="headerlink"·href="#features-deprecated-in-1-3"·title="Link·to·this·heading">¶</a></h2>
619 <p>Django·1.3·deprecates·some·features·from·earlier·releases.620 <p>Django·1.3·deprecates·some·features·from·earlier·releases.
620 These·features·are·still·supported,·but·will·be·gradually·phased·out621 These·features·are·still·supported,·but·will·be·gradually·phased·out
621 over·the·next·few·release·cycles.</p>622 over·the·next·few·release·cycles.</p>
622 <p>Code·taking·advantage·of·any·of·the·features·below·will·raise·a623 <p>Code·taking·advantage·of·any·of·the·features·below·will·raise·a
623 <code·class="docutils·literal·notranslate"><span·class="pre">PendingDeprecationWarning</span></code>·in·Django·1.3.·This·warning·will·be624 <code·class="docutils·literal·notranslate"><span·class="pre">PendingDeprecationWarning</span></code>·in·Django·1.3.·This·warning·will·be
624 silent·by·default,·but·may·be·turned·on·using·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/warnings.html#module-warnings"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">warnings</span></code></a>625 silent·by·default,·but·may·be·turned·on·using·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/warnings.html#module-warnings"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">warnings</span></code></a>
625 module,·or·by·running·Python·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">-Wd</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">-Wall</span></code>·flag.</p>626 module,·or·by·running·Python·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">-Wd</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">-Wall</span></code>·flag.</p>
626 <p>In·Django·1.4,·these·warnings·will·become·a·<code·class="docutils·literal·notranslate"><span·class="pre">DeprecationWarning</span></code>,627 <p>In·Django·1.4,·these·warnings·will·become·a·<code·class="docutils·literal·notranslate"><span·class="pre">DeprecationWarning</span></code>,
627 which·is·<em>not</em>·silent.·In·Django·1.5·support·for·these·features·will628 which·is·<em>not</em>·silent.·In·Django·1.5·support·for·these·features·will
628 be·removed·entirely.</p>629 be·removed·entirely.</p>
629 <div·class="admonition·seealso">630 <div·class="admonition·seealso">
630 <p·class="admonition-title">See·also</p>631 <p·class="admonition-title">Vaata·ka</p>
631 <p>For·more·details,·see·the·documentation·<a·class="reference·internal"·href="../internals/release-process.html"><span·class="doc">Django’s·release·process</span></a>·and·our·<a·class="reference·internal"·href="../internals/deprecation.html"><span·class="doc">deprecation·timeline</span></a>.</p>632 <p>For·more·details,·see·the·documentation·<a·class="reference·internal"·href="../internals/release-process.html"><span·class="doc">Django’s·release·process</span></a>·and·our·<a·class="reference·internal"·href="../internals/deprecation.html"><span·class="doc">deprecation·timeline</span></a>.</p>
632 </div>633 </div>
633 <section·id="s-mod-python-support">634 <section·id="s-mod-python-support">
634 <span·id="mod-python-support"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">mod_python</span></code>·support<a·class="headerlink"·href="#mod-python-support"·title="Link·to·this·heading">¶</a></h3>635 <span·id="mod-python-support"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">mod_python</span></code>·support<a·class="headerlink"·href="#mod-python-support"·title="Link·to·this·heading">¶</a></h3>
635 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">mod_python</span></code>·library·has·not·had·a·release·since·2007·or·a·commit·since636 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">mod_python</span></code>·library·has·not·had·a·release·since·2007·or·a·commit·since
636 2008.·The·Apache·Foundation·board·voted·to·remove·<code·class="docutils·literal·notranslate"><span·class="pre">mod_python</span></code>·from·the·set637 2008.·The·Apache·Foundation·board·voted·to·remove·<code·class="docutils·literal·notranslate"><span·class="pre">mod_python</span></code>·from·the·set
637 of·active·projects·in·its·version·control·repositories,·and·its·lead·developer638 of·active·projects·in·its·version·control·repositories,·and·its·lead·developer
Offset 832, 15 lines modifiedOffset 833, 15 lines modified
832 ······833 ······
833 ········834 ········
834 ··········<div·class="yui-b"·id="sidebar">835 ··········<div·class="yui-b"·id="sidebar">
835 ············836 ············
836 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">837 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
837 ········<div·class="sphinxsidebarwrapper">838 ········<div·class="sphinxsidebarwrapper">
838 ··<div>839 ··<div>
839 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>840 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
Max diff block lines reached; 1992/12054 bytes (16.53%) of diff not shown.
8.86 KB
html2text {}
Max HTML report size reached
5.45 KB
./usr/share/doc/python-django-doc/html/releases/1.4.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4·release·notes"·href="1.4.html"·/>15 ····<link·rel="next"·title="Django·1.4·release·notes"·href="1.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.2·release·notes"·href="1.4.2.html"·/>16 ····<link·rel="prev"·title="Django·1.4.2·release·notes"·href="1.4.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 94, 37 lines modifiedOffset 95, 37 lines modified
94 ······95 ······
95 ········96 ········
96 ··········<div·class="yui-b"·id="sidebar">97 ··········<div·class="yui-b"·id="sidebar">
97 ············98 ············
98 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
99 ········<div·class="sphinxsidebarwrapper">100 ········<div·class="sphinxsidebarwrapper">
100 ··<div>101 ··<div>
101 ····<h4>Previous·topic</h4>102 ····<h4>Eelmine·teema</h4>
102 ····<p·class="topless"><a·href="1.4.2.html"103 ····<p·class="topless"><a·href="1.4.2.html"
103 ··························title="previous·chapter">Django·1.4.2·release·notes</a></p>104 ··························title="eelmine·jaotis">Django·1.4.2·release·notes</a></p>
104 ··</div>105 ··</div>
105 ··<div>106 ··<div>
106 ····<h4>Next·topic</h4>107 ····<h4>Järgmine·teema</h4>
107 ····<p·class="topless"><a·href="1.4.html"108 ····<p·class="topless"><a·href="1.4.html"
108 ··························title="next·chapter">Django·1.4·release·notes</a></p>109 ··························title="järgmine·jaotis">Django·1.4·release·notes</a></p>
109 ··</div>110 ··</div>
110 <search·id="searchbox"·style="display:·none"·role="search">111 <search·id="searchbox"·style="display:·none"·role="search">
111 ··<h3·id="searchlabel">Quick·search</h3>112 ··<h3·id="searchlabel">Kiirotsing</h3>
112 ····<div·class="searchformwrapper">113 ····<div·class="searchformwrapper">
113 ····<form·class="search"·action="../search.html"·method="get">114 ····<form·class="search"·action="../search.html"·method="get">
114 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>115 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
115 ······<input·type="submit"·value="Go"·/>116 ······<input·type="submit"·value="Otsi"·/>
116 ····</form>117 ····</form>
117 ····</div>118 ····</div>
118 </search>119 </search>
119 <script>document.getElementById('searchbox').style.display·=·"block"</script>120 <script>document.getElementById('searchbox').style.display·=·"block"</script>
120 ········</div>121 ········</div>
121 ······</div>122 ······</div>
122 ··············<h3>Last·update:</h3>123 ··············<h3>Last·update:</h3>
123 ··············<p·class="topless">Nov·05,·2024</p>124 ··············<p·class="topless">nov·05,·2024</p>
124 ··········</div>125 ··········</div>
125 ········126 ········
126 ······127 ······
127 ····</div>128 ····</div>
  
128 ····<div·id="ft">129 ····<div·id="ft">
129 ······<div·class="nav">130 ······<div·class="nav">
1.66 KB
html2text {}
    
Offset 1, 18 lines modifiedOffset 1, 18 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.4\x84.\x8.1\x81·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.4\x84.\x8.1\x81·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 J\x8Ju\x8ul\x8ly\x8y·3\x830\x80,\x8,·2\x820\x801\x812\x825 J\x8Ju\x8ul\x8ly\x8y·3\x830\x80,\x8,·2\x820\x801\x812\x82
6 This·is·the·first·security·release·in·the·Django·1.4·series,·fixing·several6 This·is·the·first·security·release·in·the·Django·1.4·series,·fixing·several
7 security·issues·in·Django·1.4.·Django·1.4.1·is·a·recommended·upgrade·for·all7 security·issues·in·Django·1.4.·Django·1.4.1·is·a·recommended·upgrade·for·all
8 users·of·Django·1.4.8 users·of·Django·1.4.
9 For·a·full·list·of·issues·addressed·in·this·release,·see·the·_\x8s_\x8e_\x8c_\x8u_\x8r_\x8i_\x8t_\x8y_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.9 For·a·full·list·of·issues·addressed·in·this·release,·see·the·_\x8s_\x8e_\x8c_\x8u_\x8r_\x8i_\x8t_\x8y_\x8·_\x8a_\x8d_\x8v_\x8i_\x8s_\x8o_\x8r_\x8y.
10 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*10 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8._\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
12 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*12 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
14 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*14 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
15 [q···················][Go]15 [q···················][Otsi]
16 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*16 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
17 Nov·05,·202417 nov·05,·2024
18 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»18 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
6.23 KB
./usr/share/doc/python-django-doc/html/releases/1.4.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.9·release·notes"·href="1.4.9.html"·/>15 ····<link·rel="next"·title="Django·1.4.9·release·notes"·href="1.4.9.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.11·release·notes"·href="1.4.11.html"·/>16 ····<link·rel="prev"·title="Django·1.4.11·release·notes"·href="1.4.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·1.4.10·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·1.4.10·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>107 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="1.4.11.html"114 ····<p·class="topless"><a·href="1.4.11.html"
114 ··························title="previous·chapter">Django·1.4.11·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·1.4.11·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="1.4.9.html"119 ····<p·class="topless"><a·href="1.4.9.html"
119 ··························title="next·chapter">Django·1.4.9·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·1.4.9·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
2.08 KB
html2text {}
Max HTML report size reached
11.5 KB
./usr/share/doc/python-django-doc/html/releases/1.4.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.10·release·notes"·href="1.4.10.html"·/>15 ····<link·rel="next"·title="Django·1.4.10·release·notes"·href="1.4.10.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.12·release·notes"·href="1.4.12.html"·/>16 ····<link·rel="prev"·title="Django·1.4.12·release·notes"·href="1.4.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 100, 15 lines modifiedOffset 101, 15 lines modified
100 module·indicated·by·that·dotted·path·as·part·of·generating·the101 module·indicated·by·that·dotted·path·as·part·of·generating·the
101 resulting·URL.·If·such·a·module·has·import-time·side·effects,·those102 resulting·URL.·If·such·a·module·has·import-time·side·effects,·those
102 side·effects·will·occur.</p>103 side·effects·will·occur.</p>
103 <p>Thus·it·is·possible·for·an·attacker·to·cause·unexpected·code104 <p>Thus·it·is·possible·for·an·attacker·to·cause·unexpected·code
104 execution,·given·the·following·conditions:</p>105 execution,·given·the·following·conditions:</p>
105 <ol·class="arabic·simple">106 <ol·class="arabic·simple">
106 <li><p>One·or·more·views·are·present·which·construct·a·URL·based·on·user107 <li><p>One·or·more·views·are·present·which·construct·a·URL·based·on·user
107 input·(commonly,·a·next·parameter·in·a·querystring·indicating108 input·(commonly,·a·next·parameter·in·a·querystring·indicating
108 where·to·redirect·upon·successful·completion·of·an·action).</p></li>109 where·to·redirect·upon·successful·completion·of·an·action).</p></li>
109 <li><p>One·or·more·modules·are·known·to·an·attacker·to·exist·on·the110 <li><p>One·or·more·modules·are·known·to·an·attacker·to·exist·on·the
110 server’s·Python·import·path,·which·perform·code·execution·with·side111 server’s·Python·import·path,·which·perform·code·execution·with·side
111 effects·on·importing.</p></li>112 effects·on·importing.</p></li>
112 </ol>113 </ol>
113 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·will·now·only·accept·and·import·dotted114 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·will·now·only·accept·and·import·dotted
114 paths·based·on·the·view-containing·modules·listed·in·the·project’s·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL115 paths·based·on·the·view-containing·modules·listed·in·the·project’s·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL
Offset 137, 15 lines modifiedOffset 138, 15 lines modified
137 <li><p>If·the·response·did·send·one·or·more·cookies,·and</p></li>138 <li><p>If·the·response·did·send·one·or·more·cookies,·and</p></li>
138 <li><p>If·the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary:</span>·<span·class="pre">Cookie</span></code>·header·is·set·on·the·response,·then·the139 <li><p>If·the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary:</span>·<span·class="pre">Cookie</span></code>·header·is·set·on·the·response,·then·the
139 response·will·not·be·cached.</p></li>140 response·will·not·be·cached.</p></li>
140 </ol>141 </ol>
141 </section>142 </section>
142 <section·id="s-mysql-typecasting">143 <section·id="s-mysql-typecasting">
143 <span·id="mysql-typecasting"></span><h2>MySQL·typecasting<a·class="headerlink"·href="#mysql-typecasting"·title="Link·to·this·heading">¶</a></h2>144 <span·id="mysql-typecasting"></span><h2>MySQL·typecasting<a·class="headerlink"·href="#mysql-typecasting"·title="Link·to·this·heading">¶</a></h2>
144 <p>The·MySQL·database·is·known·to·typecast·on·certain·queries;·for145 <p>The·MySQL·database·is·known·to·typecast·on·certain·queries;·for
145 example,·when·querying·a·table·which·contains·string·values,·but·using146 example,·when·querying·a·table·which·contains·string·values,·but·using
146 a·query·which·filters·based·on·an·integer·value,·MySQL·will·first147 a·query·which·filters·based·on·an·integer·value,·MySQL·will·first
147 silently·coerce·the·strings·to·integers·and·return·a·result·based·on·that.</p>148 silently·coerce·the·strings·to·integers·and·return·a·result·based·on·that.</p>
148 <p>If·a·query·is·performed·without·first·converting·values·to·the149 <p>If·a·query·is·performed·without·first·converting·values·to·the
149 appropriate·type,·this·can·produce·unexpected·results,·similar·to·what150 appropriate·type,·this·can·produce·unexpected·results,·similar·to·what
150 would·occur·if·the·query·itself·had·been·manipulated.</p>151 would·occur·if·the·query·itself·had·been·manipulated.</p>
151 <p>Django’s·model·field·classes·are·aware·of·their·own·types·and·most152 <p>Django’s·model·field·classes·are·aware·of·their·own·types·and·most
Offset 174, 49 lines modifiedOffset 175, 49 lines modified
174 ······175 ······
175 ········176 ········
176 ··········<div·class="yui-b"·id="sidebar">177 ··········<div·class="yui-b"·id="sidebar">
177 ············178 ············
178 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">179 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
179 ········<div·class="sphinxsidebarwrapper">180 ········<div·class="sphinxsidebarwrapper">
180 ··<div>181 ··<div>
181 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>182 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
182 ····<ul>183 ····<ul>
183 <li><a·class="reference·internal"·href="#">Django·1.4.11·release·notes</a><ul>184 <li><a·class="reference·internal"·href="#">Django·1.4.11·release·notes</a><ul>
184 <li><a·class="reference·internal"·href="#unexpected-code-execution-using-reverse">Unexpected·code·execution·using·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a></li>185 <li><a·class="reference·internal"·href="#unexpected-code-execution-using-reverse">Unexpected·code·execution·using·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a></li>
185 <li><a·class="reference·internal"·href="#caching-of-anonymous-pages-could-reveal-csrf-token">Caching·of·anonymous·pages·could·reveal·CSRF·token</a></li>186 <li><a·class="reference·internal"·href="#caching-of-anonymous-pages-could-reveal-csrf-token">Caching·of·anonymous·pages·could·reveal·CSRF·token</a></li>
186 <li><a·class="reference·internal"·href="#mysql-typecasting">MySQL·typecasting</a></li>187 <li><a·class="reference·internal"·href="#mysql-typecasting">MySQL·typecasting</a></li>
187 </ul>188 </ul>
188 </li>189 </li>
189 </ul>190 </ul>
  
190 ··</div>191 ··</div>
191 ··<div>192 ··<div>
192 ····<h4>Previous·topic</h4>193 ····<h4>Eelmine·teema</h4>
193 ····<p·class="topless"><a·href="1.4.12.html"194 ····<p·class="topless"><a·href="1.4.12.html"
194 ··························title="previous·chapter">Django·1.4.12·release·notes</a></p>195 ··························title="eelmine·jaotis">Django·1.4.12·release·notes</a></p>
195 ··</div>196 ··</div>
196 ··<div>197 ··<div>
197 ····<h4>Next·topic</h4>198 ····<h4>Järgmine·teema</h4>
198 ····<p·class="topless"><a·href="1.4.10.html"199 ····<p·class="topless"><a·href="1.4.10.html"
199 ··························title="next·chapter">Django·1.4.10·release·notes</a></p>200 ··························title="järgmine·jaotis">Django·1.4.10·release·notes</a></p>
200 ··</div>201 ··</div>
201 <search·id="searchbox"·style="display:·none"·role="search">202 <search·id="searchbox"·style="display:·none"·role="search">
202 ··<h3·id="searchlabel">Quick·search</h3>203 ··<h3·id="searchlabel">Kiirotsing</h3>
203 ····<div·class="searchformwrapper">204 ····<div·class="searchformwrapper">
204 ····<form·class="search"·action="../search.html"·method="get">205 ····<form·class="search"·action="../search.html"·method="get">
205 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>206 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
206 ······<input·type="submit"·value="Go"·/>207 ······<input·type="submit"·value="Otsi"·/>
207 ····</form>208 ····</form>
208 ····</div>209 ····</div>
209 </search>210 </search>
210 <script>document.getElementById('searchbox').style.display·=·"block"</script>211 <script>document.getElementById('searchbox').style.display·=·"block"</script>
211 ········</div>212 ········</div>
212 ······</div>213 ······</div>
213 ··············<h3>Last·update:</h3>214 ··············<h3>Last·update:</h3>
214 ··············<p·class="topless">Nov·05,·2024</p>215 ··············<p·class="topless">nov·05,·2024</p>
215 ··········</div>216 ··········</div>
216 ········217 ········
217 ······218 ······
218 ····</div>219 ····</div>
  
219 ····<div·id="ft">220 ····<div·id="ft">
220 ······<div·class="nav">221 ······<div·class="nav">
4.84 KB
html2text {}
Max HTML report size reached
7.51 KB
./usr/share/doc/python-django-doc/html/releases/1.4.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.11·release·notes"·href="1.4.11.html"·/>15 ····<link·rel="next"·title="Django·1.4.11·release·notes"·href="1.4.11.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.13·release·notes"·href="1.4.13.html"·/>16 ····<link·rel="prev"·title="Django·1.4.13·release·notes"·href="1.4.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="django-1-4-12-release-notes"></span><h1>Django·1.4.12·release·notes<a·class="headerlink"·href="#django-1-4-12-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-4-12-release-notes"></span><h1>Django·1.4.12·release·notes<a·class="headerlink"·href="#django-1-4-12-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·28,·2014</em></p>83 <p><em>April·28,·2014</em></p>
83 <p>Django·1.4.12·fixes·a·regression·in·the·1.4.11·security·release.</p>84 <p>Django·1.4.12·fixes·a·regression·in·the·1.4.11·security·release.</p>
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Restored·the·ability·to·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·views·created·using88 <li><p>Restored·the·ability·to·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·views·created·using
88 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.partial"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.partial()</span></code></a>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22486">#22486</a>).</p></li>89 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.partial"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.partial()</span></code></a>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22486">#22486</a>).</p></li>
89 </ul>90 </ul>
90 </section>91 </section>
91 </section>92 </section>
  
  
92 ··········</div>93 ··········</div>
93 ········</div>94 ········</div>
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·1.4.12·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·1.4.12·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="1.4.13.html"115 ····<p·class="topless"><a·href="1.4.13.html"
115 ··························title="previous·chapter">Django·1.4.13·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·1.4.13·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="1.4.11.html"120 ····<p·class="topless"><a·href="1.4.11.html"
120 ··························title="next·chapter">Django·1.4.11·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·1.4.11·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.99 KB
html2text {}
Max HTML report size reached
9.69 KB
./usr/share/doc/python-django-doc/html/releases/1.4.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.12·release·notes"·href="1.4.12.html"·/>15 ····<link·rel="next"·title="Django·1.4.12·release·notes"·href="1.4.12.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.14·release·notes"·href="1.4.14.html"·/>16 ····<link·rel="prev"·title="Django·1.4.14·release·notes"·href="1.4.14.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 15 lines modifiedOffset 104, 15 lines modified
103 <section·id="s-malformed-redirect-urls-from-user-input-not-correctly-validated">104 <section·id="s-malformed-redirect-urls-from-user-input-not-correctly-validated">
104 <span·id="malformed-redirect-urls-from-user-input-not-correctly-validated"></span><h2>Malformed·redirect·URLs·from·user·input·not·correctly·validated<a·class="headerlink"·href="#malformed-redirect-urls-from-user-input-not-correctly-validated"·title="Link·to·this·heading">¶</a></h2>105 <span·id="malformed-redirect-urls-from-user-input-not-correctly-validated"></span><h2>Malformed·redirect·URLs·from·user·input·not·correctly·validated<a·class="headerlink"·href="#malformed-redirect-urls-from-user-input-not-correctly-validated"·title="Link·to·this·heading">¶</a></h2>
105 <p>The·validation·for·redirects·did·not·correctly·validate·some·malformed·URLs,106 <p>The·validation·for·redirects·did·not·correctly·validate·some·malformed·URLs,
106 which·are·accepted·by·some·browsers.·This·allows·a·user·to·be·redirected·to107 which·are·accepted·by·some·browsers.·This·allows·a·user·to·be·redirected·to
107 an·unsafe·URL·unexpectedly.</p>108 an·unsafe·URL·unexpectedly.</p>
108 <p>Django·relies·on·user·input·in·some·cases·(e.g.109 <p>Django·relies·on·user·input·in·some·cases·(e.g.
109 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and110 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and
110 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.111 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.
111 The·security·checks·for·these·redirects·(namely112 The·security·checks·for·these·redirects·(namely
112 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·did·not·correctly·validate·some·malformed113 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·did·not·correctly·validate·some·malformed
113 URLs,·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">http:\\\\\\djangoproject.com</span></code>,·which·are·accepted·by·some114 URLs,·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">http:\\\\\\djangoproject.com</span></code>,·which·are·accepted·by·some
114 browsers·with·more·liberal·URL·parsing.</p>115 browsers·with·more·liberal·URL·parsing.</p>
115 <p>To·remedy·this,·the·validation·in·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·has·been·tightened·to·be·able116 <p>To·remedy·this,·the·validation·in·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·has·been·tightened·to·be·able
116 to·handle·and·correctly·validate·these·malformed·URLs.</p>117 to·handle·and·correctly·validate·these·malformed·URLs.</p>
117 </section>118 </section>
Offset 124, 48 lines modifiedOffset 125, 48 lines modified
124 ······125 ······
125 ········126 ········
126 ··········<div·class="yui-b"·id="sidebar">127 ··········<div·class="yui-b"·id="sidebar">
127 ············128 ············
128 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">129 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
129 ········<div·class="sphinxsidebarwrapper">130 ········<div·class="sphinxsidebarwrapper">
130 ··<div>131 ··<div>
131 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>132 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
132 ····<ul>133 ····<ul>
133 <li><a·class="reference·internal"·href="#">Django·1.4.13·release·notes</a><ul>134 <li><a·class="reference·internal"·href="#">Django·1.4.13·release·notes</a><ul>
134 <li><a·class="reference·internal"·href="#caches-may-incorrectly-be-allowed-to-store-and-serve-private-data">Caches·may·incorrectly·be·allowed·to·store·and·serve·private·data</a></li>135 <li><a·class="reference·internal"·href="#caches-may-incorrectly-be-allowed-to-store-and-serve-private-data">Caches·may·incorrectly·be·allowed·to·store·and·serve·private·data</a></li>
135 <li><a·class="reference·internal"·href="#malformed-redirect-urls-from-user-input-not-correctly-validated">Malformed·redirect·URLs·from·user·input·not·correctly·validated</a></li>136 <li><a·class="reference·internal"·href="#malformed-redirect-urls-from-user-input-not-correctly-validated">Malformed·redirect·URLs·from·user·input·not·correctly·validated</a></li>
136 </ul>137 </ul>
137 </li>138 </li>
138 </ul>139 </ul>
  
139 ··</div>140 ··</div>
140 ··<div>141 ··<div>
141 ····<h4>Previous·topic</h4>142 ····<h4>Eelmine·teema</h4>
142 ····<p·class="topless"><a·href="1.4.14.html"143 ····<p·class="topless"><a·href="1.4.14.html"
143 ··························title="previous·chapter">Django·1.4.14·release·notes</a></p>144 ··························title="eelmine·jaotis">Django·1.4.14·release·notes</a></p>
144 ··</div>145 ··</div>
145 ··<div>146 ··<div>
146 ····<h4>Next·topic</h4>147 ····<h4>Järgmine·teema</h4>
147 ····<p·class="topless"><a·href="1.4.12.html"148 ····<p·class="topless"><a·href="1.4.12.html"
148 ··························title="next·chapter">Django·1.4.12·release·notes</a></p>149 ··························title="järgmine·jaotis">Django·1.4.12·release·notes</a></p>
149 ··</div>150 ··</div>
150 <search·id="searchbox"·style="display:·none"·role="search">151 <search·id="searchbox"·style="display:·none"·role="search">
151 ··<h3·id="searchlabel">Quick·search</h3>152 ··<h3·id="searchlabel">Kiirotsing</h3>
152 ····<div·class="searchformwrapper">153 ····<div·class="searchformwrapper">
153 ····<form·class="search"·action="../search.html"·method="get">154 ····<form·class="search"·action="../search.html"·method="get">
154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>155 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
155 ······<input·type="submit"·value="Go"·/>156 ······<input·type="submit"·value="Otsi"·/>
156 ····</form>157 ····</form>
157 ····</div>158 ····</div>
158 </search>159 </search>
159 <script>document.getElementById('searchbox').style.display·=·"block"</script>160 <script>document.getElementById('searchbox').style.display·=·"block"</script>
160 ········</div>161 ········</div>
161 ······</div>162 ······</div>
162 ··············<h3>Last·update:</h3>163 ··············<h3>Last·update:</h3>
163 ··············<p·class="topless">Nov·05,·2024</p>164 ··············<p·class="topless">nov·05,·2024</p>
164 ··········</div>165 ··········</div>
165 ········166 ········
166 ······167 ······
167 ····</div>168 ····</div>
  
168 ····<div·id="ft">169 ····<div·id="ft">
169 ······<div·class="nav">170 ······<div·class="nav">
3.56 KB
html2text {}
Max HTML report size reached
10.4 KB
./usr/share/doc/python-django-doc/html/releases/1.4.14.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.14·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.14·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.13·release·notes"·href="1.4.13.html"·/>15 ····<link·rel="next"·title="Django·1.4.13·release·notes"·href="1.4.13.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.15·release·notes"·href="1.4.15.html"·/>16 ····<link·rel="prev"·title="Django·1.4.15·release·notes"·href="1.4.15.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 116, 15 lines modifiedOffset 117, 15 lines modified
116 requests·without·an·intervening·logout·could·result·in·the·prior·user’s·session117 requests·without·an·intervening·logout·could·result·in·the·prior·user’s·session
117 being·co-opted·by·the·subsequent·user.·The·middleware·now·logs·the·user·out·on118 being·co-opted·by·the·subsequent·user.·The·middleware·now·logs·the·user·out·on
118 a·failed·login·attempt.</p>119 a·failed·login·attempt.</p>
119 </section>120 </section>
120 <section·id="s-data-leakage-via-query-string-manipulation-in-contrib-admin">121 <section·id="s-data-leakage-via-query-string-manipulation-in-contrib-admin">
121 <span·id="data-leakage-via-query-string-manipulation-in-contrib-admin"></span><h2>Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code><a·class="headerlink"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin"·title="Link·to·this·heading">¶</a></h2>122 <span·id="data-leakage-via-query-string-manipulation-in-contrib-admin"></span><h2>Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code><a·class="headerlink"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin"·title="Link·to·this·heading">¶</a></h2>
122 <p>In·older·versions·of·Django·it·was·possible·to·reveal·any·field’s·data·by123 <p>In·older·versions·of·Django·it·was·possible·to·reveal·any·field’s·data·by
123 modifying·the·popup·and·to_field·parameters·of·the·query·string·on·an·admin124 modifying·the·popup·and·to_field·parameters·of·the·query·string·on·an·admin
124 change·form·page.·For·example,·requesting·a·URL·like125 change·form·page.·For·example,·requesting·a·URL·like
125 <code·class="docutils·literal·notranslate"><span·class="pre">/admin/auth/user/?pop=1&amp;t=password</span></code>·and·viewing·the·page’s·HTML·allowed126 <code·class="docutils·literal·notranslate"><span·class="pre">/admin/auth/user/?pop=1&amp;t=password</span></code>·and·viewing·the·page’s·HTML·allowed
126 viewing·the·password·hash·of·each·user.·While·the·admin·requires·users·to·have127 viewing·the·password·hash·of·each·user.·While·the·admin·requires·users·to·have
127 permissions·to·view·the·change·form·pages·in·the·first·place,·this·could·leak128 permissions·to·view·the·change·form·pages·in·the·first·place,·this·could·leak
128 data·if·you·rely·on·users·having·access·to·view·only·certain·fields·on·a·model.</p>129 data·if·you·rely·on·users·having·access·to·view·only·certain·fields·on·a·model.</p>
129 <p>To·address·the·issue,·an·exception·will·now·be·raised·if·a·<code·class="docutils·literal·notranslate"><span·class="pre">to_field</span></code>·value130 <p>To·address·the·issue,·an·exception·will·now·be·raised·if·a·<code·class="docutils·literal·notranslate"><span·class="pre">to_field</span></code>·value
130 that·isn’t·a·related·field·to·a·model·that·has·been·registered·with·the·admin131 that·isn’t·a·related·field·to·a·model·that·has·been·registered·with·the·admin
Offset 139, 50 lines modifiedOffset 140, 50 lines modified
139 ······140 ······
140 ········141 ········
141 ··········<div·class="yui-b"·id="sidebar">142 ··········<div·class="yui-b"·id="sidebar">
142 ············143 ············
143 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">144 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
144 ········<div·class="sphinxsidebarwrapper">145 ········<div·class="sphinxsidebarwrapper">
145 ··<div>146 ··<div>
146 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>147 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
147 ····<ul>148 ····<ul>
148 <li><a·class="reference·internal"·href="#">Django·1.4.14·release·notes</a><ul>149 <li><a·class="reference·internal"·href="#">Django·1.4.14·release·notes</a><ul>
149 <li><a·class="reference·internal"·href="#reverse-could-generate-urls-pointing-to-other-hosts"><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·could·generate·URLs·pointing·to·other·hosts</a></li>150 <li><a·class="reference·internal"·href="#reverse-could-generate-urls-pointing-to-other-hosts"><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·could·generate·URLs·pointing·to·other·hosts</a></li>
150 <li><a·class="reference·internal"·href="#file-upload-denial-of-service">File·upload·denial-of-service</a></li>151 <li><a·class="reference·internal"·href="#file-upload-denial-of-service">File·upload·denial-of-service</a></li>
151 <li><a·class="reference·internal"·href="#remoteusermiddleware-session-hijacking"><code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·session·hijacking</a></li>152 <li><a·class="reference·internal"·href="#remoteusermiddleware-session-hijacking"><code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·session·hijacking</a></li>
152 <li><a·class="reference·internal"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin">Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code></a></li>153 <li><a·class="reference·internal"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin">Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code></a></li>
153 </ul>154 </ul>
154 </li>155 </li>
155 </ul>156 </ul>
  
156 ··</div>157 ··</div>
157 ··<div>158 ··<div>
158 ····<h4>Previous·topic</h4>159 ····<h4>Eelmine·teema</h4>
159 ····<p·class="topless"><a·href="1.4.15.html"160 ····<p·class="topless"><a·href="1.4.15.html"
160 ··························title="previous·chapter">Django·1.4.15·release·notes</a></p>161 ··························title="eelmine·jaotis">Django·1.4.15·release·notes</a></p>
161 ··</div>162 ··</div>
162 ··<div>163 ··<div>
163 ····<h4>Next·topic</h4>164 ····<h4>Järgmine·teema</h4>
164 ····<p·class="topless"><a·href="1.4.13.html"165 ····<p·class="topless"><a·href="1.4.13.html"
165 ··························title="next·chapter">Django·1.4.13·release·notes</a></p>166 ··························title="järgmine·jaotis">Django·1.4.13·release·notes</a></p>
166 ··</div>167 ··</div>
167 <search·id="searchbox"·style="display:·none"·role="search">168 <search·id="searchbox"·style="display:·none"·role="search">
168 ··<h3·id="searchlabel">Quick·search</h3>169 ··<h3·id="searchlabel">Kiirotsing</h3>
169 ····<div·class="searchformwrapper">170 ····<div·class="searchformwrapper">
170 ····<form·class="search"·action="../search.html"·method="get">171 ····<form·class="search"·action="../search.html"·method="get">
171 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>172 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
172 ······<input·type="submit"·value="Go"·/>173 ······<input·type="submit"·value="Otsi"·/>
173 ····</form>174 ····</form>
174 ····</div>175 ····</div>
175 </search>176 </search>
176 <script>document.getElementById('searchbox').style.display·=·"block"</script>177 <script>document.getElementById('searchbox').style.display·=·"block"</script>
177 ········</div>178 ········</div>
178 ······</div>179 ······</div>
179 ··············<h3>Last·update:</h3>180 ··············<h3>Last·update:</h3>
180 ··············<p·class="topless">Nov·05,·2024</p>181 ··············<p·class="topless">nov·05,·2024</p>
181 ··········</div>182 ··········</div>
182 ········183 ········
183 ······184 ······
184 ····</div>185 ····</div>
  
185 ····<div·id="ft">186 ····<div·id="ft">
186 ······<div·class="nav">187 ······<div·class="nav">
4.02 KB
html2text {}
Max HTML report size reached
6.08 KB
./usr/share/doc/python-django-doc/html/releases/1.4.15.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.15·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.15·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.14·release·notes"·href="1.4.14.html"·/>15 ····<link·rel="next"·title="Django·1.4.14·release·notes"·href="1.4.14.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.16·release·notes"·href="1.4.16.html"·/>16 ····<link·rel="prev"·title="Django·1.4.16·release·notes"·href="1.4.16.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·1.4.15·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·1.4.15·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="1.4.16.html"115 ····<p·class="topless"><a·href="1.4.16.html"
115 ··························title="previous·chapter">Django·1.4.16·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·1.4.16·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="1.4.14.html"120 ····<p·class="topless"><a·href="1.4.14.html"
120 ··························title="next·chapter">Django·1.4.14·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·1.4.14·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.95 KB
html2text {}
Max HTML report size reached
6.31 KB
./usr/share/doc/python-django-doc/html/releases/1.4.16.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.16·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.16·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.15·release·notes"·href="1.4.15.html"·/>15 ····<link·rel="next"·title="Django·1.4.15·release·notes"·href="1.4.15.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.17·release·notes"·href="1.4.17.html"·/>16 ····<link·rel="prev"·title="Django·1.4.17·release·notes"·href="1.4.17.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·1.4.16·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·1.4.16·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="1.4.17.html"120 ····<p·class="topless"><a·href="1.4.17.html"
120 ··························title="previous·chapter">Django·1.4.17·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·1.4.17·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="1.4.15.html"125 ····<p·class="topless"><a·href="1.4.15.html"
125 ··························title="next·chapter">Django·1.4.15·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·1.4.15·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.17 KB
html2text {}
Max HTML report size reached
6.22 KB
./usr/share/doc/python-django-doc/html/releases/1.4.17.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.17·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.17·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.16·release·notes"·href="1.4.16.html"·/>15 ····<link·rel="next"·title="Django·1.4.16·release·notes"·href="1.4.16.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.18·release·notes"·href="1.4.18.html"·/>16 ····<link·rel="prev"·title="Django·1.4.18·release·notes"·href="1.4.18.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.4.17·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.4.17·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.4.18.html"117 ····<p·class="topless"><a·href="1.4.18.html"
117 ··························title="previous·chapter">Django·1.4.18·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.4.18·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.4.16.html"122 ····<p·class="topless"><a·href="1.4.16.html"
122 ··························title="next·chapter">Django·1.4.16·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.4.16·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.09 KB
html2text {}
Max HTML report size reached
10.9 KB
./usr/share/doc/python-django-doc/html/releases/1.4.18.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.18·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.18·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.17·release·notes"·href="1.4.17.html"·/>15 ····<link·rel="next"·title="Django·1.4.17·release·notes"·href="1.4.17.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.19·release·notes"·href="1.4.19.html"·/>16 ····<link·rel="prev"·title="Django·1.4.19·release·notes"·href="1.4.19.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 15 lines modifiedOffset 104, 15 lines modified
103 recommended·for·production·use,·but·matching·the·behavior·of·common·production104 recommended·for·production·use,·but·matching·the·behavior·of·common·production
104 servers·reduces·the·surface·area·for·behavior·changes·during·deployment.</p>105 servers·reduces·the·surface·area·for·behavior·changes·during·deployment.</p>
105 </section>106 </section>
106 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">107 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">
107 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>108 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
108 <p>Django·relies·on·user·input·in·some·cases·(e.g.109 <p>Django·relies·on·user·input·in·some·cases·(e.g.
109 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)110 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
110 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these111 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these
111 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·strip·leading112 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·strip·leading
112 whitespace·on·the·tested·URL·and·as·such·considered·URLs·like113 whitespace·on·the·tested·URL·and·as·such·considered·URLs·like
113 <code·class="docutils·literal·notranslate"><span·class="pre">\njavascript:...</span></code>·safe.·If·a·developer·relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to114 <code·class="docutils·literal·notranslate"><span·class="pre">\njavascript:...</span></code>·safe.·If·a·developer·relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to
114 provide·safe·redirect·targets·and·put·such·a·URL·into·a·link,·they·could·suffer115 provide·safe·redirect·targets·and·put·such·a·URL·into·a·link,·they·could·suffer
115 from·a·XSS·attack.·This·bug·doesn’t·affect·Django·currently,·since·we·only·put116 from·a·XSS·attack.·This·bug·doesn’t·affect·Django·currently,·since·we·only·put
116 this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore117 this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore
117 JavaScript·there.</p>118 JavaScript·there.</p>
Offset 146, 50 lines modifiedOffset 147, 50 lines modified
146 ······147 ······
147 ········148 ········
148 ··········<div·class="yui-b"·id="sidebar">149 ··········<div·class="yui-b"·id="sidebar">
149 ············150 ············
150 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">151 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
151 ········<div·class="sphinxsidebarwrapper">152 ········<div·class="sphinxsidebarwrapper">
152 ··<div>153 ··<div>
153 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>154 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
154 ····<ul>155 ····<ul>
155 <li><a·class="reference·internal"·href="#">Django·1.4.18·release·notes</a><ul>156 <li><a·class="reference·internal"·href="#">Django·1.4.18·release·notes</a><ul>
156 <li><a·class="reference·internal"·href="#wsgi-header-spoofing-via-underscore-dash-conflation">WSGI·header·spoofing·via·underscore/dash·conflation</a></li>157 <li><a·class="reference·internal"·href="#wsgi-header-spoofing-via-underscore-dash-conflation">WSGI·header·spoofing·via·underscore/dash·conflation</a></li>
157 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>158 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>
158 <li><a·class="reference·internal"·href="#denial-of-service-attack-against-django-views-static-serve">Denial-of-service·attack·against·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve</span></code></a></li>159 <li><a·class="reference·internal"·href="#denial-of-service-attack-against-django-views-static-serve">Denial-of-service·attack·against·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve</span></code></a></li>
159 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>160 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
160 </ul>161 </ul>
161 </li>162 </li>
162 </ul>163 </ul>
  
163 ··</div>164 ··</div>
164 ··<div>165 ··<div>
165 ····<h4>Previous·topic</h4>166 ····<h4>Eelmine·teema</h4>
166 ····<p·class="topless"><a·href="1.4.19.html"167 ····<p·class="topless"><a·href="1.4.19.html"
167 ··························title="previous·chapter">Django·1.4.19·release·notes</a></p>168 ··························title="eelmine·jaotis">Django·1.4.19·release·notes</a></p>
168 ··</div>169 ··</div>
169 ··<div>170 ··<div>
170 ····<h4>Next·topic</h4>171 ····<h4>Järgmine·teema</h4>
171 ····<p·class="topless"><a·href="1.4.17.html"172 ····<p·class="topless"><a·href="1.4.17.html"
172 ··························title="next·chapter">Django·1.4.17·release·notes</a></p>173 ··························title="järgmine·jaotis">Django·1.4.17·release·notes</a></p>
173 ··</div>174 ··</div>
174 <search·id="searchbox"·style="display:·none"·role="search">175 <search·id="searchbox"·style="display:·none"·role="search">
175 ··<h3·id="searchlabel">Quick·search</h3>176 ··<h3·id="searchlabel">Kiirotsing</h3>
176 ····<div·class="searchformwrapper">177 ····<div·class="searchformwrapper">
177 ····<form·class="search"·action="../search.html"·method="get">178 ····<form·class="search"·action="../search.html"·method="get">
178 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>179 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
179 ······<input·type="submit"·value="Go"·/>180 ······<input·type="submit"·value="Otsi"·/>
180 ····</form>181 ····</form>
181 ····</div>182 ····</div>
182 </search>183 </search>
183 <script>document.getElementById('searchbox').style.display·=·"block"</script>184 <script>document.getElementById('searchbox').style.display·=·"block"</script>
184 ········</div>185 ········</div>
185 ······</div>186 ······</div>
186 ··············<h3>Last·update:</h3>187 ··············<h3>Last·update:</h3>
187 ··············<p·class="topless">Nov·05,·2024</p>188 ··············<p·class="topless">nov·05,·2024</p>
188 ··········</div>189 ··········</div>
189 ········190 ········
190 ······191 ······
191 ····</div>192 ····</div>
  
192 ····<div·id="ft">193 ····<div·id="ft">
193 ······<div·class="nav">194 ······<div·class="nav">
4.54 KB
html2text {}
Max HTML report size reached
6.32 KB
./usr/share/doc/python-django-doc/html/releases/1.4.19.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.19·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.19·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.18·release·notes"·href="1.4.18.html"·/>15 ····<link·rel="next"·title="Django·1.4.18·release·notes"·href="1.4.18.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.20·release·notes"·href="1.4.20.html"·/>16 ····<link·rel="prev"·title="Django·1.4.20·release·notes"·href="1.4.20.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 100, 47 lines modifiedOffset 101, 47 lines modified
100 ······101 ······
101 ········102 ········
102 ··········<div·class="yui-b"·id="sidebar">103 ··········<div·class="yui-b"·id="sidebar">
103 ············104 ············
104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
105 ········<div·class="sphinxsidebarwrapper">106 ········<div·class="sphinxsidebarwrapper">
106 ··<div>107 ··<div>
107 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>108 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
108 ····<ul>109 ····<ul>
109 <li><a·class="reference·internal"·href="#">Django·1.4.19·release·notes</a><ul>110 <li><a·class="reference·internal"·href="#">Django·1.4.19·release·notes</a><ul>
110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>111 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
111 </ul>112 </ul>
112 </li>113 </li>
113 </ul>114 </ul>
  
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Previous·topic</h4>117 ····<h4>Eelmine·teema</h4>
117 ····<p·class="topless"><a·href="1.4.20.html"118 ····<p·class="topless"><a·href="1.4.20.html"
118 ··························title="previous·chapter">Django·1.4.20·release·notes</a></p>119 ··························title="eelmine·jaotis">Django·1.4.20·release·notes</a></p>
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Next·topic</h4>122 ····<h4>Järgmine·teema</h4>
122 ····<p·class="topless"><a·href="1.4.18.html"123 ····<p·class="topless"><a·href="1.4.18.html"
123 ··························title="next·chapter">Django·1.4.18·release·notes</a></p>124 ··························title="järgmine·jaotis">Django·1.4.18·release·notes</a></p>
124 ··</div>125 ··</div>
125 <search·id="searchbox"·style="display:·none"·role="search">126 <search·id="searchbox"·style="display:·none"·role="search">
126 ··<h3·id="searchlabel">Quick·search</h3>127 ··<h3·id="searchlabel">Kiirotsing</h3>
127 ····<div·class="searchformwrapper">128 ····<div·class="searchformwrapper">
128 ····<form·class="search"·action="../search.html"·method="get">129 ····<form·class="search"·action="../search.html"·method="get">
129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
130 ······<input·type="submit"·value="Go"·/>131 ······<input·type="submit"·value="Otsi"·/>
131 ····</form>132 ····</form>
132 ····</div>133 ····</div>
133 </search>134 </search>
134 <script>document.getElementById('searchbox').style.display·=·"block"</script>135 <script>document.getElementById('searchbox').style.display·=·"block"</script>
135 ········</div>136 ········</div>
136 ······</div>137 ······</div>
137 ··············<h3>Last·update:</h3>138 ··············<h3>Last·update:</h3>
138 ··············<p·class="topless">Nov·05,·2024</p>139 ··············<p·class="topless">nov·05,·2024</p>
139 ··········</div>140 ··········</div>
140 ········141 ········
141 ······142 ······
142 ····</div>143 ····</div>
  
143 ····<div·id="ft">144 ····<div·id="ft">
144 ······<div·class="nav">145 ······<div·class="nav">
2.19 KB
html2text {}
Max HTML report size reached
6.88 KB
./usr/share/doc/python-django-doc/html/releases/1.4.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.1·release·notes"·href="1.4.1.html"·/>15 ····<link·rel="next"·title="Django·1.4.1·release·notes"·href="1.4.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.3·release·notes"·href="1.4.3.html"·/>16 ····<link·rel="prev"·title="Django·1.4.3·release·notes"·href="1.4.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 135, 49 lines modifiedOffset 136, 49 lines modified
135 ······136 ······
136 ········137 ········
137 ··········<div·class="yui-b"·id="sidebar">138 ··········<div·class="yui-b"·id="sidebar">
138 ············139 ············
139 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">140 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
140 ········<div·class="sphinxsidebarwrapper">141 ········<div·class="sphinxsidebarwrapper">
141 ··<div>142 ··<div>
142 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>143 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
143 ····<ul>144 ····<ul>
144 <li><a·class="reference·internal"·href="#">Django·1.4.2·release·notes</a><ul>145 <li><a·class="reference·internal"·href="#">Django·1.4.2·release·notes</a><ul>
145 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>146 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>
146 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a></li>147 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a></li>
147 <li><a·class="reference·internal"·href="#other-bugfixes-and-changes">Other·bugfixes·and·changes</a></li>148 <li><a·class="reference·internal"·href="#other-bugfixes-and-changes">Other·bugfixes·and·changes</a></li>
148 </ul>149 </ul>
149 </li>150 </li>
150 </ul>151 </ul>
  
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Previous·topic</h4>154 ····<h4>Eelmine·teema</h4>
154 ····<p·class="topless"><a·href="1.4.3.html"155 ····<p·class="topless"><a·href="1.4.3.html"
155 ··························title="previous·chapter">Django·1.4.3·release·notes</a></p>156 ··························title="eelmine·jaotis">Django·1.4.3·release·notes</a></p>
156 ··</div>157 ··</div>
157 ··<div>158 ··<div>
158 ····<h4>Next·topic</h4>159 ····<h4>Järgmine·teema</h4>
159 ····<p·class="topless"><a·href="1.4.1.html"160 ····<p·class="topless"><a·href="1.4.1.html"
160 ··························title="next·chapter">Django·1.4.1·release·notes</a></p>161 ··························title="järgmine·jaotis">Django·1.4.1·release·notes</a></p>
161 ··</div>162 ··</div>
162 <search·id="searchbox"·style="display:·none"·role="search">163 <search·id="searchbox"·style="display:·none"·role="search">
163 ··<h3·id="searchlabel">Quick·search</h3>164 ··<h3·id="searchlabel">Kiirotsing</h3>
164 ····<div·class="searchformwrapper">165 ····<div·class="searchformwrapper">
165 ····<form·class="search"·action="../search.html"·method="get">166 ····<form·class="search"·action="../search.html"·method="get">
166 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>167 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
167 ······<input·type="submit"·value="Go"·/>168 ······<input·type="submit"·value="Otsi"·/>
168 ····</form>169 ····</form>
169 ····</div>170 ····</div>
170 </search>171 </search>
171 <script>document.getElementById('searchbox').style.display·=·"block"</script>172 <script>document.getElementById('searchbox').style.display·=·"block"</script>
172 ········</div>173 ········</div>
173 ······</div>174 ······</div>
174 ··············<h3>Last·update:</h3>175 ··············<h3>Last·update:</h3>
175 ··············<p·class="topless">Nov·05,·2024</p>176 ··············<p·class="topless">nov·05,·2024</p>
176 ··········</div>177 ··········</div>
177 ········178 ········
178 ······179 ······
179 ····</div>180 ····</div>
  
180 ····<div·id="ft">181 ····<div·id="ft">
181 ······<div·class="nav">182 ······<div·class="nav">
2.52 KB
html2text {}
Max HTML report size reached
9.15 KB
./usr/share/doc/python-django-doc/html/releases/1.4.20.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.20·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.20·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.19·release·notes"·href="1.4.19.html"·/>15 ····<link·rel="next"·title="Django·1.4.19·release·notes"·href="1.4.19.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.21·release·notes"·href="1.4.21.html"·/>16 ····<link·rel="prev"·title="Django·1.4.21·release·notes"·href="1.4.21.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="django-1-4-20-release-notes"></span><h1>Django·1.4.20·release·notes<a·class="headerlink"·href="#django-1-4-20-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-4-20-release-notes"></span><h1>Django·1.4.20·release·notes<a·class="headerlink"·href="#django-1-4-20-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>March·18,·2015</em></p>83 <p><em>March·18,·2015</em></p>
83 <p>Django·1.4.20·fixes·one·security·issue·in·1.4.19.</p>84 <p>Django·1.4.20·fixes·one·security·issue·in·1.4.19.</p>
84 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">85 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">
85 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>86 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
86 <p>Django·relies·on·user·input·in·some·cases·(e.g.87 <p>Django·relies·on·user·input·in·some·cases·(e.g.
87 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)88 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
88 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these89 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these
89 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·accepted·URLs·with90 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·accepted·URLs·with
90 leading·control·characters·and·so·considered·URLs·like·<code·class="docutils·literal·notranslate"><span·class="pre">\x08javascript:...</span></code>91 leading·control·characters·and·so·considered·URLs·like·<code·class="docutils·literal·notranslate"><span·class="pre">\x08javascript:...</span></code>
91 safe.·This·issue·doesn’t·affect·Django·currently,·since·we·only·put·this·URL92 safe.·This·issue·doesn’t·affect·Django·currently,·since·we·only·put·this·URL
92 into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore·JavaScript93 into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore·JavaScript
93 there.·Browsers·we·tested·also·treat·URLs·prefixed·with·control·characters·such94 there.·Browsers·we·tested·also·treat·URLs·prefixed·with·control·characters·such
94 as·<code·class="docutils·literal·notranslate"><span·class="pre">%08//example.com</span></code>·as·relative·paths·so·redirection·to·an·unsafe·target95 as·<code·class="docutils·literal·notranslate"><span·class="pre">%08//example.com</span></code>·as·relative·paths·so·redirection·to·an·unsafe·target
95 isn’t·a·problem·either.</p>96 isn’t·a·problem·either.</p>
Offset 107, 47 lines modifiedOffset 108, 47 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>115 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
115 ····<ul>116 ····<ul>
116 <li><a·class="reference·internal"·href="#">Django·1.4.20·release·notes</a><ul>117 <li><a·class="reference·internal"·href="#">Django·1.4.20·release·notes</a><ul>
117 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>118 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="1.4.21.html"125 ····<p·class="topless"><a·href="1.4.21.html"
125 ··························title="previous·chapter">Django·1.4.21·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·1.4.21·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="1.4.19.html"130 ····<p·class="topless"><a·href="1.4.19.html"
130 ··························title="next·chapter">Django·1.4.19·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·1.4.19·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
3.11 KB
html2text {}
Max HTML report size reached
9.67 KB
./usr/share/doc/python-django-doc/html/releases/1.4.21.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.21·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.21·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.20·release·notes"·href="1.4.20.html"·/>15 ····<link·rel="next"·title="Django·1.4.20·release·notes"·href="1.4.20.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.22·release·notes"·href="1.4.22.html"·/>16 ····<link·rel="prev"·title="Django·1.4.22·release·notes"·href="1.4.22.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 15 lines modifiedOffset 85, 15 lines modified
84 <section·id="s-denial-of-service-possibility-by-filling-session-store">85 <section·id="s-denial-of-service-possibility-by-filling-session-store">
85 <span·id="denial-of-service-possibility-by-filling-session-store"></span><h2>Denial-of-service·possibility·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>86 <span·id="denial-of-service-possibility-by-filling-session-store"></span><h2>Denial-of-service·possibility·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>
86 <p>In·previous·versions·of·Django,·the·session·backends·created·a·new·empty·record87 <p>In·previous·versions·of·Django,·the·session·backends·created·a·new·empty·record
87 in·the·session·storage·anytime·<code·class="docutils·literal·notranslate"><span·class="pre">request.session</span></code>·was·accessed·and·there·was·a88 in·the·session·storage·anytime·<code·class="docutils·literal·notranslate"><span·class="pre">request.session</span></code>·was·accessed·and·there·was·a
88 session·key·provided·in·the·request·cookies·that·didn’t·already·have·a·session89 session·key·provided·in·the·request·cookies·that·didn’t·already·have·a·session
89 record.·This·could·allow·an·attacker·to·easily·create·many·new·session·records90 record.·This·could·allow·an·attacker·to·easily·create·many·new·session·records
90 simply·by·sending·repeated·requests·with·unknown·session·keys,·potentially91 simply·by·sending·repeated·requests·with·unknown·session·keys,·potentially
91 filling·up·the·session·store·or·causing·other·users·session·records·to·be92 filling·up·the·session·store·or·causing·other·users·session·records·to·be
92 evicted.</p>93 evicted.</p>
93 <p>The·built-in·session·backends·now·create·a·session·record·only·if·the·session94 <p>The·built-in·session·backends·now·create·a·session·record·only·if·the·session
94 is·actually·modified;·empty·session·records·are·not·created.·Thus·this95 is·actually·modified;·empty·session·records·are·not·created.·Thus·this
95 potential·DoS·is·now·only·possible·if·the·site·chooses·to·expose·a96 potential·DoS·is·now·only·possible·if·the·site·chooses·to·expose·a
96 session-modifying·view·to·anonymous·users.</p>97 session-modifying·view·to·anonymous·users.</p>
97 <p>As·each·built-in·session·backend·was·fixed·separately·(rather·than·a·fix·in·the98 <p>As·each·built-in·session·backend·was·fixed·separately·(rather·than·a·fix·in·the
98 core·sessions·framework),·maintainers·of·third-party·session·backends·should99 core·sessions·framework),·maintainers·of·third-party·session·backends·should
Offset 131, 48 lines modifiedOffset 132, 48 lines modified
131 ······132 ······
132 ········133 ········
133 ··········<div·class="yui-b"·id="sidebar">134 ··········<div·class="yui-b"·id="sidebar">
134 ············135 ············
135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
136 ········<div·class="sphinxsidebarwrapper">137 ········<div·class="sphinxsidebarwrapper">
137 ··<div>138 ··<div>
138 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>139 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
139 ····<ul>140 ····<ul>
140 <li><a·class="reference·internal"·href="#">Django·1.4.21·release·notes</a><ul>141 <li><a·class="reference·internal"·href="#">Django·1.4.21·release·notes</a><ul>
141 <li><a·class="reference·internal"·href="#denial-of-service-possibility-by-filling-session-store">Denial-of-service·possibility·by·filling·session·store</a></li>142 <li><a·class="reference·internal"·href="#denial-of-service-possibility-by-filling-session-store">Denial-of-service·possibility·by·filling·session·store</a></li>
142 <li><a·class="reference·internal"·href="#header-injection-possibility-since-validators-accept-newlines-in-input">Header·injection·possibility·since·validators·accept·newlines·in·input</a></li>143 <li><a·class="reference·internal"·href="#header-injection-possibility-since-validators-accept-newlines-in-input">Header·injection·possibility·since·validators·accept·newlines·in·input</a></li>
143 </ul>144 </ul>
144 </li>145 </li>
145 </ul>146 </ul>
  
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Previous·topic</h4>149 ····<h4>Eelmine·teema</h4>
149 ····<p·class="topless"><a·href="1.4.22.html"150 ····<p·class="topless"><a·href="1.4.22.html"
150 ··························title="previous·chapter">Django·1.4.22·release·notes</a></p>151 ··························title="eelmine·jaotis">Django·1.4.22·release·notes</a></p>
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Next·topic</h4>154 ····<h4>Järgmine·teema</h4>
154 ····<p·class="topless"><a·href="1.4.20.html"155 ····<p·class="topless"><a·href="1.4.20.html"
155 ··························title="next·chapter">Django·1.4.20·release·notes</a></p>156 ··························title="järgmine·jaotis">Django·1.4.20·release·notes</a></p>
156 ··</div>157 ··</div>
157 <search·id="searchbox"·style="display:·none"·role="search">158 <search·id="searchbox"·style="display:·none"·role="search">
158 ··<h3·id="searchlabel">Quick·search</h3>159 ··<h3·id="searchlabel">Kiirotsing</h3>
159 ····<div·class="searchformwrapper">160 ····<div·class="searchformwrapper">
160 ····<form·class="search"·action="../search.html"·method="get">161 ····<form·class="search"·action="../search.html"·method="get">
161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>162 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
162 ······<input·type="submit"·value="Go"·/>163 ······<input·type="submit"·value="Otsi"·/>
163 ····</form>164 ····</form>
164 ····</div>165 ····</div>
165 </search>166 </search>
166 <script>document.getElementById('searchbox').style.display·=·"block"</script>167 <script>document.getElementById('searchbox').style.display·=·"block"</script>
167 ········</div>168 ········</div>
168 ······</div>169 ······</div>
169 ··············<h3>Last·update:</h3>170 ··············<h3>Last·update:</h3>
170 ··············<p·class="topless">Nov·05,·2024</p>171 ··············<p·class="topless">nov·05,·2024</p>
171 ··········</div>172 ··········</div>
172 ········173 ········
173 ······174 ······
174 ····</div>175 ····</div>
  
175 ····<div·id="ft">176 ····<div·id="ft">
176 ······<div·class="nav">177 ······<div·class="nav">
3.87 KB
html2text {}
Max HTML report size reached
9.96 KB
./usr/share/doc/python-django-doc/html/releases/1.4.22.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.22·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.22·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.21·release·notes"·href="1.4.21.html"·/>15 ····<link·rel="next"·title="Django·1.4.21·release·notes"·href="1.4.21.html"·/>
15 ····<link·rel="prev"·title="Django·1.5·release·notes"·href="1.5.html"·/>16 ····<link·rel="prev"·title="Django·1.5·release·notes"·href="1.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 87, 15 lines modifiedOffset 88, 15 lines modified
87 <section·id="s-denial-of-service-possibility-in-logout-view-by-filling-session-store">88 <section·id="s-denial-of-service-possibility-in-logout-view-by-filling-session-store">
88 <span·id="denial-of-service-possibility-in-logout-view-by-filling-session-store"></span><h2>Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>89 <span·id="denial-of-service-possibility-in-logout-view-by-filling-session-store"></span><h2>Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>
89 <p>Previously,·a·session·could·be·created·when·anonymously·accessing·the90 <p>Previously,·a·session·could·be·created·when·anonymously·accessing·the
90 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view·(provided·it·wasn’t·decorated91 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view·(provided·it·wasn’t·decorated
91 with·<a·class="reference·internal"·href="../topics/auth/default.html#django.contrib.auth.decorators.login_required"·title="django.contrib.auth.decorators.login_required"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login_required()</span></code></a>·as·done·in·the92 with·<a·class="reference·internal"·href="../topics/auth/default.html#django.contrib.auth.decorators.login_required"·title="django.contrib.auth.decorators.login_required"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login_required()</span></code></a>·as·done·in·the
92 admin).·This·could·allow·an·attacker·to·easily·create·many·new·session·records93 admin).·This·could·allow·an·attacker·to·easily·create·many·new·session·records
93 by·sending·repeated·requests,·potentially·filling·up·the·session·store·or94 by·sending·repeated·requests,·potentially·filling·up·the·session·store·or
94 causing·other·users·session·records·to·be·evicted.</p>95 causing·other·users·session·records·to·be·evicted.</p>
95 <p>The·<a·class="reference·internal"·href="../ref/middleware.html#django.contrib.sessions.middleware.SessionMiddleware"·title="django.contrib.sessions.middleware.SessionMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SessionMiddleware</span></code></a>·has·been96 <p>The·<a·class="reference·internal"·href="../ref/middleware.html#django.contrib.sessions.middleware.SessionMiddleware"·title="django.contrib.sessions.middleware.SessionMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SessionMiddleware</span></code></a>·has·been
96 modified·to·no·longer·create·empty·session·records,·including·when97 modified·to·no·longer·create·empty·session·records,·including·when
97 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_SAVE_EVERY_REQUEST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SAVE_EVERY_REQUEST</span></code></a>·is·active.</p>98 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_SAVE_EVERY_REQUEST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SAVE_EVERY_REQUEST</span></code></a>·is·active.</p>
98 <p>Additionally,·the·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.sessions.backends.base.SessionBase.flush()</span></code>·and99 <p>Additionally,·the·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.sessions.backends.base.SessionBase.flush()</span></code>·and
99 <code·class="docutils·literal·notranslate"><span·class="pre">cache_db.SessionStore.flush()</span></code>·methods·have·been·modified·to·avoid·creating100 <code·class="docutils·literal·notranslate"><span·class="pre">cache_db.SessionStore.flush()</span></code>·methods·have·been·modified·to·avoid·creating
100 a·new·empty·session.·Maintainers·of·third-party·session·backends·should·check101 a·new·empty·session.·Maintainers·of·third-party·session·backends·should·check
101 if·the·same·vulnerability·is·present·in·their·backend·and·correct·it·if·so.</p>102 if·the·same·vulnerability·is·present·in·their·backend·and·correct·it·if·so.</p>
Offset 109, 47 lines modifiedOffset 110, 47 lines modified
109 ······110 ······
110 ········111 ········
111 ··········<div·class="yui-b"·id="sidebar">112 ··········<div·class="yui-b"·id="sidebar">
112 ············113 ············
113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
114 ········<div·class="sphinxsidebarwrapper">115 ········<div·class="sphinxsidebarwrapper">
115 ··<div>116 ··<div>
116 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>117 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
117 ····<ul>118 ····<ul>
118 <li><a·class="reference·internal"·href="#">Django·1.4.22·release·notes</a><ul>119 <li><a·class="reference·internal"·href="#">Django·1.4.22·release·notes</a><ul>
119 <li><a·class="reference·internal"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store">Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store</a></li>120 <li><a·class="reference·internal"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store">Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store</a></li>
120 </ul>121 </ul>
121 </li>122 </li>
122 </ul>123 </ul>
  
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Previous·topic</h4>126 ····<h4>Eelmine·teema</h4>
126 ····<p·class="topless"><a·href="1.5.html"127 ····<p·class="topless"><a·href="1.5.html"
127 ··························title="previous·chapter">Django·1.5·release·notes</a></p>128 ··························title="eelmine·jaotis">Django·1.5·release·notes</a></p>
128 ··</div>129 ··</div>
129 ··<div>130 ··<div>
130 ····<h4>Next·topic</h4>131 ····<h4>Järgmine·teema</h4>
131 ····<p·class="topless"><a·href="1.4.21.html"132 ····<p·class="topless"><a·href="1.4.21.html"
132 ··························title="next·chapter">Django·1.4.21·release·notes</a></p>133 ··························title="järgmine·jaotis">Django·1.4.21·release·notes</a></p>
133 ··</div>134 ··</div>
134 <search·id="searchbox"·style="display:·none"·role="search">135 <search·id="searchbox"·style="display:·none"·role="search">
135 ··<h3·id="searchlabel">Quick·search</h3>136 ··<h3·id="searchlabel">Kiirotsing</h3>
136 ····<div·class="searchformwrapper">137 ····<div·class="searchformwrapper">
137 ····<form·class="search"·action="../search.html"·method="get">138 ····<form·class="search"·action="../search.html"·method="get">
138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
139 ······<input·type="submit"·value="Go"·/>140 ······<input·type="submit"·value="Otsi"·/>
140 ····</form>141 ····</form>
141 ····</div>142 ····</div>
142 </search>143 </search>
143 <script>document.getElementById('searchbox').style.display·=·"block"</script>144 <script>document.getElementById('searchbox').style.display·=·"block"</script>
144 ········</div>145 ········</div>
145 ······</div>146 ······</div>
146 ··············<h3>Last·update:</h3>147 ··············<h3>Last·update:</h3>
147 ··············<p·class="topless">Nov·05,·2024</p>148 ··············<p·class="topless">nov·05,·2024</p>
148 ··········</div>149 ··········</div>
149 ········150 ········
150 ······151 ······
151 ····</div>152 ····</div>
  
152 ····<div·id="ft">153 ····<div·id="ft">
153 ······<div·class="nav">154 ······<div·class="nav">
3.35 KB
html2text {}
Max HTML report size reached
9.15 KB
./usr/share/doc/python-django-doc/html/releases/1.4.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.2·release·notes"·href="1.4.2.html"·/>15 ····<link·rel="next"·title="Django·1.4.2·release·notes"·href="1.4.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.4·release·notes"·href="1.4.4.html"·/>16 ····<link·rel="prev"·title="Django·1.4.4·release·notes"·href="1.4.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 94, 16 lines modifiedOffset 95, 16 lines modified
94 potentially-malicious·domains.</p>95 potentially-malicious·domains.</p>
95 <p>In·response·to·further·input·received·and·reports·of·continuing·issues96 <p>In·response·to·further·input·received·and·reports·of·continuing·issues
96 following·the·previous·release,·we’re·taking·additional·steps·to·tighten·Host97 following·the·previous·release,·we’re·taking·additional·steps·to·tighten·Host
97 header·validation.·Rather·than·attempt·to·accommodate·all·features·HTTP98 header·validation.·Rather·than·attempt·to·accommodate·all·features·HTTP
98 supports·here,·Django’s·Host·header·validation·attempts·to·support·a·smaller,99 supports·here,·Django’s·Host·header·validation·attempts·to·support·a·smaller,
99 but·far·more·common,·subset:</p>100 but·far·more·common,·subset:</p>
100 <ul·class="simple">101 <ul·class="simple">
101 <li><p>Hostnames·must·consist·of·characters·<code·class="docutils·literal·notranslate"><span·class="pre">[A-Za-z0-9]</span></code>·plus·hyphen·(-)·or·dot102 <li><p>Hostnames·must·consist·of·characters·<code·class="docutils·literal·notranslate"><span·class="pre">[A-Za-z0-9]</span></code>·plus·hyphen·(-)·or·dot
102 (.).</p></li>103 (.).</p></li>
103 <li><p>IP·addresses··both·IPv4·and·IPv6··are·permitted.</p></li>104 <li><p>IP·addresses··both·IPv4·and·IPv6··are·permitted.</p></li>
104 <li><p>Port,·if·specified,·is·numeric.</p></li>105 <li><p>Port,·if·specified,·is·numeric.</p></li>
105 </ul>106 </ul>
106 <p>Any·deviation·from·this·will·now·be·rejected,·raising·the·exception107 <p>Any·deviation·from·this·will·now·be·rejected,·raising·the·exception
107 <a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.SuspiciousOperation"·title="django.core.exceptions.SuspiciousOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">django.core.exceptions.SuspiciousOperation</span></code></a>.</p>108 <a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.SuspiciousOperation"·title="django.core.exceptions.SuspiciousOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">django.core.exceptions.SuspiciousOperation</span></code></a>.</p>
108 </section>109 </section>
109 <section·id="s-redirect-poisoning">110 <section·id="s-redirect-poisoning">
Offset 136, 48 lines modifiedOffset 137, 48 lines modified
136 ······137 ······
137 ········138 ········
138 ··········<div·class="yui-b"·id="sidebar">139 ··········<div·class="yui-b"·id="sidebar">
139 ············140 ············
140 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">141 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
141 ········<div·class="sphinxsidebarwrapper">142 ········<div·class="sphinxsidebarwrapper">
142 ··<div>143 ··<div>
143 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>144 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
144 ····<ul>145 ····<ul>
145 <li><a·class="reference·internal"·href="#">Django·1.4.3·release·notes</a><ul>146 <li><a·class="reference·internal"·href="#">Django·1.4.3·release·notes</a><ul>
146 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>147 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>
147 <li><a·class="reference·internal"·href="#redirect-poisoning">Redirect·poisoning</a></li>148 <li><a·class="reference·internal"·href="#redirect-poisoning">Redirect·poisoning</a></li>
148 </ul>149 </ul>
149 </li>150 </li>
150 </ul>151 </ul>
  
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Previous·topic</h4>154 ····<h4>Eelmine·teema</h4>
154 ····<p·class="topless"><a·href="1.4.4.html"155 ····<p·class="topless"><a·href="1.4.4.html"
155 ··························title="previous·chapter">Django·1.4.4·release·notes</a></p>156 ··························title="eelmine·jaotis">Django·1.4.4·release·notes</a></p>
156 ··</div>157 ··</div>
157 ··<div>158 ··<div>
158 ····<h4>Next·topic</h4>159 ····<h4>Järgmine·teema</h4>
159 ····<p·class="topless"><a·href="1.4.2.html"160 ····<p·class="topless"><a·href="1.4.2.html"
160 ··························title="next·chapter">Django·1.4.2·release·notes</a></p>161 ··························title="järgmine·jaotis">Django·1.4.2·release·notes</a></p>
161 ··</div>162 ··</div>
162 <search·id="searchbox"·style="display:·none"·role="search">163 <search·id="searchbox"·style="display:·none"·role="search">
163 ··<h3·id="searchlabel">Quick·search</h3>164 ··<h3·id="searchlabel">Kiirotsing</h3>
164 ····<div·class="searchformwrapper">165 ····<div·class="searchformwrapper">
165 ····<form·class="search"·action="../search.html"·method="get">166 ····<form·class="search"·action="../search.html"·method="get">
166 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>167 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
167 ······<input·type="submit"·value="Go"·/>168 ······<input·type="submit"·value="Otsi"·/>
168 ····</form>169 ····</form>
169 ····</div>170 ····</div>
170 </search>171 </search>
171 <script>document.getElementById('searchbox').style.display·=·"block"</script>172 <script>document.getElementById('searchbox').style.display·=·"block"</script>
172 ········</div>173 ········</div>
173 ······</div>174 ······</div>
174 ··············<h3>Last·update:</h3>175 ··············<h3>Last·update:</h3>
175 ··············<p·class="topless">Nov·05,·2024</p>176 ··············<p·class="topless">nov·05,·2024</p>
176 ··········</div>177 ··········</div>
177 ········178 ········
178 ······179 ······
179 ····</div>180 ····</div>
  
180 ····<div·id="ft">181 ····<div·id="ft">
181 ······<div·class="nav">182 ······<div·class="nav">
3.64 KB
html2text {}
Max HTML report size reached
7.32 KB
./usr/share/doc/python-django-doc/html/releases/1.4.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.3·release·notes"·href="1.4.3.html"·/>15 ····<link·rel="next"·title="Django·1.4.3·release·notes"·href="1.4.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.5·release·notes"·href="1.4.5.html"·/>16 ····<link·rel="prev"·title="Django·1.4.5·release·notes"·href="1.4.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 154, 51 lines modifiedOffset 155, 51 lines modified
154 ······155 ······
155 ········156 ········
156 ··········<div·class="yui-b"·id="sidebar">157 ··········<div·class="yui-b"·id="sidebar">
157 ············158 ············
158 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">159 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
159 ········<div·class="sphinxsidebarwrapper">160 ········<div·class="sphinxsidebarwrapper">
160 ··<div>161 ··<div>
161 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>162 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
162 ····<ul>163 ····<ul>
163 <li><a·class="reference·internal"·href="#">Django·1.4.4·release·notes</a><ul>164 <li><a·class="reference·internal"·href="#">Django·1.4.4·release·notes</a><ul>
164 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>165 <li><a·class="reference·internal"·href="#host-header-poisoning">Host·header·poisoning</a></li>
165 <li><a·class="reference·internal"·href="#xml-deserialization">XML·deserialization</a></li>166 <li><a·class="reference·internal"·href="#xml-deserialization">XML·deserialization</a></li>
166 <li><a·class="reference·internal"·href="#formset-memory-exhaustion">Formset·memory·exhaustion</a></li>167 <li><a·class="reference·internal"·href="#formset-memory-exhaustion">Formset·memory·exhaustion</a></li>
167 <li><a·class="reference·internal"·href="#admin-history-view-information-leakage">Admin·history·view·information·leakage</a></li>168 <li><a·class="reference·internal"·href="#admin-history-view-information-leakage">Admin·history·view·information·leakage</a></li>
168 <li><a·class="reference·internal"·href="#other-bugfixes-and-changes">Other·bugfixes·and·changes</a></li>169 <li><a·class="reference·internal"·href="#other-bugfixes-and-changes">Other·bugfixes·and·changes</a></li>
169 </ul>170 </ul>
170 </li>171 </li>
171 </ul>172 </ul>
  
172 ··</div>173 ··</div>
173 ··<div>174 ··<div>
174 ····<h4>Previous·topic</h4>175 ····<h4>Eelmine·teema</h4>
175 ····<p·class="topless"><a·href="1.4.5.html"176 ····<p·class="topless"><a·href="1.4.5.html"
176 ··························title="previous·chapter">Django·1.4.5·release·notes</a></p>177 ··························title="eelmine·jaotis">Django·1.4.5·release·notes</a></p>
177 ··</div>178 ··</div>
178 ··<div>179 ··<div>
179 ····<h4>Next·topic</h4>180 ····<h4>Järgmine·teema</h4>
180 ····<p·class="topless"><a·href="1.4.3.html"181 ····<p·class="topless"><a·href="1.4.3.html"
181 ··························title="next·chapter">Django·1.4.3·release·notes</a></p>182 ··························title="järgmine·jaotis">Django·1.4.3·release·notes</a></p>
182 ··</div>183 ··</div>
183 <search·id="searchbox"·style="display:·none"·role="search">184 <search·id="searchbox"·style="display:·none"·role="search">
184 ··<h3·id="searchlabel">Quick·search</h3>185 ··<h3·id="searchlabel">Kiirotsing</h3>
185 ····<div·class="searchformwrapper">186 ····<div·class="searchformwrapper">
186 ····<form·class="search"·action="../search.html"·method="get">187 ····<form·class="search"·action="../search.html"·method="get">
187 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>188 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
188 ······<input·type="submit"·value="Go"·/>189 ······<input·type="submit"·value="Otsi"·/>
189 ····</form>190 ····</form>
190 ····</div>191 ····</div>
191 </search>192 </search>
192 <script>document.getElementById('searchbox').style.display·=·"block"</script>193 <script>document.getElementById('searchbox').style.display·=·"block"</script>
193 ········</div>194 ········</div>
194 ······</div>195 ······</div>
195 ··············<h3>Last·update:</h3>196 ··············<h3>Last·update:</h3>
196 ··············<p·class="topless">Nov·05,·2024</p>197 ··············<p·class="topless">nov·05,·2024</p>
197 ··········</div>198 ··········</div>
198 ········199 ········
199 ······200 ······
200 ····</div>201 ····</div>
  
201 ····<div·id="ft">202 ····<div·id="ft">
202 ······<div·class="nav">203 ······<div·class="nav">
2.76 KB
html2text {}
Max HTML report size reached
6.84 KB
./usr/share/doc/python-django-doc/html/releases/1.4.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.4·release·notes"·href="1.4.4.html"·/>15 ····<link·rel="next"·title="Django·1.4.4·release·notes"·href="1.4.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.6·release·notes"·href="1.4.6.html"·/>16 ····<link·rel="prev"·title="Django·1.4.6·release·notes"·href="1.4.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 77, 15 lines modifiedOffset 78, 15 lines modified
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.4.5">79 ··········<div·class="yui-g"·id="releases-1.4.5">
79 ············80 ············
80 ··<section·id="s-django-1-4-5-release-notes">81 ··<section·id="s-django-1-4-5-release-notes">
81 <span·id="django-1-4-5-release-notes"></span><h1>Django·1.4.5·release·notes<a·class="headerlink"·href="#django-1-4-5-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-4-5-release-notes"></span><h1>Django·1.4.5·release·notes<a·class="headerlink"·href="#django-1-4-5-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·20,·2013</em></p>83 <p><em>February·20,·2013</em></p>
83 <p>Django·1.4.5·corrects·a·packaging·problem·with·yesterday’s·<a·class="reference·internal"·href="1.4.4.html"><span·class="doc">1.4.4·release</span></a>.</p>84 <p>Django·1.4.5·corrects·a·packaging·problem·with·yesterday’s·<a·class="reference·internal"·href="1.4.4.html"><span·class="doc">1.4.4·release</span></a>.</p>
84 <p>The·release·contained·stray·<code·class="docutils·literal·notranslate"><span·class="pre">.pyc</span></code>·files·that·caused·bad·magic·number85 <p>The·release·contained·stray·<code·class="docutils·literal·notranslate"><span·class="pre">.pyc</span></code>·files·that·caused·bad·magic·number
85 errors·when·running·with·some·versions·of·Python.·This·releases·corrects·this,86 errors·when·running·with·some·versions·of·Python.·This·releases·corrects·this,
86 and·also·fixes·a·bad·documentation·link·in·the·project·template·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>87 and·also·fixes·a·bad·documentation·link·in·the·project·template·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>
87 file·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startproject</span></code>.</p>88 file·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startproject</span></code>.</p>
88 </section>89 </section>
  
  
89 ··········</div>90 ··········</div>
Offset 94, 37 lines modifiedOffset 95, 37 lines modified
94 ······95 ······
95 ········96 ········
96 ··········<div·class="yui-b"·id="sidebar">97 ··········<div·class="yui-b"·id="sidebar">
97 ············98 ············
98 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
99 ········<div·class="sphinxsidebarwrapper">100 ········<div·class="sphinxsidebarwrapper">
100 ··<div>101 ··<div>
101 ····<h4>Previous·topic</h4>102 ····<h4>Eelmine·teema</h4>
102 ····<p·class="topless"><a·href="1.4.6.html"103 ····<p·class="topless"><a·href="1.4.6.html"
103 ··························title="previous·chapter">Django·1.4.6·release·notes</a></p>104 ··························title="eelmine·jaotis">Django·1.4.6·release·notes</a></p>
104 ··</div>105 ··</div>
105 ··<div>106 ··<div>
106 ····<h4>Next·topic</h4>107 ····<h4>Järgmine·teema</h4>
107 ····<p·class="topless"><a·href="1.4.4.html"108 ····<p·class="topless"><a·href="1.4.4.html"
108 ··························title="next·chapter">Django·1.4.4·release·notes</a></p>109 ··························title="järgmine·jaotis">Django·1.4.4·release·notes</a></p>
109 ··</div>110 ··</div>
110 <search·id="searchbox"·style="display:·none"·role="search">111 <search·id="searchbox"·style="display:·none"·role="search">
111 ··<h3·id="searchlabel">Quick·search</h3>112 ··<h3·id="searchlabel">Kiirotsing</h3>
112 ····<div·class="searchformwrapper">113 ····<div·class="searchformwrapper">
113 ····<form·class="search"·action="../search.html"·method="get">114 ····<form·class="search"·action="../search.html"·method="get">
114 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>115 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
115 ······<input·type="submit"·value="Go"·/>116 ······<input·type="submit"·value="Otsi"·/>
116 ····</form>117 ····</form>
117 ····</div>118 ····</div>
118 </search>119 </search>
119 <script>document.getElementById('searchbox').style.display·=·"block"</script>120 <script>document.getElementById('searchbox').style.display·=·"block"</script>
120 ········</div>121 ········</div>
121 ······</div>122 ······</div>
122 ··············<h3>Last·update:</h3>123 ··············<h3>Last·update:</h3>
123 ··············<p·class="topless">Nov·05,·2024</p>124 ··············<p·class="topless">nov·05,·2024</p>
124 ··········</div>125 ··········</div>
125 ········126 ········
126 ······127 ······
127 ····</div>128 ····</div>
  
128 ····<div·id="ft">129 ····<div·id="ft">
129 ······<div·class="nav">130 ······<div·class="nav">
1.83 KB
html2text {}
    
Offset 1, 19 lines modifiedOffset 1, 19 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.4\x84.\x8.5\x85·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.4\x84.\x8.5\x85·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·2\x820\x80,\x8,·2\x820\x801\x813\x835 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·2\x820\x80,\x8,·2\x820\x801\x813\x83
6 Django·1.4.5·corrects·a·packaging·problem·with·yesterday’s·_\x81_\x8._\x84_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e.6 Django·1.4.5·corrects·a·packaging·problem·with·yesterday’s·_\x81_\x8._\x84_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e.
7 The·release·contained·stray·.pyc·files·that·caused·bad·magic·number·errors7 The·release·contained·stray·.pyc·files·that·caused·bad·magic·number·errors
8 when·running·with·some·versions·of·Python.·This·releases·corrects·this,·and8 when·running·with·some·versions·of·Python.·This·releases·corrects·this,·and
9 also·fixes·a·bad·documentation·link·in·the·project·template·settings.py·file9 also·fixes·a·bad·documentation·link·in·the·project·template·settings.py·file
10 generated·by·manage.py·startproject.10 generated·by·manage.py·startproject.
11 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*11 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
12 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s12 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
13 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*13 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x84_\x8._\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
15 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*15 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
16 [q···················][Go]16 [q···················][Otsi]
17 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*17 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
18 Nov·05,·202418 nov·05,·2024
19 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»19 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
9.55 KB
./usr/share/doc/python-django-doc/html/releases/1.4.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.5·release·notes"·href="1.4.5.html"·/>15 ····<link·rel="next"·title="Django·1.4.5·release·notes"·href="1.4.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.7·release·notes"·href="1.4.7.html"·/>16 ····<link·rel="prev"·title="Django·1.4.7·release·notes"·href="1.4.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 83, 15 lines modifiedOffset 84, 15 lines modified
83 <p>Django·1.4.6·fixes·one·security·issue·present·in·previous·Django·releases·in84 <p>Django·1.4.6·fixes·one·security·issue·present·in·previous·Django·releases·in
84 the·1.4·series,·as·well·as·one·other·bug.</p>85 the·1.4·series,·as·well·as·one·other·bug.</p>
85 <p>This·is·the·sixth·bugfix/security·release·in·the·Django·1.4·series.</p>86 <p>This·is·the·sixth·bugfix/security·release·in·the·Django·1.4·series.</p>
86 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">87 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">
87 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>88 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
88 <p>Django·relies·on·user·input·in·some·cases·(e.g.89 <p>Django·relies·on·user·input·in·some·cases·(e.g.
89 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and90 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and
90 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.91 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.
91 The·security·checks·for·these·redirects·(namely92 The·security·checks·for·these·redirects·(namely
92 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·check·if·the·scheme·is·<code·class="docutils·literal·notranslate"><span·class="pre">http(s)</span></code>93 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·check·if·the·scheme·is·<code·class="docutils·literal·notranslate"><span·class="pre">http(s)</span></code>
93 and·as·such·allowed·<code·class="docutils·literal·notranslate"><span·class="pre">javascript:...</span></code>·URLs·to·be·entered.·If·a·developer94 and·as·such·allowed·<code·class="docutils·literal·notranslate"><span·class="pre">javascript:...</span></code>·URLs·to·be·entered.·If·a·developer
94 relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect·targets·and·put·such·a95 relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect·targets·and·put·such·a
95 URL·into·a·link,·they·could·suffer·from·a·XSS·attack.·This·bug·doesn’t·affect96 URL·into·a·link,·they·could·suffer·from·a·XSS·attack.·This·bug·doesn’t·affect
96 Django·currently,·since·we·only·put·this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response97 Django·currently,·since·we·only·put·this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response
97 header·and·browsers·seem·to·ignore·JavaScript·there.</p>98 header·and·browsers·seem·to·ignore·JavaScript·there.</p>
Offset 113, 48 lines modifiedOffset 114, 48 lines modified
113 ······114 ······
114 ········115 ········
115 ··········<div·class="yui-b"·id="sidebar">116 ··········<div·class="yui-b"·id="sidebar">
116 ············117 ············
117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">118 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
118 ········<div·class="sphinxsidebarwrapper">119 ········<div·class="sphinxsidebarwrapper">
119 ··<div>120 ··<div>
120 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>121 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
121 ····<ul>122 ····<ul>
122 <li><a·class="reference·internal"·href="#">Django·1.4.6·release·notes</a><ul>123 <li><a·class="reference·internal"·href="#">Django·1.4.6·release·notes</a><ul>
123 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>124 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>
124 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>125 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
125 </ul>126 </ul>
126 </li>127 </li>
127 </ul>128 </ul>
  
128 ··</div>129 ··</div>
129 ··<div>130 ··<div>
130 ····<h4>Previous·topic</h4>131 ····<h4>Eelmine·teema</h4>
131 ····<p·class="topless"><a·href="1.4.7.html"132 ····<p·class="topless"><a·href="1.4.7.html"
132 ··························title="previous·chapter">Django·1.4.7·release·notes</a></p>133 ··························title="eelmine·jaotis">Django·1.4.7·release·notes</a></p>
133 ··</div>134 ··</div>
134 ··<div>135 ··<div>
135 ····<h4>Next·topic</h4>136 ····<h4>Järgmine·teema</h4>
136 ····<p·class="topless"><a·href="1.4.5.html"137 ····<p·class="topless"><a·href="1.4.5.html"
137 ··························title="next·chapter">Django·1.4.5·release·notes</a></p>138 ··························title="järgmine·jaotis">Django·1.4.5·release·notes</a></p>
138 ··</div>139 ··</div>
139 <search·id="searchbox"·style="display:·none"·role="search">140 <search·id="searchbox"·style="display:·none"·role="search">
140 ··<h3·id="searchlabel">Quick·search</h3>141 ··<h3·id="searchlabel">Kiirotsing</h3>
141 ····<div·class="searchformwrapper">142 ····<div·class="searchformwrapper">
142 ····<form·class="search"·action="../search.html"·method="get">143 ····<form·class="search"·action="../search.html"·method="get">
143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>144 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
144 ······<input·type="submit"·value="Go"·/>145 ······<input·type="submit"·value="Otsi"·/>
145 ····</form>146 ····</form>
146 ····</div>147 ····</div>
147 </search>148 </search>
148 <script>document.getElementById('searchbox').style.display·=·"block"</script>149 <script>document.getElementById('searchbox').style.display·=·"block"</script>
149 ········</div>150 ········</div>
150 ······</div>151 ······</div>
151 ··············<h3>Last·update:</h3>152 ··············<h3>Last·update:</h3>
152 ··············<p·class="topless">Nov·05,·2024</p>153 ··············<p·class="topless">nov·05,·2024</p>
153 ··········</div>154 ··········</div>
154 ········155 ········
155 ······156 ······
156 ····</div>157 ····</div>
  
157 ····<div·id="ft">158 ····<div·id="ft">
158 ······<div·class="nav">159 ······<div·class="nav">
3.32 KB
html2text {}
Max HTML report size reached
6.79 KB
./usr/share/doc/python-django-doc/html/releases/1.4.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.6·release·notes"·href="1.4.6.html"·/>15 ····<link·rel="next"·title="Django·1.4.6·release·notes"·href="1.4.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.8·release·notes"·href="1.4.8.html"·/>16 ····<link·rel="prev"·title="Django·1.4.8·release·notes"·href="1.4.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 105, 47 lines modifiedOffset 106, 47 lines modified
105 ······106 ······
106 ········107 ········
107 ··········<div·class="yui-b"·id="sidebar">108 ··········<div·class="yui-b"·id="sidebar">
108 ············109 ············
109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
110 ········<div·class="sphinxsidebarwrapper">111 ········<div·class="sphinxsidebarwrapper">
111 ··<div>112 ··<div>
112 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>113 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
113 ····<ul>114 ····<ul>
114 <li><a·class="reference·internal"·href="#">Django·1.4.7·release·notes</a><ul>115 <li><a·class="reference·internal"·href="#">Django·1.4.7·release·notes</a><ul>
115 <li><a·class="reference·internal"·href="#directory-traversal-vulnerability-in-ssi-template-tag">Directory·traversal·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">ssi</span></code>·template·tag</a></li>116 <li><a·class="reference·internal"·href="#directory-traversal-vulnerability-in-ssi-template-tag">Directory·traversal·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">ssi</span></code>·template·tag</a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="1.4.8.html"123 ····<p·class="topless"><a·href="1.4.8.html"
123 ··························title="previous·chapter">Django·1.4.8·release·notes</a></p>124 ··························title="eelmine·jaotis">Django·1.4.8·release·notes</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="1.4.6.html"128 ····<p·class="topless"><a·href="1.4.6.html"
128 ··························title="next·chapter">Django·1.4.6·release·notes</a></p>129 ··························title="järgmine·jaotis">Django·1.4.6·release·notes</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
2.51 KB
html2text {}
Max HTML report size reached
7.69 KB
./usr/share/doc/python-django-doc/html/releases/1.4.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.7·release·notes"·href="1.4.7.html"·/>15 ····<link·rel="next"·title="Django·1.4.7·release·notes"·href="1.4.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.9·release·notes"·href="1.4.9.html"·/>16 ····<link·rel="prev"·title="Django·1.4.9·release·notes"·href="1.4.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 112, 48 lines modifiedOffset 113, 48 lines modified
112 ······113 ······
113 ········114 ········
114 ··········<div·class="yui-b"·id="sidebar">115 ··········<div·class="yui-b"·id="sidebar">
115 ············116 ············
116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
117 ········<div·class="sphinxsidebarwrapper">118 ········<div·class="sphinxsidebarwrapper">
118 ··<div>119 ··<div>
119 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>120 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
120 ····<ul>121 ····<ul>
121 <li><a·class="reference·internal"·href="#">Django·1.4.8·release·notes</a><ul>122 <li><a·class="reference·internal"·href="#">Django·1.4.8·release·notes</a><ul>
122 <li><a·class="reference·internal"·href="#denial-of-service-via-password-hashers">Denial-of-service·via·password·hashers</a></li>123 <li><a·class="reference·internal"·href="#denial-of-service-via-password-hashers">Denial-of-service·via·password·hashers</a></li>
123 <li><a·class="reference·internal"·href="#corrected-usage-of-sensitive-post-parameters-in-django-contrib-auths-admin">Corrected·usage·of·<code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sensitive_post_parameters()</span></code>·in·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code>’s·admin</a></li>124 <li><a·class="reference·internal"·href="#corrected-usage-of-sensitive-post-parameters-in-django-contrib-auths-admin">Corrected·usage·of·<code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sensitive_post_parameters()</span></code>·in·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code>’s·admin</a></li>
124 </ul>125 </ul>
125 </li>126 </li>
126 </ul>127 </ul>
  
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Previous·topic</h4>130 ····<h4>Eelmine·teema</h4>
130 ····<p·class="topless"><a·href="1.4.9.html"131 ····<p·class="topless"><a·href="1.4.9.html"
131 ··························title="previous·chapter">Django·1.4.9·release·notes</a></p>132 ··························title="eelmine·jaotis">Django·1.4.9·release·notes</a></p>
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Next·topic</h4>135 ····<h4>Järgmine·teema</h4>
135 ····<p·class="topless"><a·href="1.4.7.html"136 ····<p·class="topless"><a·href="1.4.7.html"
136 ··························title="next·chapter">Django·1.4.7·release·notes</a></p>137 ··························title="järgmine·jaotis">Django·1.4.7·release·notes</a></p>
137 ··</div>138 ··</div>
138 <search·id="searchbox"·style="display:·none"·role="search">139 <search·id="searchbox"·style="display:·none"·role="search">
139 ··<h3·id="searchlabel">Quick·search</h3>140 ··<h3·id="searchlabel">Kiirotsing</h3>
140 ····<div·class="searchformwrapper">141 ····<div·class="searchformwrapper">
141 ····<form·class="search"·action="../search.html"·method="get">142 ····<form·class="search"·action="../search.html"·method="get">
142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
143 ······<input·type="submit"·value="Go"·/>144 ······<input·type="submit"·value="Otsi"·/>
144 ····</form>145 ····</form>
145 ····</div>146 ····</div>
146 </search>147 </search>
147 <script>document.getElementById('searchbox').style.display·=·"block"</script>148 <script>document.getElementById('searchbox').style.display·=·"block"</script>
148 ········</div>149 ········</div>
149 ······</div>150 ······</div>
150 ··············<h3>Last·update:</h3>151 ··············<h3>Last·update:</h3>
151 ··············<p·class="topless">Nov·05,·2024</p>152 ··············<p·class="topless">nov·05,·2024</p>
152 ··········</div>153 ··········</div>
153 ········154 ········
154 ······155 ······
155 ····</div>156 ····</div>
  
156 ····<div·id="ft">157 ····<div·id="ft">
157 ······<div·class="nav">158 ······<div·class="nav">
3.14 KB
html2text {}
Max HTML report size reached
6.86 KB
./usr/share/doc/python-django-doc/html/releases/1.4.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.8·release·notes"·href="1.4.8.html"·/>15 ····<link·rel="next"·title="Django·1.4.8·release·notes"·href="1.4.8.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.10·release·notes"·href="1.4.10.html"·/>16 ····<link·rel="prev"·title="Django·1.4.10·release·notes"·href="1.4.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 104, 48 lines modifiedOffset 105, 48 lines modified
104 ······105 ······
105 ········106 ········
106 ··········<div·class="yui-b"·id="sidebar">107 ··········<div·class="yui-b"·id="sidebar">
107 ············108 ············
108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
109 ········<div·class="sphinxsidebarwrapper">110 ········<div·class="sphinxsidebarwrapper">
110 ··<div>111 ··<div>
111 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>112 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
112 ····<ul>113 ····<ul>
113 <li><a·class="reference·internal"·href="#">Django·1.4.9·release·notes</a><ul>114 <li><a·class="reference·internal"·href="#">Django·1.4.9·release·notes</a><ul>
114 <li><a·class="reference·internal"·href="#readdressed-denial-of-service-via-password-hashers">Readdressed·denial-of-service·via·password·hashers</a></li>115 <li><a·class="reference·internal"·href="#readdressed-denial-of-service-via-password-hashers">Readdressed·denial-of-service·via·password·hashers</a></li>
115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="1.4.10.html"123 ····<p·class="topless"><a·href="1.4.10.html"
123 ··························title="previous·chapter">Django·1.4.10·release·notes</a></p>124 ··························title="eelmine·jaotis">Django·1.4.10·release·notes</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="1.4.8.html"128 ····<p·class="topless"><a·href="1.4.8.html"
128 ··························title="next·chapter">Django·1.4.8·release·notes</a></p>129 ··························title="järgmine·jaotis">Django·1.4.8·release·notes</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
2.59 KB
html2text {}
Max HTML report size reached
53.9 KB
./usr/share/doc/python-django-doc/html/releases/1.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.3.7·release·notes"·href="1.3.7.html"·/>15 ····<link·rel="next"·title="Django·1.3.7·release·notes"·href="1.3.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.4.1·release·notes"·href="1.4.1.html"·/>16 ····<link·rel="prev"·title="Django·1.4.1·release·notes"·href="1.4.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 86, 15 lines modifiedOffset 87, 15 lines modified
86 want·to·be·aware·of·when·upgrading·from·Django·1.3·or·older·versions.·We’ve87 want·to·be·aware·of·when·upgrading·from·Django·1.3·or·older·versions.·We’ve
87 also·dropped·some·features,·which·are·detailed·in·<a·class="reference·internal"·href="../internals/deprecation.html#deprecation-removed-in-1-4"><span·class="std·std-ref">our·deprecation·plan</span></a>,·and·we’ve·<a·class="reference·internal"·href="#deprecated-features-1-4"><span·class="std·std-ref">begun·the·deprecation·process88 also·dropped·some·features,·which·are·detailed·in·<a·class="reference·internal"·href="../internals/deprecation.html#deprecation-removed-in-1-4"><span·class="std·std-ref">our·deprecation·plan</span></a>,·and·we’ve·<a·class="reference·internal"·href="#deprecated-features-1-4"><span·class="std·std-ref">begun·the·deprecation·process
88 for·some·features</span></a>.</p>89 for·some·features</span></a>.</p>
89 <section·id="s-overview">90 <section·id="s-overview">
90 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>91 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>
91 <p>The·biggest·new·feature·in·Django·1.4·is·<a·class="reference·internal"·href="#support-for-time-zones">support·for·time·zones</a>·when92 <p>The·biggest·new·feature·in·Django·1.4·is·<a·class="reference·internal"·href="#support-for-time-zones">support·for·time·zones</a>·when
92 handling·date/times.·When·enabled,·this·Django·will·store·date/times·in·UTC,93 handling·date/times.·When·enabled,·this·Django·will·store·date/times·in·UTC,
93 use·timezone-aware·objects·internally,·and·translate·them·to·users·local94 use·timezone-aware·objects·internally,·and·translate·them·to·users·local
94 timezones·for·display.</p>95 timezones·for·display.</p>
95 <p>If·you’re·upgrading·an·existing·project·to·Django·1.4,·switching·to·the·timezone96 <p>If·you’re·upgrading·an·existing·project·to·Django·1.4,·switching·to·the·timezone
96 aware·mode·may·take·some·care:·the·new·mode·disallows·some·rather·sloppy97 aware·mode·may·take·some·care:·the·new·mode·disallows·some·rather·sloppy
97 behavior·that·used·to·be·accepted.·We·encourage·anyone·who’s·upgrading·to·check98 behavior·that·used·to·be·accepted.·We·encourage·anyone·who’s·upgrading·to·check
98 out·the·<a·class="reference·internal"·href="../topics/i18n/timezones.html#time-zones-migration-guide"><span·class="std·std-ref">timezone·migration·guide</span></a>·and·the99 out·the·<a·class="reference·internal"·href="../topics/i18n/timezones.html#time-zones-migration-guide"><span·class="std·std-ref">timezone·migration·guide</span></a>·and·the
99 <a·class="reference·internal"·href="../topics/i18n/timezones.html#time-zones-faq"><span·class="std·std-ref">timezone·FAQ</span></a>·for·useful·pointers.</p>100 <a·class="reference·internal"·href="../topics/i18n/timezones.html#time-zones-faq"><span·class="std·std-ref">timezone·FAQ</span></a>·for·useful·pointers.</p>
100 <p>Other·notable·new·features·in·Django·1.4·include:</p>101 <p>Other·notable·new·features·in·Django·1.4·include:</p>
Offset 105, 15 lines modifiedOffset 106, 15 lines modified
105 <a·class="reference·internal"·href="#queryset-prefetch-related">QuerySet.prefetch_related</a>,·a·method·to·batch-load·related·objects106 <a·class="reference·internal"·href="#queryset-prefetch-related">QuerySet.prefetch_related</a>,·a·method·to·batch-load·related·objects
106 in·areas·where·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.select_related"·title="django.db.models.query.QuerySet.select_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">select_related()</span></code></a>107 in·areas·where·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.select_related"·title="django.db.models.query.QuerySet.select_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">select_related()</span></code></a>
107 doesn’t·work.</p></li>108 doesn’t·work.</p></li>
108 <li><p>Some·nice·security·additions,·including·<a·class="reference·internal"·href="#improved-password-hashing">improved·password·hashing</a>109 <li><p>Some·nice·security·additions,·including·<a·class="reference·internal"·href="#improved-password-hashing">improved·password·hashing</a>
109 (featuring·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/PBKDF2">PBKDF2</a>·and·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Bcrypt">bcrypt</a>·support),·new·<a·class="reference·internal"·href="#tools-for-cryptographic-signing">tools·for·cryptographic110 (featuring·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/PBKDF2">PBKDF2</a>·and·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Bcrypt">bcrypt</a>·support),·new·<a·class="reference·internal"·href="#tools-for-cryptographic-signing">tools·for·cryptographic
110 signing</a>,·several·<a·class="reference·internal"·href="#csrf-improvements">CSRF·improvements</a>,·and·<a·class="reference·internal"·href="#simple-clickjacking-protection">simple·clickjacking111 signing</a>,·several·<a·class="reference·internal"·href="#csrf-improvements">CSRF·improvements</a>,·and·<a·class="reference·internal"·href="#simple-clickjacking-protection">simple·clickjacking
111 protection</a>.</p></li>112 protection</a>.</p></li>
112 <li><p>An·<a·class="reference·internal"·href="#updated-default-project-layout-and-manage-py">updated·default·project·layout·and·manage.py</a>·that·removes·the·magic113 <li><p>An·<a·class="reference·internal"·href="#updated-default-project-layout-and-manage-py">updated·default·project·layout·and·manage.py</a>·that·removes·the·magic
113 from·prior·versions.·And·for·those·who·don’t·like·the·new·layout,·you·can114 from·prior·versions.·And·for·those·who·don’t·like·the·new·layout,·you·can
114 use·<a·class="reference·internal"·href="#custom-project-and-app-templates">custom·project·and·app·templates</a>·instead!</p></li>115 use·<a·class="reference·internal"·href="#custom-project-and-app-templates">custom·project·and·app·templates</a>·instead!</p></li>
115 <li><p><a·class="reference·internal"·href="#support-for-in-browser-testing-frameworks">Support·for·in-browser·testing·frameworks</a>·(like·<a·class="reference·external"·href="https://www.selenium.dev/">Selenium</a>).</p></li>116 <li><p><a·class="reference·internal"·href="#support-for-in-browser-testing-frameworks">Support·for·in-browser·testing·frameworks</a>·(like·<a·class="reference·external"·href="https://www.selenium.dev/">Selenium</a>).</p></li>
116 <li><p>…·and·a·whole·lot·more;·<a·class="reference·external"·href="#what-s-new-in-django-1-4">see·below</a>!</p></li>117 <li><p>…·and·a·whole·lot·more;·<a·class="reference·external"·href="#what-s-new-in-django-1-4">see·below</a>!</p></li>
117 </ul>118 </ul>
118 <p>Wherever·possible·we·try·to·introduce·new·features·in·a·backwards-compatible119 <p>Wherever·possible·we·try·to·introduce·new·features·in·a·backwards-compatible
119 manner·per·<a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our·API·stability·policy</span></a>·policy.120 manner·per·<a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our·API·stability·policy</span></a>·policy.
Offset 135, 17 lines modifiedOffset 136, 17 lines modified
135 release·of·Django·1.4,·we·plan·to·publish·a·document·outlining·our·full136 release·of·Django·1.4,·we·plan·to·publish·a·document·outlining·our·full
136 timeline·for·deprecating·Python·2.x·and·moving·to·Python·3.x.</p>137 timeline·for·deprecating·Python·2.x·and·moving·to·Python·3.x.</p>
137 </section>138 </section>
138 <section·id="s-what-s-new-in-django-1-4">139 <section·id="s-what-s-new-in-django-1-4">
139 <span·id="s-whats-new-1-4"></span><span·id="what-s-new-in-django-1-4"></span><span·id="whats-new-1-4"></span><h2>What’s·new·in·Django·1.4<a·class="headerlink"·href="#what-s-new-in-django-1-4"·title="Link·to·this·heading">¶</a></h2>140 <span·id="s-whats-new-1-4"></span><span·id="what-s-new-in-django-1-4"></span><span·id="whats-new-1-4"></span><h2>What’s·new·in·Django·1.4<a·class="headerlink"·href="#what-s-new-in-django-1-4"·title="Link·to·this·heading">¶</a></h2>
140 <section·id="s-support-for-time-zones">141 <section·id="s-support-for-time-zones">
141 <span·id="support-for-time-zones"></span><h3>Support·for·time·zones<a·class="headerlink"·href="#support-for-time-zones"·title="Link·to·this·heading">¶</a></h3>142 <span·id="support-for-time-zones"></span><h3>Support·for·time·zones<a·class="headerlink"·href="#support-for-time-zones"·title="Link·to·this·heading">¶</a></h3>
142 <p>In·previous·versions,·Django·used·naive·date/times·(that·is,·date/times143 <p>In·previous·versions,·Django·used·naive·date/times·(that·is,·date/times
143 without·an·associated·time·zone),·leaving·it·up·to·each·developer·to·interpret144 without·an·associated·time·zone),·leaving·it·up·to·each·developer·to·interpret
144 what·a·given·date/time·really·means.·This·can·cause·all·sorts·of·subtle145 what·a·given·date/time·really·means.·This·can·cause·all·sorts·of·subtle
145 timezone-related·bugs.</p>146 timezone-related·bugs.</p>
146 <p>In·Django·1.4,·you·can·now·switch·Django·into·a·more·correct,·time-zone·aware147 <p>In·Django·1.4,·you·can·now·switch·Django·into·a·more·correct,·time-zone·aware
147 mode.·In·this·mode,·Django·stores·date·and··time·information·in·UTC·in·the148 mode.·In·this·mode,·Django·stores·date·and··time·information·in·UTC·in·the
148 database,·uses·time-zone-aware·datetime·objects·internally·and·translates·them149 database,·uses·time-zone-aware·datetime·objects·internally·and·translates·them
149 to·the·end·user’s·time·zone·in·templates·and·forms.·Reasons·for·using·this150 to·the·end·user’s·time·zone·in·templates·and·forms.·Reasons·for·using·this
150 feature·include:</p>151 feature·include:</p>
151 <ul·class="simple">152 <ul·class="simple">
Offset 313, 15 lines modifiedOffset 314, 15 lines modified
313 templates·to·change·the·doctype.</p>314 templates·to·change·the·doctype.</p>
314 </section>315 </section>
315 <section·id="s-list-filters-in-admin-interface">316 <section·id="s-list-filters-in-admin-interface">
316 <span·id="list-filters-in-admin-interface"></span><h3>List·filters·in·admin·interface<a·class="headerlink"·href="#list-filters-in-admin-interface"·title="Link·to·this·heading">¶</a></h3>317 <span·id="list-filters-in-admin-interface"></span><h3>List·filters·in·admin·interface<a·class="headerlink"·href="#list-filters-in-admin-interface"·title="Link·to·this·heading">¶</a></h3>
317 <p>Prior·to·Django·1.4,·the·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#module-django.contrib.admin"·title="django.contrib.admin:·Django's·admin·site."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">admin</span></code></a>·app·let·you·specify318 <p>Prior·to·Django·1.4,·the·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#module-django.contrib.admin"·title="django.contrib.admin:·Django's·admin·site."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">admin</span></code></a>·app·let·you·specify
318 change·list·filters·by·specifying·a·field·lookup,·but·it·didn’t·allow·you·to319 change·list·filters·by·specifying·a·field·lookup,·but·it·didn’t·allow·you·to
319 create·custom·filters.·This·has·been·rectified·with·a·simple·API·(previously320 create·custom·filters.·This·has·been·rectified·with·a·simple·API·(previously
320 used·internally·and·known·as·FilterSpec).·For·more·details,·see·the321 used·internally·and·known·as·FilterSpec).·For·more·details,·see·the
321 documentation·for·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_filter"·title="django.contrib.admin.ModelAdmin.list_filter"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">list_filter</span></code></a>.</p>322 documentation·for·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_filter"·title="django.contrib.admin.ModelAdmin.list_filter"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">list_filter</span></code></a>.</p>
322 </section>323 </section>
323 <section·id="s-multiple-sort-in-admin-interface">324 <section·id="s-multiple-sort-in-admin-interface">
324 <span·id="multiple-sort-in-admin-interface"></span><h3>Multiple·sort·in·admin·interface<a·class="headerlink"·href="#multiple-sort-in-admin-interface"·title="Link·to·this·heading">¶</a></h3>325 <span·id="multiple-sort-in-admin-interface"></span><h3>Multiple·sort·in·admin·interface<a·class="headerlink"·href="#multiple-sort-in-admin-interface"·title="Link·to·this·heading">¶</a></h3>
325 <p>The·admin·change·list·now·supports·sorting·on·multiple·columns.·It·respects·all326 <p>The·admin·change·list·now·supports·sorting·on·multiple·columns.·It·respects·all
326 elements·of·the·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.ordering"·title="django.contrib.admin.ModelAdmin.ordering"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ordering</span></code></a>·attribute,·and327 elements·of·the·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.ordering"·title="django.contrib.admin.ModelAdmin.ordering"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ordering</span></code></a>·attribute,·and
327 sorting·on·multiple·columns·by·clicking·on·headers·is·designed·to·mimic·the328 sorting·on·multiple·columns·by·clicking·on·headers·is·designed·to·mimic·the
Offset 358, 15 lines modifiedOffset 359, 15 lines modified
358 </section>359 </section>
359 <section·id="s-cookie-based-session-backend">360 <section·id="s-cookie-based-session-backend">
360 <span·id="cookie-based-session-backend"></span><h3>Cookie-based·session·backend<a·class="headerlink"·href="#cookie-based-session-backend"·title="Link·to·this·heading">¶</a></h3>361 <span·id="cookie-based-session-backend"></span><h3>Cookie-based·session·backend<a·class="headerlink"·href="#cookie-based-session-backend"·title="Link·to·this·heading">¶</a></h3>
361 <p>Django·1.4·introduces·a·cookie-based·session·backend·that·uses·the·tools·for362 <p>Django·1.4·introduces·a·cookie-based·session·backend·that·uses·the·tools·for
362 <a·class="reference·internal"·href="../topics/signing.html"><span·class="doc">cryptographic·signing</span></a>·to·store·the·session·data·in363 <a·class="reference·internal"·href="../topics/signing.html"><span·class="doc">cryptographic·signing</span></a>·to·store·the·session·data·in
363 the·client’s·browser.</p>364 the·client’s·browser.</p>
364 <div·class="admonition·warning">365 <div·class="admonition·warning">
365 <p·class="admonition-title">Warning</p>366 <p·class="admonition-title">Hoiatus</p>
366 <p>Session·data·is·signed·and·validated·by·the·server,·but·it’s·not367 <p>Session·data·is·signed·and·validated·by·the·server,·but·it’s·not
367 encrypted.·This·means·a·user·can·view·any·data·stored·in·the368 encrypted.·This·means·a·user·can·view·any·data·stored·in·the
368 session·but·cannot·change·it.·Please·read·the·documentation·for369 session·but·cannot·change·it.·Please·read·the·documentation·for
369 further·clarification·before·using·this·backend.</p>370 further·clarification·before·using·this·backend.</p>
370 </div>371 </div>
371 <p>See·the·<a·class="reference·internal"·href="../topics/http/sessions.html#cookie-session-backend"><span·class="std·std-ref">cookie-based·session·backend</span></a>·docs·for372 <p>See·the·<a·class="reference·internal"·href="../topics/http/sessions.html#cookie-session-backend"><span·class="std·std-ref">cookie-based·session·backend</span></a>·docs·for
372 more·information.</p>373 more·information.</p>
Offset 452, 15 lines modifiedOffset 453, 15 lines modified
452 <code·class="docutils·literal·notranslate"><span·class="pre">TEMPLATE_DEBUG</span></code>,·and·there’s·no·need·to·catch·and·unwrap453 <code·class="docutils·literal·notranslate"><span·class="pre">TEMPLATE_DEBUG</span></code>,·and·there’s·no·need·to·catch·and·unwrap
453 <code·class="docutils·literal·notranslate"><span·class="pre">TemplateSyntaxError</span></code>·in·order·to·catch·other·errors.</p>454 <code·class="docutils·literal·notranslate"><span·class="pre">TemplateSyntaxError</span></code>·in·order·to·catch·other·errors.</p>
454 </section>455 </section>
455 <section·id="s-truncatechars-template-filter">456 <section·id="s-truncatechars-template-filter">
456 <span·id="truncatechars-template-filter"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">truncatechars</span></code>·template·filter<a·class="headerlink"·href="#truncatechars-template-filter"·title="Link·to·this·heading">¶</a></h3>457 <span·id="truncatechars-template-filter"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">truncatechars</span></code>·template·filter<a·class="headerlink"·href="#truncatechars-template-filter"·title="Link·to·this·heading">¶</a></h3>
Max diff block lines reached; 22059/33159 bytes (66.52%) of diff not shown.
21.4 KB
html2text {}
Max HTML report size reached
5.86 KB
./usr/share/doc/python-django-doc/html/releases/1.5.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5·release·notes"·href="1.5.html"·/>15 ····<link·rel="next"·title="Django·1.5·release·notes"·href="1.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.2·release·notes"·href="1.5.2.html"·/>16 ····<link·rel="prev"·title="Django·1.5.2·release·notes"·href="1.5.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 104, 37 lines modifiedOffset 105, 37 lines modified
104 ······105 ······
105 ········106 ········
106 ··········<div·class="yui-b"·id="sidebar">107 ··········<div·class="yui-b"·id="sidebar">
107 ············108 ············
108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
109 ········<div·class="sphinxsidebarwrapper">110 ········<div·class="sphinxsidebarwrapper">
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="1.5.2.html"113 ····<p·class="topless"><a·href="1.5.2.html"
113 ··························title="previous·chapter">Django·1.5.2·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·1.5.2·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="1.5.html"118 ····<p·class="topless"><a·href="1.5.html"
118 ··························title="next·chapter">Django·1.5·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·1.5·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.07 KB
html2text {}
Max HTML report size reached
6.07 KB
./usr/share/doc/python-django-doc/html/releases/1.5.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.9·release·notes"·href="1.5.9.html"·/>15 ····<link·rel="next"·title="Django·1.5.9·release·notes"·href="1.5.9.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.11·release·notes"·href="1.5.11.html"·/>16 ····<link·rel="prev"·title="Django·1.5.11·release·notes"·href="1.5.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·1.5.10·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·1.5.10·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="1.5.11.html"115 ····<p·class="topless"><a·href="1.5.11.html"
115 ··························title="previous·chapter">Django·1.5.11·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·1.5.11·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="1.5.9.html"120 ····<p·class="topless"><a·href="1.5.9.html"
120 ··························title="next·chapter">Django·1.5.9·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·1.5.9·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.94 KB
html2text {}
Max HTML report size reached
6.17 KB
./usr/share/doc/python-django-doc/html/releases/1.5.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.10·release·notes"·href="1.5.10.html"·/>15 ····<link·rel="next"·title="Django·1.5.10·release·notes"·href="1.5.10.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.12·release·notes"·href="1.5.12.html"·/>16 ····<link·rel="prev"·title="Django·1.5.12·release·notes"·href="1.5.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.5.11·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.5.11·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.5.12.html"117 ····<p·class="topless"><a·href="1.5.12.html"
117 ··························title="previous·chapter">Django·1.5.12·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.5.12·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.5.10.html"122 ····<p·class="topless"><a·href="1.5.10.html"
122 ··························title="next·chapter">Django·1.5.10·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.5.10·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.04 KB
html2text {}
Max HTML report size reached
6.08 KB
./usr/share/doc/python-django-doc/html/releases/1.5.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.11·release·notes"·href="1.5.11.html"·/>15 ····<link·rel="next"·title="Django·1.5.11·release·notes"·href="1.5.11.html"·/>
15 ····<link·rel="prev"·title="Django·1.6·release·notes"·href="1.6.html"·/>16 ····<link·rel="prev"·title="Django·1.6·release·notes"·href="1.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·1.5.12·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·1.5.12·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="1.6.html"116 ····<p·class="topless"><a·href="1.6.html"
116 ··························title="previous·chapter">Django·1.6·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·1.6·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="1.5.11.html"121 ····<p·class="topless"><a·href="1.5.11.html"
121 ··························title="next·chapter">Django·1.5.11·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·1.5.11·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
1.97 KB
html2text {}
Max HTML report size reached
10.2 KB
./usr/share/doc/python-django-doc/html/releases/1.5.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.1·release·notes"·href="1.5.1.html"·/>15 ····<link·rel="next"·title="Django·1.5.1·release·notes"·href="1.5.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.3·release·notes"·href="1.5.3.html"·/>16 ····<link·rel="prev"·title="Django·1.5.3·release·notes"·href="1.5.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="django-1-5-2-release-notes"></span><h1>Django·1.5.2·release·notes<a·class="headerlink"·href="#django-1-5-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-5-2-release-notes"></span><h1>Django·1.5.2·release·notes<a·class="headerlink"·href="#django-1-5-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>August·13,·2013</em></p>83 <p><em>August·13,·2013</em></p>
83 <p>This·is·Django·1.5.2,·a·bugfix·and·security·release·for·Django·1.5.</p>84 <p>This·is·Django·1.5.2,·a·bugfix·and·security·release·for·Django·1.5.</p>
84 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">85 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">
85 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>86 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
86 <p>Django·relies·on·user·input·in·some·cases·(e.g.87 <p>Django·relies·on·user·input·in·some·cases·(e.g.
87 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and88 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and
88 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.89 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.
89 The·security·checks·for·these·redirects·(namely90 The·security·checks·for·these·redirects·(namely
90 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·check·if·the·scheme·is·<code·class="docutils·literal·notranslate"><span·class="pre">http(s)</span></code>91 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·check·if·the·scheme·is·<code·class="docutils·literal·notranslate"><span·class="pre">http(s)</span></code>
91 and·as·such·allowed·<code·class="docutils·literal·notranslate"><span·class="pre">javascript:...</span></code>·URLs·to·be·entered.·If·a·developer92 and·as·such·allowed·<code·class="docutils·literal·notranslate"><span·class="pre">javascript:...</span></code>·URLs·to·be·entered.·If·a·developer
92 relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect·targets·and·put·such·a93 relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect·targets·and·put·such·a
93 URL·into·a·link,·they·could·suffer·from·a·XSS·attack.·This·bug·doesn’t·affect94 URL·into·a·link,·they·could·suffer·from·a·XSS·attack.·This·bug·doesn’t·affect
94 Django·currently,·since·we·only·put·this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response95 Django·currently,·since·we·only·put·this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response
95 header·and·browsers·seem·to·ignore·JavaScript·there.</p>96 header·and·browsers·seem·to·ignore·JavaScript·there.</p>
Offset 144, 49 lines modifiedOffset 145, 49 lines modified
144 ······145 ······
145 ········146 ········
146 ··········<div·class="yui-b"·id="sidebar">147 ··········<div·class="yui-b"·id="sidebar">
147 ············148 ············
148 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">149 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
149 ········<div·class="sphinxsidebarwrapper">150 ········<div·class="sphinxsidebarwrapper">
150 ··<div>151 ··<div>
151 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>152 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
152 ····<ul>153 ····<ul>
153 <li><a·class="reference·internal"·href="#">Django·1.5.2·release·notes</a><ul>154 <li><a·class="reference·internal"·href="#">Django·1.5.2·release·notes</a><ul>
154 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>155 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>
155 <li><a·class="reference·internal"·href="#xss-vulnerability-in-django-contrib-admin">XSS·vulnerability·in·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code></a></li>156 <li><a·class="reference·internal"·href="#xss-vulnerability-in-django-contrib-admin">XSS·vulnerability·in·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code></a></li>
156 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>157 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
157 </ul>158 </ul>
158 </li>159 </li>
159 </ul>160 </ul>
  
160 ··</div>161 ··</div>
161 ··<div>162 ··<div>
162 ····<h4>Previous·topic</h4>163 ····<h4>Eelmine·teema</h4>
163 ····<p·class="topless"><a·href="1.5.3.html"164 ····<p·class="topless"><a·href="1.5.3.html"
164 ··························title="previous·chapter">Django·1.5.3·release·notes</a></p>165 ··························title="eelmine·jaotis">Django·1.5.3·release·notes</a></p>
165 ··</div>166 ··</div>
166 ··<div>167 ··<div>
167 ····<h4>Next·topic</h4>168 ····<h4>Järgmine·teema</h4>
168 ····<p·class="topless"><a·href="1.5.1.html"169 ····<p·class="topless"><a·href="1.5.1.html"
169 ··························title="next·chapter">Django·1.5.1·release·notes</a></p>170 ··························title="järgmine·jaotis">Django·1.5.1·release·notes</a></p>
170 ··</div>171 ··</div>
171 <search·id="searchbox"·style="display:·none"·role="search">172 <search·id="searchbox"·style="display:·none"·role="search">
172 ··<h3·id="searchlabel">Quick·search</h3>173 ··<h3·id="searchlabel">Kiirotsing</h3>
173 ····<div·class="searchformwrapper">174 ····<div·class="searchformwrapper">
174 ····<form·class="search"·action="../search.html"·method="get">175 ····<form·class="search"·action="../search.html"·method="get">
175 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>176 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
176 ······<input·type="submit"·value="Go"·/>177 ······<input·type="submit"·value="Otsi"·/>
177 ····</form>178 ····</form>
178 ····</div>179 ····</div>
179 </search>180 </search>
180 <script>document.getElementById('searchbox').style.display·=·"block"</script>181 <script>document.getElementById('searchbox').style.display·=·"block"</script>
181 ········</div>182 ········</div>
182 ······</div>183 ······</div>
183 ··············<h3>Last·update:</h3>184 ··············<h3>Last·update:</h3>
184 ··············<p·class="topless">Nov·05,·2024</p>185 ··············<p·class="topless">nov·05,·2024</p>
185 ··········</div>186 ··········</div>
186 ········187 ········
187 ······188 ······
188 ····</div>189 ····</div>
  
189 ····<div·id="ft">190 ····<div·id="ft">
190 ······<div·class="nav">191 ······<div·class="nav">
3.64 KB
html2text {}
Max HTML report size reached
13.2 KB
./usr/share/doc/python-django-doc/html/releases/1.5.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.2·release·notes"·href="1.5.2.html"·/>15 ····<link·rel="next"·title="Django·1.5.2·release·notes"·href="1.5.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.4·release·notes"·href="1.5.4.html"·/>16 ····<link·rel="prev"·title="Django·1.5.4·release·notes"·href="1.5.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 29 lines modifiedOffset 96, 29 lines modified
95 </div>96 </div>
96 <p>In·practice·this·is·not·a·very·common·problem,·as·it·would·require·the·template97 <p>In·practice·this·is·not·a·very·common·problem,·as·it·would·require·the·template
97 author·to·put·the·<code·class="docutils·literal·notranslate"><span·class="pre">ssi</span></code>·file·in·a·user-controlled·variable,·but·it’s·possible98 author·to·put·the·<code·class="docutils·literal·notranslate"><span·class="pre">ssi</span></code>·file·in·a·user-controlled·variable,·but·it’s·possible
98 in·principle.</p>99 in·principle.</p>
99 </section>100 </section>
100 <section·id="s-mitigating-a-remote-code-execution-vulnerability-in-django-contrib-sessions">101 <section·id="s-mitigating-a-remote-code-execution-vulnerability-in-django-contrib-sessions">
101 <span·id="mitigating-a-remote-code-execution-vulnerability-in-django-contrib-sessions"></span><h2>Mitigating·a·remote-code·execution·vulnerability·in·<a·class="reference·internal"·href="../topics/http/sessions.html#module-django.contrib.sessions"·title="django.contrib.sessions:·Provides·session·management·for·Django·projects."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a><a·class="headerlink"·href="#mitigating-a-remote-code-execution-vulnerability-in-django-contrib-sessions"·title="Link·to·this·heading">¶</a></h2>102 <span·id="mitigating-a-remote-code-execution-vulnerability-in-django-contrib-sessions"></span><h2>Mitigating·a·remote-code·execution·vulnerability·in·<a·class="reference·internal"·href="../topics/http/sessions.html#module-django.contrib.sessions"·title="django.contrib.sessions:·Provides·session·management·for·Django·projects."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a><a·class="headerlink"·href="#mitigating-a-remote-code-execution-vulnerability-in-django-contrib-sessions"·title="Link·to·this·heading">¶</a></h2>
102 <p><a·class="reference·internal"·href="../topics/http/sessions.html#module-django.contrib.sessions"·title="django.contrib.sessions:·Provides·session·management·for·Django·projects."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a>·currently·uses·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>·to·serialize103 <p><a·class="reference·internal"·href="../topics/http/sessions.html#module-django.contrib.sessions"·title="django.contrib.sessions:·Provides·session·management·for·Django·projects."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a>·currently·uses·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>·to·serialize
103 session·data·before·storing·it·in·the·backend.·If·you’re·using·the·<a·class="reference·internal"·href="../topics/http/sessions.html#cookie-session-backend"><span·class="std·std-ref">signed104 session·data·before·storing·it·in·the·backend.·If·you’re·using·the·<a·class="reference·internal"·href="../topics/http/sessions.html#cookie-session-backend"><span·class="std·std-ref">signed
104 cookie·session·backend</span></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SECRET_KEY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a>·is105 cookie·session·backend</span></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SECRET_KEY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a>·is
105 known·by·an·attacker·(there·isn’t·an·inherent·vulnerability·in·Django·that106 known·by·an·attacker·(there·isn’t·an·inherent·vulnerability·in·Django·that
106 would·cause·it·to·leak),·the·attacker·could·insert·a·string·into·their·session107 would·cause·it·to·leak),·the·attacker·could·insert·a·string·into·their·session
107 which,·when·unpickled,·executes·arbitrary·code·on·the·server.·The·technique·for108 which,·when·unpickled,·executes·arbitrary·code·on·the·server.·The·technique·for
108 doing·so·is·simple·and·easily·available·on·the·internet.·Although·the·cookie109 doing·so·is·simple·and·easily·available·on·the·internet.·Although·the·cookie
109 session·storage·signs·the·cookie-stored·data·to·prevent·tampering,·a110 session·storage·signs·the·cookie-stored·data·to·prevent·tampering,·a
110 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SECRET_KEY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a>·leak·immediately·escalates·to·a·remote·code·execution111 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SECRET_KEY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a>·leak·immediately·escalates·to·a·remote·code·execution
111 vulnerability.</p>112 vulnerability.</p>
112 <p>This·attack·can·be·mitigated·by·serializing·session·data·using·JSON·rather113 <p>This·attack·can·be·mitigated·by·serializing·session·data·using·JSON·rather
113 than·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>.·To·facilitate·this,·Django·1.5.3·introduces·a·new·setting,114 than·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>.·To·facilitate·this,·Django·1.5.3·introduces·a·new·setting,
114 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_SERIALIZER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SERIALIZER</span></code></a>,·to·customize·the·session·serialization·format.115 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_SERIALIZER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SERIALIZER</span></code></a>,·to·customize·the·session·serialization·format.
115 For·backwards·compatibility,·this·setting·defaults·to·using·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>.116 For·backwards·compatibility,·this·setting·defaults·to·using·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>.
116 While·JSON·serialization·does·not·support·all·Python·objects·like·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>117 While·JSON·serialization·does·not·support·all·Python·objects·like·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>
117 does,·we·highly·recommend·switching·to·JSON-serialized·values.·Also,118 does,·we·highly·recommend·switching·to·JSON-serialized·values.·Also,
118 as·JSON·requires·string·keys,·you·will·likely·run·into·problems·if·you·are119 as·JSON·requires·string·keys,·you·will·likely·run·into·problems·if·you·are
119 using·non-string·keys·in·<code·class="docutils·literal·notranslate"><span·class="pre">request.session</span></code>.·See·the120 using·non-string·keys·in·<code·class="docutils·literal·notranslate"><span·class="pre">request.session</span></code>.·See·the
120 <a·class="reference·internal"·href="../topics/http/sessions.html#session-serialization"><span·class="std·std-ref">Session·serialization</span></a>·documentation·for·more·details.</p>121 <a·class="reference·internal"·href="../topics/http/sessions.html#session-serialization"><span·class="std·std-ref">Session·serialization</span></a>·documentation·for·more·details.</p>
121 </section>122 </section>
122 </section>123 </section>
  
Offset 128, 48 lines modifiedOffset 129, 48 lines modified
128 ······129 ······
129 ········130 ········
130 ··········<div·class="yui-b"·id="sidebar">131 ··········<div·class="yui-b"·id="sidebar">
131 ············132 ············
132 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">133 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
133 ········<div·class="sphinxsidebarwrapper">134 ········<div·class="sphinxsidebarwrapper">
134 ··<div>135 ··<div>
135 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>136 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
136 ····<ul>137 ····<ul>
137 <li><a·class="reference·internal"·href="#">Django·1.5.3·release·notes</a><ul>138 <li><a·class="reference·internal"·href="#">Django·1.5.3·release·notes</a><ul>
138 <li><a·class="reference·internal"·href="#directory-traversal-vulnerability-in-ssi-template-tag">Directory·traversal·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">ssi</span></code>·template·tag</a></li>139 <li><a·class="reference·internal"·href="#directory-traversal-vulnerability-in-ssi-template-tag">Directory·traversal·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">ssi</span></code>·template·tag</a></li>
139 <li><a·class="reference·internal"·href="#mitigating-a-remote-code-execution-vulnerability-in-django-contrib-sessions">Mitigating·a·remote-code·execution·vulnerability·in·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a></li>140 <li><a·class="reference·internal"·href="#mitigating-a-remote-code-execution-vulnerability-in-django-contrib-sessions">Mitigating·a·remote-code·execution·vulnerability·in·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a></li>
140 </ul>141 </ul>
141 </li>142 </li>
142 </ul>143 </ul>
  
143 ··</div>144 ··</div>
144 ··<div>145 ··<div>
145 ····<h4>Previous·topic</h4>146 ····<h4>Eelmine·teema</h4>
146 ····<p·class="topless"><a·href="1.5.4.html"147 ····<p·class="topless"><a·href="1.5.4.html"
147 ··························title="previous·chapter">Django·1.5.4·release·notes</a></p>148 ··························title="eelmine·jaotis">Django·1.5.4·release·notes</a></p>
148 ··</div>149 ··</div>
149 ··<div>150 ··<div>
150 ····<h4>Next·topic</h4>151 ····<h4>Järgmine·teema</h4>
151 ····<p·class="topless"><a·href="1.5.2.html"152 ····<p·class="topless"><a·href="1.5.2.html"
152 ··························title="next·chapter">Django·1.5.2·release·notes</a></p>153 ··························title="järgmine·jaotis">Django·1.5.2·release·notes</a></p>
153 ··</div>154 ··</div>
154 <search·id="searchbox"·style="display:·none"·role="search">155 <search·id="searchbox"·style="display:·none"·role="search">
155 ··<h3·id="searchlabel">Quick·search</h3>156 ··<h3·id="searchlabel">Kiirotsing</h3>
156 ····<div·class="searchformwrapper">157 ····<div·class="searchformwrapper">
157 ····<form·class="search"·action="../search.html"·method="get">158 ····<form·class="search"·action="../search.html"·method="get">
158 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>159 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
159 ······<input·type="submit"·value="Go"·/>160 ······<input·type="submit"·value="Otsi"·/>
160 ····</form>161 ····</form>
161 ····</div>162 ····</div>
162 </search>163 </search>
163 <script>document.getElementById('searchbox').style.display·=·"block"</script>164 <script>document.getElementById('searchbox').style.display·=·"block"</script>
164 ········</div>165 ········</div>
165 ······</div>166 ······</div>
166 ··············<h3>Last·update:</h3>167 ··············<h3>Last·update:</h3>
167 ··············<p·class="topless">Nov·05,·2024</p>168 ··············<p·class="topless">nov·05,·2024</p>
168 ··········</div>169 ··········</div>
169 ········170 ········
170 ······171 ······
171 ····</div>172 ····</div>
  
172 ····<div·id="ft">173 ····<div·id="ft">
173 ······<div·class="nav">174 ······<div·class="nav">
2.97 KB
html2text {}
Max HTML report size reached
7.52 KB
./usr/share/doc/python-django-doc/html/releases/1.5.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.3·release·notes"·href="1.5.3.html"·/>15 ····<link·rel="next"·title="Django·1.5.3·release·notes"·href="1.5.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.5·release·notes"·href="1.5.5.html"·/>16 ····<link·rel="prev"·title="Django·1.5.5·release·notes"·href="1.5.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 121, 49 lines modifiedOffset 122, 49 lines modified
121 ······122 ······
122 ········123 ········
123 ··········<div·class="yui-b"·id="sidebar">124 ··········<div·class="yui-b"·id="sidebar">
124 ············125 ············
125 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">126 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
126 ········<div·class="sphinxsidebarwrapper">127 ········<div·class="sphinxsidebarwrapper">
127 ··<div>128 ··<div>
128 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>129 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
129 ····<ul>130 ····<ul>
130 <li><a·class="reference·internal"·href="#">Django·1.5.4·release·notes</a><ul>131 <li><a·class="reference·internal"·href="#">Django·1.5.4·release·notes</a><ul>
131 <li><a·class="reference·internal"·href="#denial-of-service-via-password-hashers">Denial-of-service·via·password·hashers</a></li>132 <li><a·class="reference·internal"·href="#denial-of-service-via-password-hashers">Denial-of-service·via·password·hashers</a></li>
132 <li><a·class="reference·internal"·href="#corrected-usage-of-sensitive-post-parameters-in-django-contrib-auths-admin">Corrected·usage·of·<code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sensitive_post_parameters()</span></code>·in·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code>’s·admin</a></li>133 <li><a·class="reference·internal"·href="#corrected-usage-of-sensitive-post-parameters-in-django-contrib-auths-admin">Corrected·usage·of·<code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sensitive_post_parameters()</span></code>·in·<code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code>’s·admin</a></li>
133 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>134 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
134 </ul>135 </ul>
135 </li>136 </li>
136 </ul>137 </ul>
  
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Previous·topic</h4>140 ····<h4>Eelmine·teema</h4>
140 ····<p·class="topless"><a·href="1.5.5.html"141 ····<p·class="topless"><a·href="1.5.5.html"
141 ··························title="previous·chapter">Django·1.5.5·release·notes</a></p>142 ··························title="eelmine·jaotis">Django·1.5.5·release·notes</a></p>
142 ··</div>143 ··</div>
143 ··<div>144 ··<div>
144 ····<h4>Next·topic</h4>145 ····<h4>Järgmine·teema</h4>
145 ····<p·class="topless"><a·href="1.5.3.html"146 ····<p·class="topless"><a·href="1.5.3.html"
146 ··························title="next·chapter">Django·1.5.3·release·notes</a></p>147 ··························title="järgmine·jaotis">Django·1.5.3·release·notes</a></p>
147 ··</div>148 ··</div>
148 <search·id="searchbox"·style="display:·none"·role="search">149 <search·id="searchbox"·style="display:·none"·role="search">
149 ··<h3·id="searchlabel">Quick·search</h3>150 ··<h3·id="searchlabel">Kiirotsing</h3>
150 ····<div·class="searchformwrapper">151 ····<div·class="searchformwrapper">
151 ····<form·class="search"·action="../search.html"·method="get">152 ····<form·class="search"·action="../search.html"·method="get">
152 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>153 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
153 ······<input·type="submit"·value="Go"·/>154 ······<input·type="submit"·value="Otsi"·/>
154 ····</form>155 ····</form>
155 ····</div>156 ····</div>
156 </search>157 </search>
157 <script>document.getElementById('searchbox').style.display·=·"block"</script>158 <script>document.getElementById('searchbox').style.display·=·"block"</script>
158 ········</div>159 ········</div>
159 ······</div>160 ······</div>
160 ··············<h3>Last·update:</h3>161 ··············<h3>Last·update:</h3>
161 ··············<p·class="topless">Nov·05,·2024</p>162 ··············<p·class="topless">nov·05,·2024</p>
162 ··········</div>163 ··········</div>
163 ········164 ········
164 ······165 ······
165 ····</div>166 ····</div>
  
166 ····<div·id="ft">167 ····<div·id="ft">
167 ······<div·class="nav">168 ······<div·class="nav">
2.9 KB
html2text {}
Max HTML report size reached
7.37 KB
./usr/share/doc/python-django-doc/html/releases/1.5.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.4·release·notes"·href="1.5.4.html"·/>15 ····<link·rel="next"·title="Django·1.5.4·release·notes"·href="1.5.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.6·release·notes"·href="1.5.6.html"·/>16 ····<link·rel="prev"·title="Django·1.5.6·release·notes"·href="1.5.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 122, 50 lines modifiedOffset 123, 50 lines modified
122 ······123 ······
123 ········124 ········
124 ··········<div·class="yui-b"·id="sidebar">125 ··········<div·class="yui-b"·id="sidebar">
125 ············126 ············
126 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">127 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
127 ········<div·class="sphinxsidebarwrapper">128 ········<div·class="sphinxsidebarwrapper">
128 ··<div>129 ··<div>
129 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>130 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
130 ····<ul>131 ····<ul>
131 <li><a·class="reference·internal"·href="#">Django·1.5.5·release·notes</a><ul>132 <li><a·class="reference·internal"·href="#">Django·1.5.5·release·notes</a><ul>
132 <li><a·class="reference·internal"·href="#readdressed-denial-of-service-via-password-hashers">Readdressed·denial-of-service·via·password·hashers</a></li>133 <li><a·class="reference·internal"·href="#readdressed-denial-of-service-via-password-hashers">Readdressed·denial-of-service·via·password·hashers</a></li>
133 <li><a·class="reference·internal"·href="#properly-rotate-csrf-token-on-login">Properly·rotate·CSRF·token·on·login</a></li>134 <li><a·class="reference·internal"·href="#properly-rotate-csrf-token-on-login">Properly·rotate·CSRF·token·on·login</a></li>
134 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>135 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
135 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a></li>136 <li><a·class="reference·internal"·href="#backwards-incompatible-changes">Backwards·incompatible·changes</a></li>
136 </ul>137 </ul>
137 </li>138 </li>
138 </ul>139 </ul>
  
139 ··</div>140 ··</div>
140 ··<div>141 ··<div>
141 ····<h4>Previous·topic</h4>142 ····<h4>Eelmine·teema</h4>
142 ····<p·class="topless"><a·href="1.5.6.html"143 ····<p·class="topless"><a·href="1.5.6.html"
143 ··························title="previous·chapter">Django·1.5.6·release·notes</a></p>144 ··························title="eelmine·jaotis">Django·1.5.6·release·notes</a></p>
144 ··</div>145 ··</div>
145 ··<div>146 ··<div>
146 ····<h4>Next·topic</h4>147 ····<h4>Järgmine·teema</h4>
147 ····<p·class="topless"><a·href="1.5.4.html"148 ····<p·class="topless"><a·href="1.5.4.html"
148 ··························title="next·chapter">Django·1.5.4·release·notes</a></p>149 ··························title="järgmine·jaotis">Django·1.5.4·release·notes</a></p>
149 ··</div>150 ··</div>
150 <search·id="searchbox"·style="display:·none"·role="search">151 <search·id="searchbox"·style="display:·none"·role="search">
151 ··<h3·id="searchlabel">Quick·search</h3>152 ··<h3·id="searchlabel">Kiirotsing</h3>
152 ····<div·class="searchformwrapper">153 ····<div·class="searchformwrapper">
153 ····<form·class="search"·action="../search.html"·method="get">154 ····<form·class="search"·action="../search.html"·method="get">
154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>155 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
155 ······<input·type="submit"·value="Go"·/>156 ······<input·type="submit"·value="Otsi"·/>
156 ····</form>157 ····</form>
157 ····</div>158 ····</div>
158 </search>159 </search>
159 <script>document.getElementById('searchbox').style.display·=·"block"</script>160 <script>document.getElementById('searchbox').style.display·=·"block"</script>
160 ········</div>161 ········</div>
161 ······</div>162 ······</div>
162 ··············<h3>Last·update:</h3>163 ··············<h3>Last·update:</h3>
163 ··············<p·class="topless">Nov·05,·2024</p>164 ··············<p·class="topless">nov·05,·2024</p>
164 ··········</div>165 ··········</div>
165 ········166 ········
166 ······167 ······
167 ····</div>168 ····</div>
  
168 ····<div·id="ft">169 ····<div·id="ft">
169 ······<div·class="nav">170 ······<div·class="nav">
2.87 KB
html2text {}
Max HTML report size reached
11.7 KB
./usr/share/doc/python-django-doc/html/releases/1.5.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.5·release·notes"·href="1.5.5.html"·/>15 ····<link·rel="next"·title="Django·1.5.5·release·notes"·href="1.5.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.7·release·notes"·href="1.5.7.html"·/>16 ····<link·rel="prev"·title="Django·1.5.7·release·notes"·href="1.5.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 15 lines modifiedOffset 100, 15 lines modified
99 module·indicated·by·that·dotted·path·as·part·of·generating·the100 module·indicated·by·that·dotted·path·as·part·of·generating·the
100 resulting·URL.·If·such·a·module·has·import-time·side·effects,·those101 resulting·URL.·If·such·a·module·has·import-time·side·effects,·those
101 side·effects·will·occur.</p>102 side·effects·will·occur.</p>
102 <p>Thus·it·is·possible·for·an·attacker·to·cause·unexpected·code103 <p>Thus·it·is·possible·for·an·attacker·to·cause·unexpected·code
103 execution,·given·the·following·conditions:</p>104 execution,·given·the·following·conditions:</p>
104 <ol·class="arabic·simple">105 <ol·class="arabic·simple">
105 <li><p>One·or·more·views·are·present·which·construct·a·URL·based·on·user106 <li><p>One·or·more·views·are·present·which·construct·a·URL·based·on·user
106 input·(commonly,·a·next·parameter·in·a·querystring·indicating107 input·(commonly,·a·next·parameter·in·a·querystring·indicating
107 where·to·redirect·upon·successful·completion·of·an·action).</p></li>108 where·to·redirect·upon·successful·completion·of·an·action).</p></li>
108 <li><p>One·or·more·modules·are·known·to·an·attacker·to·exist·on·the109 <li><p>One·or·more·modules·are·known·to·an·attacker·to·exist·on·the
109 server’s·Python·import·path,·which·perform·code·execution·with·side110 server’s·Python·import·path,·which·perform·code·execution·with·side
110 effects·on·importing.</p></li>111 effects·on·importing.</p></li>
111 </ol>112 </ol>
112 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·will·now·only·accept·and·import·dotted113 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·will·now·only·accept·and·import·dotted
113 paths·based·on·the·view-containing·modules·listed·in·the·project’s·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL114 paths·based·on·the·view-containing·modules·listed·in·the·project’s·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL
Offset 136, 15 lines modifiedOffset 137, 15 lines modified
136 <li><p>If·the·response·did·send·one·or·more·cookies,·and</p></li>137 <li><p>If·the·response·did·send·one·or·more·cookies,·and</p></li>
137 <li><p>If·the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary:</span>·<span·class="pre">Cookie</span></code>·header·is·set·on·the·response,·then·the138 <li><p>If·the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary:</span>·<span·class="pre">Cookie</span></code>·header·is·set·on·the·response,·then·the
138 response·will·not·be·cached.</p></li>139 response·will·not·be·cached.</p></li>
139 </ol>140 </ol>
140 </section>141 </section>
141 <section·id="s-mysql-typecasting">142 <section·id="s-mysql-typecasting">
142 <span·id="mysql-typecasting"></span><h2>MySQL·typecasting<a·class="headerlink"·href="#mysql-typecasting"·title="Link·to·this·heading">¶</a></h2>143 <span·id="mysql-typecasting"></span><h2>MySQL·typecasting<a·class="headerlink"·href="#mysql-typecasting"·title="Link·to·this·heading">¶</a></h2>
143 <p>The·MySQL·database·is·known·to·typecast·on·certain·queries;·for144 <p>The·MySQL·database·is·known·to·typecast·on·certain·queries;·for
144 example,·when·querying·a·table·which·contains·string·values,·but·using145 example,·when·querying·a·table·which·contains·string·values,·but·using
145 a·query·which·filters·based·on·an·integer·value,·MySQL·will·first146 a·query·which·filters·based·on·an·integer·value,·MySQL·will·first
146 silently·coerce·the·strings·to·integers·and·return·a·result·based·on·that.</p>147 silently·coerce·the·strings·to·integers·and·return·a·result·based·on·that.</p>
147 <p>If·a·query·is·performed·without·first·converting·values·to·the148 <p>If·a·query·is·performed·without·first·converting·values·to·the
148 appropriate·type,·this·can·produce·unexpected·results,·similar·to·what149 appropriate·type,·this·can·produce·unexpected·results,·similar·to·what
149 would·occur·if·the·query·itself·had·been·manipulated.</p>150 would·occur·if·the·query·itself·had·been·manipulated.</p>
150 <p>Django’s·model·field·classes·are·aware·of·their·own·types·and·most151 <p>Django’s·model·field·classes·are·aware·of·their·own·types·and·most
Offset 183, 50 lines modifiedOffset 184, 50 lines modified
183 ······184 ······
184 ········185 ········
185 ··········<div·class="yui-b"·id="sidebar">186 ··········<div·class="yui-b"·id="sidebar">
186 ············187 ············
187 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">188 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
188 ········<div·class="sphinxsidebarwrapper">189 ········<div·class="sphinxsidebarwrapper">
189 ··<div>190 ··<div>
190 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>191 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
191 ····<ul>192 ····<ul>
192 <li><a·class="reference·internal"·href="#">Django·1.5.6·release·notes</a><ul>193 <li><a·class="reference·internal"·href="#">Django·1.5.6·release·notes</a><ul>
193 <li><a·class="reference·internal"·href="#unexpected-code-execution-using-reverse">Unexpected·code·execution·using·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a></li>194 <li><a·class="reference·internal"·href="#unexpected-code-execution-using-reverse">Unexpected·code·execution·using·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a></li>
194 <li><a·class="reference·internal"·href="#caching-of-anonymous-pages-could-reveal-csrf-token">Caching·of·anonymous·pages·could·reveal·CSRF·token</a></li>195 <li><a·class="reference·internal"·href="#caching-of-anonymous-pages-could-reveal-csrf-token">Caching·of·anonymous·pages·could·reveal·CSRF·token</a></li>
195 <li><a·class="reference·internal"·href="#mysql-typecasting">MySQL·typecasting</a></li>196 <li><a·class="reference·internal"·href="#mysql-typecasting">MySQL·typecasting</a></li>
196 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>197 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
197 </ul>198 </ul>
198 </li>199 </li>
199 </ul>200 </ul>
  
200 ··</div>201 ··</div>
201 ··<div>202 ··<div>
202 ····<h4>Previous·topic</h4>203 ····<h4>Eelmine·teema</h4>
203 ····<p·class="topless"><a·href="1.5.7.html"204 ····<p·class="topless"><a·href="1.5.7.html"
204 ··························title="previous·chapter">Django·1.5.7·release·notes</a></p>205 ··························title="eelmine·jaotis">Django·1.5.7·release·notes</a></p>
205 ··</div>206 ··</div>
206 ··<div>207 ··<div>
207 ····<h4>Next·topic</h4>208 ····<h4>Järgmine·teema</h4>
208 ····<p·class="topless"><a·href="1.5.5.html"209 ····<p·class="topless"><a·href="1.5.5.html"
209 ··························title="next·chapter">Django·1.5.5·release·notes</a></p>210 ··························title="järgmine·jaotis">Django·1.5.5·release·notes</a></p>
210 ··</div>211 ··</div>
211 <search·id="searchbox"·style="display:·none"·role="search">212 <search·id="searchbox"·style="display:·none"·role="search">
212 ··<h3·id="searchlabel">Quick·search</h3>213 ··<h3·id="searchlabel">Kiirotsing</h3>
213 ····<div·class="searchformwrapper">214 ····<div·class="searchformwrapper">
214 ····<form·class="search"·action="../search.html"·method="get">215 ····<form·class="search"·action="../search.html"·method="get">
215 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>216 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
216 ······<input·type="submit"·value="Go"·/>217 ······<input·type="submit"·value="Otsi"·/>
217 ····</form>218 ····</form>
218 ····</div>219 ····</div>
219 </search>220 </search>
220 <script>document.getElementById('searchbox').style.display·=·"block"</script>221 <script>document.getElementById('searchbox').style.display·=·"block"</script>
221 ········</div>222 ········</div>
222 ······</div>223 ······</div>
223 ··············<h3>Last·update:</h3>224 ··············<h3>Last·update:</h3>
224 ··············<p·class="topless">Nov·05,·2024</p>225 ··············<p·class="topless">nov·05,·2024</p>
225 ··········</div>226 ··········</div>
226 ········227 ········
227 ······228 ······
228 ····</div>229 ····</div>
  
229 ····<div·id="ft">230 ····<div·id="ft">
230 ······<div·class="nav">231 ······<div·class="nav">
5.0 KB
html2text {}
Max HTML report size reached
7.48 KB
./usr/share/doc/python-django-doc/html/releases/1.5.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.6·release·notes"·href="1.5.6.html"·/>15 ····<link·rel="next"·title="Django·1.5.6·release·notes"·href="1.5.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.8·release·notes"·href="1.5.8.html"·/>16 ····<link·rel="prev"·title="Django·1.5.8·release·notes"·href="1.5.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="django-1-5-7-release-notes"></span><h1>Django·1.5.7·release·notes<a·class="headerlink"·href="#django-1-5-7-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-5-7-release-notes"></span><h1>Django·1.5.7·release·notes<a·class="headerlink"·href="#django-1-5-7-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·28,·2014</em></p>83 <p><em>April·28,·2014</em></p>
83 <p>Django·1.5.7·fixes·a·regression·in·the·1.5.6·security·release.</p>84 <p>Django·1.5.7·fixes·a·regression·in·the·1.5.6·security·release.</p>
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Restored·the·ability·to·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·views·created·using88 <li><p>Restored·the·ability·to·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·views·created·using
88 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.partial"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.partial()</span></code></a>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22486">#22486</a>).</p></li>89 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.partial"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.partial()</span></code></a>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22486">#22486</a>).</p></li>
89 </ul>90 </ul>
90 </section>91 </section>
91 </section>92 </section>
  
  
92 ··········</div>93 ··········</div>
93 ········</div>94 ········</div>
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·1.5.7·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·1.5.7·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="1.5.8.html"115 ····<p·class="topless"><a·href="1.5.8.html"
115 ··························title="previous·chapter">Django·1.5.8·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·1.5.8·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="1.5.6.html"120 ····<p·class="topless"><a·href="1.5.6.html"
120 ··························title="next·chapter">Django·1.5.6·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·1.5.6·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.98 KB
html2text {}
Max HTML report size reached
9.67 KB
./usr/share/doc/python-django-doc/html/releases/1.5.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.7·release·notes"·href="1.5.7.html"·/>15 ····<link·rel="next"·title="Django·1.5.7·release·notes"·href="1.5.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.9·release·notes"·href="1.5.9.html"·/>16 ····<link·rel="prev"·title="Django·1.5.9·release·notes"·href="1.5.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 15 lines modifiedOffset 104, 15 lines modified
103 <section·id="s-malformed-redirect-urls-from-user-input-not-correctly-validated">104 <section·id="s-malformed-redirect-urls-from-user-input-not-correctly-validated">
104 <span·id="malformed-redirect-urls-from-user-input-not-correctly-validated"></span><h2>Malformed·redirect·URLs·from·user·input·not·correctly·validated<a·class="headerlink"·href="#malformed-redirect-urls-from-user-input-not-correctly-validated"·title="Link·to·this·heading">¶</a></h2>105 <span·id="malformed-redirect-urls-from-user-input-not-correctly-validated"></span><h2>Malformed·redirect·URLs·from·user·input·not·correctly·validated<a·class="headerlink"·href="#malformed-redirect-urls-from-user-input-not-correctly-validated"·title="Link·to·this·heading">¶</a></h2>
105 <p>The·validation·for·redirects·did·not·correctly·validate·some·malformed·URLs,106 <p>The·validation·for·redirects·did·not·correctly·validate·some·malformed·URLs,
106 which·are·accepted·by·some·browsers.·This·allows·a·user·to·be·redirected·to107 which·are·accepted·by·some·browsers.·This·allows·a·user·to·be·redirected·to
107 an·unsafe·URL·unexpectedly.</p>108 an·unsafe·URL·unexpectedly.</p>
108 <p>Django·relies·on·user·input·in·some·cases·(e.g.109 <p>Django·relies·on·user·input·in·some·cases·(e.g.
109 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and110 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and
110 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.111 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.
111 The·security·checks·for·these·redirects·(namely112 The·security·checks·for·these·redirects·(namely
112 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·did·not·correctly·validate·some·malformed113 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·did·not·correctly·validate·some·malformed
113 URLs,·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">http:\\\\\\djangoproject.com</span></code>,·which·are·accepted·by·some114 URLs,·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">http:\\\\\\djangoproject.com</span></code>,·which·are·accepted·by·some
114 browsers·with·more·liberal·URL·parsing.</p>115 browsers·with·more·liberal·URL·parsing.</p>
115 <p>To·remedy·this,·the·validation·in·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·has·been·tightened·to·be·able116 <p>To·remedy·this,·the·validation·in·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·has·been·tightened·to·be·able
116 to·handle·and·correctly·validate·these·malformed·URLs.</p>117 to·handle·and·correctly·validate·these·malformed·URLs.</p>
117 </section>118 </section>
Offset 124, 48 lines modifiedOffset 125, 48 lines modified
124 ······125 ······
125 ········126 ········
126 ··········<div·class="yui-b"·id="sidebar">127 ··········<div·class="yui-b"·id="sidebar">
127 ············128 ············
128 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">129 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
129 ········<div·class="sphinxsidebarwrapper">130 ········<div·class="sphinxsidebarwrapper">
130 ··<div>131 ··<div>
131 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>132 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
132 ····<ul>133 ····<ul>
133 <li><a·class="reference·internal"·href="#">Django·1.5.8·release·notes</a><ul>134 <li><a·class="reference·internal"·href="#">Django·1.5.8·release·notes</a><ul>
134 <li><a·class="reference·internal"·href="#caches-may-incorrectly-be-allowed-to-store-and-serve-private-data">Caches·may·incorrectly·be·allowed·to·store·and·serve·private·data</a></li>135 <li><a·class="reference·internal"·href="#caches-may-incorrectly-be-allowed-to-store-and-serve-private-data">Caches·may·incorrectly·be·allowed·to·store·and·serve·private·data</a></li>
135 <li><a·class="reference·internal"·href="#malformed-redirect-urls-from-user-input-not-correctly-validated">Malformed·redirect·URLs·from·user·input·not·correctly·validated</a></li>136 <li><a·class="reference·internal"·href="#malformed-redirect-urls-from-user-input-not-correctly-validated">Malformed·redirect·URLs·from·user·input·not·correctly·validated</a></li>
136 </ul>137 </ul>
137 </li>138 </li>
138 </ul>139 </ul>
  
139 ··</div>140 ··</div>
140 ··<div>141 ··<div>
141 ····<h4>Previous·topic</h4>142 ····<h4>Eelmine·teema</h4>
142 ····<p·class="topless"><a·href="1.5.9.html"143 ····<p·class="topless"><a·href="1.5.9.html"
143 ··························title="previous·chapter">Django·1.5.9·release·notes</a></p>144 ··························title="eelmine·jaotis">Django·1.5.9·release·notes</a></p>
144 ··</div>145 ··</div>
145 ··<div>146 ··<div>
146 ····<h4>Next·topic</h4>147 ····<h4>Järgmine·teema</h4>
147 ····<p·class="topless"><a·href="1.5.7.html"148 ····<p·class="topless"><a·href="1.5.7.html"
148 ··························title="next·chapter">Django·1.5.7·release·notes</a></p>149 ··························title="järgmine·jaotis">Django·1.5.7·release·notes</a></p>
149 ··</div>150 ··</div>
150 <search·id="searchbox"·style="display:·none"·role="search">151 <search·id="searchbox"·style="display:·none"·role="search">
151 ··<h3·id="searchlabel">Quick·search</h3>152 ··<h3·id="searchlabel">Kiirotsing</h3>
152 ····<div·class="searchformwrapper">153 ····<div·class="searchformwrapper">
153 ····<form·class="search"·action="../search.html"·method="get">154 ····<form·class="search"·action="../search.html"·method="get">
154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>155 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
155 ······<input·type="submit"·value="Go"·/>156 ······<input·type="submit"·value="Otsi"·/>
156 ····</form>157 ····</form>
157 ····</div>158 ····</div>
158 </search>159 </search>
159 <script>document.getElementById('searchbox').style.display·=·"block"</script>160 <script>document.getElementById('searchbox').style.display·=·"block"</script>
160 ········</div>161 ········</div>
161 ······</div>162 ······</div>
162 ··············<h3>Last·update:</h3>163 ··············<h3>Last·update:</h3>
163 ··············<p·class="topless">Nov·05,·2024</p>164 ··············<p·class="topless">nov·05,·2024</p>
164 ··········</div>165 ··········</div>
165 ········166 ········
166 ······167 ······
167 ····</div>168 ····</div>
  
168 ····<div·id="ft">169 ····<div·id="ft">
169 ······<div·class="nav">170 ······<div·class="nav">
3.55 KB
html2text {}
Max HTML report size reached
10.4 KB
./usr/share/doc/python-django-doc/html/releases/1.5.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.8·release·notes"·href="1.5.8.html"·/>15 ····<link·rel="next"·title="Django·1.5.8·release·notes"·href="1.5.8.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.10·release·notes"·href="1.5.10.html"·/>16 ····<link·rel="prev"·title="Django·1.5.10·release·notes"·href="1.5.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 116, 15 lines modifiedOffset 117, 15 lines modified
116 requests·without·an·intervening·logout·could·result·in·the·prior·user’s·session117 requests·without·an·intervening·logout·could·result·in·the·prior·user’s·session
117 being·co-opted·by·the·subsequent·user.·The·middleware·now·logs·the·user·out·on118 being·co-opted·by·the·subsequent·user.·The·middleware·now·logs·the·user·out·on
118 a·failed·login·attempt.</p>119 a·failed·login·attempt.</p>
119 </section>120 </section>
120 <section·id="s-data-leakage-via-query-string-manipulation-in-contrib-admin">121 <section·id="s-data-leakage-via-query-string-manipulation-in-contrib-admin">
121 <span·id="data-leakage-via-query-string-manipulation-in-contrib-admin"></span><h2>Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code><a·class="headerlink"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin"·title="Link·to·this·heading">¶</a></h2>122 <span·id="data-leakage-via-query-string-manipulation-in-contrib-admin"></span><h2>Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code><a·class="headerlink"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin"·title="Link·to·this·heading">¶</a></h2>
122 <p>In·older·versions·of·Django·it·was·possible·to·reveal·any·field’s·data·by123 <p>In·older·versions·of·Django·it·was·possible·to·reveal·any·field’s·data·by
123 modifying·the·popup·and·to_field·parameters·of·the·query·string·on·an·admin124 modifying·the·popup·and·to_field·parameters·of·the·query·string·on·an·admin
124 change·form·page.·For·example,·requesting·a·URL·like125 change·form·page.·For·example,·requesting·a·URL·like
125 <code·class="docutils·literal·notranslate"><span·class="pre">/admin/auth/user/?pop=1&amp;t=password</span></code>·and·viewing·the·page’s·HTML·allowed126 <code·class="docutils·literal·notranslate"><span·class="pre">/admin/auth/user/?pop=1&amp;t=password</span></code>·and·viewing·the·page’s·HTML·allowed
126 viewing·the·password·hash·of·each·user.·While·the·admin·requires·users·to·have127 viewing·the·password·hash·of·each·user.·While·the·admin·requires·users·to·have
127 permissions·to·view·the·change·form·pages·in·the·first·place,·this·could·leak128 permissions·to·view·the·change·form·pages·in·the·first·place,·this·could·leak
128 data·if·you·rely·on·users·having·access·to·view·only·certain·fields·on·a·model.</p>129 data·if·you·rely·on·users·having·access·to·view·only·certain·fields·on·a·model.</p>
129 <p>To·address·the·issue,·an·exception·will·now·be·raised·if·a·<code·class="docutils·literal·notranslate"><span·class="pre">to_field</span></code>·value130 <p>To·address·the·issue,·an·exception·will·now·be·raised·if·a·<code·class="docutils·literal·notranslate"><span·class="pre">to_field</span></code>·value
130 that·isn’t·a·related·field·to·a·model·that·has·been·registered·with·the·admin131 that·isn’t·a·related·field·to·a·model·that·has·been·registered·with·the·admin
Offset 139, 50 lines modifiedOffset 140, 50 lines modified
139 ······140 ······
140 ········141 ········
141 ··········<div·class="yui-b"·id="sidebar">142 ··········<div·class="yui-b"·id="sidebar">
142 ············143 ············
143 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">144 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
144 ········<div·class="sphinxsidebarwrapper">145 ········<div·class="sphinxsidebarwrapper">
145 ··<div>146 ··<div>
146 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>147 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
147 ····<ul>148 ····<ul>
148 <li><a·class="reference·internal"·href="#">Django·1.5.9·release·notes</a><ul>149 <li><a·class="reference·internal"·href="#">Django·1.5.9·release·notes</a><ul>
149 <li><a·class="reference·internal"·href="#reverse-could-generate-urls-pointing-to-other-hosts"><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·could·generate·URLs·pointing·to·other·hosts</a></li>150 <li><a·class="reference·internal"·href="#reverse-could-generate-urls-pointing-to-other-hosts"><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·could·generate·URLs·pointing·to·other·hosts</a></li>
150 <li><a·class="reference·internal"·href="#file-upload-denial-of-service">File·upload·denial-of-service</a></li>151 <li><a·class="reference·internal"·href="#file-upload-denial-of-service">File·upload·denial-of-service</a></li>
151 <li><a·class="reference·internal"·href="#remoteusermiddleware-session-hijacking"><code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·session·hijacking</a></li>152 <li><a·class="reference·internal"·href="#remoteusermiddleware-session-hijacking"><code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·session·hijacking</a></li>
152 <li><a·class="reference·internal"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin">Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code></a></li>153 <li><a·class="reference·internal"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin">Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code></a></li>
153 </ul>154 </ul>
154 </li>155 </li>
155 </ul>156 </ul>
  
156 ··</div>157 ··</div>
157 ··<div>158 ··<div>
158 ····<h4>Previous·topic</h4>159 ····<h4>Eelmine·teema</h4>
159 ····<p·class="topless"><a·href="1.5.10.html"160 ····<p·class="topless"><a·href="1.5.10.html"
160 ··························title="previous·chapter">Django·1.5.10·release·notes</a></p>161 ··························title="eelmine·jaotis">Django·1.5.10·release·notes</a></p>
161 ··</div>162 ··</div>
162 ··<div>163 ··<div>
163 ····<h4>Next·topic</h4>164 ····<h4>Järgmine·teema</h4>
164 ····<p·class="topless"><a·href="1.5.8.html"165 ····<p·class="topless"><a·href="1.5.8.html"
165 ··························title="next·chapter">Django·1.5.8·release·notes</a></p>166 ··························title="järgmine·jaotis">Django·1.5.8·release·notes</a></p>
166 ··</div>167 ··</div>
167 <search·id="searchbox"·style="display:·none"·role="search">168 <search·id="searchbox"·style="display:·none"·role="search">
168 ··<h3·id="searchlabel">Quick·search</h3>169 ··<h3·id="searchlabel">Kiirotsing</h3>
169 ····<div·class="searchformwrapper">170 ····<div·class="searchformwrapper">
170 ····<form·class="search"·action="../search.html"·method="get">171 ····<form·class="search"·action="../search.html"·method="get">
171 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>172 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
172 ······<input·type="submit"·value="Go"·/>173 ······<input·type="submit"·value="Otsi"·/>
173 ····</form>174 ····</form>
174 ····</div>175 ····</div>
175 </search>176 </search>
176 <script>document.getElementById('searchbox').style.display·=·"block"</script>177 <script>document.getElementById('searchbox').style.display·=·"block"</script>
177 ········</div>178 ········</div>
178 ······</div>179 ······</div>
179 ··············<h3>Last·update:</h3>180 ··············<h3>Last·update:</h3>
180 ··············<p·class="topless">Nov·05,·2024</p>181 ··············<p·class="topless">nov·05,·2024</p>
181 ··········</div>182 ··········</div>
182 ········183 ········
183 ······184 ······
184 ····</div>185 ····</div>
  
185 ····<div·id="ft">186 ····<div·id="ft">
186 ······<div·class="nav">187 ······<div·class="nav">
4.01 KB
html2text {}
Max HTML report size reached
50.2 KB
./usr/share/doc/python-django-doc/html/releases/1.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.4.22·release·notes"·href="1.4.22.html"·/>15 ····<link·rel="next"·title="Django·1.4.22·release·notes"·href="1.4.22.html"·/>
15 ····<link·rel="prev"·title="Django·1.5.1·release·notes"·href="1.5.1.html"·/>16 ····<link·rel="prev"·title="Django·1.5.1·release·notes"·href="1.5.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 86, 21 lines modifiedOffset 87, 21 lines modified
86 want·to·be·aware·of·when·upgrading·from·Django·1.4·or·older·versions.·We’ve87 want·to·be·aware·of·when·upgrading·from·Django·1.4·or·older·versions.·We’ve
87 also·dropped·some·features,·which·are·detailed·in·<a·class="reference·internal"·href="../internals/deprecation.html#deprecation-removed-in-1-5"><span·class="std·std-ref">our·deprecation·plan</span></a>,·and·we’ve·<a·class="reference·internal"·href="#deprecated-features-1-5"><span·class="std·std-ref">begun·the·deprecation·process88 also·dropped·some·features,·which·are·detailed·in·<a·class="reference·internal"·href="../internals/deprecation.html#deprecation-removed-in-1-5"><span·class="std·std-ref">our·deprecation·plan</span></a>,·and·we’ve·<a·class="reference·internal"·href="#deprecated-features-1-5"><span·class="std·std-ref">begun·the·deprecation·process
88 for·some·features</span></a>.</p>89 for·some·features</span></a>.</p>
89 <section·id="s-overview">90 <section·id="s-overview">
90 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>91 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>
91 <p>The·biggest·new·feature·in·Django·1.5·is·the·<a·class="reference·internal"·href="#configurable-user-model">configurable·User·model</a>.·Before92 <p>The·biggest·new·feature·in·Django·1.5·is·the·<a·class="reference·internal"·href="#configurable-user-model">configurable·User·model</a>.·Before
92 Django·1.5,·applications·that·wanted·to·use·Django’s·auth·framework93 Django·1.5,·applications·that·wanted·to·use·Django’s·auth·framework
93 (<a·class="reference·internal"·href="../topics/auth/index.html#module-django.contrib.auth"·title="django.contrib.auth:·Django's·authentication·framework."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code></a>)·were·forced·to·use·Django’s·definition·of·a·user.94 (<a·class="reference·internal"·href="../topics/auth/index.html#module-django.contrib.auth"·title="django.contrib.auth:·Django's·authentication·framework."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth</span></code></a>)·were·forced·to·use·Django’s·definition·of·a·user.
94 In·Django·1.5,·you·can·now·swap·out·the·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model·for·one·that·you·write95 In·Django·1.5,·you·can·now·swap·out·the·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model·for·one·that·you·write
95 yourself.·This·could·be·a·simple·extension·to·the·existing·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model··for96 yourself.·This·could·be·a·simple·extension·to·the·existing·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model··for
96 example,·you·could·add·a·Twitter·or·Facebook·ID·field··or·you·could·completely97 example,·you·could·add·a·Twitter·or·Facebook·ID·field··or·you·could·completely
97 replace·the·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·with·one·totally·customized·for·your·site.</p>98 replace·the·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·with·one·totally·customized·for·your·site.</p>
98 <p>Django·1.5·is·also·the·first·release·with·<a·class="reference·internal"·href="#python-3-support">Python·3·support</a>!·We’re·labeling99 <p>Django·1.5·is·also·the·first·release·with·<a·class="reference·internal"·href="#python-3-support">Python·3·support</a>!·We’re·labeling
99 this·support·experimental·because·we·don’t·yet·consider·it·production-ready,100 this·support·experimental·because·we·don’t·yet·consider·it·production-ready,
100 but·everything’s·in·place·for·you·to·start·porting·your·apps·to·Python·3.101 but·everything’s·in·place·for·you·to·start·porting·your·apps·to·Python·3.
101 Our·next·release,·Django·1.6,·will·support·Python·3·without·reservations.</p>102 Our·next·release,·Django·1.6,·will·support·Python·3·without·reservations.</p>
102 <p>Other·notable·new·features·in·Django·1.5·include:</p>103 <p>Other·notable·new·features·in·Django·1.5·include:</p>
103 <ul·class="simple">104 <ul·class="simple">
104 <li><p><a·class="reference·internal"·href="#support-for-saving-a-subset-of-model-s-fields">Support·for·saving·a·subset·of·model’s·fields</a>·-105 <li><p><a·class="reference·internal"·href="#support-for-saving-a-subset-of-model-s-fields">Support·for·saving·a·subset·of·model’s·fields</a>·-
105 <a·class="reference·internal"·href="../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.save()</span></code></a>·now·accepts·an106 <a·class="reference·internal"·href="../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.save()</span></code></a>·now·accepts·an
106 <code·class="docutils·literal·notranslate"><span·class="pre">update_fields</span></code>·argument,·letting·you·specify·which·fields·are107 <code·class="docutils·literal·notranslate"><span·class="pre">update_fields</span></code>·argument,·letting·you·specify·which·fields·are
Offset 112, 15 lines modifiedOffset 113, 15 lines modified
112 <li><p>…·and·more;·<a·class="reference·external"·href="#what-s-new-in-django-1-5">see·below</a>.</p></li>113 <li><p>…·and·more;·<a·class="reference·external"·href="#what-s-new-in-django-1-5">see·below</a>.</p></li>
113 </ul>114 </ul>
114 <p>Wherever·possible·we·try·to·introduce·new·features·in·a·backwards-compatible115 <p>Wherever·possible·we·try·to·introduce·new·features·in·a·backwards-compatible
115 manner·per·<a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our·API·stability·policy</span></a>.116 manner·per·<a·class="reference·internal"·href="../misc/api-stability.html"><span·class="doc">our·API·stability·policy</span></a>.
116 However,·as·with·previous·releases,·Django·1.5·ships·with·some·minor117 However,·as·with·previous·releases,·Django·1.5·ships·with·some·minor
117 <a·class="reference·internal"·href="#backwards-incompatible-1-5"><span·class="std·std-ref">backwards·incompatible·changes</span></a>;·people118 <a·class="reference·internal"·href="#backwards-incompatible-1-5"><span·class="std·std-ref">backwards·incompatible·changes</span></a>;·people
118 upgrading·from·previous·versions·of·Django·should·read·that·list·carefully.</p>119 upgrading·from·previous·versions·of·Django·should·read·that·list·carefully.</p>
119 <p>One·deprecated·feature·worth·noting·is·the·shift·to·new-style·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-url"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">url</span></code></a>·tag.120 <p>One·deprecated·feature·worth·noting·is·the·shift·to·new-style·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-url"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">url</span></code></a>·tag.
120 Prior·to·Django·1.3,·syntax·like·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">url</span>·<span·class="pre">myview</span>·<span·class="pre">%}</span></code>·was·interpreted121 Prior·to·Django·1.3,·syntax·like·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">url</span>·<span·class="pre">myview</span>·<span·class="pre">%}</span></code>·was·interpreted
121 incorrectly·(Django·considered·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;myview&quot;</span></code>·to·be·a·literal·name·of·a·view,·not122 incorrectly·(Django·considered·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;myview&quot;</span></code>·to·be·a·literal·name·of·a·view,·not
122 a·template·variable·named·<code·class="docutils·literal·notranslate"><span·class="pre">myview</span></code>).·Django·1.3·and·above·introduced·the123 a·template·variable·named·<code·class="docutils·literal·notranslate"><span·class="pre">myview</span></code>).·Django·1.3·and·above·introduced·the
123 <code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">load</span>·<span·class="pre">url</span>·<span·class="pre">from</span>·<span·class="pre">future</span>·<span·class="pre">%}</span></code>·syntax·to·bring·in·the·corrected·behavior·where124 <code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">load</span>·<span·class="pre">url</span>·<span·class="pre">from</span>·<span·class="pre">future</span>·<span·class="pre">%}</span></code>·syntax·to·bring·in·the·corrected·behavior·where
124 <code·class="docutils·literal·notranslate"><span·class="pre">myview</span></code>·was·seen·as·a·variable.</p>125 <code·class="docutils·literal·notranslate"><span·class="pre">myview</span></code>·was·seen·as·a·variable.</p>
125 <p>The·upshot·of·this·is·that·if·you·are·not·using·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">load</span>·<span·class="pre">url</span>·<span·class="pre">from</span>·<span·class="pre">future</span>·<span·class="pre">%}</span></code>126 <p>The·upshot·of·this·is·that·if·you·are·not·using·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">load</span>·<span·class="pre">url</span>·<span·class="pre">from</span>·<span·class="pre">future</span>·<span·class="pre">%}</span></code>
126 in·your·templates,·you’ll·need·to·change·tags·like·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">url</span>·<span·class="pre">myview</span>·<span·class="pre">%}</span></code>·to127 in·your·templates,·you’ll·need·to·change·tags·like·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">url</span>·<span·class="pre">myview</span>·<span·class="pre">%}</span></code>·to
Offset 144, 15 lines modifiedOffset 145, 15 lines modified
144 <section·id="s-python-3-support">145 <section·id="s-python-3-support">
145 <span·id="python-3-support"></span><h3>Python·3·support<a·class="headerlink"·href="#python-3-support"·title="Link·to·this·heading">¶</a></h3>146 <span·id="python-3-support"></span><h3>Python·3·support<a·class="headerlink"·href="#python-3-support"·title="Link·to·this·heading">¶</a></h3>
146 <p>Django·1.5·introduces·support·for·Python·3·-·specifically,·Python147 <p>Django·1.5·introduces·support·for·Python·3·-·specifically,·Python
147 3.2·and·above.·This·comes·in·the·form·of·a·<strong>single</strong>·codebase;·you·don’t148 3.2·and·above.·This·comes·in·the·form·of·a·<strong>single</strong>·codebase;·you·don’t
148 need·to·install·a·different·version·of·Django·on·Python·3.·This·means·that149 need·to·install·a·different·version·of·Django·on·Python·3.·This·means·that
149 you·can·write·applications·targeted·for·just·Python·2,·just·Python·3,·or·single150 you·can·write·applications·targeted·for·just·Python·2,·just·Python·3,·or·single
150 applications·that·support·both·platforms.</p>151 applications·that·support·both·platforms.</p>
151 <p>However,·we’re·labeling·this·support·experimental·for·now:·although·it’s152 <p>However,·we’re·labeling·this·support·experimental·for·now:·although·it’s
152 received·extensive·testing·via·our·automated·test·suite,·it’s·received·very153 received·extensive·testing·via·our·automated·test·suite,·it’s·received·very
153 little·real-world·testing.·We’ve·done·our·best·to·eliminate·bugs,·but·we·can’t154 little·real-world·testing.·We’ve·done·our·best·to·eliminate·bugs,·but·we·can’t
154 be·sure·we·covered·all·possible·uses·of·Django.</p>155 be·sure·we·covered·all·possible·uses·of·Django.</p>
155 <p>Some·features·of·Django·aren’t·available·because·they·depend·on·third-party156 <p>Some·features·of·Django·aren’t·available·because·they·depend·on·third-party
156 software·that·hasn’t·been·ported·to·Python·3·yet,·including:</p>157 software·that·hasn’t·been·ported·to·Python·3·yet,·including:</p>
157 <ul·class="simple">158 <ul·class="simple">
158 <li><p>the·MySQL·database·backend·(depends·on·MySQLdb)</p></li>159 <li><p>the·MySQL·database·backend·(depends·on·MySQLdb)</p></li>
Offset 265, 15 lines modifiedOffset 266, 15 lines modified
265 dropped.</p></li>266 dropped.</p></li>
266 </ul>267 </ul>
267 </section>268 </section>
268 <section·id="s-new-tutorials">269 <section·id="s-new-tutorials">
269 <span·id="new-tutorials"></span><h3>New·tutorials<a·class="headerlink"·href="#new-tutorials"·title="Link·to·this·heading">¶</a></h3>270 <span·id="new-tutorials"></span><h3>New·tutorials<a·class="headerlink"·href="#new-tutorials"·title="Link·to·this·heading">¶</a></h3>
270 <p>Additions·to·the·docs·include·a·revamped·<a·class="reference·internal"·href="../intro/tutorial03.html"><span·class="doc">Tutorial·3</span></a>271 <p>Additions·to·the·docs·include·a·revamped·<a·class="reference·internal"·href="../intro/tutorial03.html"><span·class="doc">Tutorial·3</span></a>
271 and·a·new·<a·class="reference·internal"·href="../intro/tutorial05.html"><span·class="doc">tutorial·on·testing</span></a>.·A·new·section,272 and·a·new·<a·class="reference·internal"·href="../intro/tutorial05.html"><span·class="doc">tutorial·on·testing</span></a>.·A·new·section,
272 Advanced·Tutorials,·offers·<a·class="reference·internal"·href="../intro/reusable-apps.html"><span·class="doc">How·to·write·reusable·apps</span></a>·as·well·as·a·step-by-step·guide·for·new·contributors·in273 Advanced·Tutorials,·offers·<a·class="reference·internal"·href="../intro/reusable-apps.html"><span·class="doc">How·to·write·reusable·apps</span></a>·as·well·as·a·step-by-step·guide·for·new·contributors·in
273 <a·class="reference·internal"·href="../intro/contributing.html"><span·class="doc">Writing·your·first·patch·for·Django</span></a>.</p>274 <a·class="reference·internal"·href="../intro/contributing.html"><span·class="doc">Writing·your·first·patch·for·Django</span></a>.</p>
274 </section>275 </section>
275 <section·id="s-minor-features">276 <section·id="s-minor-features">
276 <span·id="minor-features"></span><h3>Minor·features<a·class="headerlink"·href="#minor-features"·title="Link·to·this·heading">¶</a></h3>277 <span·id="minor-features"></span><h3>Minor·features<a·class="headerlink"·href="#minor-features"·title="Link·to·this·heading">¶</a></h3>
277 <p>Django·1.5·also·includes·several·smaller·improvements·worth·noting:</p>278 <p>Django·1.5·also·includes·several·smaller·improvements·worth·noting:</p>
278 <ul>279 <ul>
279 <li><p>The·template·engine·now·interprets·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·as·the280 <li><p>The·template·engine·now·interprets·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·as·the
Offset 352, 15 lines modifiedOffset 353, 15 lines modified
352 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_list_filter"·title="django.contrib.admin.ModelAdmin.get_list_filter"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">django.contrib.admin.ModelAdmin.get_list_filter()</span></code></a>·method.</p></li>353 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_list_filter"·title="django.contrib.admin.ModelAdmin.get_list_filter"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">django.contrib.admin.ModelAdmin.get_list_filter()</span></code></a>·method.</p></li>
353 </ul>354 </ul>
354 </section>355 </section>
355 </section>356 </section>
356 <section·id="s-backwards-incompatible-changes-in-1-5">357 <section·id="s-backwards-incompatible-changes-in-1-5">
357 <span·id="s-backwards-incompatible-1-5"></span><span·id="backwards-incompatible-changes-in-1-5"></span><span·id="backwards-incompatible-1-5"></span><h2>Backwards·incompatible·changes·in·1.5<a·class="headerlink"·href="#backwards-incompatible-changes-in-1-5"·title="Link·to·this·heading">¶</a></h2>358 <span·id="s-backwards-incompatible-1-5"></span><span·id="backwards-incompatible-changes-in-1-5"></span><span·id="backwards-incompatible-1-5"></span><h2>Backwards·incompatible·changes·in·1.5<a·class="headerlink"·href="#backwards-incompatible-changes-in-1-5"·title="Link·to·this·heading">¶</a></h2>
358 <div·class="admonition·warning">359 <div·class="admonition·warning">
359 <p·class="admonition-title">Warning</p>360 <p·class="admonition-title">Hoiatus</p>
360 <p>In·addition·to·the·changes·outlined·in·this·section,·be·sure·to·review·the361 <p>In·addition·to·the·changes·outlined·in·this·section,·be·sure·to·review·the
361 <a·class="reference·internal"·href="../internals/deprecation.html#deprecation-removed-in-1-5"><span·class="std·std-ref">deprecation·plan</span></a>·for·any·features·that362 <a·class="reference·internal"·href="../internals/deprecation.html#deprecation-removed-in-1-5"><span·class="std·std-ref">deprecation·plan</span></a>·for·any·features·that
362 have·been·removed.·If·you·haven’t·updated·your·code·within·the363 have·been·removed.·If·you·haven’t·updated·your·code·within·the
363 deprecation·timeline·for·a·given·feature,·its·removal·may·appear·as·a364 deprecation·timeline·for·a·given·feature,·its·removal·may·appear·as·a
364 backwards·incompatible·change.</p>365 backwards·incompatible·change.</p>
365 </div>366 </div>
366 <section·id="s-allowed-hosts-required-in-production">367 <section·id="s-allowed-hosts-required-in-production">
Offset 374, 25 lines modifiedOffset 375, 25 lines modified
374 </section>375 </section>
Max diff block lines reached; 25746/37720 bytes (68.26%) of diff not shown.
13.2 KB
html2text {}
Max HTML report size reached
9.4 KB
./usr/share/doc/python-django-doc/html/releases/1.6.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6·release·notes"·href="1.6.html"·/>15 ····<link·rel="next"·title="Django·1.6·release·notes"·href="1.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.2·release·notes"·href="1.6.2.html"·/>16 ····<link·rel="prev"·title="Django·1.6.2·release·notes"·href="1.6.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 85, 15 lines modifiedOffset 86, 15 lines modified
85 included.</p>86 included.</p>
86 <section·id="s-bug-fixes">87 <section·id="s-bug-fixes">
87 <span·id="bug-fixes"></span><h2>Bug·fixes<a·class="headerlink"·href="#bug-fixes"·title="Link·to·this·heading">¶</a></h2>88 <span·id="bug-fixes"></span><h2>Bug·fixes<a·class="headerlink"·href="#bug-fixes"·title="Link·to·this·heading">¶</a></h2>
88 <ul·class="simple">89 <ul·class="simple">
89 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">BCryptSHA256PasswordHasher</span></code>·with·<code·class="docutils·literal·notranslate"><span·class="pre">py-bcrypt</span></code>·and·Python·390 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">BCryptSHA256PasswordHasher</span></code>·with·<code·class="docutils·literal·notranslate"><span·class="pre">py-bcrypt</span></code>·and·Python·3
90 (#21398).</p></li>91 (#21398).</p></li>
91 <li><p>Fixed·a·regression·that·prevented·a·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·with·a·hidden·reverse92 <li><p>Fixed·a·regression·that·prevented·a·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·with·a·hidden·reverse
92 manager·(<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·ending·with·+)·from·being·used·as·a·lookup·for93 manager·(<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·ending·with·+)·from·being·used·as·a·lookup·for
93 <code·class="docutils·literal·notranslate"><span·class="pre">prefetch_related</span></code>·(#21410).</p></li>94 <code·class="docutils·literal·notranslate"><span·class="pre">prefetch_related</span></code>·(#21410).</p></li>
94 <li><p>Fixed·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.datetimes"·title="django.db.models.query.QuerySet.datetimes"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Queryset.datetimes</span></code></a>95 <li><p>Fixed·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.datetimes"·title="django.db.models.query.QuerySet.datetimes"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Queryset.datetimes</span></code></a>
95 raising·<code·class="docutils·literal·notranslate"><span·class="pre">AttributeError</span></code>·in·some·situations·(#21432).</p></li>96 raising·<code·class="docutils·literal·notranslate"><span·class="pre">AttributeError</span></code>·in·some·situations·(#21432).</p></li>
96 <li><p>Fixed·<a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.backends.ModelBackend"·title="django.contrib.auth.backends.ModelBackend"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code></a>·raising97 <li><p>Fixed·<a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.backends.ModelBackend"·title="django.contrib.auth.backends.ModelBackend"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code></a>·raising
97 <code·class="docutils·literal·notranslate"><span·class="pre">UnboundLocalError</span></code>·if·<a·class="reference·internal"·href="../topics/auth/customizing.html#django.contrib.auth.get_user_model"·title="django.contrib.auth.get_user_model"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_user_model()</span></code></a>98 <code·class="docutils·literal·notranslate"><span·class="pre">UnboundLocalError</span></code>·if·<a·class="reference·internal"·href="../topics/auth/customizing.html#django.contrib.auth.get_user_model"·title="django.contrib.auth.get_user_model"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_user_model()</span></code></a>
98 raised·an·error·(#21439).</p></li>99 raised·an·error·(#21439).</p></li>
99 <li><p>Fixed·a·regression·that·prevented·editable·<code·class="docutils·literal·notranslate"><span·class="pre">GenericRelation</span></code>·subclasses100 <li><p>Fixed·a·regression·that·prevented·editable·<code·class="docutils·literal·notranslate"><span·class="pre">GenericRelation</span></code>·subclasses
Offset 146, 47 lines modifiedOffset 147, 47 lines modified
146 ······147 ······
147 ········148 ········
148 ··········<div·class="yui-b"·id="sidebar">149 ··········<div·class="yui-b"·id="sidebar">
149 ············150 ············
150 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">151 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
151 ········<div·class="sphinxsidebarwrapper">152 ········<div·class="sphinxsidebarwrapper">
152 ··<div>153 ··<div>
153 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>154 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
154 ····<ul>155 ····<ul>
155 <li><a·class="reference·internal"·href="#">Django·1.6.1·release·notes</a><ul>156 <li><a·class="reference·internal"·href="#">Django·1.6.1·release·notes</a><ul>
156 <li><a·class="reference·internal"·href="#bug-fixes">Bug·fixes</a></li>157 <li><a·class="reference·internal"·href="#bug-fixes">Bug·fixes</a></li>
157 </ul>158 </ul>
158 </li>159 </li>
159 </ul>160 </ul>
  
160 ··</div>161 ··</div>
161 ··<div>162 ··<div>
162 ····<h4>Previous·topic</h4>163 ····<h4>Eelmine·teema</h4>
163 ····<p·class="topless"><a·href="1.6.2.html"164 ····<p·class="topless"><a·href="1.6.2.html"
164 ··························title="previous·chapter">Django·1.6.2·release·notes</a></p>165 ··························title="eelmine·jaotis">Django·1.6.2·release·notes</a></p>
165 ··</div>166 ··</div>
166 ··<div>167 ··<div>
167 ····<h4>Next·topic</h4>168 ····<h4>Järgmine·teema</h4>
168 ····<p·class="topless"><a·href="1.6.html"169 ····<p·class="topless"><a·href="1.6.html"
169 ··························title="next·chapter">Django·1.6·release·notes</a></p>170 ··························title="järgmine·jaotis">Django·1.6·release·notes</a></p>
170 ··</div>171 ··</div>
171 <search·id="searchbox"·style="display:·none"·role="search">172 <search·id="searchbox"·style="display:·none"·role="search">
172 ··<h3·id="searchlabel">Quick·search</h3>173 ··<h3·id="searchlabel">Kiirotsing</h3>
173 ····<div·class="searchformwrapper">174 ····<div·class="searchformwrapper">
174 ····<form·class="search"·action="../search.html"·method="get">175 ····<form·class="search"·action="../search.html"·method="get">
175 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>176 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
176 ······<input·type="submit"·value="Go"·/>177 ······<input·type="submit"·value="Otsi"·/>
177 ····</form>178 ····</form>
178 ····</div>179 ····</div>
179 </search>180 </search>
180 <script>document.getElementById('searchbox').style.display·=·"block"</script>181 <script>document.getElementById('searchbox').style.display·=·"block"</script>
181 ········</div>182 ········</div>
182 ······</div>183 ······</div>
183 ··············<h3>Last·update:</h3>184 ··············<h3>Last·update:</h3>
184 ··············<p·class="topless">Nov·05,·2024</p>185 ··············<p·class="topless">nov·05,·2024</p>
185 ··········</div>186 ··········</div>
186 ········187 ········
187 ······188 ······
188 ····</div>189 ····</div>
  
189 ····<div·id="ft">190 ····<div·id="ft">
190 ······<div·class="nav">191 ······<div·class="nav">
3.08 KB
html2text {}
Max HTML report size reached
11.4 KB
./usr/share/doc/python-django-doc/html/releases/1.6.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.9·release·notes"·href="1.6.9.html"·/>15 ····<link·rel="next"·title="Django·1.6.9·release·notes"·href="1.6.9.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.11·release·notes"·href="1.6.11.html"·/>16 ····<link·rel="prev"·title="Django·1.6.11·release·notes"·href="1.6.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 15 lines modifiedOffset 103, 15 lines modified
102 recommended·for·production·use,·but·matching·the·behavior·of·common·production103 recommended·for·production·use,·but·matching·the·behavior·of·common·production
103 servers·reduces·the·surface·area·for·behavior·changes·during·deployment.</p>104 servers·reduces·the·surface·area·for·behavior·changes·during·deployment.</p>
104 </section>105 </section>
105 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">106 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">
106 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>107 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
107 <p>Django·relies·on·user·input·in·some·cases·(e.g.108 <p>Django·relies·on·user·input·in·some·cases·(e.g.
108 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)109 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
109 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these110 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these
110 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·strip·leading111 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·strip·leading
111 whitespace·on·the·tested·URL·and·as·such·considered·URLs·like112 whitespace·on·the·tested·URL·and·as·such·considered·URLs·like
112 <code·class="docutils·literal·notranslate"><span·class="pre">\njavascript:...</span></code>·safe.·If·a·developer·relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to113 <code·class="docutils·literal·notranslate"><span·class="pre">\njavascript:...</span></code>·safe.·If·a·developer·relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to
113 provide·safe·redirect·targets·and·put·such·a·URL·into·a·link,·they·could·suffer114 provide·safe·redirect·targets·and·put·such·a·URL·into·a·link,·they·could·suffer
114 from·a·XSS·attack.·This·bug·doesn’t·affect·Django·currently,·since·we·only·put115 from·a·XSS·attack.·This·bug·doesn’t·affect·Django·currently,·since·we·only·put
115 this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore116 this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore
116 JavaScript·there.</p>117 JavaScript·there.</p>
Offset 145, 50 lines modifiedOffset 146, 50 lines modified
145 ······146 ······
146 ········147 ········
147 ··········<div·class="yui-b"·id="sidebar">148 ··········<div·class="yui-b"·id="sidebar">
148 ············149 ············
149 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">150 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
150 ········<div·class="sphinxsidebarwrapper">151 ········<div·class="sphinxsidebarwrapper">
151 ··<div>152 ··<div>
152 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>153 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
153 ····<ul>154 ····<ul>
154 <li><a·class="reference·internal"·href="#">Django·1.6.10·release·notes</a><ul>155 <li><a·class="reference·internal"·href="#">Django·1.6.10·release·notes</a><ul>
155 <li><a·class="reference·internal"·href="#wsgi-header-spoofing-via-underscore-dash-conflation">WSGI·header·spoofing·via·underscore/dash·conflation</a></li>156 <li><a·class="reference·internal"·href="#wsgi-header-spoofing-via-underscore-dash-conflation">WSGI·header·spoofing·via·underscore/dash·conflation</a></li>
156 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>157 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>
157 <li><a·class="reference·internal"·href="#denial-of-service-attack-against-django-views-static-serve">Denial-of-service·attack·against·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve</span></code></a></li>158 <li><a·class="reference·internal"·href="#denial-of-service-attack-against-django-views-static-serve">Denial-of-service·attack·against·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve</span></code></a></li>
158 <li><a·class="reference·internal"·href="#database-denial-of-service-with-modelmultiplechoicefield">Database·denial-of-service·with·<code·class="docutils·literal·notranslate"><span·class="pre">ModelMultipleChoiceField</span></code></a></li>159 <li><a·class="reference·internal"·href="#database-denial-of-service-with-modelmultiplechoicefield">Database·denial-of-service·with·<code·class="docutils·literal·notranslate"><span·class="pre">ModelMultipleChoiceField</span></code></a></li>
159 </ul>160 </ul>
160 </li>161 </li>
161 </ul>162 </ul>
  
162 ··</div>163 ··</div>
163 ··<div>164 ··<div>
164 ····<h4>Previous·topic</h4>165 ····<h4>Eelmine·teema</h4>
165 ····<p·class="topless"><a·href="1.6.11.html"166 ····<p·class="topless"><a·href="1.6.11.html"
166 ··························title="previous·chapter">Django·1.6.11·release·notes</a></p>167 ··························title="eelmine·jaotis">Django·1.6.11·release·notes</a></p>
167 ··</div>168 ··</div>
168 ··<div>169 ··<div>
169 ····<h4>Next·topic</h4>170 ····<h4>Järgmine·teema</h4>
170 ····<p·class="topless"><a·href="1.6.9.html"171 ····<p·class="topless"><a·href="1.6.9.html"
171 ··························title="next·chapter">Django·1.6.9·release·notes</a></p>172 ··························title="järgmine·jaotis">Django·1.6.9·release·notes</a></p>
172 ··</div>173 ··</div>
173 <search·id="searchbox"·style="display:·none"·role="search">174 <search·id="searchbox"·style="display:·none"·role="search">
174 ··<h3·id="searchlabel">Quick·search</h3>175 ··<h3·id="searchlabel">Kiirotsing</h3>
175 ····<div·class="searchformwrapper">176 ····<div·class="searchformwrapper">
176 ····<form·class="search"·action="../search.html"·method="get">177 ····<form·class="search"·action="../search.html"·method="get">
177 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>178 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
178 ······<input·type="submit"·value="Go"·/>179 ······<input·type="submit"·value="Otsi"·/>
179 ····</form>180 ····</form>
180 ····</div>181 ····</div>
181 </search>182 </search>
182 <script>document.getElementById('searchbox').style.display·=·"block"</script>183 <script>document.getElementById('searchbox').style.display·=·"block"</script>
183 ········</div>184 ········</div>
184 ······</div>185 ······</div>
185 ··············<h3>Last·update:</h3>186 ··············<h3>Last·update:</h3>
186 ··············<p·class="topless">Nov·05,·2024</p>187 ··············<p·class="topless">nov·05,·2024</p>
187 ··········</div>188 ··········</div>
188 ········189 ········
189 ······190 ······
190 ····</div>191 ····</div>
  
191 ····<div·id="ft">192 ····<div·id="ft">
192 ······<div·class="nav">193 ······<div·class="nav">
4.82 KB
html2text {}
Max HTML report size reached
10.3 KB
./usr/share/doc/python-django-doc/html/releases/1.6.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.10·release·notes"·href="1.6.10.html"·/>15 ····<link·rel="next"·title="Django·1.6.10·release·notes"·href="1.6.10.html"·/>
15 ····<link·rel="prev"·title="Django·1.7·release·notes"·href="1.7.html"·/>16 ····<link·rel="prev"·title="Django·1.7·release·notes"·href="1.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 15 lines modifiedOffset 97, 15 lines modified
96 HTML·safe.·So·NEVER·mark·safe·the·result·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code>·call·without97 HTML·safe.·So·NEVER·mark·safe·the·result·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code>·call·without
97 escaping·it·first,·for·example·with·<a·class="reference·internal"·href="../ref/utils.html#django.utils.html.escape"·title="django.utils.html.escape"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">escape()</span></code></a>.</p>98 escaping·it·first,·for·example·with·<a·class="reference·internal"·href="../ref/utils.html#django.utils.html.escape"·title="django.utils.html.escape"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">escape()</span></code></a>.</p>
98 </section>99 </section>
99 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">100 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">
100 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>101 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
101 <p>Django·relies·on·user·input·in·some·cases·(e.g.102 <p>Django·relies·on·user·input·in·some·cases·(e.g.
102 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)103 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
103 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these104 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these
104 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·accepted·URLs·with105 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·accepted·URLs·with
105 leading·control·characters·and·so·considered·URLs·like·<code·class="docutils·literal·notranslate"><span·class="pre">\x08javascript:...</span></code>106 leading·control·characters·and·so·considered·URLs·like·<code·class="docutils·literal·notranslate"><span·class="pre">\x08javascript:...</span></code>
106 safe.·This·issue·doesn’t·affect·Django·currently,·since·we·only·put·this·URL107 safe.·This·issue·doesn’t·affect·Django·currently,·since·we·only·put·this·URL
107 into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore·JavaScript108 into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore·JavaScript
108 there.·Browsers·we·tested·also·treat·URLs·prefixed·with·control·characters·such109 there.·Browsers·we·tested·also·treat·URLs·prefixed·with·control·characters·such
109 as·<code·class="docutils·literal·notranslate"><span·class="pre">%08//example.com</span></code>·as·relative·paths·so·redirection·to·an·unsafe·target110 as·<code·class="docutils·literal·notranslate"><span·class="pre">%08//example.com</span></code>·as·relative·paths·so·redirection·to·an·unsafe·target
110 isn’t·a·problem·either.</p>111 isn’t·a·problem·either.</p>
Offset 122, 48 lines modifiedOffset 123, 48 lines modified
122 ······123 ······
123 ········124 ········
124 ··········<div·class="yui-b"·id="sidebar">125 ··········<div·class="yui-b"·id="sidebar">
125 ············126 ············
126 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">127 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
127 ········<div·class="sphinxsidebarwrapper">128 ········<div·class="sphinxsidebarwrapper">
128 ··<div>129 ··<div>
129 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>130 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
130 ····<ul>131 ····<ul>
131 <li><a·class="reference·internal"·href="#">Django·1.6.11·release·notes</a><ul>132 <li><a·class="reference·internal"·href="#">Django·1.6.11·release·notes</a><ul>
132 <li><a·class="reference·internal"·href="#denial-of-service-possibility-with-strip-tags">Denial-of-service·possibility·with·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>133 <li><a·class="reference·internal"·href="#denial-of-service-possibility-with-strip-tags">Denial-of-service·possibility·with·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>
133 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>134 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>
134 </ul>135 </ul>
135 </li>136 </li>
136 </ul>137 </ul>
  
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Previous·topic</h4>140 ····<h4>Eelmine·teema</h4>
140 ····<p·class="topless"><a·href="1.7.html"141 ····<p·class="topless"><a·href="1.7.html"
141 ··························title="previous·chapter">Django·1.7·release·notes</a></p>142 ··························title="eelmine·jaotis">Django·1.7·release·notes</a></p>
142 ··</div>143 ··</div>
143 ··<div>144 ··<div>
144 ····<h4>Next·topic</h4>145 ····<h4>Järgmine·teema</h4>
145 ····<p·class="topless"><a·href="1.6.10.html"146 ····<p·class="topless"><a·href="1.6.10.html"
146 ··························title="next·chapter">Django·1.6.10·release·notes</a></p>147 ··························title="järgmine·jaotis">Django·1.6.10·release·notes</a></p>
147 ··</div>148 ··</div>
148 <search·id="searchbox"·style="display:·none"·role="search">149 <search·id="searchbox"·style="display:·none"·role="search">
149 ··<h3·id="searchlabel">Quick·search</h3>150 ··<h3·id="searchlabel">Kiirotsing</h3>
150 ····<div·class="searchformwrapper">151 ····<div·class="searchformwrapper">
151 ····<form·class="search"·action="../search.html"·method="get">152 ····<form·class="search"·action="../search.html"·method="get">
152 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>153 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
153 ······<input·type="submit"·value="Go"·/>154 ······<input·type="submit"·value="Otsi"·/>
154 ····</form>155 ····</form>
155 ····</div>156 ····</div>
156 </search>157 </search>
157 <script>document.getElementById('searchbox').style.display·=·"block"</script>158 <script>document.getElementById('searchbox').style.display·=·"block"</script>
158 ········</div>159 ········</div>
159 ······</div>160 ······</div>
160 ··············<h3>Last·update:</h3>161 ··············<h3>Last·update:</h3>
161 ··············<p·class="topless">Nov·05,·2024</p>162 ··············<p·class="topless">nov·05,·2024</p>
162 ··········</div>163 ··········</div>
163 ········164 ········
164 ······165 ······
165 ····</div>166 ····</div>
  
166 ····<div·id="ft">167 ····<div·id="ft">
167 ······<div·class="nav">168 ······<div·class="nav">
3.9 KB
html2text {}
Max HTML report size reached
5.8 KB
./usr/share/doc/python-django-doc/html/releases/1.6.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.1·release·notes"·href="1.6.1.html"·/>15 ····<link·rel="next"·title="Django·1.6.1·release·notes"·href="1.6.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.3·release·notes"·href="1.6.3.html"·/>16 ····<link·rel="prev"·title="Django·1.6.3·release·notes"·href="1.6.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 125, 37 lines modifiedOffset 126, 37 lines modified
125 ······126 ······
126 ········127 ········
127 ··········<div·class="yui-b"·id="sidebar">128 ··········<div·class="yui-b"·id="sidebar">
128 ············129 ············
129 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">130 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
130 ········<div·class="sphinxsidebarwrapper">131 ········<div·class="sphinxsidebarwrapper">
131 ··<div>132 ··<div>
132 ····<h4>Previous·topic</h4>133 ····<h4>Eelmine·teema</h4>
133 ····<p·class="topless"><a·href="1.6.3.html"134 ····<p·class="topless"><a·href="1.6.3.html"
134 ··························title="previous·chapter">Django·1.6.3·release·notes</a></p>135 ··························title="eelmine·jaotis">Django·1.6.3·release·notes</a></p>
135 ··</div>136 ··</div>
136 ··<div>137 ··<div>
137 ····<h4>Next·topic</h4>138 ····<h4>Järgmine·teema</h4>
138 ····<p·class="topless"><a·href="1.6.1.html"139 ····<p·class="topless"><a·href="1.6.1.html"
139 ··························title="next·chapter">Django·1.6.1·release·notes</a></p>140 ··························title="järgmine·jaotis">Django·1.6.1·release·notes</a></p>
140 ··</div>141 ··</div>
141 <search·id="searchbox"·style="display:·none"·role="search">142 <search·id="searchbox"·style="display:·none"·role="search">
142 ··<h3·id="searchlabel">Quick·search</h3>143 ··<h3·id="searchlabel">Kiirotsing</h3>
143 ····<div·class="searchformwrapper">144 ····<div·class="searchformwrapper">
144 ····<form·class="search"·action="../search.html"·method="get">145 ····<form·class="search"·action="../search.html"·method="get">
145 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>146 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
146 ······<input·type="submit"·value="Go"·/>147 ······<input·type="submit"·value="Otsi"·/>
147 ····</form>148 ····</form>
148 ····</div>149 ····</div>
149 </search>150 </search>
150 <script>document.getElementById('searchbox').style.display·=·"block"</script>151 <script>document.getElementById('searchbox').style.display·=·"block"</script>
151 ········</div>152 ········</div>
152 ······</div>153 ······</div>
153 ··············<h3>Last·update:</h3>154 ··············<h3>Last·update:</h3>
154 ··············<p·class="topless">Nov·05,·2024</p>155 ··············<p·class="topless">nov·05,·2024</p>
155 ··········</div>156 ··········</div>
156 ········157 ········
157 ······158 ······
158 ····</div>159 ····</div>
  
159 ····<div·id="ft">160 ····<div·id="ft">
160 ······<div·class="nav">161 ······<div·class="nav">
2.0 KB
html2text {}
Max HTML report size reached
12.2 KB
./usr/share/doc/python-django-doc/html/releases/1.6.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.2·release·notes"·href="1.6.2.html"·/>15 ····<link·rel="next"·title="Django·1.6.2·release·notes"·href="1.6.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.4·release·notes"·href="1.6.4.html"·/>16 ····<link·rel="prev"·title="Django·1.6.4·release·notes"·href="1.6.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 15 lines modifiedOffset 100, 15 lines modified
99 module·indicated·by·that·dotted·path·as·part·of·generating·the100 module·indicated·by·that·dotted·path·as·part·of·generating·the
100 resulting·URL.·If·such·a·module·has·import-time·side·effects,·those101 resulting·URL.·If·such·a·module·has·import-time·side·effects,·those
101 side·effects·will·occur.</p>102 side·effects·will·occur.</p>
102 <p>Thus·it·is·possible·for·an·attacker·to·cause·unexpected·code103 <p>Thus·it·is·possible·for·an·attacker·to·cause·unexpected·code
103 execution,·given·the·following·conditions:</p>104 execution,·given·the·following·conditions:</p>
104 <ol·class="arabic·simple">105 <ol·class="arabic·simple">
105 <li><p>One·or·more·views·are·present·which·construct·a·URL·based·on·user106 <li><p>One·or·more·views·are·present·which·construct·a·URL·based·on·user
106 input·(commonly,·a·next·parameter·in·a·querystring·indicating107 input·(commonly,·a·next·parameter·in·a·querystring·indicating
107 where·to·redirect·upon·successful·completion·of·an·action).</p></li>108 where·to·redirect·upon·successful·completion·of·an·action).</p></li>
108 <li><p>One·or·more·modules·are·known·to·an·attacker·to·exist·on·the109 <li><p>One·or·more·modules·are·known·to·an·attacker·to·exist·on·the
109 server’s·Python·import·path,·which·perform·code·execution·with·side110 server’s·Python·import·path,·which·perform·code·execution·with·side
110 effects·on·importing.</p></li>111 effects·on·importing.</p></li>
111 </ol>112 </ol>
112 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·will·now·only·accept·and·import·dotted113 <p>To·remedy·this,·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·will·now·only·accept·and·import·dotted
113 paths·based·on·the·view-containing·modules·listed·in·the·project’s·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL114 paths·based·on·the·view-containing·modules·listed·in·the·project’s·<a·class="reference·internal"·href="../topics/http/urls.html"><span·class="doc">URL
Offset 136, 15 lines modifiedOffset 137, 15 lines modified
136 <li><p>If·the·response·did·send·one·or·more·cookies,·and</p></li>137 <li><p>If·the·response·did·send·one·or·more·cookies,·and</p></li>
137 <li><p>If·the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary:</span>·<span·class="pre">Cookie</span></code>·header·is·set·on·the·response,·then·the138 <li><p>If·the·<code·class="docutils·literal·notranslate"><span·class="pre">Vary:</span>·<span·class="pre">Cookie</span></code>·header·is·set·on·the·response,·then·the
138 response·will·not·be·cached.</p></li>139 response·will·not·be·cached.</p></li>
139 </ol>140 </ol>
140 </section>141 </section>
141 <section·id="s-mysql-typecasting">142 <section·id="s-mysql-typecasting">
142 <span·id="mysql-typecasting"></span><h2>MySQL·typecasting<a·class="headerlink"·href="#mysql-typecasting"·title="Link·to·this·heading">¶</a></h2>143 <span·id="mysql-typecasting"></span><h2>MySQL·typecasting<a·class="headerlink"·href="#mysql-typecasting"·title="Link·to·this·heading">¶</a></h2>
143 <p>The·MySQL·database·is·known·to·typecast·on·certain·queries;·for144 <p>The·MySQL·database·is·known·to·typecast·on·certain·queries;·for
144 example,·when·querying·a·table·which·contains·string·values,·but·using145 example,·when·querying·a·table·which·contains·string·values,·but·using
145 a·query·which·filters·based·on·an·integer·value,·MySQL·will·first146 a·query·which·filters·based·on·an·integer·value,·MySQL·will·first
146 silently·coerce·the·strings·to·integers·and·return·a·result·based·on·that.</p>147 silently·coerce·the·strings·to·integers·and·return·a·result·based·on·that.</p>
147 <p>If·a·query·is·performed·without·first·converting·values·to·the148 <p>If·a·query·is·performed·without·first·converting·values·to·the
148 appropriate·type,·this·can·produce·unexpected·results,·similar·to·what149 appropriate·type,·this·can·produce·unexpected·results,·similar·to·what
149 would·occur·if·the·query·itself·had·been·manipulated.</p>150 would·occur·if·the·query·itself·had·been·manipulated.</p>
150 <p>Django’s·model·field·classes·are·aware·of·their·own·types·and·most151 <p>Django’s·model·field·classes·are·aware·of·their·own·types·and·most
Offset 232, 51 lines modifiedOffset 233, 51 lines modified
232 ······233 ······
233 ········234 ········
234 ··········<div·class="yui-b"·id="sidebar">235 ··········<div·class="yui-b"·id="sidebar">
235 ············236 ············
236 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">237 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
237 ········<div·class="sphinxsidebarwrapper">238 ········<div·class="sphinxsidebarwrapper">
238 ··<div>239 ··<div>
239 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>240 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
240 ····<ul>241 ····<ul>
241 <li><a·class="reference·internal"·href="#">Django·1.6.3·release·notes</a><ul>242 <li><a·class="reference·internal"·href="#">Django·1.6.3·release·notes</a><ul>
242 <li><a·class="reference·internal"·href="#unexpected-code-execution-using-reverse">Unexpected·code·execution·using·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a></li>243 <li><a·class="reference·internal"·href="#unexpected-code-execution-using-reverse">Unexpected·code·execution·using·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a></li>
243 <li><a·class="reference·internal"·href="#caching-of-anonymous-pages-could-reveal-csrf-token">Caching·of·anonymous·pages·could·reveal·CSRF·token</a></li>244 <li><a·class="reference·internal"·href="#caching-of-anonymous-pages-could-reveal-csrf-token">Caching·of·anonymous·pages·could·reveal·CSRF·token</a></li>
244 <li><a·class="reference·internal"·href="#mysql-typecasting">MySQL·typecasting</a></li>245 <li><a·class="reference·internal"·href="#mysql-typecasting">MySQL·typecasting</a></li>
245 <li><a·class="reference·internal"·href="#select-for-update-requires-a-transaction"><code·class="docutils·literal·notranslate"><span·class="pre">select_for_update()</span></code>·requires·a·transaction</a></li>246 <li><a·class="reference·internal"·href="#select-for-update-requires-a-transaction"><code·class="docutils·literal·notranslate"><span·class="pre">select_for_update()</span></code>·requires·a·transaction</a></li>
246 <li><a·class="reference·internal"·href="#other-bugfixes-and-changes">Other·bugfixes·and·changes</a></li>247 <li><a·class="reference·internal"·href="#other-bugfixes-and-changes">Other·bugfixes·and·changes</a></li>
247 </ul>248 </ul>
248 </li>249 </li>
249 </ul>250 </ul>
  
250 ··</div>251 ··</div>
251 ··<div>252 ··<div>
252 ····<h4>Previous·topic</h4>253 ····<h4>Eelmine·teema</h4>
253 ····<p·class="topless"><a·href="1.6.4.html"254 ····<p·class="topless"><a·href="1.6.4.html"
254 ··························title="previous·chapter">Django·1.6.4·release·notes</a></p>255 ··························title="eelmine·jaotis">Django·1.6.4·release·notes</a></p>
255 ··</div>256 ··</div>
256 ··<div>257 ··<div>
257 ····<h4>Next·topic</h4>258 ····<h4>Järgmine·teema</h4>
258 ····<p·class="topless"><a·href="1.6.2.html"259 ····<p·class="topless"><a·href="1.6.2.html"
259 ··························title="next·chapter">Django·1.6.2·release·notes</a></p>260 ··························title="järgmine·jaotis">Django·1.6.2·release·notes</a></p>
260 ··</div>261 ··</div>
261 <search·id="searchbox"·style="display:·none"·role="search">262 <search·id="searchbox"·style="display:·none"·role="search">
262 ··<h3·id="searchlabel">Quick·search</h3>263 ··<h3·id="searchlabel">Kiirotsing</h3>
263 ····<div·class="searchformwrapper">264 ····<div·class="searchformwrapper">
264 ····<form·class="search"·action="../search.html"·method="get">265 ····<form·class="search"·action="../search.html"·method="get">
265 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>266 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
266 ······<input·type="submit"·value="Go"·/>267 ······<input·type="submit"·value="Otsi"·/>
267 ····</form>268 ····</form>
268 ····</div>269 ····</div>
269 </search>270 </search>
270 <script>document.getElementById('searchbox').style.display·=·"block"</script>271 <script>document.getElementById('searchbox').style.display·=·"block"</script>
271 ········</div>272 ········</div>
272 ······</div>273 ······</div>
273 ··············<h3>Last·update:</h3>274 ··············<h3>Last·update:</h3>
274 ··············<p·class="topless">Nov·05,·2024</p>275 ··············<p·class="topless">nov·05,·2024</p>
275 ··········</div>276 ··········</div>
276 ········277 ········
277 ······278 ······
278 ····</div>279 ····</div>
  
279 ····<div·id="ft">280 ····<div·id="ft">
280 ······<div·class="nav">281 ······<div·class="nav">
5.21 KB
html2text {}
Max HTML report size reached
8.43 KB
./usr/share/doc/python-django-doc/html/releases/1.6.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.3·release·notes"·href="1.6.3.html"·/>15 ····<link·rel="next"·title="Django·1.6.3·release·notes"·href="1.6.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.5·release·notes"·href="1.6.5.html"·/>16 ····<link·rel="prev"·title="Django·1.6.5·release·notes"·href="1.6.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 15 lines modifiedOffset 85, 15 lines modified
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Added·backwards·compatibility·support·for·the·<a·class="reference·internal"·href="../ref/contrib/messages.html#module-django.contrib.messages"·title="django.contrib.messages:·Provides·cookie-·and·session-based·temporary·message·storage."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.messages</span></code></a>88 <li><p>Added·backwards·compatibility·support·for·the·<a·class="reference·internal"·href="../ref/contrib/messages.html#module-django.contrib.messages"·title="django.contrib.messages:·Provides·cookie-·and·session-based·temporary·message·storage."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.messages</span></code></a>
88 cookie·format·of·Django·1.4·and·earlier·to·facilitate·upgrading·to·1.6·from89 cookie·format·of·Django·1.4·and·earlier·to·facilitate·upgrading·to·1.6·from
89 1.4·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22426">#22426</a>).</p></li>90 1.4·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22426">#22426</a>).</p></li>
90 <li><p>Restored·the·ability·to·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·views·created·using91 <li><p>Restored·the·ability·to·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·views·created·using
91 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.partial"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.partial()</span></code></a>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22486">#22486</a>).</p></li>92 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.partial"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.partial()</span></code></a>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22486">#22486</a>).</p></li>
92 <li><p>Fixed·the·<code·class="docutils·literal·notranslate"><span·class="pre">object_id</span></code>·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">LogEntry</span></code>·that’s·created·after·a·user93 <li><p>Fixed·the·<code·class="docutils·literal·notranslate"><span·class="pre">object_id</span></code>·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">LogEntry</span></code>·that’s·created·after·a·user
93 password·change·in·the·admin·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22515">#22515</a>).</p></li>94 password·change·in·the·admin·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22515">#22515</a>).</p></li>
94 </ul>95 </ul>
95 </section>96 </section>
96 </section>97 </section>
  
  
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·1.6.4·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·1.6.4·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="1.6.5.html"120 ····<p·class="topless"><a·href="1.6.5.html"
120 ··························title="previous·chapter">Django·1.6.5·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·1.6.5·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="1.6.3.html"125 ····<p·class="topless"><a·href="1.6.3.html"
125 ··························title="next·chapter">Django·1.6.3·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·1.6.3·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.32 KB
html2text {}
Max HTML report size reached
10.3 KB
./usr/share/doc/python-django-doc/html/releases/1.6.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.4·release·notes"·href="1.6.4.html"·/>15 ····<link·rel="next"·title="Django·1.6.4·release·notes"·href="1.6.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.6·release·notes"·href="1.6.6.html"·/>16 ····<link·rel="prev"·title="Django·1.6.6·release·notes"·href="1.6.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 15 lines modifiedOffset 104, 15 lines modified
103 <section·id="s-issue-malformed-redirect-urls-from-user-input-not-correctly-validated">104 <section·id="s-issue-malformed-redirect-urls-from-user-input-not-correctly-validated">
104 <span·id="issue-malformed-redirect-urls-from-user-input-not-correctly-validated"></span><h2>Issue:·Malformed·redirect·URLs·from·user·input·not·correctly·validated<a·class="headerlink"·href="#issue-malformed-redirect-urls-from-user-input-not-correctly-validated"·title="Link·to·this·heading">¶</a></h2>105 <span·id="issue-malformed-redirect-urls-from-user-input-not-correctly-validated"></span><h2>Issue:·Malformed·redirect·URLs·from·user·input·not·correctly·validated<a·class="headerlink"·href="#issue-malformed-redirect-urls-from-user-input-not-correctly-validated"·title="Link·to·this·heading">¶</a></h2>
105 <p>The·validation·for·redirects·did·not·correctly·validate·some·malformed·URLs,106 <p>The·validation·for·redirects·did·not·correctly·validate·some·malformed·URLs,
106 which·are·accepted·by·some·browsers.·This·allows·a·user·to·be·redirected·to107 which·are·accepted·by·some·browsers.·This·allows·a·user·to·be·redirected·to
107 an·unsafe·URL·unexpectedly.</p>108 an·unsafe·URL·unexpectedly.</p>
108 <p>Django·relies·on·user·input·in·some·cases·(e.g.109 <p>Django·relies·on·user·input·in·some·cases·(e.g.
109 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and110 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.comments</span></code>,·and
110 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.111 <a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)·to·redirect·the·user·to·an·on·success·URL.
111 The·security·checks·for·these·redirects·(namely112 The·security·checks·for·these·redirects·(namely
112 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·did·not·correctly·validate·some·malformed113 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·did·not·correctly·validate·some·malformed
113 URLs,·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">http:\\\\\\djangoproject.com</span></code>,·which·are·accepted·by·some114 URLs,·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">http:\\\\\\djangoproject.com</span></code>,·which·are·accepted·by·some
114 browsers·with·more·liberal·URL·parsing.</p>115 browsers·with·more·liberal·URL·parsing.</p>
115 <p>To·remedy·this,·the·validation·in·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·has·been·tightened·to·be·able116 <p>To·remedy·this,·the·validation·in·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·has·been·tightened·to·be·able
116 to·handle·and·correctly·validate·these·malformed·URLs.</p>117 to·handle·and·correctly·validate·these·malformed·URLs.</p>
117 </section>118 </section>
Offset 138, 49 lines modifiedOffset 139, 49 lines modified
138 ······139 ······
139 ········140 ········
140 ··········<div·class="yui-b"·id="sidebar">141 ··········<div·class="yui-b"·id="sidebar">
141 ············142 ············
142 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">143 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
143 ········<div·class="sphinxsidebarwrapper">144 ········<div·class="sphinxsidebarwrapper">
144 ··<div>145 ··<div>
145 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>146 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
146 ····<ul>147 ····<ul>
147 <li><a·class="reference·internal"·href="#">Django·1.6.5·release·notes</a><ul>148 <li><a·class="reference·internal"·href="#">Django·1.6.5·release·notes</a><ul>
148 <li><a·class="reference·internal"·href="#issue-caches-may-incorrectly-be-allowed-to-store-and-serve-private-data">Issue:·Caches·may·incorrectly·be·allowed·to·store·and·serve·private·data</a></li>149 <li><a·class="reference·internal"·href="#issue-caches-may-incorrectly-be-allowed-to-store-and-serve-private-data">Issue:·Caches·may·incorrectly·be·allowed·to·store·and·serve·private·data</a></li>
149 <li><a·class="reference·internal"·href="#issue-malformed-redirect-urls-from-user-input-not-correctly-validated">Issue:·Malformed·redirect·URLs·from·user·input·not·correctly·validated</a></li>150 <li><a·class="reference·internal"·href="#issue-malformed-redirect-urls-from-user-input-not-correctly-validated">Issue:·Malformed·redirect·URLs·from·user·input·not·correctly·validated</a></li>
150 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>151 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
151 </ul>152 </ul>
152 </li>153 </li>
153 </ul>154 </ul>
  
154 ··</div>155 ··</div>
155 ··<div>156 ··<div>
156 ····<h4>Previous·topic</h4>157 ····<h4>Eelmine·teema</h4>
157 ····<p·class="topless"><a·href="1.6.6.html"158 ····<p·class="topless"><a·href="1.6.6.html"
158 ··························title="previous·chapter">Django·1.6.6·release·notes</a></p>159 ··························title="eelmine·jaotis">Django·1.6.6·release·notes</a></p>
159 ··</div>160 ··</div>
160 ··<div>161 ··<div>
161 ····<h4>Next·topic</h4>162 ····<h4>Järgmine·teema</h4>
162 ····<p·class="topless"><a·href="1.6.4.html"163 ····<p·class="topless"><a·href="1.6.4.html"
163 ··························title="next·chapter">Django·1.6.4·release·notes</a></p>164 ··························title="järgmine·jaotis">Django·1.6.4·release·notes</a></p>
164 ··</div>165 ··</div>
165 <search·id="searchbox"·style="display:·none"·role="search">166 <search·id="searchbox"·style="display:·none"·role="search">
166 ··<h3·id="searchlabel">Quick·search</h3>167 ··<h3·id="searchlabel">Kiirotsing</h3>
167 ····<div·class="searchformwrapper">168 ····<div·class="searchformwrapper">
168 ····<form·class="search"·action="../search.html"·method="get">169 ····<form·class="search"·action="../search.html"·method="get">
169 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>170 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
170 ······<input·type="submit"·value="Go"·/>171 ······<input·type="submit"·value="Otsi"·/>
171 ····</form>172 ····</form>
172 ····</div>173 ····</div>
173 </search>174 </search>
174 <script>document.getElementById('searchbox').style.display·=·"block"</script>175 <script>document.getElementById('searchbox').style.display·=·"block"</script>
175 ········</div>176 ········</div>
176 ······</div>177 ······</div>
177 ··············<h3>Last·update:</h3>178 ··············<h3>Last·update:</h3>
178 ··············<p·class="topless">Nov·05,·2024</p>179 ··············<p·class="topless">nov·05,·2024</p>
179 ··········</div>180 ··········</div>
180 ········181 ········
181 ······182 ······
182 ····</div>183 ····</div>
  
183 ····<div·id="ft">184 ····<div·id="ft">
184 ······<div·class="nav">185 ······<div·class="nav">
4.05 KB
html2text {}
Max HTML report size reached
13.8 KB
./usr/share/doc/python-django-doc/html/releases/1.6.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.5·release·notes"·href="1.6.5.html"·/>15 ····<link·rel="next"·title="Django·1.6.5·release·notes"·href="1.6.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.7·release·notes"·href="1.6.7.html"·/>16 ····<link·rel="prev"·title="Django·1.6.7·release·notes"·href="1.6.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 116, 15 lines modifiedOffset 117, 15 lines modified
116 requests·without·an·intervening·logout·could·result·in·the·prior·user’s·session117 requests·without·an·intervening·logout·could·result·in·the·prior·user’s·session
117 being·co-opted·by·the·subsequent·user.·The·middleware·now·logs·the·user·out·on118 being·co-opted·by·the·subsequent·user.·The·middleware·now·logs·the·user·out·on
118 a·failed·login·attempt.</p>119 a·failed·login·attempt.</p>
119 </section>120 </section>
120 <section·id="s-data-leakage-via-query-string-manipulation-in-contrib-admin">121 <section·id="s-data-leakage-via-query-string-manipulation-in-contrib-admin">
121 <span·id="data-leakage-via-query-string-manipulation-in-contrib-admin"></span><h2>Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code><a·class="headerlink"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin"·title="Link·to·this·heading">¶</a></h2>122 <span·id="data-leakage-via-query-string-manipulation-in-contrib-admin"></span><h2>Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code><a·class="headerlink"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin"·title="Link·to·this·heading">¶</a></h2>
122 <p>In·older·versions·of·Django·it·was·possible·to·reveal·any·field’s·data·by123 <p>In·older·versions·of·Django·it·was·possible·to·reveal·any·field’s·data·by
123 modifying·the·popup·and·to_field·parameters·of·the·query·string·on·an·admin124 modifying·the·popup·and·to_field·parameters·of·the·query·string·on·an·admin
124 change·form·page.·For·example,·requesting·a·URL·like125 change·form·page.·For·example,·requesting·a·URL·like
125 <code·class="docutils·literal·notranslate"><span·class="pre">/admin/auth/user/?_popup=1&amp;t=password</span></code>·and·viewing·the·page’s·HTML·allowed126 <code·class="docutils·literal·notranslate"><span·class="pre">/admin/auth/user/?_popup=1&amp;t=password</span></code>·and·viewing·the·page’s·HTML·allowed
126 viewing·the·password·hash·of·each·user.·While·the·admin·requires·users·to·have127 viewing·the·password·hash·of·each·user.·While·the·admin·requires·users·to·have
127 permissions·to·view·the·change·form·pages·in·the·first·place,·this·could·leak128 permissions·to·view·the·change·form·pages·in·the·first·place,·this·could·leak
128 data·if·you·rely·on·users·having·access·to·view·only·certain·fields·on·a·model.</p>129 data·if·you·rely·on·users·having·access·to·view·only·certain·fields·on·a·model.</p>
129 <p>To·address·the·issue,·an·exception·will·now·be·raised·if·a·<code·class="docutils·literal·notranslate"><span·class="pre">to_field</span></code>·value130 <p>To·address·the·issue,·an·exception·will·now·be·raised·if·a·<code·class="docutils·literal·notranslate"><span·class="pre">to_field</span></code>·value
130 that·isn’t·a·related·field·to·a·model·that·has·been·registered·with·the·admin131 that·isn’t·a·related·field·to·a·model·that·has·been·registered·with·the·admin
Offset 139, 15 lines modifiedOffset 140, 15 lines modified
139 <li><p>Prevented·edge·case·where·values·of·FK·fields·could·be·initialized·with·a140 <li><p>Prevented·edge·case·where·values·of·FK·fields·could·be·initialized·with·a
140 wrong·value·when·an·inline·model·formset·is·created·for·a·relationship141 wrong·value·when·an·inline·model·formset·is·created·for·a·relationship
141 defined·to·point·to·a·field·other·than·the·PK·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/13794">#13794</a>).</p></li>142 defined·to·point·to·a·field·other·than·the·PK·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/13794">#13794</a>).</p></li>
142 <li><p>Restored·<code·class="docutils·literal·notranslate"><span·class="pre">pre_delete</span></code>··signals·for·<code·class="docutils·literal·notranslate"><span·class="pre">GenericRelation</span></code>·cascade·deletion143 <li><p>Restored·<code·class="docutils·literal·notranslate"><span·class="pre">pre_delete</span></code>··signals·for·<code·class="docutils·literal·notranslate"><span·class="pre">GenericRelation</span></code>·cascade·deletion
143 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22998">#22998</a>).</p></li>144 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/22998">#22998</a>).</p></li>
144 <li><p>Fixed·transaction·handling·when·specifying·non-default·database·in145 <li><p>Fixed·transaction·handling·when·specifying·non-default·database·in
145 <code·class="docutils·literal·notranslate"><span·class="pre">createcachetable</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">flush</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23089">#23089</a>).</p></li>146 <code·class="docutils·literal·notranslate"><span·class="pre">createcachetable</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">flush</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23089">#23089</a>).</p></li>
146 <li><p>Fixed·the·ORA-01843:·not·a·valid·month·errors·when·using·Unicode147 <li><p>Fixed·the·ORA-01843:·not·a·valid·month·errors·when·using·Unicode
147 with·older·versions·of·Oracle·server·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/20292">#20292</a>).</p></li>148 with·older·versions·of·Oracle·server·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/20292">#20292</a>).</p></li>
148 <li><p>Restored·bug·fix·for·sending·Unicode·email·with·Python·2.6.5·and·below149 <li><p>Restored·bug·fix·for·sending·Unicode·email·with·Python·2.6.5·and·below
149 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/19107">#19107</a>).</p></li>150 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/19107">#19107</a>).</p></li>
150 <li><p>Prevented·<code·class="docutils·literal·notranslate"><span·class="pre">UnicodeDecodeError</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code>·with·non-UTF-8·and151 <li><p>Prevented·<code·class="docutils·literal·notranslate"><span·class="pre">UnicodeDecodeError</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code>·with·non-UTF-8·and
151 non-English·locale·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23265">#23265</a>).</p></li>152 non-English·locale·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23265">#23265</a>).</p></li>
152 <li><p>Fixed·JavaScript·errors·while·editing·multi-geometry·objects·in·the·OpenLayers153 <li><p>Fixed·JavaScript·errors·while·editing·multi-geometry·objects·in·the·OpenLayers
153 widget·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23137">#23137</a>,·<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23293">#23293</a>).</p></li>154 widget·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23137">#23137</a>,·<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23293">#23293</a>).</p></li>
Offset 164, 51 lines modifiedOffset 165, 51 lines modified
164 ······165 ······
165 ········166 ········
166 ··········<div·class="yui-b"·id="sidebar">167 ··········<div·class="yui-b"·id="sidebar">
167 ············168 ············
168 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">169 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
169 ········<div·class="sphinxsidebarwrapper">170 ········<div·class="sphinxsidebarwrapper">
170 ··<div>171 ··<div>
171 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>172 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
172 ····<ul>173 ····<ul>
173 <li><a·class="reference·internal"·href="#">Django·1.6.6·release·notes</a><ul>174 <li><a·class="reference·internal"·href="#">Django·1.6.6·release·notes</a><ul>
174 <li><a·class="reference·internal"·href="#reverse-could-generate-urls-pointing-to-other-hosts"><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·could·generate·URLs·pointing·to·other·hosts</a></li>175 <li><a·class="reference·internal"·href="#reverse-could-generate-urls-pointing-to-other-hosts"><code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·could·generate·URLs·pointing·to·other·hosts</a></li>
175 <li><a·class="reference·internal"·href="#file-upload-denial-of-service">File·upload·denial-of-service</a></li>176 <li><a·class="reference·internal"·href="#file-upload-denial-of-service">File·upload·denial-of-service</a></li>
176 <li><a·class="reference·internal"·href="#remoteusermiddleware-session-hijacking"><code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·session·hijacking</a></li>177 <li><a·class="reference·internal"·href="#remoteusermiddleware-session-hijacking"><code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code>·session·hijacking</a></li>
177 <li><a·class="reference·internal"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin">Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code></a></li>178 <li><a·class="reference·internal"·href="#data-leakage-via-query-string-manipulation-in-contrib-admin">Data·leakage·via·query·string·manipulation·in·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code></a></li>
178 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>179 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
179 </ul>180 </ul>
180 </li>181 </li>
181 </ul>182 </ul>
  
182 ··</div>183 ··</div>
183 ··<div>184 ··<div>
184 ····<h4>Previous·topic</h4>185 ····<h4>Eelmine·teema</h4>
185 ····<p·class="topless"><a·href="1.6.7.html"186 ····<p·class="topless"><a·href="1.6.7.html"
186 ··························title="previous·chapter">Django·1.6.7·release·notes</a></p>187 ··························title="eelmine·jaotis">Django·1.6.7·release·notes</a></p>
187 ··</div>188 ··</div>
188 ··<div>189 ··<div>
189 ····<h4>Next·topic</h4>190 ····<h4>Järgmine·teema</h4>
190 ····<p·class="topless"><a·href="1.6.5.html"191 ····<p·class="topless"><a·href="1.6.5.html"
191 ··························title="next·chapter">Django·1.6.5·release·notes</a></p>192 ··························title="järgmine·jaotis">Django·1.6.5·release·notes</a></p>
192 ··</div>193 ··</div>
193 <search·id="searchbox"·style="display:·none"·role="search">194 <search·id="searchbox"·style="display:·none"·role="search">
194 ··<h3·id="searchlabel">Quick·search</h3>195 ··<h3·id="searchlabel">Kiirotsing</h3>
195 ····<div·class="searchformwrapper">196 ····<div·class="searchformwrapper">
196 ····<form·class="search"·action="../search.html"·method="get">197 ····<form·class="search"·action="../search.html"·method="get">
197 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>198 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
198 ······<input·type="submit"·value="Go"·/>199 ······<input·type="submit"·value="Otsi"·/>
199 ····</form>200 ····</form>
200 ····</div>201 ····</div>
201 </search>202 </search>
202 <script>document.getElementById('searchbox').style.display·=·"block"</script>203 <script>document.getElementById('searchbox').style.display·=·"block"</script>
203 ········</div>204 ········</div>
204 ······</div>205 ······</div>
205 ··············<h3>Last·update:</h3>206 ··············<h3>Last·update:</h3>
206 ··············<p·class="topless">Nov·05,·2024</p>207 ··············<p·class="topless">nov·05,·2024</p>
207 ··········</div>208 ··········</div>
208 ········209 ········
209 ······210 ······
210 ····</div>211 ····</div>
  
211 ····<div·id="ft">212 ····<div·id="ft">
212 ······<div·class="nav">213 ······<div·class="nav">
5.21 KB
html2text {}
Max HTML report size reached
6.19 KB
./usr/share/doc/python-django-doc/html/releases/1.6.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.6·release·notes"·href="1.6.6.html"·/>15 ····<link·rel="next"·title="Django·1.6.6·release·notes"·href="1.6.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.8·release·notes"·href="1.6.8.html"·/>16 ····<link·rel="prev"·title="Django·1.6.8·release·notes"·href="1.6.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 100, 47 lines modifiedOffset 101, 47 lines modified
100 ······101 ······
101 ········102 ········
102 ··········<div·class="yui-b"·id="sidebar">103 ··········<div·class="yui-b"·id="sidebar">
103 ············104 ············
104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
105 ········<div·class="sphinxsidebarwrapper">106 ········<div·class="sphinxsidebarwrapper">
106 ··<div>107 ··<div>
107 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>108 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
108 ····<ul>109 ····<ul>
109 <li><a·class="reference·internal"·href="#">Django·1.6.7·release·notes</a><ul>110 <li><a·class="reference·internal"·href="#">Django·1.6.7·release·notes</a><ul>
110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>111 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
111 </ul>112 </ul>
112 </li>113 </li>
113 </ul>114 </ul>
  
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Previous·topic</h4>117 ····<h4>Eelmine·teema</h4>
117 ····<p·class="topless"><a·href="1.6.8.html"118 ····<p·class="topless"><a·href="1.6.8.html"
118 ··························title="previous·chapter">Django·1.6.8·release·notes</a></p>119 ··························title="eelmine·jaotis">Django·1.6.8·release·notes</a></p>
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Next·topic</h4>122 ····<h4>Järgmine·teema</h4>
122 ····<p·class="topless"><a·href="1.6.6.html"123 ····<p·class="topless"><a·href="1.6.6.html"
123 ··························title="next·chapter">Django·1.6.6·release·notes</a></p>124 ··························title="järgmine·jaotis">Django·1.6.6·release·notes</a></p>
124 ··</div>125 ··</div>
125 <search·id="searchbox"·style="display:·none"·role="search">126 <search·id="searchbox"·style="display:·none"·role="search">
126 ··<h3·id="searchlabel">Quick·search</h3>127 ··<h3·id="searchlabel">Kiirotsing</h3>
127 ····<div·class="searchformwrapper">128 ····<div·class="searchformwrapper">
128 ····<form·class="search"·action="../search.html"·method="get">129 ····<form·class="search"·action="../search.html"·method="get">
129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
130 ······<input·type="submit"·value="Go"·/>131 ······<input·type="submit"·value="Otsi"·/>
131 ····</form>132 ····</form>
132 ····</div>133 ····</div>
133 </search>134 </search>
134 <script>document.getElementById('searchbox').style.display·=·"block"</script>135 <script>document.getElementById('searchbox').style.display·=·"block"</script>
135 ········</div>136 ········</div>
136 ······</div>137 ······</div>
137 ··············<h3>Last·update:</h3>138 ··············<h3>Last·update:</h3>
138 ··············<p·class="topless">Nov·05,·2024</p>139 ··············<p·class="topless">nov·05,·2024</p>
139 ··········</div>140 ··········</div>
140 ········141 ········
141 ······142 ······
142 ····</div>143 ····</div>
  
143 ····<div·id="ft">144 ····<div·id="ft">
144 ······<div·class="nav">145 ······<div·class="nav">
2.07 KB
html2text {}
Max HTML report size reached
6.14 KB
./usr/share/doc/python-django-doc/html/releases/1.6.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.7·release·notes"·href="1.6.7.html"·/>15 ····<link·rel="next"·title="Django·1.6.7·release·notes"·href="1.6.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.9·release·notes"·href="1.6.9.html"·/>16 ····<link·rel="prev"·title="Django·1.6.9·release·notes"·href="1.6.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·1.6.8·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·1.6.8·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="1.6.9.html"116 ····<p·class="topless"><a·href="1.6.9.html"
116 ··························title="previous·chapter">Django·1.6.9·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·1.6.9·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="1.6.7.html"121 ····<p·class="topless"><a·href="1.6.7.html"
121 ··························title="next·chapter">Django·1.6.7·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·1.6.7·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.03 KB
html2text {}
Max HTML report size reached
6.2 KB
./usr/share/doc/python-django-doc/html/releases/1.6.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.8·release·notes"·href="1.6.8.html"·/>15 ····<link·rel="next"·title="Django·1.6.8·release·notes"·href="1.6.8.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.10·release·notes"·href="1.6.10.html"·/>16 ····<link·rel="prev"·title="Django·1.6.10·release·notes"·href="1.6.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.6.9·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.6.9·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.6.10.html"117 ····<p·class="topless"><a·href="1.6.10.html"
117 ··························title="previous·chapter">Django·1.6.10·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.6.10·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.6.8.html"122 ····<p·class="topless"><a·href="1.6.8.html"
122 ··························title="next·chapter">Django·1.6.8·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.6.8·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.08 KB
html2text {}
Max HTML report size reached
44.0 KB
./usr/share/doc/python-django-doc/html/releases/1.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.5.12·release·notes"·href="1.5.12.html"·/>15 ····<link·rel="next"·title="Django·1.5.12·release·notes"·href="1.5.12.html"·/>
15 ····<link·rel="prev"·title="Django·1.6.1·release·notes"·href="1.6.1.html"·/>16 ····<link·rel="prev"·title="Django·1.6.1·release·notes"·href="1.6.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-1.6">79 ··········<div·class="yui-g"·id="releases-1.6">
79 ············80 ············
80 ··<section·id="s-django-1-6-release-notes">81 ··<section·id="s-django-1-6-release-notes">
81 <span·id="django-1-6-release-notes"></span><h1>Django·1.6·release·notes<a·class="headerlink"·href="#django-1-6-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-6-release-notes"></span><h1>Django·1.6·release·notes<a·class="headerlink"·href="#django-1-6-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·note">83 <div·class="admonition·note">
83 <p·class="admonition-title">Note</p>84 <p·class="admonition-title">rkus</p>
84 <p>Dedicated·to·Malcolm·Tredinnick</p>85 <p>Dedicated·to·Malcolm·Tredinnick</p>
85 <p>On·March·17,·2013,·the·Django·project·and·the·free·software·community·lost86 <p>On·March·17,·2013,·the·Django·project·and·the·free·software·community·lost
86 a·very·dear·friend·and·developer.</p>87 a·very·dear·friend·and·developer.</p>
87 <p>Malcolm·was·a·long-time·contributor·to·Django,·a·model·community·member,·a88 <p>Malcolm·was·a·long-time·contributor·to·Django,·a·model·community·member,·a
88 brilliant·mind,·and·a·friend.·His·contributions·to·Django··and·to·many·other89 brilliant·mind,·and·a·friend.·His·contributions·to·Django··and·to·many·other
89 open·source·projects··are·nearly·impossible·to·enumerate.·Many·on·the·core90 open·source·projects··are·nearly·impossible·to·enumerate.·Many·on·the·core
90 Django·team·had·their·first·patches·reviewed·by·him;·his·mentorship·enriched91 Django·team·had·their·first·patches·reviewed·by·him;·his·mentorship·enriched
Offset 200, 15 lines modifiedOffset 201, 15 lines modified
200 <span·id="minor-features"></span><h3>Minor·features<a·class="headerlink"·href="#minor-features"·title="Link·to·this·heading">¶</a></h3>201 <span·id="minor-features"></span><h3>Minor·features<a·class="headerlink"·href="#minor-features"·title="Link·to·this·heading">¶</a></h3>
201 <ul·class="simple">202 <ul·class="simple">
202 <li><p>Authentication·backends·can·raise·<code·class="docutils·literal·notranslate"><span·class="pre">PermissionDenied</span></code>·to·immediately·fail203 <li><p>Authentication·backends·can·raise·<code·class="docutils·literal·notranslate"><span·class="pre">PermissionDenied</span></code>·to·immediately·fail
203 the·authentication·chain.</p></li>204 the·authentication·chain.</p></li>
204 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">HttpOnly</span></code>·flag·can·be·set·on·the·CSRF·cookie·with205 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">HttpOnly</span></code>·flag·can·be·set·on·the·CSRF·cookie·with
205 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_COOKIE_HTTPONLY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_HTTPONLY</span></code></a>.</p></li>206 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_COOKIE_HTTPONLY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_HTTPONLY</span></code></a>.</p></li>
206 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">assertQuerysetEqual()</span></code>·now·checks207 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">assertQuerysetEqual()</span></code>·now·checks
207 for·undefined·order·and·raises·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>·if·undefined208 for·undefined·order·and·raises·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>·if·undefined
208 order·is·spotted.·The·order·is·seen·as·undefined·if·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>209 order·is·spotted.·The·order·is·seen·as·undefined·if·the·given·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>
209 isn’t·ordered·and·there·is·more·than·one·ordered·value·to·compare·against.</p></li>210 isn’t·ordered·and·there·is·more·than·one·ordered·value·to·compare·against.</p></li>
210 <li><p>Added·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.earliest"·title="django.db.models.query.QuerySet.earliest"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">earliest()</span></code></a>·for·symmetry·with211 <li><p>Added·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.earliest"·title="django.db.models.query.QuerySet.earliest"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">earliest()</span></code></a>·for·symmetry·with
211 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.latest"·title="django.db.models.query.QuerySet.latest"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">latest()</span></code></a>.</p></li>212 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.latest"·title="django.db.models.query.QuerySet.latest"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">latest()</span></code></a>.</p></li>
212 <li><p>In·addition·to·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-year"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">year</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-month"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">month</span></code></a>·and·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-day"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">day</span></code></a>,·the·ORM213 <li><p>In·addition·to·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-year"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">year</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-month"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">month</span></code></a>·and·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-day"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">day</span></code></a>,·the·ORM
213 now·supports·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-hour"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">hour</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-minute"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">minute</span></code></a>·and·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-second"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">second</span></code></a>·lookups.</p></li>214 now·supports·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-hour"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">hour</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-minute"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">minute</span></code></a>·and·<a·class="reference·internal"·href="../ref/models/querysets.html#std-fieldlookup-second"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">second</span></code></a>·lookups.</p></li>
214 <li><p>Django·now·wraps·all·<span·class="target"·id="index-0"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0249/"><strong>PEP·249</strong></a>·exceptions.</p></li>215 <li><p>Django·now·wraps·all·<span·class="target"·id="index-0"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0249/"><strong>PEP·249</strong></a>·exceptions.</p></li>
Offset 231, 15 lines modifiedOffset 232, 15 lines modified
231 option.·See·<a·class="reference·internal"·href="../howto/custom-management-commands.html#management-commands-and-locales"><span·class="std·std-ref">Management·commands·and·locales</span></a>·for·more·details.</p></li>232 option.·See·<a·class="reference·internal"·href="../howto/custom-management-commands.html#management-commands-and-locales"><span·class="std·std-ref">Management·commands·and·locales</span></a>·for·more·details.</p></li>
232 <li><p>The·<a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.DeletionMixin.success_url"·title="django.views.generic.edit.DeletionMixin.success_url"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">success_url</span></code></a>·of233 <li><p>The·<a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.DeletionMixin.success_url"·title="django.views.generic.edit.DeletionMixin.success_url"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">success_url</span></code></a>·of
233 <a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.DeletionMixin"·title="django.views.generic.edit.DeletionMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DeletionMixin</span></code></a>·is·now·interpolated·with234 <a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.DeletionMixin"·title="django.views.generic.edit.DeletionMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DeletionMixin</span></code></a>·is·now·interpolated·with
234 its·<code·class="docutils·literal·notranslate"><span·class="pre">object</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">__dict__</span></code>.</p></li>235 its·<code·class="docutils·literal·notranslate"><span·class="pre">object</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">__dict__</span></code>.</p></li>
235 <li><p><a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponseRedirect</span></code></a>·and236 <li><p><a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponseRedirect</span></code></a>·and
236 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponsePermanentRedirect"·title="django.http.HttpResponsePermanentRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponsePermanentRedirect</span></code></a>·now·provide·an·<code·class="docutils·literal·notranslate"><span·class="pre">url</span></code>237 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponsePermanentRedirect"·title="django.http.HttpResponsePermanentRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponsePermanentRedirect</span></code></a>·now·provide·an·<code·class="docutils·literal·notranslate"><span·class="pre">url</span></code>
237 attribute·(equivalent·to·the·URL·the·response·will·redirect·to).</p></li>238 attribute·(equivalent·to·the·URL·the·response·will·redirect·to).</p></li>
238 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">MemcachedCache</span></code>·cache·backend·now·uses·the·latest·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>239 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">MemcachedCache</span></code>·cache·backend·now·uses·the·latest·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>
239 protocol·available.</p></li>240 protocol·available.</p></li>
240 <li><p>Added·<a·class="reference·internal"·href="../ref/contrib/messages.html#django.contrib.messages.views.SuccessMessageMixin"·title="django.contrib.messages.views.SuccessMessageMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SuccessMessageMixin</span></code></a>·which241 <li><p>Added·<a·class="reference·internal"·href="../ref/contrib/messages.html#django.contrib.messages.views.SuccessMessageMixin"·title="django.contrib.messages.views.SuccessMessageMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SuccessMessageMixin</span></code></a>·which
241 provides·a·<code·class="docutils·literal·notranslate"><span·class="pre">success_message</span></code>·attribute·for242 provides·a·<code·class="docutils·literal·notranslate"><span·class="pre">success_message</span></code>·attribute·for
242 <a·class="reference·internal"·href="../ref/class-based-views/generic-editing.html#django.views.generic.edit.FormView"·title="django.views.generic.edit.FormView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FormView</span></code></a>·based·classes.</p></li>243 <a·class="reference·internal"·href="../ref/class-based-views/generic-editing.html#django.views.generic.edit.FormView"·title="django.views.generic.edit.FormView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FormView</span></code></a>·based·classes.</p></li>
243 <li><p>Added·the·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey.db_constraint"·title="django.db.models.ForeignKey.db_constraint"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">django.db.models.ForeignKey.db_constraint</span></code></a>·and244 <li><p>Added·the·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey.db_constraint"·title="django.db.models.ForeignKey.db_constraint"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">django.db.models.ForeignKey.db_constraint</span></code></a>·and
244 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ManyToManyField.db_constraint"·title="django.db.models.ManyToManyField.db_constraint"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">django.db.models.ManyToManyField.db_constraint</span></code></a>·options.</p></li>245 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ManyToManyField.db_constraint"·title="django.db.models.ManyToManyField.db_constraint"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">django.db.models.ManyToManyField.db_constraint</span></code></a>·options.</p></li>
245 <li><p>The·jQuery·library·embedded·in·the·admin·has·been·upgraded·to·version·1.9.1.</p></li>246 <li><p>The·jQuery·library·embedded·in·the·admin·has·been·upgraded·to·version·1.9.1.</p></li>
Offset 346, 15 lines modifiedOffset 347, 15 lines modified
346 <li><p>Added347 <li><p>Added
347 <a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.get_prefix"·title="django.views.generic.edit.FormMixin.get_prefix"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">FormMixin.get_prefix</span></code></a>348 <a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.get_prefix"·title="django.views.generic.edit.FormMixin.get_prefix"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">FormMixin.get_prefix</span></code></a>
348 (which·returns349 (which·returns
349 <a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.prefix"·title="django.views.generic.edit.FormMixin.prefix"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">FormMixin.prefix</span></code></a>·by350 <a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.prefix"·title="django.views.generic.edit.FormMixin.prefix"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">FormMixin.prefix</span></code></a>·by
350 default)·to·allow·customizing·the·<a·class="reference·internal"·href="../ref/forms/api.html#django.forms.Form.prefix"·title="django.forms.Form.prefix"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">prefix</span></code></a>·of·the351 default)·to·allow·customizing·the·<a·class="reference·internal"·href="../ref/forms/api.html#django.forms.Form.prefix"·title="django.forms.Form.prefix"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">prefix</span></code></a>·of·the
351 form.</p></li>352 form.</p></li>
352 <li><p>Raw·queries·(<code·class="docutils·literal·notranslate"><span·class="pre">Manager.raw()</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">cursor.execute()</span></code>)·can·now·use·the353 <li><p>Raw·queries·(<code·class="docutils·literal·notranslate"><span·class="pre">Manager.raw()</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">cursor.execute()</span></code>)·can·now·use·the
353 pyformat·parameter·style,·where·placeholders·in·the·query·are·given·as354 pyformat·parameter·style,·where·placeholders·in·the·query·are·given·as
354 <code·class="docutils·literal·notranslate"><span·class="pre">'%(name)s'</span></code>·and·the·parameters·are·passed·as·a·dictionary·rather·than355 <code·class="docutils·literal·notranslate"><span·class="pre">'%(name)s'</span></code>·and·the·parameters·are·passed·as·a·dictionary·rather·than
355 a·list·(except·on·SQLite).·This·has·long·been·possible·(but·not·officially356 a·list·(except·on·SQLite).·This·has·long·been·possible·(but·not·officially
356 supported)·on·MySQL·and·PostgreSQL,·and·is·now·also·available·on·Oracle.</p></li>357 supported)·on·MySQL·and·PostgreSQL,·and·is·now·also·available·on·Oracle.</p></li>
357 <li><p>The·default·iteration·count·for·the·PBKDF2·password·hasher·has·been358 <li><p>The·default·iteration·count·for·the·PBKDF2·password·hasher·has·been
358 increased·by·20%.·This·backwards·compatible·change·will·not·affect359 increased·by·20%.·This·backwards·compatible·change·will·not·affect
359 existing·passwords·or·users·who·have·subclassed360 existing·passwords·or·users·who·have·subclassed
360 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.hashers.PBKDF2PasswordHasher</span></code>·to·change·the361 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.hashers.PBKDF2PasswordHasher</span></code>·to·change·the
Offset 362, 15 lines modifiedOffset 363, 15 lines modified
362 the·new·iteration·count·as·necessary.</p></li>363 the·new·iteration·count·as·necessary.</p></li>
363 </ul>364 </ul>
364 </section>365 </section>
365 </section>366 </section>
366 <section·id="s-backwards-incompatible-changes-in-1-6">367 <section·id="s-backwards-incompatible-changes-in-1-6">
367 <span·id="s-backwards-incompatible-1-6"></span><span·id="backwards-incompatible-changes-in-1-6"></span><span·id="backwards-incompatible-1-6"></span><h2>Backwards·incompatible·changes·in·1.6<a·class="headerlink"·href="#backwards-incompatible-changes-in-1-6"·title="Link·to·this·heading">¶</a></h2>368 <span·id="s-backwards-incompatible-1-6"></span><span·id="backwards-incompatible-changes-in-1-6"></span><span·id="backwards-incompatible-1-6"></span><h2>Backwards·incompatible·changes·in·1.6<a·class="headerlink"·href="#backwards-incompatible-changes-in-1-6"·title="Link·to·this·heading">¶</a></h2>
368 <div·class="admonition·warning">369 <div·class="admonition·warning">
369 <p·class="admonition-title">Warning</p>370 <p·class="admonition-title">Hoiatus</p>
370 <p>In·addition·to·the·changes·outlined·in·this·section,·be·sure·to·review·the371 <p>In·addition·to·the·changes·outlined·in·this·section,·be·sure·to·review·the
371 <a·class="reference·internal"·href="../internals/deprecation.html#deprecation-removed-in-1-6"><span·class="std·std-ref">deprecation·plan</span></a>·for·any·features·that372 <a·class="reference·internal"·href="../internals/deprecation.html#deprecation-removed-in-1-6"><span·class="std·std-ref">deprecation·plan</span></a>·for·any·features·that
372 have·been·removed.·If·you·haven’t·updated·your·code·within·the373 have·been·removed.·If·you·haven’t·updated·your·code·within·the
373 deprecation·timeline·for·a·given·feature,·its·removal·may·appear·as·a374 deprecation·timeline·for·a·given·feature,·its·removal·may·appear·as·a
374 backwards·incompatible·change.</p>375 backwards·incompatible·change.</p>
375 </div>376 </div>
376 <section·id="s-new-transaction-management-model">377 <section·id="s-new-transaction-management-model">
Offset 403, 17 lines modifiedOffset 404, 17 lines modified
403 <p>In·order·to·maintain·greater·consistency·with·Python’s·<code·class="docutils·literal·notranslate"><span·class="pre">unittest</span></code>·module,·the404 <p>In·order·to·maintain·greater·consistency·with·Python’s·<code·class="docutils·literal·notranslate"><span·class="pre">unittest</span></code>·module,·the
404 new·test·runner·(<code·class="docutils·literal·notranslate"><span·class="pre">django.test.runner.DiscoverRunner</span></code>)·does·not·automatically405 new·test·runner·(<code·class="docutils·literal·notranslate"><span·class="pre">django.test.runner.DiscoverRunner</span></code>)·does·not·automatically
405 support·some·types·of·tests·that·were·supported·by·the·previous·runner:</p>406 support·some·types·of·tests·that·were·supported·by·the·previous·runner:</p>
406 <ul·class="simple">407 <ul·class="simple">
407 <li><p>Tests·in·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">tests/__init__.py</span></code>·files·will·no·longer·be408 <li><p>Tests·in·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">tests/__init__.py</span></code>·files·will·no·longer·be
408 found·and·run.·Move·them·to·a·file·whose·name·begins·with·<code·class="docutils·literal·notranslate"><span·class="pre">test</span></code>.</p></li>409 found·and·run.·Move·them·to·a·file·whose·name·begins·with·<code·class="docutils·literal·notranslate"><span·class="pre">test</span></code>.</p></li>
409 <li><p>Doctests·will·no·longer·be·automatically·discovered.·To·integrate·doctests·in410 <li><p>Doctests·will·no·longer·be·automatically·discovered.·To·integrate·doctests·in
Max diff block lines reached; 19818/34901 bytes (56.78%) of diff not shown.
9.78 KB
html2text {}
Max HTML report size reached
6.54 KB
./usr/share/doc/python-django-doc/html/releases/1.7.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7·release·notes"·href="1.7.html"·/>15 ····<link·rel="next"·title="Django·1.7·release·notes"·href="1.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.2·release·notes"·href="1.7.2.html"·/>16 ····<link·rel="prev"·title="Django·1.7.2·release·notes"·href="1.7.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 181, 47 lines modifiedOffset 182, 47 lines modified
181 ······182 ······
182 ········183 ········
183 ··········<div·class="yui-b"·id="sidebar">184 ··········<div·class="yui-b"·id="sidebar">
184 ············185 ············
185 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">186 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
186 ········<div·class="sphinxsidebarwrapper">187 ········<div·class="sphinxsidebarwrapper">
187 ··<div>188 ··<div>
188 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>189 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
189 ····<ul>190 ····<ul>
190 <li><a·class="reference·internal"·href="#">Django·1.7.1·release·notes</a><ul>191 <li><a·class="reference·internal"·href="#">Django·1.7.1·release·notes</a><ul>
191 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>192 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
192 </ul>193 </ul>
193 </li>194 </li>
194 </ul>195 </ul>
  
195 ··</div>196 ··</div>
196 ··<div>197 ··<div>
197 ····<h4>Previous·topic</h4>198 ····<h4>Eelmine·teema</h4>
198 ····<p·class="topless"><a·href="1.7.2.html"199 ····<p·class="topless"><a·href="1.7.2.html"
199 ··························title="previous·chapter">Django·1.7.2·release·notes</a></p>200 ··························title="eelmine·jaotis">Django·1.7.2·release·notes</a></p>
200 ··</div>201 ··</div>
201 ··<div>202 ··<div>
202 ····<h4>Next·topic</h4>203 ····<h4>Järgmine·teema</h4>
203 ····<p·class="topless"><a·href="1.7.html"204 ····<p·class="topless"><a·href="1.7.html"
204 ··························title="next·chapter">Django·1.7·release·notes</a></p>205 ··························title="järgmine·jaotis">Django·1.7·release·notes</a></p>
205 ··</div>206 ··</div>
206 <search·id="searchbox"·style="display:·none"·role="search">207 <search·id="searchbox"·style="display:·none"·role="search">
207 ··<h3·id="searchlabel">Quick·search</h3>208 ··<h3·id="searchlabel">Kiirotsing</h3>
208 ····<div·class="searchformwrapper">209 ····<div·class="searchformwrapper">
209 ····<form·class="search"·action="../search.html"·method="get">210 ····<form·class="search"·action="../search.html"·method="get">
210 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>211 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
211 ······<input·type="submit"·value="Go"·/>212 ······<input·type="submit"·value="Otsi"·/>
212 ····</form>213 ····</form>
213 ····</div>214 ····</div>
214 </search>215 </search>
215 <script>document.getElementById('searchbox').style.display·=·"block"</script>216 <script>document.getElementById('searchbox').style.display·=·"block"</script>
216 ········</div>217 ········</div>
217 ······</div>218 ······</div>
218 ··············<h3>Last·update:</h3>219 ··············<h3>Last·update:</h3>
219 ··············<p·class="topless">Nov·05,·2024</p>220 ··············<p·class="topless">nov·05,·2024</p>
220 ··········</div>221 ··········</div>
221 ········222 ········
222 ······223 ······
223 ····</div>224 ····</div>
  
224 ····<div·id="ft">225 ····<div·id="ft">
225 ······<div·class="nav">226 ······<div·class="nav">
2.43 KB
html2text {}
Max HTML report size reached
9.81 KB
./usr/share/doc/python-django-doc/html/releases/1.7.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.9·release·notes"·href="1.7.9.html"·/>15 ····<link·rel="next"·title="Django·1.7.9·release·notes"·href="1.7.9.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.11·release·notes"·href="1.7.11.html"·/>16 ····<link·rel="prev"·title="Django·1.7.11·release·notes"·href="1.7.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 15 lines modifiedOffset 85, 15 lines modified
84 <section·id="s-denial-of-service-possibility-in-logout-view-by-filling-session-store">85 <section·id="s-denial-of-service-possibility-in-logout-view-by-filling-session-store">
85 <span·id="denial-of-service-possibility-in-logout-view-by-filling-session-store"></span><h2>Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>86 <span·id="denial-of-service-possibility-in-logout-view-by-filling-session-store"></span><h2>Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>
86 <p>Previously,·a·session·could·be·created·when·anonymously·accessing·the87 <p>Previously,·a·session·could·be·created·when·anonymously·accessing·the
87 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view·(provided·it·wasn’t·decorated88 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view·(provided·it·wasn’t·decorated
88 with·<a·class="reference·internal"·href="../topics/auth/default.html#django.contrib.auth.decorators.login_required"·title="django.contrib.auth.decorators.login_required"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login_required()</span></code></a>·as·done·in·the89 with·<a·class="reference·internal"·href="../topics/auth/default.html#django.contrib.auth.decorators.login_required"·title="django.contrib.auth.decorators.login_required"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login_required()</span></code></a>·as·done·in·the
89 admin).·This·could·allow·an·attacker·to·easily·create·many·new·session·records90 admin).·This·could·allow·an·attacker·to·easily·create·many·new·session·records
90 by·sending·repeated·requests,·potentially·filling·up·the·session·store·or91 by·sending·repeated·requests,·potentially·filling·up·the·session·store·or
91 causing·other·users·session·records·to·be·evicted.</p>92 causing·other·users·session·records·to·be·evicted.</p>
92 <p>The·<a·class="reference·internal"·href="../ref/middleware.html#django.contrib.sessions.middleware.SessionMiddleware"·title="django.contrib.sessions.middleware.SessionMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SessionMiddleware</span></code></a>·has·been93 <p>The·<a·class="reference·internal"·href="../ref/middleware.html#django.contrib.sessions.middleware.SessionMiddleware"·title="django.contrib.sessions.middleware.SessionMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SessionMiddleware</span></code></a>·has·been
93 modified·to·no·longer·create·empty·session·records,·including·when94 modified·to·no·longer·create·empty·session·records,·including·when
94 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_SAVE_EVERY_REQUEST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SAVE_EVERY_REQUEST</span></code></a>·is·active.</p>95 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_SAVE_EVERY_REQUEST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SAVE_EVERY_REQUEST</span></code></a>·is·active.</p>
95 <p>Additionally,·the·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.sessions.backends.base.SessionBase.flush()</span></code>·and96 <p>Additionally,·the·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.sessions.backends.base.SessionBase.flush()</span></code>·and
96 <code·class="docutils·literal·notranslate"><span·class="pre">cache_db.SessionStore.flush()</span></code>·methods·have·been·modified·to·avoid·creating97 <code·class="docutils·literal·notranslate"><span·class="pre">cache_db.SessionStore.flush()</span></code>·methods·have·been·modified·to·avoid·creating
97 a·new·empty·session.·Maintainers·of·third-party·session·backends·should·check98 a·new·empty·session.·Maintainers·of·third-party·session·backends·should·check
98 if·the·same·vulnerability·is·present·in·their·backend·and·correct·it·if·so.</p>99 if·the·same·vulnerability·is·present·in·their·backend·and·correct·it·if·so.</p>
Offset 106, 47 lines modifiedOffset 107, 47 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·1.7.10·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·1.7.10·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store">Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store</a></li>117 <li><a·class="reference·internal"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store">Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="1.7.11.html"124 ····<p·class="topless"><a·href="1.7.11.html"
124 ··························title="previous·chapter">Django·1.7.11·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·1.7.11·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="1.7.9.html"129 ····<p·class="topless"><a·href="1.7.9.html"
129 ··························title="next·chapter">Django·1.7.9·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·1.7.9·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
3.2 KB
html2text {}
Max HTML report size reached
7.0 KB
./usr/share/doc/python-django-doc/html/releases/1.7.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.10·release·notes"·href="1.7.10.html"·/>15 ····<link·rel="next"·title="Django·1.7.10·release·notes"·href="1.7.10.html"·/>
15 ····<link·rel="prev"·title="Django·1.8·release·notes"·href="1.8.html"·/>16 ····<link·rel="prev"·title="Django·1.8·release·notes"·href="1.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 108, 48 lines modifiedOffset 109, 48 lines modified
108 ······109 ······
109 ········110 ········
110 ··········<div·class="yui-b"·id="sidebar">111 ··········<div·class="yui-b"·id="sidebar">
111 ············112 ············
112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
113 ········<div·class="sphinxsidebarwrapper">114 ········<div·class="sphinxsidebarwrapper">
114 ··<div>115 ··<div>
115 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>116 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
116 ····<ul>117 ····<ul>
117 <li><a·class="reference·internal"·href="#">Django·1.7.11·release·notes</a><ul>118 <li><a·class="reference·internal"·href="#">Django·1.7.11·release·notes</a><ul>
118 <li><a·class="reference·internal"·href="#fixed-settings-leak-possibility-in-date-template-filter">Fixed·settings·leak·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">date</span></code>·template·filter</a></li>119 <li><a·class="reference·internal"·href="#fixed-settings-leak-possibility-in-date-template-filter">Fixed·settings·leak·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">date</span></code>·template·filter</a></li>
119 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>120 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
120 </ul>121 </ul>
121 </li>122 </li>
122 </ul>123 </ul>
  
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Previous·topic</h4>126 ····<h4>Eelmine·teema</h4>
126 ····<p·class="topless"><a·href="1.8.html"127 ····<p·class="topless"><a·href="1.8.html"
127 ··························title="previous·chapter">Django·1.8·release·notes</a></p>128 ··························title="eelmine·jaotis">Django·1.8·release·notes</a></p>
128 ··</div>129 ··</div>
129 ··<div>130 ··<div>
130 ····<h4>Next·topic</h4>131 ····<h4>Järgmine·teema</h4>
131 ····<p·class="topless"><a·href="1.7.10.html"132 ····<p·class="topless"><a·href="1.7.10.html"
132 ··························title="next·chapter">Django·1.7.10·release·notes</a></p>133 ··························title="järgmine·jaotis">Django·1.7.10·release·notes</a></p>
133 ··</div>134 ··</div>
134 <search·id="searchbox"·style="display:·none"·role="search">135 <search·id="searchbox"·style="display:·none"·role="search">
135 ··<h3·id="searchlabel">Quick·search</h3>136 ··<h3·id="searchlabel">Kiirotsing</h3>
136 ····<div·class="searchformwrapper">137 ····<div·class="searchformwrapper">
137 ····<form·class="search"·action="../search.html"·method="get">138 ····<form·class="search"·action="../search.html"·method="get">
138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
139 ······<input·type="submit"·value="Go"·/>140 ······<input·type="submit"·value="Otsi"·/>
140 ····</form>141 ····</form>
141 ····</div>142 ····</div>
142 </search>143 </search>
143 <script>document.getElementById('searchbox').style.display·=·"block"</script>144 <script>document.getElementById('searchbox').style.display·=·"block"</script>
144 ········</div>145 ········</div>
145 ······</div>146 ······</div>
146 ··············<h3>Last·update:</h3>147 ··············<h3>Last·update:</h3>
147 ··············<p·class="topless">Nov·05,·2024</p>148 ··············<p·class="topless">nov·05,·2024</p>
148 ··········</div>149 ··········</div>
149 ········150 ········
150 ······151 ······
151 ····</div>152 ····</div>
  
152 ····<div·id="ft">153 ····<div·id="ft">
153 ······<div·class="nav">154 ······<div·class="nav">
2.64 KB
html2text {}
Max HTML report size reached
13.0 KB
./usr/share/doc/python-django-doc/html/releases/1.7.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.1·release·notes"·href="1.7.1.html"·/>15 ····<link·rel="next"·title="Django·1.7.1·release·notes"·href="1.7.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.3·release·notes"·href="1.7.3.html"·/>16 ····<link·rel="prev"·title="Django·1.7.3·release·notes"·href="1.7.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 156, 15 lines modifiedOffset 157, 15 lines modified
156 <li><p>Fixed·index·creation·by·the·migration·infrastructure,·particularly·when157 <li><p>Fixed·index·creation·by·the·migration·infrastructure,·particularly·when
157 dealing·with·PostgreSQL·specific·<code·class="docutils·literal·notranslate"><span·class="pre">{text|varchar}_pattern_ops</span></code>·indexes158 dealing·with·PostgreSQL·specific·<code·class="docutils·literal·notranslate"><span·class="pre">{text|varchar}_pattern_ops</span></code>·indexes
158 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23954">#23954</a>).</p></li>159 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23954">#23954</a>).</p></li>
159 <li><p>Fixed·bug·in·<code·class="docutils·literal·notranslate"><span·class="pre">makemigrations</span></code>·that·created·broken·migration·files·when160 <li><p>Fixed·bug·in·<code·class="docutils·literal·notranslate"><span·class="pre">makemigrations</span></code>·that·created·broken·migration·files·when
160 dealing·with·multiple·table·inheritance·and·inheriting·from·more·than·one161 dealing·with·multiple·table·inheritance·and·inheriting·from·more·than·one
161 model·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23956">#23956</a>).</p></li>162 model·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23956">#23956</a>).</p></li>
162 <li><p>Fixed·a·crash·when·a·<code·class="docutils·literal·notranslate"><span·class="pre">MultiValueField</span></code>·has·invalid·data·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23674">#23674</a>).</p></li>163 <li><p>Fixed·a·crash·when·a·<code·class="docutils·literal·notranslate"><span·class="pre">MultiValueField</span></code>·has·invalid·data·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23674">#23674</a>).</p></li>
163 <li><p>Fixed·a·crash·in·the·admin·when·using·Save·as·new·and·also·deleting·a164 <li><p>Fixed·a·crash·in·the·admin·when·using·Save·as·new·and·also·deleting·a
164 related·inline·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23857">#23857</a>).</p></li>165 related·inline·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23857">#23857</a>).</p></li>
165 <li><p>Always·converted·<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·to·text·(Unicode),·since·that·is·required166 <li><p>Always·converted·<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·to·text·(Unicode),·since·that·is·required
166 on·Python·3·for·interpolation.·Removed·conversion·of·<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·to·text167 on·Python·3·for·interpolation.·Removed·conversion·of·<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·to·text
167 in·migration·deconstruction·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23455">#23455</a>·and·<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23982">#23982</a>).</p></li>168 in·migration·deconstruction·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23455">#23455</a>·and·<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23982">#23982</a>).</p></li>
168 <li><p>Enlarged·the·sizes·of·tablespaces·which·are·created·by·default·for·testing169 <li><p>Enlarged·the·sizes·of·tablespaces·which·are·created·by·default·for·testing
169 on·Oracle·(the·main·tablespace·was·increased·from·200M·to·300M·and·the170 on·Oracle·(the·main·tablespace·was·increased·from·200M·to·300M·and·the
170 temporary·tablespace·from·100M·to·150M).·This·was·required·to·accommodate171 temporary·tablespace·from·100M·to·150M).·This·was·required·to·accommodate
Offset 193, 15 lines modifiedOffset 194, 15 lines modified
193 <code·class="docutils·literal·notranslate"><span·class="pre">Meta.managed</span></code>.·This·prevents·data·loss·when·changing·<code·class="docutils·literal·notranslate"><span·class="pre">managed</span></code>·from194 <code·class="docutils·literal·notranslate"><span·class="pre">Meta.managed</span></code>.·This·prevents·data·loss·when·changing·<code·class="docutils·literal·notranslate"><span·class="pre">managed</span></code>·from
194 <code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·and·vice·versa·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24037">#24037</a>).</p></li>195 <code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·and·vice·versa·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24037">#24037</a>).</p></li>
195 <li><p>Enabled·the·<code·class="docutils·literal·notranslate"><span·class="pre">sqlsequencereset</span></code>·command·on·apps·with·migrations196 <li><p>Enabled·the·<code·class="docutils·literal·notranslate"><span·class="pre">sqlsequencereset</span></code>·command·on·apps·with·migrations
196 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24054">#24054</a>).</p></li>197 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24054">#24054</a>).</p></li>
197 <li><p>Added·tablespace·SQL·to·apps·with·migrations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24051">#24051</a>).</p></li>198 <li><p>Added·tablespace·SQL·to·apps·with·migrations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24051">#24051</a>).</p></li>
198 <li><p>Corrected·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.sites</span></code>·default·site·creation·in·a·multiple·database199 <li><p>Corrected·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.sites</span></code>·default·site·creation·in·a·multiple·database
199 setup·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24000">#24000</a>).</p></li>200 setup·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24000">#24000</a>).</p></li>
200 <li><p>Restored·support·for·objects·that·aren’t·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#str"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">str</span></code></a>·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#bytes"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">bytes</span></code></a>·in201 <li><p>Restored·support·for·objects·that·aren’t·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#str"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">str</span></code></a>·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#bytes"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">bytes</span></code></a>·in
201 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.safestring.mark_for_escaping()</span></code>·on·Python·3.</p></li>202 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.safestring.mark_for_escaping()</span></code>·on·Python·3.</p></li>
202 <li><p>Supported·strings·escaped·by·third-party·libraries·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">__html__</span></code>203 <li><p>Supported·strings·escaped·by·third-party·libraries·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">__html__</span></code>
203 convention·in·the·template·engine·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23831">#23831</a>).</p></li>204 convention·in·the·template·engine·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23831">#23831</a>).</p></li>
204 <li><p>Prevented·extraneous·<code·class="docutils·literal·notranslate"><span·class="pre">DROP</span>·<span·class="pre">DEFAULT</span></code>·SQL·in·migrations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23581">#23581</a>).</p></li>205 <li><p>Prevented·extraneous·<code·class="docutils·literal·notranslate"><span·class="pre">DROP</span>·<span·class="pre">DEFAULT</span></code>·SQL·in·migrations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23581">#23581</a>).</p></li>
205 <li><p>Restored·the·ability·to·use·more·than·five·levels·of·subqueries206 <li><p>Restored·the·ability·to·use·more·than·five·levels·of·subqueries
206 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23758">#23758</a>).</p></li>207 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/23758">#23758</a>).</p></li>
207 <li><p>Fixed·crash·when·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code>·is·initialized·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code>208 <li><p>Fixed·crash·when·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code>·is·initialized·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code>
Offset 219, 47 lines modifiedOffset 220, 47 lines modified
219 ······220 ······
220 ········221 ········
221 ··········<div·class="yui-b"·id="sidebar">222 ··········<div·class="yui-b"·id="sidebar">
222 ············223 ············
223 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">224 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
224 ········<div·class="sphinxsidebarwrapper">225 ········<div·class="sphinxsidebarwrapper">
225 ··<div>226 ··<div>
226 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>227 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
227 ····<ul>228 ····<ul>
228 <li><a·class="reference·internal"·href="#">Django·1.7.2·release·notes</a><ul>229 <li><a·class="reference·internal"·href="#">Django·1.7.2·release·notes</a><ul>
229 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>230 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
230 </ul>231 </ul>
231 </li>232 </li>
232 </ul>233 </ul>
  
233 ··</div>234 ··</div>
234 ··<div>235 ··<div>
235 ····<h4>Previous·topic</h4>236 ····<h4>Eelmine·teema</h4>
236 ····<p·class="topless"><a·href="1.7.3.html"237 ····<p·class="topless"><a·href="1.7.3.html"
237 ··························title="previous·chapter">Django·1.7.3·release·notes</a></p>238 ··························title="eelmine·jaotis">Django·1.7.3·release·notes</a></p>
238 ··</div>239 ··</div>
239 ··<div>240 ··<div>
240 ····<h4>Next·topic</h4>241 ····<h4>Järgmine·teema</h4>
241 ····<p·class="topless"><a·href="1.7.1.html"242 ····<p·class="topless"><a·href="1.7.1.html"
242 ··························title="next·chapter">Django·1.7.1·release·notes</a></p>243 ··························title="järgmine·jaotis">Django·1.7.1·release·notes</a></p>
243 ··</div>244 ··</div>
244 <search·id="searchbox"·style="display:·none"·role="search">245 <search·id="searchbox"·style="display:·none"·role="search">
245 ··<h3·id="searchlabel">Quick·search</h3>246 ··<h3·id="searchlabel">Kiirotsing</h3>
246 ····<div·class="searchformwrapper">247 ····<div·class="searchformwrapper">
247 ····<form·class="search"·action="../search.html"·method="get">248 ····<form·class="search"·action="../search.html"·method="get">
248 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>249 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
249 ······<input·type="submit"·value="Go"·/>250 ······<input·type="submit"·value="Otsi"·/>
250 ····</form>251 ····</form>
251 ····</div>252 ····</div>
252 </search>253 </search>
253 <script>document.getElementById('searchbox').style.display·=·"block"</script>254 <script>document.getElementById('searchbox').style.display·=·"block"</script>
254 ········</div>255 ········</div>
255 ······</div>256 ······</div>
256 ··············<h3>Last·update:</h3>257 ··············<h3>Last·update:</h3>
257 ··············<p·class="topless">Nov·05,·2024</p>258 ··············<p·class="topless">nov·05,·2024</p>
258 ··········</div>259 ··········</div>
259 ········260 ········
260 ······261 ······
261 ····</div>262 ····</div>
  
262 ····<div·id="ft">263 ····<div·id="ft">
263 ······<div·class="nav">264 ······<div·class="nav">
3.49 KB
html2text {}
Max HTML report size reached
11.3 KB
./usr/share/doc/python-django-doc/html/releases/1.7.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.2·release·notes"·href="1.7.2.html"·/>15 ····<link·rel="next"·title="Django·1.7.2·release·notes"·href="1.7.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.4·release·notes"·href="1.7.4.html"·/>16 ····<link·rel="prev"·title="Django·1.7.4·release·notes"·href="1.7.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 15 lines modifiedOffset 103, 15 lines modified
102 recommended·for·production·use,·but·matching·the·behavior·of·common·production103 recommended·for·production·use,·but·matching·the·behavior·of·common·production
103 servers·reduces·the·surface·area·for·behavior·changes·during·deployment.</p>104 servers·reduces·the·surface·area·for·behavior·changes·during·deployment.</p>
104 </section>105 </section>
105 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">106 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">
106 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>107 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
107 <p>Django·relies·on·user·input·in·some·cases·(e.g.108 <p>Django·relies·on·user·input·in·some·cases·(e.g.
108 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)109 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
109 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these110 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these
110 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·strip·leading111 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·didn’t·strip·leading
111 whitespace·on·the·tested·URL·and·as·such·considered·URLs·like112 whitespace·on·the·tested·URL·and·as·such·considered·URLs·like
112 <code·class="docutils·literal·notranslate"><span·class="pre">\njavascript:...</span></code>·safe.·If·a·developer·relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to113 <code·class="docutils·literal·notranslate"><span·class="pre">\njavascript:...</span></code>·safe.·If·a·developer·relied·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to
113 provide·safe·redirect·targets·and·put·such·a·URL·into·a·link,·they·could·suffer114 provide·safe·redirect·targets·and·put·such·a·URL·into·a·link,·they·could·suffer
114 from·a·XSS·attack.·This·bug·doesn’t·affect·Django·currently,·since·we·only·put115 from·a·XSS·attack.·This·bug·doesn’t·affect·Django·currently,·since·we·only·put
115 this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore116 this·URL·into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore
116 JavaScript·there.</p>117 JavaScript·there.</p>
Offset 163, 51 lines modifiedOffset 164, 51 lines modified
163 ······164 ······
164 ········165 ········
165 ··········<div·class="yui-b"·id="sidebar">166 ··········<div·class="yui-b"·id="sidebar">
166 ············167 ············
167 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">168 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
168 ········<div·class="sphinxsidebarwrapper">169 ········<div·class="sphinxsidebarwrapper">
169 ··<div>170 ··<div>
170 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>171 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
171 ····<ul>172 ····<ul>
172 <li><a·class="reference·internal"·href="#">Django·1.7.3·release·notes</a><ul>173 <li><a·class="reference·internal"·href="#">Django·1.7.3·release·notes</a><ul>
173 <li><a·class="reference·internal"·href="#wsgi-header-spoofing-via-underscore-dash-conflation">WSGI·header·spoofing·via·underscore/dash·conflation</a></li>174 <li><a·class="reference·internal"·href="#wsgi-header-spoofing-via-underscore-dash-conflation">WSGI·header·spoofing·via·underscore/dash·conflation</a></li>
174 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>175 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>
175 <li><a·class="reference·internal"·href="#denial-of-service-attack-against-django-views-static-serve">Denial-of-service·attack·against·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve</span></code></a></li>176 <li><a·class="reference·internal"·href="#denial-of-service-attack-against-django-views-static-serve">Denial-of-service·attack·against·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve</span></code></a></li>
176 <li><a·class="reference·internal"·href="#database-denial-of-service-with-modelmultiplechoicefield">Database·denial-of-service·with·<code·class="docutils·literal·notranslate"><span·class="pre">ModelMultipleChoiceField</span></code></a></li>177 <li><a·class="reference·internal"·href="#database-denial-of-service-with-modelmultiplechoicefield">Database·denial-of-service·with·<code·class="docutils·literal·notranslate"><span·class="pre">ModelMultipleChoiceField</span></code></a></li>
177 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>178 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
178 </ul>179 </ul>
179 </li>180 </li>
180 </ul>181 </ul>
  
181 ··</div>182 ··</div>
182 ··<div>183 ··<div>
183 ····<h4>Previous·topic</h4>184 ····<h4>Eelmine·teema</h4>
184 ····<p·class="topless"><a·href="1.7.4.html"185 ····<p·class="topless"><a·href="1.7.4.html"
185 ··························title="previous·chapter">Django·1.7.4·release·notes</a></p>186 ··························title="eelmine·jaotis">Django·1.7.4·release·notes</a></p>
186 ··</div>187 ··</div>
187 ··<div>188 ··<div>
188 ····<h4>Next·topic</h4>189 ····<h4>Järgmine·teema</h4>
189 ····<p·class="topless"><a·href="1.7.2.html"190 ····<p·class="topless"><a·href="1.7.2.html"
190 ··························title="next·chapter">Django·1.7.2·release·notes</a></p>191 ··························title="järgmine·jaotis">Django·1.7.2·release·notes</a></p>
191 ··</div>192 ··</div>
192 <search·id="searchbox"·style="display:·none"·role="search">193 <search·id="searchbox"·style="display:·none"·role="search">
193 ··<h3·id="searchlabel">Quick·search</h3>194 ··<h3·id="searchlabel">Kiirotsing</h3>
194 ····<div·class="searchformwrapper">195 ····<div·class="searchformwrapper">
195 ····<form·class="search"·action="../search.html"·method="get">196 ····<form·class="search"·action="../search.html"·method="get">
196 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>197 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
197 ······<input·type="submit"·value="Go"·/>198 ······<input·type="submit"·value="Otsi"·/>
198 ····</form>199 ····</form>
199 ····</div>200 ····</div>
200 </search>201 </search>
201 <script>document.getElementById('searchbox').style.display·=·"block"</script>202 <script>document.getElementById('searchbox').style.display·=·"block"</script>
202 ········</div>203 ········</div>
203 ······</div>204 ······</div>
204 ··············<h3>Last·update:</h3>205 ··············<h3>Last·update:</h3>
205 ··············<p·class="topless">Nov·05,·2024</p>206 ··············<p·class="topless">nov·05,·2024</p>
206 ··········</div>207 ··········</div>
207 ········208 ········
208 ······209 ······
209 ····</div>210 ····</div>
  
210 ····<div·id="ft">211 ····<div·id="ft">
211 ······<div·class="nav">212 ······<div·class="nav">
4.72 KB
html2text {}
Max HTML report size reached
6.49 KB
./usr/share/doc/python-django-doc/html/releases/1.7.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.3·release·notes"·href="1.7.3.html"·/>15 ····<link·rel="next"·title="Django·1.7.3·release·notes"·href="1.7.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.5·release·notes"·href="1.7.5.html"·/>16 ····<link·rel="prev"·title="Django·1.7.5·release·notes"·href="1.7.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 106, 47 lines modifiedOffset 107, 47 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·1.7.4·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·1.7.4·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="1.7.5.html"124 ····<p·class="topless"><a·href="1.7.5.html"
124 ··························title="previous·chapter">Django·1.7.5·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·1.7.5·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="1.7.3.html"129 ····<p·class="topless"><a·href="1.7.3.html"
129 ··························title="next·chapter">Django·1.7.3·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·1.7.3·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
2.38 KB
html2text {}
Max HTML report size reached
6.48 KB
./usr/share/doc/python-django-doc/html/releases/1.7.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.4·release·notes"·href="1.7.4.html"·/>15 ····<link·rel="next"·title="Django·1.7.4·release·notes"·href="1.7.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.6·release·notes"·href="1.7.6.html"·/>16 ····<link·rel="prev"·title="Django·1.7.6·release·notes"·href="1.7.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 47 lines modifiedOffset 108, 47 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>115 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
115 ····<ul>116 ····<ul>
116 <li><a·class="reference·internal"·href="#">Django·1.7.5·release·notes</a><ul>117 <li><a·class="reference·internal"·href="#">Django·1.7.5·release·notes</a><ul>
117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="1.7.6.html"125 ····<p·class="topless"><a·href="1.7.6.html"
125 ··························title="previous·chapter">Django·1.7.6·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·1.7.6·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="1.7.4.html"130 ····<p·class="topless"><a·href="1.7.4.html"
130 ··························title="next·chapter">Django·1.7.4·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·1.7.4·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
2.36 KB
html2text {}
Max HTML report size reached
9.31 KB
./usr/share/doc/python-django-doc/html/releases/1.7.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.5·release·notes"·href="1.7.5.html"·/>15 ····<link·rel="next"·title="Django·1.7.5·release·notes"·href="1.7.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.7·release·notes"·href="1.7.7.html"·/>16 ····<link·rel="prev"·title="Django·1.7.7·release·notes"·href="1.7.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 15 lines modifiedOffset 85, 15 lines modified
84 <section·id="s-mitigated-an-xss-attack-via-properties-in-modeladmin-readonly-fields">85 <section·id="s-mitigated-an-xss-attack-via-properties-in-modeladmin-readonly-fields">
85 <span·id="mitigated-an-xss-attack-via-properties-in-modeladmin-readonly-fields"></span><h2>Mitigated·an·XSS·attack·via·properties·in·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.readonly_fields</span></code><a·class="headerlink"·href="#mitigated-an-xss-attack-via-properties-in-modeladmin-readonly-fields"·title="Link·to·this·heading">¶</a></h2>86 <span·id="mitigated-an-xss-attack-via-properties-in-modeladmin-readonly-fields"></span><h2>Mitigated·an·XSS·attack·via·properties·in·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.readonly_fields</span></code><a·class="headerlink"·href="#mitigated-an-xss-attack-via-properties-in-modeladmin-readonly-fields"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.readonly_fields"·title="django.contrib.admin.ModelAdmin.readonly_fields"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.readonly_fields</span></code></a>·attribute·in·the·Django87 <p>The·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.readonly_fields"·title="django.contrib.admin.ModelAdmin.readonly_fields"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.readonly_fields</span></code></a>·attribute·in·the·Django
87 admin·allows·displaying·model·fields·and·model·attributes.·While·the·former88 admin·allows·displaying·model·fields·and·model·attributes.·While·the·former
88 were·correctly·escaped,·the·latter·were·not.·Thus·untrusted·content·could·be89 were·correctly·escaped,·the·latter·were·not.·Thus·untrusted·content·could·be
89 injected·into·the·admin,·presenting·an·exploitation·vector·for·XSS·attacks.</p>90 injected·into·the·admin,·presenting·an·exploitation·vector·for·XSS·attacks.</p>
90 <p>In·this·vulnerability,·every·model·attribute·used·in·<code·class="docutils·literal·notranslate"><span·class="pre">readonly_fields</span></code>·that91 <p>In·this·vulnerability,·every·model·attribute·used·in·<code·class="docutils·literal·notranslate"><span·class="pre">readonly_fields</span></code>·that
91 is·not·an·actual·model·field·(e.g.·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#property"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">property</span></code></a>)·will·<strong>fail·to·be92 is·not·an·actual·model·field·(e.g.·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#property"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">property</span></code></a>)·will·<strong>fail·to·be
92 escaped</strong>·even·if·that·attribute·is·not·marked·as·safe.·In·this·release,93 escaped</strong>·even·if·that·attribute·is·not·marked·as·safe.·In·this·release,
93 autoescaping·is·now·correctly·applied.</p>94 autoescaping·is·now·correctly·applied.</p>
94 </section>95 </section>
95 <section·id="s-bugfixes">96 <section·id="s-bugfixes">
96 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>97 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
97 <ul·class="simple">98 <ul·class="simple">
98 <li><p>Fixed·crash·when·coercing·<code·class="docutils·literal·notranslate"><span·class="pre">ManyRelatedManager</span></code>·to·a·string99 <li><p>Fixed·crash·when·coercing·<code·class="docutils·literal·notranslate"><span·class="pre">ManyRelatedManager</span></code>·to·a·string
Offset 110, 48 lines modifiedOffset 111, 48 lines modified
110 ······111 ······
111 ········112 ········
112 ··········<div·class="yui-b"·id="sidebar">113 ··········<div·class="yui-b"·id="sidebar">
113 ············114 ············
114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
115 ········<div·class="sphinxsidebarwrapper">116 ········<div·class="sphinxsidebarwrapper">
116 ··<div>117 ··<div>
117 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>118 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
118 ····<ul>119 ····<ul>
119 <li><a·class="reference·internal"·href="#">Django·1.7.6·release·notes</a><ul>120 <li><a·class="reference·internal"·href="#">Django·1.7.6·release·notes</a><ul>
120 <li><a·class="reference·internal"·href="#mitigated-an-xss-attack-via-properties-in-modeladmin-readonly-fields">Mitigated·an·XSS·attack·via·properties·in·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.readonly_fields</span></code></a></li>121 <li><a·class="reference·internal"·href="#mitigated-an-xss-attack-via-properties-in-modeladmin-readonly-fields">Mitigated·an·XSS·attack·via·properties·in·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.readonly_fields</span></code></a></li>
121 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>122 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
122 </ul>123 </ul>
123 </li>124 </li>
124 </ul>125 </ul>
  
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Previous·topic</h4>128 ····<h4>Eelmine·teema</h4>
128 ····<p·class="topless"><a·href="1.7.7.html"129 ····<p·class="topless"><a·href="1.7.7.html"
129 ··························title="previous·chapter">Django·1.7.7·release·notes</a></p>130 ··························title="eelmine·jaotis">Django·1.7.7·release·notes</a></p>
130 ··</div>131 ··</div>
131 ··<div>132 ··<div>
132 ····<h4>Next·topic</h4>133 ····<h4>Järgmine·teema</h4>
133 ····<p·class="topless"><a·href="1.7.5.html"134 ····<p·class="topless"><a·href="1.7.5.html"
134 ··························title="next·chapter">Django·1.7.5·release·notes</a></p>135 ··························title="järgmine·jaotis">Django·1.7.5·release·notes</a></p>
135 ··</div>136 ··</div>
136 <search·id="searchbox"·style="display:·none"·role="search">137 <search·id="searchbox"·style="display:·none"·role="search">
137 ··<h3·id="searchlabel">Quick·search</h3>138 ··<h3·id="searchlabel">Kiirotsing</h3>
138 ····<div·class="searchformwrapper">139 ····<div·class="searchformwrapper">
139 ····<form·class="search"·action="../search.html"·method="get">140 ····<form·class="search"·action="../search.html"·method="get">
140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
141 ······<input·type="submit"·value="Go"·/>142 ······<input·type="submit"·value="Otsi"·/>
142 ····</form>143 ····</form>
143 ····</div>144 ····</div>
144 </search>145 </search>
145 <script>document.getElementById('searchbox').style.display·=·"block"</script>146 <script>document.getElementById('searchbox').style.display·=·"block"</script>
146 ········</div>147 ········</div>
147 ······</div>148 ······</div>
148 ··············<h3>Last·update:</h3>149 ··············<h3>Last·update:</h3>
149 ··············<p·class="topless">Nov·05,·2024</p>150 ··············<p·class="topless">nov·05,·2024</p>
150 ··········</div>151 ··········</div>
151 ········152 ········
152 ······153 ······
153 ····</div>154 ····</div>
  
154 ····<div·id="ft">155 ····<div·id="ft">
155 ······<div·class="nav">156 ······<div·class="nav">
2.75 KB
html2text {}
Max HTML report size reached
10.6 KB
./usr/share/doc/python-django-doc/html/releases/1.7.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.6·release·notes"·href="1.7.6.html"·/>15 ····<link·rel="next"·title="Django·1.7.6·release·notes"·href="1.7.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.8·release·notes"·href="1.7.8.html"·/>16 ····<link·rel="prev"·title="Django·1.7.8·release·notes"·href="1.7.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 15 lines modifiedOffset 97, 15 lines modified
96 HTML·safe.·So·NEVER·mark·safe·the·result·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code>·call·without97 HTML·safe.·So·NEVER·mark·safe·the·result·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code>·call·without
97 escaping·it·first,·for·example·with·<a·class="reference·internal"·href="../ref/utils.html#django.utils.html.escape"·title="django.utils.html.escape"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">escape()</span></code></a>.</p>98 escaping·it·first,·for·example·with·<a·class="reference·internal"·href="../ref/utils.html#django.utils.html.escape"·title="django.utils.html.escape"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">escape()</span></code></a>.</p>
98 </section>99 </section>
99 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">100 <section·id="s-mitigated-possible-xss-attack-via-user-supplied-redirect-urls">
100 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>101 <span·id="mitigated-possible-xss-attack-via-user-supplied-redirect-urls"></span><h2>Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs<a·class="headerlink"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
101 <p>Django·relies·on·user·input·in·some·cases·(e.g.102 <p>Django·relies·on·user·input·in·some·cases·(e.g.
102 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)103 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
103 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these104 to·redirect·the·user·to·an·on·success·URL.·The·security·checks·for·these
104 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·accepted·URLs·with105 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·accepted·URLs·with
105 leading·control·characters·and·so·considered·URLs·like·<code·class="docutils·literal·notranslate"><span·class="pre">\x08javascript:...</span></code>106 leading·control·characters·and·so·considered·URLs·like·<code·class="docutils·literal·notranslate"><span·class="pre">\x08javascript:...</span></code>
106 safe.·This·issue·doesn’t·affect·Django·currently,·since·we·only·put·this·URL107 safe.·This·issue·doesn’t·affect·Django·currently,·since·we·only·put·this·URL
107 into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore·JavaScript108 into·the·<code·class="docutils·literal·notranslate"><span·class="pre">Location</span></code>·response·header·and·browsers·seem·to·ignore·JavaScript
108 there.·Browsers·we·tested·also·treat·URLs·prefixed·with·control·characters·such109 there.·Browsers·we·tested·also·treat·URLs·prefixed·with·control·characters·such
109 as·<code·class="docutils·literal·notranslate"><span·class="pre">%08//example.com</span></code>·as·relative·paths·so·redirection·to·an·unsafe·target110 as·<code·class="docutils·literal·notranslate"><span·class="pre">%08//example.com</span></code>·as·relative·paths·so·redirection·to·an·unsafe·target
110 isn’t·a·problem·either.</p>111 isn’t·a·problem·either.</p>
Offset 133, 49 lines modifiedOffset 134, 49 lines modified
133 ······134 ······
134 ········135 ········
135 ··········<div·class="yui-b"·id="sidebar">136 ··········<div·class="yui-b"·id="sidebar">
136 ············137 ············
137 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">138 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
138 ········<div·class="sphinxsidebarwrapper">139 ········<div·class="sphinxsidebarwrapper">
139 ··<div>140 ··<div>
140 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>141 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
141 ····<ul>142 ····<ul>
142 <li><a·class="reference·internal"·href="#">Django·1.7.7·release·notes</a><ul>143 <li><a·class="reference·internal"·href="#">Django·1.7.7·release·notes</a><ul>
143 <li><a·class="reference·internal"·href="#denial-of-service-possibility-with-strip-tags">Denial-of-service·possibility·with·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>144 <li><a·class="reference·internal"·href="#denial-of-service-possibility-with-strip-tags">Denial-of-service·possibility·with·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>
144 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>145 <li><a·class="reference·internal"·href="#mitigated-possible-xss-attack-via-user-supplied-redirect-urls">Mitigated·possible·XSS·attack·via·user-supplied·redirect·URLs</a></li>
145 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>146 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
146 </ul>147 </ul>
147 </li>148 </li>
148 </ul>149 </ul>
  
149 ··</div>150 ··</div>
150 ··<div>151 ··<div>
151 ····<h4>Previous·topic</h4>152 ····<h4>Eelmine·teema</h4>
152 ····<p·class="topless"><a·href="1.7.8.html"153 ····<p·class="topless"><a·href="1.7.8.html"
153 ··························title="previous·chapter">Django·1.7.8·release·notes</a></p>154 ··························title="eelmine·jaotis">Django·1.7.8·release·notes</a></p>
154 ··</div>155 ··</div>
155 ··<div>156 ··<div>
156 ····<h4>Next·topic</h4>157 ····<h4>Järgmine·teema</h4>
157 ····<p·class="topless"><a·href="1.7.6.html"158 ····<p·class="topless"><a·href="1.7.6.html"
158 ··························title="next·chapter">Django·1.7.6·release·notes</a></p>159 ··························title="järgmine·jaotis">Django·1.7.6·release·notes</a></p>
159 ··</div>160 ··</div>
160 <search·id="searchbox"·style="display:·none"·role="search">161 <search·id="searchbox"·style="display:·none"·role="search">
161 ··<h3·id="searchlabel">Quick·search</h3>162 ··<h3·id="searchlabel">Kiirotsing</h3>
162 ····<div·class="searchformwrapper">163 ····<div·class="searchformwrapper">
163 ····<form·class="search"·action="../search.html"·method="get">164 ····<form·class="search"·action="../search.html"·method="get">
164 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>165 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
165 ······<input·type="submit"·value="Go"·/>166 ······<input·type="submit"·value="Otsi"·/>
166 ····</form>167 ····</form>
167 ····</div>168 ····</div>
168 </search>169 </search>
169 <script>document.getElementById('searchbox').style.display·=·"block"</script>170 <script>document.getElementById('searchbox').style.display·=·"block"</script>
170 ········</div>171 ········</div>
171 ······</div>172 ······</div>
172 ··············<h3>Last·update:</h3>173 ··············<h3>Last·update:</h3>
173 ··············<p·class="topless">Nov·05,·2024</p>174 ··············<p·class="topless">nov·05,·2024</p>
174 ··········</div>175 ··········</div>
175 ········176 ········
176 ······177 ······
177 ····</div>178 ····</div>
  
178 ····<div·id="ft">179 ····<div·id="ft">
179 ······<div·class="nav">180 ······<div·class="nav">
4.18 KB
html2text {}
Max HTML report size reached
5.49 KB
./usr/share/doc/python-django-doc/html/releases/1.7.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.7·release·notes"·href="1.7.7.html"·/>15 ····<link·rel="next"·title="Django·1.7.7·release·notes"·href="1.7.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.9·release·notes"·href="1.7.9.html"·/>16 ····<link·rel="prev"·title="Django·1.7.9·release·notes"·href="1.7.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 37 lines modifiedOffset 98, 37 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h4>Previous·topic</h4>105 ····<h4>Eelmine·teema</h4>
105 ····<p·class="topless"><a·href="1.7.9.html"106 ····<p·class="topless"><a·href="1.7.9.html"
106 ··························title="previous·chapter">Django·1.7.9·release·notes</a></p>107 ··························title="eelmine·jaotis">Django·1.7.9·release·notes</a></p>
107 ··</div>108 ··</div>
108 ··<div>109 ··<div>
109 ····<h4>Next·topic</h4>110 ····<h4>Järgmine·teema</h4>
110 ····<p·class="topless"><a·href="1.7.7.html"111 ····<p·class="topless"><a·href="1.7.7.html"
111 ··························title="next·chapter">Django·1.7.7·release·notes</a></p>112 ··························title="järgmine·jaotis">Django·1.7.7·release·notes</a></p>
112 ··</div>113 ··</div>
113 <search·id="searchbox"·style="display:·none"·role="search">114 <search·id="searchbox"·style="display:·none"·role="search">
114 ··<h3·id="searchlabel">Quick·search</h3>115 ··<h3·id="searchlabel">Kiirotsing</h3>
115 ····<div·class="searchformwrapper">116 ····<div·class="searchformwrapper">
116 ····<form·class="search"·action="../search.html"·method="get">117 ····<form·class="search"·action="../search.html"·method="get">
117 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>118 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
118 ······<input·type="submit"·value="Go"·/>119 ······<input·type="submit"·value="Otsi"·/>
119 ····</form>120 ····</form>
120 ····</div>121 ····</div>
121 </search>122 </search>
122 <script>document.getElementById('searchbox').style.display·=·"block"</script>123 <script>document.getElementById('searchbox').style.display·=·"block"</script>
123 ········</div>124 ········</div>
124 ······</div>125 ······</div>
125 ··············<h3>Last·update:</h3>126 ··············<h3>Last·update:</h3>
126 ··············<p·class="topless">Nov·05,·2024</p>127 ··············<p·class="topless">nov·05,·2024</p>
127 ··········</div>128 ··········</div>
128 ········129 ········
129 ······130 ······
130 ····</div>131 ····</div>
  
131 ····<div·id="ft">132 ····<div·id="ft">
132 ······<div·class="nav">133 ······<div·class="nav">
1.7 KB
html2text {}
    
Offset 1, 20 lines modifiedOffset 1, 20 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.7\x87.\x8.8\x88·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.7\x87.\x8.8\x88·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 M\x8Ma\x8ay\x8y·1\x81,\x8,·2\x820\x801\x815\x855 M\x8Ma\x8ay\x8y·1\x81,\x8,·2\x820\x801\x815\x85
6 Django·1.7.8·fixes:6 Django·1.7.8·fixes:
7 ····*·Database·introspection·with·SQLite·3.8.9·(released·April·8,·2015)7 ····*·Database·introspection·with·SQLite·3.8.9·(released·April·8,·2015)
8 ······(_\x8#_\x82_\x84_\x86_\x83_\x87).8 ······(_\x8#_\x82_\x84_\x86_\x83_\x87).
9 ····*·A·database·table·name·quoting·regression·in·1.7.2·(_\x8#_\x82_\x84_\x86_\x80_\x85).9 ····*·A·database·table·name·quoting·regression·in·1.7.2·(_\x8#_\x82_\x84_\x86_\x80_\x85).
10 ····*·The·loss·of·null/not·null·column·properties·during·field·alteration·of10 ····*·The·loss·of·null/not·null·column·properties·during·field·alteration·of
11 ······MySQL·databases·(_\x8#_\x82_\x84_\x85_\x89_\x85).11 ······MySQL·databases·(_\x8#_\x82_\x84_\x85_\x89_\x85).
12 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*12 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x87_\x8._\x89_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x87_\x8._\x89_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
14 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*14 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x87_\x8._\x87_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x87_\x8._\x87_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
16 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*16 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
17 [q···················][Go]17 [q···················][Otsi]
18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
19 Nov·05,·202419 nov·05,·2024
20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
9.67 KB
./usr/share/doc/python-django-doc/html/releases/1.7.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.8·release·notes"·href="1.7.8.html"·/>15 ····<link·rel="next"·title="Django·1.7.8·release·notes"·href="1.7.8.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.10·release·notes"·href="1.7.10.html"·/>16 ····<link·rel="prev"·title="Django·1.7.10·release·notes"·href="1.7.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 15 lines modifiedOffset 85, 15 lines modified
84 <section·id="s-denial-of-service-possibility-by-filling-session-store">85 <section·id="s-denial-of-service-possibility-by-filling-session-store">
85 <span·id="denial-of-service-possibility-by-filling-session-store"></span><h2>Denial-of-service·possibility·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>86 <span·id="denial-of-service-possibility-by-filling-session-store"></span><h2>Denial-of-service·possibility·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>
86 <p>In·previous·versions·of·Django,·the·session·backends·created·a·new·empty·record87 <p>In·previous·versions·of·Django,·the·session·backends·created·a·new·empty·record
87 in·the·session·storage·anytime·<code·class="docutils·literal·notranslate"><span·class="pre">request.session</span></code>·was·accessed·and·there·was·a88 in·the·session·storage·anytime·<code·class="docutils·literal·notranslate"><span·class="pre">request.session</span></code>·was·accessed·and·there·was·a
88 session·key·provided·in·the·request·cookies·that·didn’t·already·have·a·session89 session·key·provided·in·the·request·cookies·that·didn’t·already·have·a·session
89 record.·This·could·allow·an·attacker·to·easily·create·many·new·session·records90 record.·This·could·allow·an·attacker·to·easily·create·many·new·session·records
90 simply·by·sending·repeated·requests·with·unknown·session·keys,·potentially91 simply·by·sending·repeated·requests·with·unknown·session·keys,·potentially
91 filling·up·the·session·store·or·causing·other·users·session·records·to·be92 filling·up·the·session·store·or·causing·other·users·session·records·to·be
92 evicted.</p>93 evicted.</p>
93 <p>The·built-in·session·backends·now·create·a·session·record·only·if·the·session94 <p>The·built-in·session·backends·now·create·a·session·record·only·if·the·session
94 is·actually·modified;·empty·session·records·are·not·created.·Thus·this95 is·actually·modified;·empty·session·records·are·not·created.·Thus·this
95 potential·DoS·is·now·only·possible·if·the·site·chooses·to·expose·a96 potential·DoS·is·now·only·possible·if·the·site·chooses·to·expose·a
96 session-modifying·view·to·anonymous·users.</p>97 session-modifying·view·to·anonymous·users.</p>
97 <p>As·each·built-in·session·backend·was·fixed·separately·(rather·than·a·fix·in·the98 <p>As·each·built-in·session·backend·was·fixed·separately·(rather·than·a·fix·in·the
98 core·sessions·framework),·maintainers·of·third-party·session·backends·should99 core·sessions·framework),·maintainers·of·third-party·session·backends·should
Offset 142, 49 lines modifiedOffset 143, 49 lines modified
142 ······143 ······
143 ········144 ········
144 ··········<div·class="yui-b"·id="sidebar">145 ··········<div·class="yui-b"·id="sidebar">
145 ············146 ············
146 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">147 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
147 ········<div·class="sphinxsidebarwrapper">148 ········<div·class="sphinxsidebarwrapper">
148 ··<div>149 ··<div>
149 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>150 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
150 ····<ul>151 ····<ul>
151 <li><a·class="reference·internal"·href="#">Django·1.7.9·release·notes</a><ul>152 <li><a·class="reference·internal"·href="#">Django·1.7.9·release·notes</a><ul>
152 <li><a·class="reference·internal"·href="#denial-of-service-possibility-by-filling-session-store">Denial-of-service·possibility·by·filling·session·store</a></li>153 <li><a·class="reference·internal"·href="#denial-of-service-possibility-by-filling-session-store">Denial-of-service·possibility·by·filling·session·store</a></li>
153 <li><a·class="reference·internal"·href="#header-injection-possibility-since-validators-accept-newlines-in-input">Header·injection·possibility·since·validators·accept·newlines·in·input</a></li>154 <li><a·class="reference·internal"·href="#header-injection-possibility-since-validators-accept-newlines-in-input">Header·injection·possibility·since·validators·accept·newlines·in·input</a></li>
154 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>155 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
155 </ul>156 </ul>
156 </li>157 </li>
157 </ul>158 </ul>
  
158 ··</div>159 ··</div>
159 ··<div>160 ··<div>
160 ····<h4>Previous·topic</h4>161 ····<h4>Eelmine·teema</h4>
161 ····<p·class="topless"><a·href="1.7.10.html"162 ····<p·class="topless"><a·href="1.7.10.html"
162 ··························title="previous·chapter">Django·1.7.10·release·notes</a></p>163 ··························title="eelmine·jaotis">Django·1.7.10·release·notes</a></p>
163 ··</div>164 ··</div>
164 ··<div>165 ··<div>
165 ····<h4>Next·topic</h4>166 ····<h4>Järgmine·teema</h4>
166 ····<p·class="topless"><a·href="1.7.8.html"167 ····<p·class="topless"><a·href="1.7.8.html"
167 ··························title="next·chapter">Django·1.7.8·release·notes</a></p>168 ··························title="järgmine·jaotis">Django·1.7.8·release·notes</a></p>
168 ··</div>169 ··</div>
169 <search·id="searchbox"·style="display:·none"·role="search">170 <search·id="searchbox"·style="display:·none"·role="search">
170 ··<h3·id="searchlabel">Quick·search</h3>171 ··<h3·id="searchlabel">Kiirotsing</h3>
171 ····<div·class="searchformwrapper">172 ····<div·class="searchformwrapper">
172 ····<form·class="search"·action="../search.html"·method="get">173 ····<form·class="search"·action="../search.html"·method="get">
173 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>174 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
174 ······<input·type="submit"·value="Go"·/>175 ······<input·type="submit"·value="Otsi"·/>
175 ····</form>176 ····</form>
176 ····</div>177 ····</div>
177 </search>178 </search>
178 <script>document.getElementById('searchbox').style.display·=·"block"</script>179 <script>document.getElementById('searchbox').style.display·=·"block"</script>
179 ········</div>180 ········</div>
180 ······</div>181 ······</div>
181 ··············<h3>Last·update:</h3>182 ··············<h3>Last·update:</h3>
182 ··············<p·class="topless">Nov·05,·2024</p>183 ··············<p·class="topless">nov·05,·2024</p>
183 ··········</div>184 ··········</div>
184 ········185 ········
185 ······186 ······
186 ····</div>187 ····</div>
  
187 ····<div·id="ft">188 ····<div·id="ft">
188 ······<div·class="nav">189 ······<div·class="nav">
3.82 KB
html2text {}
Max HTML report size reached
56.8 KB
./usr/share/doc/python-django-doc/html/releases/1.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.6.11·release·notes"·href="1.6.11.html"·/>15 ····<link·rel="next"·title="Django·1.6.11·release·notes"·href="1.6.11.html"·/>
15 ····<link·rel="prev"·title="Django·1.7.1·release·notes"·href="1.7.1.html"·/>16 ····<link·rel="prev"·title="Django·1.7.1·release·notes"·href="1.7.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 136, 18 lines modifiedOffset 137, 18 lines modified
136 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·or137 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·or
137 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>·to)·apps·with·migrations.</p></li>138 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>·to)·apps·with·migrations.</p></li>
138 </ul>139 </ul>
139 </section>140 </section>
140 <section·id="s-app-loading-refactor">141 <section·id="s-app-loading-refactor">
141 <span·id="s-app-loading-refactor-17-release-note"></span><span·id="app-loading-refactor"></span><span·id="app-loading-refactor-17-release-note"></span><h3>App-loading·refactor<a·class="headerlink"·href="#app-loading-refactor"·title="Link·to·this·heading">¶</a></h3>142 <span·id="s-app-loading-refactor-17-release-note"></span><span·id="app-loading-refactor"></span><span·id="app-loading-refactor-17-release-note"></span><h3>App-loading·refactor<a·class="headerlink"·href="#app-loading-refactor"·title="Link·to·this·heading">¶</a></h3>
142 <p>Historically,·Django·applications·were·tightly·linked·to·models.·A·singleton143 <p>Historically,·Django·applications·were·tightly·linked·to·models.·A·singleton
143 known·as·the·app·cache·dealt·with·both·installed·applications·and·models.144 known·as·the·app·cache·dealt·with·both·installed·applications·and·models.
144 The·models·module·was·used·as·an·identifier·for·applications·in·many·APIs.</p>145 The·models·module·was·used·as·an·identifier·for·applications·in·many·APIs.</p>
145 <p>As·the·concept·of·<a·class="reference·internal"·href="../ref/applications.html"><span·class="doc">Django·applications</span></a>·matured,·this146 <p>As·the·concept·of·<a·class="reference·internal"·href="../ref/applications.html"><span·class="doc">Django·applications</span></a>·matured,·this
146 code·showed·some·shortcomings.·It·has·been·refactored·into·an·app·registry147 code·showed·some·shortcomings.·It·has·been·refactored·into·an·app·registry
147 where·models·modules·no·longer·have·a·central·role·and·where·it’s·possible·to148 where·models·modules·no·longer·have·a·central·role·and·where·it’s·possible·to
148 attach·configuration·data·to·applications.</p>149 attach·configuration·data·to·applications.</p>
149 <p>Improvements·thus·far·include:</p>150 <p>Improvements·thus·far·include:</p>
150 <ul·class="simple">151 <ul·class="simple">
151 <li><p>Applications·can·run·code·at·startup,·before·Django·does·anything·else,·with152 <li><p>Applications·can·run·code·at·startup,·before·Django·does·anything·else,·with
152 the·<a·class="reference·internal"·href="../ref/applications.html#django.apps.AppConfig.ready"·title="django.apps.AppConfig.ready"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ready()</span></code></a>·method·of·their·configuration.</p></li>153 the·<a·class="reference·internal"·href="../ref/applications.html#django.apps.AppConfig.ready"·title="django.apps.AppConfig.ready"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ready()</span></code></a>·method·of·their·configuration.</p></li>
153 <li><p>Application·labels·are·assigned·correctly·to·models·even·when·they’re154 <li><p>Application·labels·are·assigned·correctly·to·models·even·when·they’re
Offset 272, 15 lines modifiedOffset 273, 15 lines modified
272 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.select_related"·title="django.db.models.query.QuerySet.select_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">select_related()</span></code></a>·from·a·prefetched273 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.select_related"·title="django.db.models.query.QuerySet.select_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">select_related()</span></code></a>·from·a·prefetched
273 relation,·or·prefetching·the·same·relation·multiple·times·with·different274 relation,·or·prefetching·the·same·relation·multiple·times·with·different
274 querysets.·See·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.prefetch_related"·title="django.db.models.query.QuerySet.prefetch_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">prefetch_related()</span></code></a>275 querysets.·See·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.prefetch_related"·title="django.db.models.query.QuerySet.prefetch_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">prefetch_related()</span></code></a>
275 for·more·details.</p>276 for·more·details.</p>
276 </section>277 </section>
277 <section·id="s-admin-shortcuts-support-time-zones">278 <section·id="s-admin-shortcuts-support-time-zones">
278 <span·id="admin-shortcuts-support-time-zones"></span><h3>Admin·shortcuts·support·time·zones<a·class="headerlink"·href="#admin-shortcuts-support-time-zones"·title="Link·to·this·heading">¶</a></h3>279 <span·id="admin-shortcuts-support-time-zones"></span><h3>Admin·shortcuts·support·time·zones<a·class="headerlink"·href="#admin-shortcuts-support-time-zones"·title="Link·to·this·heading">¶</a></h3>
279 <p>The·today·and·now·shortcuts·next·to·date·and·time·input·widgets·in·the280 <p>The·today·and·now·shortcuts·next·to·date·and·time·input·widgets·in·the
280 admin·are·now·operating·in·the·<a·class="reference·internal"·href="../topics/i18n/timezones.html#default-current-time-zone"><span·class="std·std-ref">current·time·zone</span></a>.·Previously,·they·used·the·browser·time·zone,281 admin·are·now·operating·in·the·<a·class="reference·internal"·href="../topics/i18n/timezones.html#default-current-time-zone"><span·class="std·std-ref">current·time·zone</span></a>.·Previously,·they·used·the·browser·time·zone,
281 which·could·result·in·saving·the·wrong·value·when·it·didn’t·match·the·current282 which·could·result·in·saving·the·wrong·value·when·it·didn’t·match·the·current
282 time·zone·on·the·server.</p>283 time·zone·on·the·server.</p>
283 <p>In·addition,·the·widgets·now·display·a·help·message·when·the·browser·and284 <p>In·addition,·the·widgets·now·display·a·help·message·when·the·browser·and
284 server·time·zone·are·different,·to·clarify·how·the·value·inserted·in·the·field285 server·time·zone·are·different,·to·clarify·how·the·value·inserted·in·the·field
285 will·be·interpreted.</p>286 will·be·interpreted.</p>
286 </section>287 </section>
Offset 328, 15 lines modifiedOffset 329, 15 lines modified
328 <span·id="form-add-error"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">Form.add_error()</span></code><a·class="headerlink"·href="#form-add-error"·title="Link·to·this·heading">¶</a></h4>329 <span·id="form-add-error"></span><h4><code·class="docutils·literal·notranslate"><span·class="pre">Form.add_error()</span></code><a·class="headerlink"·href="#form-add-error"·title="Link·to·this·heading">¶</a></h4>
329 <p>Previously·there·were·two·main·patterns·for·handling·errors·in·forms:</p>330 <p>Previously·there·were·two·main·patterns·for·handling·errors·in·forms:</p>
330 <ul·class="simple">331 <ul·class="simple">
331 <li><p>Raising·a·<a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.ValidationError"·title="django.core.exceptions.ValidationError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a>·from·within·certain332 <li><p>Raising·a·<a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.ValidationError"·title="django.core.exceptions.ValidationError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValidationError</span></code></a>·from·within·certain
332 functions·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">Field.clean()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">Form.clean_&lt;fieldname&gt;()</span></code>,·or333 functions·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">Field.clean()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">Form.clean_&lt;fieldname&gt;()</span></code>,·or
333 <code·class="docutils·literal·notranslate"><span·class="pre">Form.clean()</span></code>·for·non-field·errors.)</p></li>334 <code·class="docutils·literal·notranslate"><span·class="pre">Form.clean()</span></code>·for·non-field·errors.)</p></li>
334 <li><p>Fiddling·with·<code·class="docutils·literal·notranslate"><span·class="pre">Form._errors</span></code>·when·targeting·a·specific·field·in335 <li><p>Fiddling·with·<code·class="docutils·literal·notranslate"><span·class="pre">Form._errors</span></code>·when·targeting·a·specific·field·in
335 <code·class="docutils·literal·notranslate"><span·class="pre">Form.clean()</span></code>·or·adding·errors·from·outside·of·a·clean·method336 <code·class="docutils·literal·notranslate"><span·class="pre">Form.clean()</span></code>·or·adding·errors·from·outside·of·a·clean·method
336 (e.g.·directly·from·a·view).</p></li>337 (e.g.·directly·from·a·view).</p></li>
337 </ul>338 </ul>
338 <p>Using·the·former·pattern·was·straightforward·since·the·form·can·guess·from·the339 <p>Using·the·former·pattern·was·straightforward·since·the·form·can·guess·from·the
339 context·(i.e.·which·method·raised·the·exception)·where·the·errors·belong·and340 context·(i.e.·which·method·raised·the·exception)·where·the·errors·belong·and
340 automatically·process·them.·This·remains·the·canonical·way·of·adding·errors341 automatically·process·them.·This·remains·the·canonical·way·of·adding·errors
341 when·possible.·However·the·latter·was·fiddly·and·error-prone,·since·the·burden342 when·possible.·However·the·latter·was·fiddly·and·error-prone,·since·the·burden
342 of·handling·edge·cases·fell·on·the·user.</p>343 of·handling·edge·cases·fell·on·the·user.</p>
Offset 404, 15 lines modifiedOffset 405, 15 lines modified
404 customize·the·value·of·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.fields"·title="django.contrib.admin.ModelAdmin.fields"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.fields</span></code></a>.</p></li>405 customize·the·value·of·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.fields"·title="django.contrib.admin.ModelAdmin.fields"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.fields</span></code></a>.</p></li>
405 <li><p>In·addition·to·the·existing·<code·class="docutils·literal·notranslate"><span·class="pre">admin.site.register</span></code>·syntax,·you·can·use·the406 <li><p>In·addition·to·the·existing·<code·class="docutils·literal·notranslate"><span·class="pre">admin.site.register</span></code>·syntax,·you·can·use·the
406 new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.register"·title="django.contrib.admin.register"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">register()</span></code></a>·decorator·to·register·a407 new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.register"·title="django.contrib.admin.register"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">register()</span></code></a>·decorator·to·register·a
407 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin"·title="django.contrib.admin.ModelAdmin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code></a>.</p></li>408 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin"·title="django.contrib.admin.ModelAdmin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code></a>.</p></li>
408 <li><p>You·may·specify·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_display_links"·title="django.contrib.admin.ModelAdmin.list_display_links"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.list_display_links</span></code></a>·<code·class="docutils·literal·notranslate"><span·class="pre">=</span>·<span·class="pre">None</span></code>·to·disable409 <li><p>You·may·specify·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_display_links"·title="django.contrib.admin.ModelAdmin.list_display_links"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.list_display_links</span></code></a>·<code·class="docutils·literal·notranslate"><span·class="pre">=</span>·<span·class="pre">None</span></code>·to·disable
409 links·on·the·change·list·page·grid.</p></li>410 links·on·the·change·list·page·grid.</p></li>
410 <li><p>You·may·now·specify·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.view_on_site"·title="django.contrib.admin.ModelAdmin.view_on_site"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.view_on_site</span></code></a>·to·control·whether·or·not·to411 <li><p>You·may·now·specify·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.view_on_site"·title="django.contrib.admin.ModelAdmin.view_on_site"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.view_on_site</span></code></a>·to·control·whether·or·not·to
411 display·the·View·on·site·link.</p></li>412 display·the·View·on·site·link.</p></li>
412 <li><p>You·can·specify·a·descending·ordering·for·a·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_display"·title="django.contrib.admin.ModelAdmin.list_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.list_display</span></code></a>·value·by·prefixing·the413 <li><p>You·can·specify·a·descending·ordering·for·a·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_display"·title="django.contrib.admin.ModelAdmin.list_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.list_display</span></code></a>·value·by·prefixing·the
413 <code·class="docutils·literal·notranslate"><span·class="pre">admin_order_field</span></code>·value·with·a·hyphen.</p></li>414 <code·class="docutils·literal·notranslate"><span·class="pre">admin_order_field</span></code>·value·with·a·hyphen.</p></li>
414 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_changeform_initial_data"·title="django.contrib.admin.ModelAdmin.get_changeform_initial_data"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.get_changeform_initial_data()</span></code></a>·method·may·be415 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_changeform_initial_data"·title="django.contrib.admin.ModelAdmin.get_changeform_initial_data"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.get_changeform_initial_data()</span></code></a>·method·may·be
415 overridden·to·define·custom·behavior·for·setting·initial·change·form·data.</p></li>416 overridden·to·define·custom·behavior·for·setting·initial·change·form·data.</p></li>
416 </ul>417 </ul>
417 </section>418 </section>
418 <section·id="s-django-contrib-auth">419 <section·id="s-django-contrib-auth">
Offset 544, 15 lines modifiedOffset 545, 15 lines modified
544 instance·per·thread.·It·supersedes·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.cache.get_cache()</span></code>·which545 instance·per·thread.·It·supersedes·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.cache.get_cache()</span></code>·which
545 is·now·deprecated.</p></li>546 is·now·deprecated.</p></li>
546 <li><p>If·you·instantiate·cache·backends·directly,·be·aware·that·they·aren’t547 <li><p>If·you·instantiate·cache·backends·directly,·be·aware·that·they·aren’t
547 thread-safe·any·more,·as·<a·class="reference·internal"·href="../topics/cache.html#django.core.cache.caches"·title="django.core.cache.caches"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">django.core.cache.caches</span></code></a>·now·yields548 thread-safe·any·more,·as·<a·class="reference·internal"·href="../topics/cache.html#django.core.cache.caches"·title="django.core.cache.caches"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">django.core.cache.caches</span></code></a>·now·yields
548 different·instances·per·thread.</p></li>549 different·instances·per·thread.</p></li>
549 <li><p>Defining·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-TIMEOUT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIMEOUT</span></code></a>·argument·of·the550 <li><p>Defining·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-TIMEOUT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIMEOUT</span></code></a>·argument·of·the
550 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CACHES</span></code></a>·setting·as·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·will·set·the·cache·keys·as551 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CACHES</span></code></a>·setting·as·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·will·set·the·cache·keys·as
551 non-expiring·by·default.·Previously,·it·was·only·possible·to·pass552 non-expiring·by·default.·Previously,·it·was·only·possible·to·pass
552 <code·class="docutils·literal·notranslate"><span·class="pre">timeout=None</span></code>·to·the·cache·backend’s·<code·class="docutils·literal·notranslate"><span·class="pre">set()</span></code>·method.</p></li>553 <code·class="docutils·literal·notranslate"><span·class="pre">timeout=None</span></code>·to·the·cache·backend’s·<code·class="docutils·literal·notranslate"><span·class="pre">set()</span></code>·method.</p></li>
553 </ul>554 </ul>
554 </section>555 </section>
555 <section·id="s-cross-site-request-forgery">556 <section·id="s-cross-site-request-forgery">
556 <span·id="cross-site-request-forgery"></span><h4>Cross·Site·Request·Forgery<a·class="headerlink"·href="#cross-site-request-forgery"·title="Link·to·this·heading">¶</a></h4>557 <span·id="cross-site-request-forgery"></span><h4>Cross·Site·Request·Forgery<a·class="headerlink"·href="#cross-site-request-forgery"·title="Link·to·this·heading">¶</a></h4>
557 <ul·class="simple">558 <ul·class="simple">
558 <li><p>The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_COOKIE_AGE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_AGE</span></code></a>·setting·facilitates·the·use·of·session-based559 <li><p>The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_COOKIE_AGE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_AGE</span></code></a>·setting·facilitates·the·use·of·session-based
Offset 609, 15 lines modifiedOffset 610, 15 lines modified
609 buttons·or·checkboxes·now·include·<code·class="docutils·literal·notranslate"><span·class="pre">for</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">id</span></code>·attributes,·respectively.610 buttons·or·checkboxes·now·include·<code·class="docutils·literal·notranslate"><span·class="pre">for</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">id</span></code>·attributes,·respectively.
610 Each·radio·button·or·checkbox·includes·an·<code·class="docutils·literal·notranslate"><span·class="pre">id_for_label</span></code>·attribute·to611 Each·radio·button·or·checkbox·includes·an·<code·class="docutils·literal·notranslate"><span·class="pre">id_for_label</span></code>·attribute·to
611 output·the·element’s·ID.</p></li>612 output·the·element’s·ID.</p></li>
612 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;textarea&gt;</span></code>·tags·rendered·by·<a·class="reference·internal"·href="../ref/forms/widgets.html#django.forms.Textarea"·title="django.forms.Textarea"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Textarea</span></code></a>·now613 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;textarea&gt;</span></code>·tags·rendered·by·<a·class="reference·internal"·href="../ref/forms/widgets.html#django.forms.Textarea"·title="django.forms.Textarea"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Textarea</span></code></a>·now
Max diff block lines reached; 27874/41603 bytes (67.00%) of diff not shown.
16.1 KB
html2text {}
Max HTML report size reached
9.24 KB
./usr/share/doc/python-django-doc/html/releases/1.8.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8·release·notes"·href="1.8.html"·/>15 ····<link·rel="next"·title="Django·1.8·release·notes"·href="1.8.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.2·release·notes"·href="1.8.2.html"·/>16 ····<link·rel="prev"·title="Django·1.8.2·release·notes"·href="1.8.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="django-1-8-1-release-notes"></span><h1>Django·1.8.1·release·notes<a·class="headerlink"·href="#django-1-8-1-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-8-1-release-notes"></span><h1>Django·1.8.1·release·notes<a·class="headerlink"·href="#django-1-8-1-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>May·1,·2015</em></p>83 <p><em>May·1,·2015</em></p>
83 <p>Django·1.8.1·fixes·several·bugs·in·1.8·and·includes·some·optimizations·in·the84 <p>Django·1.8.1·fixes·several·bugs·in·1.8·and·includes·some·optimizations·in·the
84 migrations·framework.</p>85 migrations·framework.</p>
85 <section·id="s-bugfixes">86 <section·id="s-bugfixes">
86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>87 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
87 <ul·class="simple">88 <ul·class="simple">
88 <li><p>Added·support·for·serializing·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>·objects·in89 <li><p>Added·support·for·serializing·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>·objects·in
89 migrations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24566">#24566</a>).</p></li>90 migrations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24566">#24566</a>).</p></li>
90 <li><p>Restored·proper·parsing·of·the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-testserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">testserver</span></code></a>·command’s·positional91 <li><p>Restored·proper·parsing·of·the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-testserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">testserver</span></code></a>·command’s·positional
91 arguments·(fixture·names)·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24571">#24571</a>).</p></li>92 arguments·(fixture·names)·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24571">#24571</a>).</p></li>
92 <li><p>Prevented·<code·class="docutils·literal·notranslate"><span·class="pre">TypeError</span></code>·in·translation·functions·<code·class="docutils·literal·notranslate"><span·class="pre">check_for_language()</span></code>·and93 <li><p>Prevented·<code·class="docutils·literal·notranslate"><span·class="pre">TypeError</span></code>·in·translation·functions·<code·class="docutils·literal·notranslate"><span·class="pre">check_for_language()</span></code>·and
93 <code·class="docutils·literal·notranslate"><span·class="pre">get_language_bidi()</span></code>·when·translations·are·deactivated·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24569">#24569</a>).</p></li>94 <code·class="docutils·literal·notranslate"><span·class="pre">get_language_bidi()</span></code>·when·translations·are·deactivated·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24569">#24569</a>).</p></li>
94 <li><p>Fixed·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-squashmigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">squashmigrations</span></code></a>·command·when·using95 <li><p>Fixed·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-squashmigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">squashmigrations</span></code></a>·command·when·using
95 <a·class="reference·internal"·href="../ref/migration-operations.html#django.db.migrations.operations.SeparateDatabaseAndState"·title="django.db.migrations.operations.SeparateDatabaseAndState"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SeparateDatabaseAndState</span></code></a>96 <a·class="reference·internal"·href="../ref/migration-operations.html#django.db.migrations.operations.SeparateDatabaseAndState"·title="django.db.migrations.operations.SeparateDatabaseAndState"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SeparateDatabaseAndState</span></code></a>
Offset 158, 48 lines modifiedOffset 159, 48 lines modified
158 ······159 ······
159 ········160 ········
160 ··········<div·class="yui-b"·id="sidebar">161 ··········<div·class="yui-b"·id="sidebar">
161 ············162 ············
162 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">163 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
163 ········<div·class="sphinxsidebarwrapper">164 ········<div·class="sphinxsidebarwrapper">
164 ··<div>165 ··<div>
165 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>166 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
166 ····<ul>167 ····<ul>
167 <li><a·class="reference·internal"·href="#">Django·1.8.1·release·notes</a><ul>168 <li><a·class="reference·internal"·href="#">Django·1.8.1·release·notes</a><ul>
168 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>169 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
169 <li><a·class="reference·internal"·href="#optimizations">Optimizations</a></li>170 <li><a·class="reference·internal"·href="#optimizations">Optimizations</a></li>
170 </ul>171 </ul>
171 </li>172 </li>
172 </ul>173 </ul>
  
173 ··</div>174 ··</div>
174 ··<div>175 ··<div>
175 ····<h4>Previous·topic</h4>176 ····<h4>Eelmine·teema</h4>
176 ····<p·class="topless"><a·href="1.8.2.html"177 ····<p·class="topless"><a·href="1.8.2.html"
177 ··························title="previous·chapter">Django·1.8.2·release·notes</a></p>178 ··························title="eelmine·jaotis">Django·1.8.2·release·notes</a></p>
178 ··</div>179 ··</div>
179 ··<div>180 ··<div>
180 ····<h4>Next·topic</h4>181 ····<h4>Järgmine·teema</h4>
181 ····<p·class="topless"><a·href="1.8.html"182 ····<p·class="topless"><a·href="1.8.html"
182 ··························title="next·chapter">Django·1.8·release·notes</a></p>183 ··························title="järgmine·jaotis">Django·1.8·release·notes</a></p>
183 ··</div>184 ··</div>
184 <search·id="searchbox"·style="display:·none"·role="search">185 <search·id="searchbox"·style="display:·none"·role="search">
185 ··<h3·id="searchlabel">Quick·search</h3>186 ··<h3·id="searchlabel">Kiirotsing</h3>
186 ····<div·class="searchformwrapper">187 ····<div·class="searchformwrapper">
187 ····<form·class="search"·action="../search.html"·method="get">188 ····<form·class="search"·action="../search.html"·method="get">
188 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>189 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
189 ······<input·type="submit"·value="Go"·/>190 ······<input·type="submit"·value="Otsi"·/>
190 ····</form>191 ····</form>
191 ····</div>192 ····</div>
192 </search>193 </search>
193 <script>document.getElementById('searchbox').style.display·=·"block"</script>194 <script>document.getElementById('searchbox').style.display·=·"block"</script>
194 ········</div>195 ········</div>
195 ······</div>196 ······</div>
196 ··············<h3>Last·update:</h3>197 ··············<h3>Last·update:</h3>
197 ··············<p·class="topless">Nov·05,·2024</p>198 ··············<p·class="topless">nov·05,·2024</p>
198 ··········</div>199 ··········</div>
199 ········200 ········
200 ······201 ······
201 ····</div>202 ····</div>
  
202 ····<div·id="ft">203 ····<div·id="ft">
203 ······<div·class="nav">204 ······<div·class="nav">
2.46 KB
html2text {}
Max HTML report size reached
11.4 KB
./usr/share/doc/python-django-doc/html/releases/1.8.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.9·release·notes"·href="1.8.9.html"·/>15 ····<link·rel="next"·title="Django·1.8.9·release·notes"·href="1.8.9.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.11·release·notes"·href="1.8.11.html"·/>16 ····<link·rel="prev"·title="Django·1.8.11·release·notes"·href="1.8.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 17 lines modifiedOffset 82, 17 lines modified
81 <span·id="django-1-8-10-release-notes"></span><h1>Django·1.8.10·release·notes<a·class="headerlink"·href="#django-1-8-10-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-8-10-release-notes"></span><h1>Django·1.8.10·release·notes<a·class="headerlink"·href="#django-1-8-10-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>March·1,·2016</em></p>83 <p><em>March·1,·2016</em></p>
83 <p>Django·1.8.10·fixes·two·security·issues·and·several·bugs·in·1.8.9.</p>84 <p>Django·1.8.10·fixes·two·security·issues·and·several·bugs·in·1.8.9.</p>
84 <section·id="s-cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth">85 <section·id="s-cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth">
85 <span·id="cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth"></span><h2>CVE-2016-2512:·Malicious·redirect·and·possible·XSS·attack·via·user-supplied·redirect·URLs·containing·basic·auth<a·class="headerlink"·href="#cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth"></span><h2>CVE-2016-2512:·Malicious·redirect·and·possible·XSS·attack·via·user-supplied·redirect·URLs·containing·basic·auth<a·class="headerlink"·href="#cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth"·title="Link·to·this·heading">¶</a></h2>
86 <p>Django·relies·on·user·input·in·some·cases·(e.g.87 <p>Django·relies·on·user·input·in·some·cases·(e.g.
87 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)88 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
88 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these89 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these
89 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·URLs90 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·URLs
90 with·basic·authentication·credentials·safe·when·they·shouldn’t·be.</p>91 with·basic·authentication·credentials·safe·when·they·shouldn’t·be.</p>
91 <p>For·example,·a·URL·like·<code·class="docutils·literal·notranslate"><span·class="pre">http://mysite.example.com\&#64;attacker.com</span></code>·would·be92 <p>For·example,·a·URL·like·<code·class="docutils·literal·notranslate"><span·class="pre">http://mysite.example.com\&#64;attacker.com</span></code>·would·be
92 considered·safe·if·the·request’s·host·is·<code·class="docutils·literal·notranslate"><span·class="pre">http://mysite.example.com</span></code>,·but93 considered·safe·if·the·request’s·host·is·<code·class="docutils·literal·notranslate"><span·class="pre">http://mysite.example.com</span></code>,·but
93 redirecting·to·this·URL·sends·the·user·to·<code·class="docutils·literal·notranslate"><span·class="pre">attacker.com</span></code>.</p>94 redirecting·to·this·URL·sends·the·user·to·<code·class="docutils·literal·notranslate"><span·class="pre">attacker.com</span></code>.</p>
94 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect95 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect
95 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>96 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>
96 </section>97 </section>
97 <section·id="s-cve-2016-2513-user-enumeration-through-timing-difference-on-password-hasher-work-factor-upgrade">98 <section·id="s-cve-2016-2513-user-enumeration-through-timing-difference-on-password-hasher-work-factor-upgrade">
Offset 149, 49 lines modifiedOffset 150, 49 lines modified
149 ······150 ······
150 ········151 ········
151 ··········<div·class="yui-b"·id="sidebar">152 ··········<div·class="yui-b"·id="sidebar">
152 ············153 ············
153 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">154 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
154 ········<div·class="sphinxsidebarwrapper">155 ········<div·class="sphinxsidebarwrapper">
155 ··<div>156 ··<div>
156 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>157 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
157 ····<ul>158 ····<ul>
158 <li><a·class="reference·internal"·href="#">Django·1.8.10·release·notes</a><ul>159 <li><a·class="reference·internal"·href="#">Django·1.8.10·release·notes</a><ul>
159 <li><a·class="reference·internal"·href="#cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth">CVE-2016-2512:·Malicious·redirect·and·possible·XSS·attack·via·user-supplied·redirect·URLs·containing·basic·auth</a></li>160 <li><a·class="reference·internal"·href="#cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth">CVE-2016-2512:·Malicious·redirect·and·possible·XSS·attack·via·user-supplied·redirect·URLs·containing·basic·auth</a></li>
160 <li><a·class="reference·internal"·href="#cve-2016-2513-user-enumeration-through-timing-difference-on-password-hasher-work-factor-upgrade">CVE-2016-2513:·User·enumeration·through·timing·difference·on·password·hasher·work·factor·upgrade</a></li>161 <li><a·class="reference·internal"·href="#cve-2016-2513-user-enumeration-through-timing-difference-on-password-hasher-work-factor-upgrade">CVE-2016-2513:·User·enumeration·through·timing·difference·on·password·hasher·work·factor·upgrade</a></li>
161 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>162 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
162 </ul>163 </ul>
163 </li>164 </li>
164 </ul>165 </ul>
  
165 ··</div>166 ··</div>
166 ··<div>167 ··<div>
167 ····<h4>Previous·topic</h4>168 ····<h4>Eelmine·teema</h4>
168 ····<p·class="topless"><a·href="1.8.11.html"169 ····<p·class="topless"><a·href="1.8.11.html"
169 ··························title="previous·chapter">Django·1.8.11·release·notes</a></p>170 ··························title="eelmine·jaotis">Django·1.8.11·release·notes</a></p>
170 ··</div>171 ··</div>
171 ··<div>172 ··<div>
172 ····<h4>Next·topic</h4>173 ····<h4>Järgmine·teema</h4>
173 ····<p·class="topless"><a·href="1.8.9.html"174 ····<p·class="topless"><a·href="1.8.9.html"
174 ··························title="next·chapter">Django·1.8.9·release·notes</a></p>175 ··························title="järgmine·jaotis">Django·1.8.9·release·notes</a></p>
175 ··</div>176 ··</div>
176 <search·id="searchbox"·style="display:·none"·role="search">177 <search·id="searchbox"·style="display:·none"·role="search">
177 ··<h3·id="searchlabel">Quick·search</h3>178 ··<h3·id="searchlabel">Kiirotsing</h3>
178 ····<div·class="searchformwrapper">179 ····<div·class="searchformwrapper">
179 ····<form·class="search"·action="../search.html"·method="get">180 ····<form·class="search"·action="../search.html"·method="get">
180 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>181 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
181 ······<input·type="submit"·value="Go"·/>182 ······<input·type="submit"·value="Otsi"·/>
182 ····</form>183 ····</form>
183 ····</div>184 ····</div>
184 </search>185 </search>
185 <script>document.getElementById('searchbox').style.display·=·"block"</script>186 <script>document.getElementById('searchbox').style.display·=·"block"</script>
186 ········</div>187 ········</div>
187 ······</div>188 ······</div>
188 ··············<h3>Last·update:</h3>189 ··············<h3>Last·update:</h3>
189 ··············<p·class="topless">Nov·05,·2024</p>190 ··············<p·class="topless">nov·05,·2024</p>
190 ··········</div>191 ··········</div>
191 ········192 ········
192 ······193 ······
193 ····</div>194 ····</div>
  
194 ····<div·id="ft">195 ····<div·id="ft">
195 ······<div·class="nav">196 ······<div·class="nav">
4.45 KB
html2text {}
Max HTML report size reached
5.36 KB
./usr/share/doc/python-django-doc/html/releases/1.8.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.10·release·notes"·href="1.8.10.html"·/>15 ····<link·rel="next"·title="Django·1.8.10·release·notes"·href="1.8.10.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.12·release·notes"·href="1.8.12.html"·/>16 ····<link·rel="prev"·title="Django·1.8.12·release·notes"·href="1.8.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 91, 37 lines modifiedOffset 92, 37 lines modified
91 ······92 ······
92 ········93 ········
93 ··········<div·class="yui-b"·id="sidebar">94 ··········<div·class="yui-b"·id="sidebar">
94 ············95 ············
95 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">96 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
96 ········<div·class="sphinxsidebarwrapper">97 ········<div·class="sphinxsidebarwrapper">
97 ··<div>98 ··<div>
98 ····<h4>Previous·topic</h4>99 ····<h4>Eelmine·teema</h4>
99 ····<p·class="topless"><a·href="1.8.12.html"100 ····<p·class="topless"><a·href="1.8.12.html"
100 ··························title="previous·chapter">Django·1.8.12·release·notes</a></p>101 ··························title="eelmine·jaotis">Django·1.8.12·release·notes</a></p>
101 ··</div>102 ··</div>
102 ··<div>103 ··<div>
103 ····<h4>Next·topic</h4>104 ····<h4>Järgmine·teema</h4>
104 ····<p·class="topless"><a·href="1.8.10.html"105 ····<p·class="topless"><a·href="1.8.10.html"
105 ··························title="next·chapter">Django·1.8.10·release·notes</a></p>106 ··························title="järgmine·jaotis">Django·1.8.10·release·notes</a></p>
106 ··</div>107 ··</div>
107 <search·id="searchbox"·style="display:·none"·role="search">108 <search·id="searchbox"·style="display:·none"·role="search">
108 ··<h3·id="searchlabel">Quick·search</h3>109 ··<h3·id="searchlabel">Kiirotsing</h3>
109 ····<div·class="searchformwrapper">110 ····<div·class="searchformwrapper">
110 ····<form·class="search"·action="../search.html"·method="get">111 ····<form·class="search"·action="../search.html"·method="get">
111 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>112 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
112 ······<input·type="submit"·value="Go"·/>113 ······<input·type="submit"·value="Otsi"·/>
113 ····</form>114 ····</form>
114 ····</div>115 ····</div>
115 </search>116 </search>
116 <script>document.getElementById('searchbox').style.display·=·"block"</script>117 <script>document.getElementById('searchbox').style.display·=·"block"</script>
117 ········</div>118 ········</div>
118 ······</div>119 ······</div>
119 ··············<h3>Last·update:</h3>120 ··············<h3>Last·update:</h3>
120 ··············<p·class="topless">Nov·05,·2024</p>121 ··············<p·class="topless">nov·05,·2024</p>
121 ··········</div>122 ··········</div>
122 ········123 ········
123 ······124 ······
124 ····</div>125 ····</div>
  
125 ····<div·id="ft">126 ····<div·id="ft">
126 ······<div·class="nav">127 ······<div·class="nav">
1.55 KB
html2text {}
    
Offset 1, 16 lines modifiedOffset 1, 16 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.8\x88.\x8.1\x811\x81·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.8\x88.\x8.1\x811\x81·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 M\x8Ma\x8ar\x8rc\x8ch\x8h·5\x85,\x8,·2\x820\x801\x816\x865 M\x8Ma\x8ar\x8rc\x8ch\x8h·5\x85,\x8,·2\x820\x801\x816\x86
6 Django·1.8.11·fixes·a·regression·on·Python·2·in·the·1.8.10·security·release6 Django·1.8.11·fixes·a·regression·on·Python·2·in·the·1.8.10·security·release
7 where·utils.http.is_safe_url()·crashes·on·bytestring·URLs·(_\x8#_\x82_\x86_\x83_\x80_\x88).7 where·utils.http.is_safe_url()·crashes·on·bytestring·URLs·(_\x8#_\x82_\x86_\x83_\x80_\x88).
8 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*8 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
9 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x88_\x8._\x81_\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s9 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x88_\x8._\x81_\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
10 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*10 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x88_\x8._\x81_\x80_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x88_\x8._\x81_\x80_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
12 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*12 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
13 [q···················][Go]13 [q···················][Otsi]
14 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*14 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
15 Nov·05,·202415 nov·05,·2024
16 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»16 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
6.38 KB
./usr/share/doc/python-django-doc/html/releases/1.8.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.11·release·notes"·href="1.8.11.html"·/>15 ····<link·rel="next"·title="Django·1.8.11·release·notes"·href="1.8.11.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.13·release·notes"·href="1.8.13.html"·/>16 ····<link·rel="prev"·title="Django·1.8.13·release·notes"·href="1.8.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·1.8.12·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·1.8.12·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="1.8.13.html"120 ····<p·class="topless"><a·href="1.8.13.html"
120 ··························title="previous·chapter">Django·1.8.13·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·1.8.13·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="1.8.11.html"125 ····<p·class="topless"><a·href="1.8.11.html"
125 ··························title="next·chapter">Django·1.8.11·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·1.8.11·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.25 KB
html2text {}
Max HTML report size reached
6.18 KB
./usr/share/doc/python-django-doc/html/releases/1.8.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.12·release·notes"·href="1.8.12.html"·/>15 ····<link·rel="next"·title="Django·1.8.12·release·notes"·href="1.8.12.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.14·release·notes"·href="1.8.14.html"·/>16 ····<link·rel="prev"·title="Django·1.8.14·release·notes"·href="1.8.14.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.8.13·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.8.13·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.8.14.html"117 ····<p·class="topless"><a·href="1.8.14.html"
117 ··························title="previous·chapter">Django·1.8.14·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.8.14·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.8.12.html"122 ····<p·class="topless"><a·href="1.8.12.html"
122 ··························title="next·chapter">Django·1.8.12·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.8.12·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.05 KB
html2text {}
Max HTML report size reached
6.85 KB
./usr/share/doc/python-django-doc/html/releases/1.8.14.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.14·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.14·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.13·release·notes"·href="1.8.13.html"·/>15 ····<link·rel="next"·title="Django·1.8.13·release·notes"·href="1.8.13.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.15·release·notes"·href="1.8.15.html"·/>16 ····<link·rel="prev"·title="Django·1.8.15·release·notes"·href="1.8.15.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 48 lines modifiedOffset 108, 48 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>115 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
115 ····<ul>116 ····<ul>
116 <li><a·class="reference·internal"·href="#">Django·1.8.14·release·notes</a><ul>117 <li><a·class="reference·internal"·href="#">Django·1.8.14·release·notes</a><ul>
117 <li><a·class="reference·internal"·href="#xss-in-admin-s-add-change-related-popup">XSS·in·admin’s·add/change·related·popup</a></li>118 <li><a·class="reference·internal"·href="#xss-in-admin-s-add-change-related-popup">XSS·in·admin’s·add/change·related·popup</a></li>
118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>119 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
119 </ul>120 </ul>
120 </li>121 </li>
121 </ul>122 </ul>
  
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Previous·topic</h4>125 ····<h4>Eelmine·teema</h4>
125 ····<p·class="topless"><a·href="1.8.15.html"126 ····<p·class="topless"><a·href="1.8.15.html"
126 ··························title="previous·chapter">Django·1.8.15·release·notes</a></p>127 ··························title="eelmine·jaotis">Django·1.8.15·release·notes</a></p>
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Next·topic</h4>130 ····<h4>Järgmine·teema</h4>
130 ····<p·class="topless"><a·href="1.8.13.html"131 ····<p·class="topless"><a·href="1.8.13.html"
131 ··························title="next·chapter">Django·1.8.13·release·notes</a></p>132 ··························title="järgmine·jaotis">Django·1.8.13·release·notes</a></p>
132 ··</div>133 ··</div>
133 <search·id="searchbox"·style="display:·none"·role="search">134 <search·id="searchbox"·style="display:·none"·role="search">
134 ··<h3·id="searchlabel">Quick·search</h3>135 ··<h3·id="searchlabel">Kiirotsing</h3>
135 ····<div·class="searchformwrapper">136 ····<div·class="searchformwrapper">
136 ····<form·class="search"·action="../search.html"·method="get">137 ····<form·class="search"·action="../search.html"·method="get">
137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
138 ······<input·type="submit"·value="Go"·/>139 ······<input·type="submit"·value="Otsi"·/>
139 ····</form>140 ····</form>
140 ····</div>141 ····</div>
141 </search>142 </search>
142 <script>document.getElementById('searchbox').style.display·=·"block"</script>143 <script>document.getElementById('searchbox').style.display·=·"block"</script>
143 ········</div>144 ········</div>
144 ······</div>145 ······</div>
145 ··············<h3>Last·update:</h3>146 ··············<h3>Last·update:</h3>
146 ··············<p·class="topless">Nov·05,·2024</p>147 ··············<p·class="topless">nov·05,·2024</p>
147 ··········</div>148 ··········</div>
148 ········149 ········
149 ······150 ······
150 ····</div>151 ····</div>
  
151 ····<div·id="ft">152 ····<div·id="ft">
152 ······<div·class="nav">153 ······<div·class="nav">
2.59 KB
html2text {}
Max HTML report size reached
6.74 KB
./usr/share/doc/python-django-doc/html/releases/1.8.15.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.15·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.15·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.14·release·notes"·href="1.8.14.html"·/>15 ····<link·rel="next"·title="Django·1.8.14·release·notes"·href="1.8.14.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.16·release·notes"·href="1.8.16.html"·/>16 ····<link·rel="prev"·title="Django·1.8.16·release·notes"·href="1.8.16.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.8.15·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.8.15·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#csrf-protection-bypass-on-a-site-with-google-analytics">CSRF·protection·bypass·on·a·site·with·Google·Analytics</a></li>110 <li><a·class="reference·internal"·href="#csrf-protection-bypass-on-a-site-with-google-analytics">CSRF·protection·bypass·on·a·site·with·Google·Analytics</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.8.16.html"117 ····<p·class="topless"><a·href="1.8.16.html"
117 ··························title="previous·chapter">Django·1.8.16·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.8.16·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.8.14.html"122 ····<p·class="topless"><a·href="1.8.14.html"
122 ··························title="next·chapter">Django·1.8.14·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.8.14·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.52 KB
html2text {}
Max HTML report size reached
7.3 KB
./usr/share/doc/python-django-doc/html/releases/1.8.16.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.16·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.16·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.15·release·notes"·href="1.8.15.html"·/>15 ····<link·rel="next"·title="Django·1.8.15·release·notes"·href="1.8.15.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.17·release·notes"·href="1.8.17.html"·/>16 ····<link·rel="prev"·title="Django·1.8.17·release·notes"·href="1.8.17.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 119, 48 lines modifiedOffset 120, 48 lines modified
119 ······120 ······
120 ········121 ········
121 ··········<div·class="yui-b"·id="sidebar">122 ··········<div·class="yui-b"·id="sidebar">
122 ············123 ············
123 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">124 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
124 ········<div·class="sphinxsidebarwrapper">125 ········<div·class="sphinxsidebarwrapper">
125 ··<div>126 ··<div>
126 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>127 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
127 ····<ul>128 ····<ul>
128 <li><a·class="reference·internal"·href="#">Django·1.8.16·release·notes</a><ul>129 <li><a·class="reference·internal"·href="#">Django·1.8.16·release·notes</a><ul>
129 <li><a·class="reference·internal"·href="#user-with-hardcoded-password-created-when-running-tests-on-oracle">User·with·hardcoded·password·created·when·running·tests·on·Oracle</a></li>130 <li><a·class="reference·internal"·href="#user-with-hardcoded-password-created-when-running-tests-on-oracle">User·with·hardcoded·password·created·when·running·tests·on·Oracle</a></li>
130 <li><a·class="reference·internal"·href="#dns-rebinding-vulnerability-when-debug-true">DNS·rebinding·vulnerability·when·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG=True</span></code></a></li>131 <li><a·class="reference·internal"·href="#dns-rebinding-vulnerability-when-debug-true">DNS·rebinding·vulnerability·when·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG=True</span></code></a></li>
131 </ul>132 </ul>
132 </li>133 </li>
133 </ul>134 </ul>
  
134 ··</div>135 ··</div>
135 ··<div>136 ··<div>
136 ····<h4>Previous·topic</h4>137 ····<h4>Eelmine·teema</h4>
137 ····<p·class="topless"><a·href="1.8.17.html"138 ····<p·class="topless"><a·href="1.8.17.html"
138 ··························title="previous·chapter">Django·1.8.17·release·notes</a></p>139 ··························title="eelmine·jaotis">Django·1.8.17·release·notes</a></p>
139 ··</div>140 ··</div>
140 ··<div>141 ··<div>
141 ····<h4>Next·topic</h4>142 ····<h4>Järgmine·teema</h4>
142 ····<p·class="topless"><a·href="1.8.15.html"143 ····<p·class="topless"><a·href="1.8.15.html"
143 ··························title="next·chapter">Django·1.8.15·release·notes</a></p>144 ··························title="järgmine·jaotis">Django·1.8.15·release·notes</a></p>
144 ··</div>145 ··</div>
145 <search·id="searchbox"·style="display:·none"·role="search">146 <search·id="searchbox"·style="display:·none"·role="search">
146 ··<h3·id="searchlabel">Quick·search</h3>147 ··<h3·id="searchlabel">Kiirotsing</h3>
147 ····<div·class="searchformwrapper">148 ····<div·class="searchformwrapper">
148 ····<form·class="search"·action="../search.html"·method="get">149 ····<form·class="search"·action="../search.html"·method="get">
149 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>150 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
150 ······<input·type="submit"·value="Go"·/>151 ······<input·type="submit"·value="Otsi"·/>
151 ····</form>152 ····</form>
152 ····</div>153 ····</div>
153 </search>154 </search>
154 <script>document.getElementById('searchbox').style.display·=·"block"</script>155 <script>document.getElementById('searchbox').style.display·=·"block"</script>
155 ········</div>156 ········</div>
156 ······</div>157 ······</div>
157 ··············<h3>Last·update:</h3>158 ··············<h3>Last·update:</h3>
158 ··············<p·class="topless">Nov·05,·2024</p>159 ··············<p·class="topless">nov·05,·2024</p>
159 ··········</div>160 ··········</div>
160 ········161 ········
161 ······162 ······
162 ····</div>163 ····</div>
  
163 ····<div·id="ft">164 ····<div·id="ft">
164 ······<div·class="nav">165 ······<div·class="nav">
2.85 KB
html2text {}
Max HTML report size reached
7.3 KB
./usr/share/doc/python-django-doc/html/releases/1.8.17.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.17·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.17·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.16·release·notes"·href="1.8.16.html"·/>15 ····<link·rel="next"·title="Django·1.8.16·release·notes"·href="1.8.16.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.18·release·notes"·href="1.8.18.html"·/>16 ····<link·rel="prev"·title="Django·1.8.18·release·notes"·href="1.8.18.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 16 lines modifiedOffset 81, 16 lines modified
80 ··<section·id="s-django-1-8-17-release-notes">81 ··<section·id="s-django-1-8-17-release-notes">
81 <span·id="django-1-8-17-release-notes"></span><h1>Django·1.8.17·release·notes<a·class="headerlink"·href="#django-1-8-17-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-8-17-release-notes"></span><h1>Django·1.8.17·release·notes<a·class="headerlink"·href="#django-1-8-17-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>December·1,·2016</em></p>83 <p><em>December·1,·2016</em></p>
83 <p>Django·1.8.17·fixes·a·regression·in·1.8.16.</p>84 <p>Django·1.8.17·fixes·a·regression·in·1.8.16.</p>
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Quoted·the·Oracle·test·user’s·password·in·queries·to·fix·the·ORA-00922:88 <li><p>Quoted·the·Oracle·test·user’s·password·in·queries·to·fix·the·ORA-00922:
88 missing·or·invalid·option·error·when·the·password·starts·with·a·number·or89 missing·or·invalid·option·error·when·the·password·starts·with·a·number·or
89 special·character·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27420">#27420</a>).</p></li>90 special·character·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27420">#27420</a>).</p></li>
90 </ul>91 </ul>
91 </section>92 </section>
92 </section>93 </section>
  
  
93 ··········</div>94 ··········</div>
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·1.8.17·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·1.8.17·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="1.8.18.html"116 ····<p·class="topless"><a·href="1.8.18.html"
116 ··························title="previous·chapter">Django·1.8.18·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·1.8.18·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="1.8.16.html"121 ····<p·class="topless"><a·href="1.8.16.html"
121 ··························title="next·chapter">Django·1.8.16·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·1.8.16·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.19 KB
html2text {}
Max HTML report size reached
10.9 KB
./usr/share/doc/python-django-doc/html/releases/1.8.18.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.18·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.18·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.17·release·notes"·href="1.8.17.html"·/>15 ····<link·rel="next"·title="Django·1.8.17·release·notes"·href="1.8.17.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.19·release·notes"·href="1.8.19.html"·/>16 ····<link·rel="prev"·title="Django·1.8.19·release·notes"·href="1.8.19.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 17 lines modifiedOffset 82, 17 lines modified
81 <span·id="django-1-8-18-release-notes"></span><h1>Django·1.8.18·release·notes<a·class="headerlink"·href="#django-1-8-18-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-8-18-release-notes"></span><h1>Django·1.8.18·release·notes<a·class="headerlink"·href="#django-1-8-18-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·4,·2017</em></p>83 <p><em>April·4,·2017</em></p>
83 <p>Django·1.8.18·fixes·two·security·issues·in·1.8.17.</p>84 <p>Django·1.8.18·fixes·two·security·issues·in·1.8.17.</p>
84 <section·id="s-cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">85 <section·id="s-cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">
85 <span·id="cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"></span><h2>CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs<a·class="headerlink"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"></span><h2>CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs<a·class="headerlink"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
86 <p>Django·relies·on·user·input·in·some·cases··(e.g.87 <p>Django·relies·on·user·input·in·some·cases··(e.g.
87 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)88 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
88 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these89 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these
89 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·numeric90 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·numeric
90 URLs·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">http:999999999</span></code>)·safe·when·they·shouldn’t·be.</p>91 URLs·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">http:999999999</span></code>)·safe·when·they·shouldn’t·be.</p>
91 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect92 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect
92 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>93 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>
93 </section>94 </section>
94 <section·id="s-cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">95 <section·id="s-cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">
95 <span·id="cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"></span><h2>CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code><a·class="headerlink"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"·title="Link·to·this·heading">¶</a></h2>96 <span·id="cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"></span><h2>CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code><a·class="headerlink"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"·title="Link·to·this·heading">¶</a></h2>
96 <p>A·maliciously·crafted·URL·to·a·Django·site·using·the97 <p>A·maliciously·crafted·URL·to·a·Django·site·using·the
97 <a·class="reference·internal"·href="../ref/views.html#django.views.static.serve"·title="django.views.static.serve"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">serve()</span></code></a>·view·could·redirect·to·any·other·domain.·The98 <a·class="reference·internal"·href="../ref/views.html#django.views.static.serve"·title="django.views.static.serve"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">serve()</span></code></a>·view·could·redirect·to·any·other·domain.·The
Offset 109, 48 lines modifiedOffset 110, 48 lines modified
109 ······110 ······
110 ········111 ········
111 ··········<div·class="yui-b"·id="sidebar">112 ··········<div·class="yui-b"·id="sidebar">
112 ············113 ············
113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
114 ········<div·class="sphinxsidebarwrapper">115 ········<div·class="sphinxsidebarwrapper">
115 ··<div>116 ··<div>
116 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>117 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
117 ····<ul>118 ····<ul>
118 <li><a·class="reference·internal"·href="#">Django·1.8.18·release·notes</a><ul>119 <li><a·class="reference·internal"·href="#">Django·1.8.18·release·notes</a><ul>
119 <li><a·class="reference·internal"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs</a></li>120 <li><a·class="reference·internal"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs</a></li>
120 <li><a·class="reference·internal"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code></a></li>121 <li><a·class="reference·internal"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code></a></li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="1.8.19.html"128 ····<p·class="topless"><a·href="1.8.19.html"
128 ··························title="previous·chapter">Django·1.8.19·release·notes</a></p>129 ··························title="eelmine·jaotis">Django·1.8.19·release·notes</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="1.8.17.html"133 ····<p·class="topless"><a·href="1.8.17.html"
133 ··························title="next·chapter">Django·1.8.17·release·notes</a></p>134 ··························title="järgmine·jaotis">Django·1.8.17·release·notes</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../search.html"·method="get">139 ····<form·class="search"·action="../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
3.75 KB
html2text {}
Max HTML report size reached
8.0 KB
./usr/share/doc/python-django-doc/html/releases/1.8.19.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.19·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.19·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.18·release·notes"·href="1.8.18.html"·/>15 ····<link·rel="next"·title="Django·1.8.18·release·notes"·href="1.8.18.html"·/>
15 ····<link·rel="prev"·title="Django·1.9·release·notes"·href="1.9.html"·/>16 ····<link·rel="prev"·title="Django·1.9·release·notes"·href="1.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 109, 48 lines modifiedOffset 110, 48 lines modified
109 ······110 ······
110 ········111 ········
111 ··········<div·class="yui-b"·id="sidebar">112 ··········<div·class="yui-b"·id="sidebar">
112 ············113 ············
113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
114 ········<div·class="sphinxsidebarwrapper">115 ········<div·class="sphinxsidebarwrapper">
115 ··<div>116 ··<div>
116 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>117 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
117 ····<ul>118 ····<ul>
118 <li><a·class="reference·internal"·href="#">Django·1.8.19·release·notes</a><ul>119 <li><a·class="reference·internal"·href="#">Django·1.8.19·release·notes</a><ul>
119 <li><a·class="reference·internal"·href="#cve-2018-7536-denial-of-service-possibility-in-urlize-and-urlizetrunc-template-filters">CVE-2018-7536:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">urlize</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code>·template·filters</a></li>120 <li><a·class="reference·internal"·href="#cve-2018-7536-denial-of-service-possibility-in-urlize-and-urlizetrunc-template-filters">CVE-2018-7536:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">urlize</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code>·template·filters</a></li>
120 <li><a·class="reference·internal"·href="#cve-2018-7537-denial-of-service-possibility-in-truncatechars-html-and-truncatewords-html-template-filters">CVE-2018-7537:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">truncatechars_html</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code>·template·filters</a></li>121 <li><a·class="reference·internal"·href="#cve-2018-7537-denial-of-service-possibility-in-truncatechars-html-and-truncatewords-html-template-filters">CVE-2018-7537:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">truncatechars_html</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code>·template·filters</a></li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="1.9.html"128 ····<p·class="topless"><a·href="1.9.html"
128 ··························title="previous·chapter">Django·1.9·release·notes</a></p>129 ··························title="eelmine·jaotis">Django·1.9·release·notes</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="1.8.18.html"133 ····<p·class="topless"><a·href="1.8.18.html"
133 ··························title="next·chapter">Django·1.8.18·release·notes</a></p>134 ··························title="järgmine·jaotis">Django·1.8.18·release·notes</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../search.html"·method="get">139 ····<form·class="search"·action="../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
3.18 KB
html2text {}
Max HTML report size reached
8.99 KB
./usr/share/doc/python-django-doc/html/releases/1.8.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.1·release·notes"·href="1.8.1.html"·/>15 ····<link·rel="next"·title="Django·1.8.1·release·notes"·href="1.8.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.3·release·notes"·href="1.8.3.html"·/>16 ····<link·rel="prev"·title="Django·1.8.3·release·notes"·href="1.8.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 118, 15 lines modifiedOffset 119, 15 lines modified
118 <li><p>Fixed·a·MySQL·crash·when·a·migration·removes·a·combined·index·(119 <li><p>Fixed·a·MySQL·crash·when·a·migration·removes·a·combined·index·(
119 <code·class="docutils·literal·notranslate"><span·class="pre">unique_together</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">index_together</span></code>)·containing·a·foreign·key120 <code·class="docutils·literal·notranslate"><span·class="pre">unique_together</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">index_together</span></code>)·containing·a·foreign·key
120 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24757">#24757</a>).</p></li>121 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24757">#24757</a>).</p></li>
121 <li><p>Fixed·session·cookie·deletion·when·using·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_COOKIE_DOMAIN"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_DOMAIN</span></code></a>122 <li><p>Fixed·session·cookie·deletion·when·using·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_COOKIE_DOMAIN"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_DOMAIN</span></code></a>
122 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24799">#24799</a>).</p></li>123 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24799">#24799</a>).</p></li>
123 <li><p>On·PostgreSQL,·when·no·access·is·granted·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">postgres</span></code>·database,124 <li><p>On·PostgreSQL,·when·no·access·is·granted·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">postgres</span></code>·database,
124 Django·now·falls·back·to·the·default·database·when·it·normally·requires·a125 Django·now·falls·back·to·the·default·database·when·it·normally·requires·a
125 no·database·connection·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24791">#24791</a>).</p></li>126 no·database·connection·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24791">#24791</a>).</p></li>
126 <li><p>Fixed·display·of·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·widget·when·it’s·used127 <li><p>Fixed·display·of·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·widget·when·it’s·used
127 in·a·row·with·other·fields·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24784">#24784</a>).</p></li>128 in·a·row·with·other·fields·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24784">#24784</a>).</p></li>
128 </ul>129 </ul>
129 </section>130 </section>
130 </section>131 </section>
  
  
Offset 136, 48 lines modifiedOffset 137, 48 lines modified
136 ······137 ······
137 ········138 ········
138 ··········<div·class="yui-b"·id="sidebar">139 ··········<div·class="yui-b"·id="sidebar">
139 ············140 ············
140 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">141 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
141 ········<div·class="sphinxsidebarwrapper">142 ········<div·class="sphinxsidebarwrapper">
142 ··<div>143 ··<div>
143 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>144 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
144 ····<ul>145 ····<ul>
145 <li><a·class="reference·internal"·href="#">Django·1.8.2·release·notes</a><ul>146 <li><a·class="reference·internal"·href="#">Django·1.8.2·release·notes</a><ul>
146 <li><a·class="reference·internal"·href="#fixed-session-flushing-in-the-cached-db-backend">Fixed·session·flushing·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">cached_db</span></code>·backend</a></li>147 <li><a·class="reference·internal"·href="#fixed-session-flushing-in-the-cached-db-backend">Fixed·session·flushing·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">cached_db</span></code>·backend</a></li>
147 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>148 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
148 </ul>149 </ul>
149 </li>150 </li>
150 </ul>151 </ul>
  
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Previous·topic</h4>154 ····<h4>Eelmine·teema</h4>
154 ····<p·class="topless"><a·href="1.8.3.html"155 ····<p·class="topless"><a·href="1.8.3.html"
155 ··························title="previous·chapter">Django·1.8.3·release·notes</a></p>156 ··························title="eelmine·jaotis">Django·1.8.3·release·notes</a></p>
156 ··</div>157 ··</div>
157 ··<div>158 ··<div>
158 ····<h4>Next·topic</h4>159 ····<h4>Järgmine·teema</h4>
159 ····<p·class="topless"><a·href="1.8.1.html"160 ····<p·class="topless"><a·href="1.8.1.html"
160 ··························title="next·chapter">Django·1.8.1·release·notes</a></p>161 ··························title="järgmine·jaotis">Django·1.8.1·release·notes</a></p>
161 ··</div>162 ··</div>
162 <search·id="searchbox"·style="display:·none"·role="search">163 <search·id="searchbox"·style="display:·none"·role="search">
163 ··<h3·id="searchlabel">Quick·search</h3>164 ··<h3·id="searchlabel">Kiirotsing</h3>
164 ····<div·class="searchformwrapper">165 ····<div·class="searchformwrapper">
165 ····<form·class="search"·action="../search.html"·method="get">166 ····<form·class="search"·action="../search.html"·method="get">
166 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>167 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
167 ······<input·type="submit"·value="Go"·/>168 ······<input·type="submit"·value="Otsi"·/>
168 ····</form>169 ····</form>
169 ····</div>170 ····</div>
170 </search>171 </search>
171 <script>document.getElementById('searchbox').style.display·=·"block"</script>172 <script>document.getElementById('searchbox').style.display·=·"block"</script>
172 ········</div>173 ········</div>
173 ······</div>174 ······</div>
174 ··············<h3>Last·update:</h3>175 ··············<h3>Last·update:</h3>
175 ··············<p·class="topless">Nov·05,·2024</p>176 ··············<p·class="topless">nov·05,·2024</p>
176 ··········</div>177 ··········</div>
177 ········178 ········
178 ······179 ······
179 ····</div>180 ····</div>
  
180 ····<div·id="ft">181 ····<div·id="ft">
181 ······<div·class="nav">182 ······<div·class="nav">
2.97 KB
html2text {}
Max HTML report size reached
10.1 KB
./usr/share/doc/python-django-doc/html/releases/1.8.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.2·release·notes"·href="1.8.2.html"·/>15 ····<link·rel="next"·title="Django·1.8.2·release·notes"·href="1.8.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.4·release·notes"·href="1.8.4.html"·/>16 ····<link·rel="prev"·title="Django·1.8.4·release·notes"·href="1.8.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 15 lines modifiedOffset 89, 15 lines modified
88 <section·id="s-denial-of-service-possibility-by-filling-session-store">89 <section·id="s-denial-of-service-possibility-by-filling-session-store">
89 <span·id="denial-of-service-possibility-by-filling-session-store"></span><h2>Denial-of-service·possibility·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>90 <span·id="denial-of-service-possibility-by-filling-session-store"></span><h2>Denial-of-service·possibility·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>
90 <p>In·previous·versions·of·Django,·the·session·backends·created·a·new·empty·record91 <p>In·previous·versions·of·Django,·the·session·backends·created·a·new·empty·record
91 in·the·session·storage·anytime·<code·class="docutils·literal·notranslate"><span·class="pre">request.session</span></code>·was·accessed·and·there·was·a92 in·the·session·storage·anytime·<code·class="docutils·literal·notranslate"><span·class="pre">request.session</span></code>·was·accessed·and·there·was·a
92 session·key·provided·in·the·request·cookies·that·didn’t·already·have·a·session93 session·key·provided·in·the·request·cookies·that·didn’t·already·have·a·session
93 record.·This·could·allow·an·attacker·to·easily·create·many·new·session·records94 record.·This·could·allow·an·attacker·to·easily·create·many·new·session·records
94 simply·by·sending·repeated·requests·with·unknown·session·keys,·potentially95 simply·by·sending·repeated·requests·with·unknown·session·keys,·potentially
95 filling·up·the·session·store·or·causing·other·users·session·records·to·be96 filling·up·the·session·store·or·causing·other·users·session·records·to·be
96 evicted.</p>97 evicted.</p>
97 <p>The·built-in·session·backends·now·create·a·session·record·only·if·the·session98 <p>The·built-in·session·backends·now·create·a·session·record·only·if·the·session
98 is·actually·modified;·empty·session·records·are·not·created.·Thus·this99 is·actually·modified;·empty·session·records·are·not·created.·Thus·this
99 potential·DoS·is·now·only·possible·if·the·site·chooses·to·expose·a100 potential·DoS·is·now·only·possible·if·the·site·chooses·to·expose·a
100 session-modifying·view·to·anonymous·users.</p>101 session-modifying·view·to·anonymous·users.</p>
101 <p>As·each·built-in·session·backend·was·fixed·separately·(rather·than·a·fix·in·the102 <p>As·each·built-in·session·backend·was·fixed·separately·(rather·than·a·fix·in·the
102 core·sessions·framework),·maintainers·of·third-party·session·backends·should103 core·sessions·framework),·maintainers·of·third-party·session·backends·should
Offset 204, 50 lines modifiedOffset 205, 50 lines modified
204 ······205 ······
205 ········206 ········
206 ··········<div·class="yui-b"·id="sidebar">207 ··········<div·class="yui-b"·id="sidebar">
207 ············208 ············
208 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">209 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
209 ········<div·class="sphinxsidebarwrapper">210 ········<div·class="sphinxsidebarwrapper">
210 ··<div>211 ··<div>
211 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>212 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
212 ····<ul>213 ····<ul>
213 <li><a·class="reference·internal"·href="#">Django·1.8.3·release·notes</a><ul>214 <li><a·class="reference·internal"·href="#">Django·1.8.3·release·notes</a><ul>
214 <li><a·class="reference·internal"·href="#denial-of-service-possibility-by-filling-session-store">Denial-of-service·possibility·by·filling·session·store</a></li>215 <li><a·class="reference·internal"·href="#denial-of-service-possibility-by-filling-session-store">Denial-of-service·possibility·by·filling·session·store</a></li>
215 <li><a·class="reference·internal"·href="#header-injection-possibility-since-validators-accept-newlines-in-input">Header·injection·possibility·since·validators·accept·newlines·in·input</a></li>216 <li><a·class="reference·internal"·href="#header-injection-possibility-since-validators-accept-newlines-in-input">Header·injection·possibility·since·validators·accept·newlines·in·input</a></li>
216 <li><a·class="reference·internal"·href="#denial-of-service-possibility-in-url-validation">Denial-of-service·possibility·in·URL·validation</a></li>217 <li><a·class="reference·internal"·href="#denial-of-service-possibility-in-url-validation">Denial-of-service·possibility·in·URL·validation</a></li>
217 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>218 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
218 </ul>219 </ul>
219 </li>220 </li>
220 </ul>221 </ul>
  
221 ··</div>222 ··</div>
222 ··<div>223 ··<div>
223 ····<h4>Previous·topic</h4>224 ····<h4>Eelmine·teema</h4>
224 ····<p·class="topless"><a·href="1.8.4.html"225 ····<p·class="topless"><a·href="1.8.4.html"
225 ··························title="previous·chapter">Django·1.8.4·release·notes</a></p>226 ··························title="eelmine·jaotis">Django·1.8.4·release·notes</a></p>
226 ··</div>227 ··</div>
227 ··<div>228 ··<div>
228 ····<h4>Next·topic</h4>229 ····<h4>Järgmine·teema</h4>
229 ····<p·class="topless"><a·href="1.8.2.html"230 ····<p·class="topless"><a·href="1.8.2.html"
230 ··························title="next·chapter">Django·1.8.2·release·notes</a></p>231 ··························title="järgmine·jaotis">Django·1.8.2·release·notes</a></p>
231 ··</div>232 ··</div>
232 <search·id="searchbox"·style="display:·none"·role="search">233 <search·id="searchbox"·style="display:·none"·role="search">
233 ··<h3·id="searchlabel">Quick·search</h3>234 ··<h3·id="searchlabel">Kiirotsing</h3>
234 ····<div·class="searchformwrapper">235 ····<div·class="searchformwrapper">
235 ····<form·class="search"·action="../search.html"·method="get">236 ····<form·class="search"·action="../search.html"·method="get">
236 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>237 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
237 ······<input·type="submit"·value="Go"·/>238 ······<input·type="submit"·value="Otsi"·/>
238 ····</form>239 ····</form>
239 ····</div>240 ····</div>
240 </search>241 </search>
241 <script>document.getElementById('searchbox').style.display·=·"block"</script>242 <script>document.getElementById('searchbox').style.display·=·"block"</script>
242 ········</div>243 ········</div>
243 ······</div>244 ······</div>
244 ··············<h3>Last·update:</h3>245 ··············<h3>Last·update:</h3>
245 ··············<p·class="topless">Nov·05,·2024</p>246 ··············<p·class="topless">nov·05,·2024</p>
246 ··········</div>247 ··········</div>
247 ········248 ········
248 ······249 ······
249 ····</div>250 ····</div>
  
250 ····<div·id="ft">251 ····<div·id="ft">
251 ······<div·class="nav">252 ······<div·class="nav">
4.14 KB
html2text {}
Max HTML report size reached
10.1 KB
./usr/share/doc/python-django-doc/html/releases/1.8.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.3·release·notes"·href="1.8.3.html"·/>15 ····<link·rel="next"·title="Django·1.8.3·release·notes"·href="1.8.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.5·release·notes"·href="1.8.5.html"·/>16 ····<link·rel="prev"·title="Django·1.8.5·release·notes"·href="1.8.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 15 lines modifiedOffset 85, 15 lines modified
84 <section·id="s-denial-of-service-possibility-in-logout-view-by-filling-session-store">85 <section·id="s-denial-of-service-possibility-in-logout-view-by-filling-session-store">
85 <span·id="denial-of-service-possibility-in-logout-view-by-filling-session-store"></span><h2>Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>86 <span·id="denial-of-service-possibility-in-logout-view-by-filling-session-store"></span><h2>Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store<a·class="headerlink"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store"·title="Link·to·this·heading">¶</a></h2>
86 <p>Previously,·a·session·could·be·created·when·anonymously·accessing·the87 <p>Previously,·a·session·could·be·created·when·anonymously·accessing·the
87 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view·(provided·it·wasn’t·decorated88 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.logout()</span></code>·view·(provided·it·wasn’t·decorated
88 with·<a·class="reference·internal"·href="../topics/auth/default.html#django.contrib.auth.decorators.login_required"·title="django.contrib.auth.decorators.login_required"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login_required()</span></code></a>·as·done·in·the89 with·<a·class="reference·internal"·href="../topics/auth/default.html#django.contrib.auth.decorators.login_required"·title="django.contrib.auth.decorators.login_required"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login_required()</span></code></a>·as·done·in·the
89 admin).·This·could·allow·an·attacker·to·easily·create·many·new·session·records90 admin).·This·could·allow·an·attacker·to·easily·create·many·new·session·records
90 by·sending·repeated·requests,·potentially·filling·up·the·session·store·or91 by·sending·repeated·requests,·potentially·filling·up·the·session·store·or
91 causing·other·users·session·records·to·be·evicted.</p>92 causing·other·users·session·records·to·be·evicted.</p>
92 <p>The·<a·class="reference·internal"·href="../ref/middleware.html#django.contrib.sessions.middleware.SessionMiddleware"·title="django.contrib.sessions.middleware.SessionMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SessionMiddleware</span></code></a>·has·been93 <p>The·<a·class="reference·internal"·href="../ref/middleware.html#django.contrib.sessions.middleware.SessionMiddleware"·title="django.contrib.sessions.middleware.SessionMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SessionMiddleware</span></code></a>·has·been
93 modified·to·no·longer·create·empty·session·records,·including·when94 modified·to·no·longer·create·empty·session·records,·including·when
94 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_SAVE_EVERY_REQUEST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SAVE_EVERY_REQUEST</span></code></a>·is·active.</p>95 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_SAVE_EVERY_REQUEST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SAVE_EVERY_REQUEST</span></code></a>·is·active.</p>
95 </section>96 </section>
96 <section·id="s-bugfixes">97 <section·id="s-bugfixes">
97 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>98 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
98 <ul·class="simple">99 <ul·class="simple">
Offset 124, 48 lines modifiedOffset 125, 48 lines modified
124 ······125 ······
125 ········126 ········
126 ··········<div·class="yui-b"·id="sidebar">127 ··········<div·class="yui-b"·id="sidebar">
127 ············128 ············
128 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">129 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
129 ········<div·class="sphinxsidebarwrapper">130 ········<div·class="sphinxsidebarwrapper">
130 ··<div>131 ··<div>
131 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>132 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
132 ····<ul>133 ····<ul>
133 <li><a·class="reference·internal"·href="#">Django·1.8.4·release·notes</a><ul>134 <li><a·class="reference·internal"·href="#">Django·1.8.4·release·notes</a><ul>
134 <li><a·class="reference·internal"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store">Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store</a></li>135 <li><a·class="reference·internal"·href="#denial-of-service-possibility-in-logout-view-by-filling-session-store">Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">logout()</span></code>·view·by·filling·session·store</a></li>
135 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>136 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
136 </ul>137 </ul>
137 </li>138 </li>
138 </ul>139 </ul>
  
139 ··</div>140 ··</div>
140 ··<div>141 ··<div>
141 ····<h4>Previous·topic</h4>142 ····<h4>Eelmine·teema</h4>
142 ····<p·class="topless"><a·href="1.8.5.html"143 ····<p·class="topless"><a·href="1.8.5.html"
143 ··························title="previous·chapter">Django·1.8.5·release·notes</a></p>144 ··························title="eelmine·jaotis">Django·1.8.5·release·notes</a></p>
144 ··</div>145 ··</div>
145 ··<div>146 ··<div>
146 ····<h4>Next·topic</h4>147 ····<h4>Järgmine·teema</h4>
147 ····<p·class="topless"><a·href="1.8.3.html"148 ····<p·class="topless"><a·href="1.8.3.html"
148 ··························title="next·chapter">Django·1.8.3·release·notes</a></p>149 ··························title="järgmine·jaotis">Django·1.8.3·release·notes</a></p>
149 ··</div>150 ··</div>
150 <search·id="searchbox"·style="display:·none"·role="search">151 <search·id="searchbox"·style="display:·none"·role="search">
151 ··<h3·id="searchlabel">Quick·search</h3>152 ··<h3·id="searchlabel">Kiirotsing</h3>
152 ····<div·class="searchformwrapper">153 ····<div·class="searchformwrapper">
153 ····<form·class="search"·action="../search.html"·method="get">154 ····<form·class="search"·action="../search.html"·method="get">
154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>155 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
155 ······<input·type="submit"·value="Go"·/>156 ······<input·type="submit"·value="Otsi"·/>
156 ····</form>157 ····</form>
157 ····</div>158 ····</div>
158 </search>159 </search>
159 <script>document.getElementById('searchbox').style.display·=·"block"</script>160 <script>document.getElementById('searchbox').style.display·=·"block"</script>
160 ········</div>161 ········</div>
161 ······</div>162 ······</div>
162 ··············<h3>Last·update:</h3>163 ··············<h3>Last·update:</h3>
163 ··············<p·class="topless">Nov·05,·2024</p>164 ··············<p·class="topless">nov·05,·2024</p>
164 ··········</div>165 ··········</div>
165 ········166 ········
166 ······167 ······
167 ····</div>168 ····</div>
  
168 ····<div·id="ft">169 ····<div·id="ft">
169 ······<div·class="nav">170 ······<div·class="nav">
3.71 KB
html2text {}
Max HTML report size reached
8.7 KB
./usr/share/doc/python-django-doc/html/releases/1.8.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.4·release·notes"·href="1.8.4.html"·/>15 ····<link·rel="next"·title="Django·1.8.4·release·notes"·href="1.8.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.6·release·notes"·href="1.8.6.html"·/>16 ····<link·rel="prev"·title="Django·1.8.6·release·notes"·href="1.8.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 109, 15 lines modifiedOffset 110, 15 lines modified
109 <li><p>Readded·inline·foreign·keys·to·form·instances·when·validating·model·formsets110 <li><p>Readded·inline·foreign·keys·to·form·instances·when·validating·model·formsets
110 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25431">#25431</a>).</p></li>111 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25431">#25431</a>).</p></li>
111 <li><p>Allowed·using·ORM·write·methods·after·disabling·autocommit·with112 <li><p>Allowed·using·ORM·write·methods·after·disabling·autocommit·with
112 <a·class="reference·internal"·href="../topics/db/transactions.html#django.db.transaction.set_autocommit"·title="django.db.transaction.set_autocommit"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">set_autocommit(False)</span></code></a>113 <a·class="reference·internal"·href="../topics/db/transactions.html#django.db.transaction.set_autocommit"·title="django.db.transaction.set_autocommit"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">set_autocommit(False)</span></code></a>
113 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24921">#24921</a>).</p></li>114 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24921">#24921</a>).</p></li>
114 <li><p>Fixed·the·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">test</span>·<span·class="pre">--keepdb</span></code>·option·on·Oracle·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25421">#25421</a>).</p></li>115 <li><p>Fixed·the·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">test</span>·<span·class="pre">--keepdb</span></code>·option·on·Oracle·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25421">#25421</a>).</p></li>
115 <li><p>Fixed·incorrect·queries·with·multiple·many-to-many·fields·on·a·model·with·the116 <li><p>Fixed·incorrect·queries·with·multiple·many-to-many·fields·on·a·model·with·the
116 same·to·model·and·with·<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·set·to·+·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24505">#24505</a>,117 same·to·model·and·with·<code·class="docutils·literal·notranslate"><span·class="pre">related_name</span></code>·set·to·+·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24505">#24505</a>,
117 <a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25486">#25486</a>).</p></li>118 <a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25486">#25486</a>).</p></li>
118 <li><p>Fixed·pickling·a·<code·class="docutils·literal·notranslate"><span·class="pre">SimpleLazyObject</span></code>·wrapping·a·model·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25389">#25389</a>).</p></li>119 <li><p>Fixed·pickling·a·<code·class="docutils·literal·notranslate"><span·class="pre">SimpleLazyObject</span></code>·wrapping·a·model·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25389">#25389</a>).</p></li>
119 </ul>120 </ul>
120 </section>121 </section>
121 </section>122 </section>
  
  
Offset 127, 47 lines modifiedOffset 128, 47 lines modified
127 ······128 ······
128 ········129 ········
129 ··········<div·class="yui-b"·id="sidebar">130 ··········<div·class="yui-b"·id="sidebar">
130 ············131 ············
131 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">132 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
132 ········<div·class="sphinxsidebarwrapper">133 ········<div·class="sphinxsidebarwrapper">
133 ··<div>134 ··<div>
134 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>135 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
135 ····<ul>136 ····<ul>
136 <li><a·class="reference·internal"·href="#">Django·1.8.5·release·notes</a><ul>137 <li><a·class="reference·internal"·href="#">Django·1.8.5·release·notes</a><ul>
137 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>138 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
138 </ul>139 </ul>
139 </li>140 </li>
140 </ul>141 </ul>
  
141 ··</div>142 ··</div>
142 ··<div>143 ··<div>
143 ····<h4>Previous·topic</h4>144 ····<h4>Eelmine·teema</h4>
144 ····<p·class="topless"><a·href="1.8.6.html"145 ····<p·class="topless"><a·href="1.8.6.html"
145 ··························title="previous·chapter">Django·1.8.6·release·notes</a></p>146 ··························title="eelmine·jaotis">Django·1.8.6·release·notes</a></p>
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Next·topic</h4>149 ····<h4>Järgmine·teema</h4>
149 ····<p·class="topless"><a·href="1.8.4.html"150 ····<p·class="topless"><a·href="1.8.4.html"
150 ··························title="next·chapter">Django·1.8.4·release·notes</a></p>151 ··························title="järgmine·jaotis">Django·1.8.4·release·notes</a></p>
151 ··</div>152 ··</div>
152 <search·id="searchbox"·style="display:·none"·role="search">153 <search·id="searchbox"·style="display:·none"·role="search">
153 ··<h3·id="searchlabel">Quick·search</h3>154 ··<h3·id="searchlabel">Kiirotsing</h3>
154 ····<div·class="searchformwrapper">155 ····<div·class="searchformwrapper">
155 ····<form·class="search"·action="../search.html"·method="get">156 ····<form·class="search"·action="../search.html"·method="get">
156 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>157 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
157 ······<input·type="submit"·value="Go"·/>158 ······<input·type="submit"·value="Otsi"·/>
158 ····</form>159 ····</form>
159 ····</div>160 ····</div>
160 </search>161 </search>
161 <script>document.getElementById('searchbox').style.display·=·"block"</script>162 <script>document.getElementById('searchbox').style.display·=·"block"</script>
162 ········</div>163 ········</div>
163 ······</div>164 ······</div>
164 ··············<h3>Last·update:</h3>165 ··············<h3>Last·update:</h3>
165 ··············<p·class="topless">Nov·05,·2024</p>166 ··············<p·class="topless">nov·05,·2024</p>
166 ··········</div>167 ··········</div>
167 ········168 ········
168 ······169 ······
169 ····</div>170 ····</div>
  
170 ····<div·id="ft">171 ····<div·id="ft">
171 ······<div·class="nav">172 ······<div·class="nav">
2.67 KB
html2text {}
Max HTML report size reached
9.05 KB
./usr/share/doc/python-django-doc/html/releases/1.8.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.5·release·notes"·href="1.8.5.html"·/>15 ····<link·rel="next"·title="Django·1.8.5·release·notes"·href="1.8.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.7·release·notes"·href="1.8.7.html"·/>16 ····<link·rel="prev"·title="Django·1.8.7·release·notes"·href="1.8.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 83, 15 lines modifiedOffset 84, 15 lines modified
83 <p>Django·1.8.6·adds·official·support·for·Python·3.5·and·fixes·several·bugs·in84 <p>Django·1.8.6·adds·official·support·for·Python·3.5·and·fixes·several·bugs·in
84 1.8.5.</p>85 1.8.5.</p>
85 <section·id="s-bugfixes">86 <section·id="s-bugfixes">
86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>87 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
87 <ul·class="simple">88 <ul·class="simple">
88 <li><p>Fixed·a·regression·causing·<code·class="docutils·literal·notranslate"><span·class="pre">ModelChoiceField</span></code>·to·ignore89 <li><p>Fixed·a·regression·causing·<code·class="docutils·literal·notranslate"><span·class="pre">ModelChoiceField</span></code>·to·ignore
89 <code·class="docutils·literal·notranslate"><span·class="pre">prefetch_related()</span></code>·on·its·queryset·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25496">#25496</a>).</p></li>90 <code·class="docutils·literal·notranslate"><span·class="pre">prefetch_related()</span></code>·on·its·queryset·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25496">#25496</a>).</p></li>
90 <li><p>Allowed·mode=memory·in·SQLite·test·database·name·if·supported91 <li><p>Allowed·mode=memory·in·SQLite·test·database·name·if·supported
91 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/12118">#12118</a>).</p></li>92 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/12118">#12118</a>).</p></li>
92 <li><p>Fixed·system·check·crash·on·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·to·abstract·model93 <li><p>Fixed·system·check·crash·on·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code>·to·abstract·model
93 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25503">#25503</a>).</p></li>94 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25503">#25503</a>).</p></li>
94 <li><p>Fixed·incorrect·queries·when·you·have·multiple·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>s·on95 <li><p>Fixed·incorrect·queries·when·you·have·multiple·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>s·on
95 different·models·that·have·the·same·field·name,·point·to·the·same·model,·and96 different·models·that·have·the·same·field·name,·point·to·the·same·model,·and
96 have·their·reverse·relations·disabled·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25545">#25545</a>).</p></li>97 have·their·reverse·relations·disabled·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25545">#25545</a>).</p></li>
97 <li><p>Allowed·filtering·over·a·<code·class="docutils·literal·notranslate"><span·class="pre">RawSQL</span></code>·annotation·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25506">#25506</a>).</p></li>98 <li><p>Allowed·filtering·over·a·<code·class="docutils·literal·notranslate"><span·class="pre">RawSQL</span></code>·annotation·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25506">#25506</a>).</p></li>
Offset 125, 47 lines modifiedOffset 126, 47 lines modified
125 ······126 ······
126 ········127 ········
127 ··········<div·class="yui-b"·id="sidebar">128 ··········<div·class="yui-b"·id="sidebar">
128 ············129 ············
129 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">130 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
130 ········<div·class="sphinxsidebarwrapper">131 ········<div·class="sphinxsidebarwrapper">
131 ··<div>132 ··<div>
132 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>133 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
133 ····<ul>134 ····<ul>
134 <li><a·class="reference·internal"·href="#">Django·1.8.6·release·notes</a><ul>135 <li><a·class="reference·internal"·href="#">Django·1.8.6·release·notes</a><ul>
135 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>136 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
136 </ul>137 </ul>
137 </li>138 </li>
138 </ul>139 </ul>
  
139 ··</div>140 ··</div>
140 ··<div>141 ··<div>
141 ····<h4>Previous·topic</h4>142 ····<h4>Eelmine·teema</h4>
142 ····<p·class="topless"><a·href="1.8.7.html"143 ····<p·class="topless"><a·href="1.8.7.html"
143 ··························title="previous·chapter">Django·1.8.7·release·notes</a></p>144 ··························title="eelmine·jaotis">Django·1.8.7·release·notes</a></p>
144 ··</div>145 ··</div>
145 ··<div>146 ··<div>
146 ····<h4>Next·topic</h4>147 ····<h4>Järgmine·teema</h4>
147 ····<p·class="topless"><a·href="1.8.5.html"148 ····<p·class="topless"><a·href="1.8.5.html"
148 ··························title="next·chapter">Django·1.8.5·release·notes</a></p>149 ··························title="järgmine·jaotis">Django·1.8.5·release·notes</a></p>
149 ··</div>150 ··</div>
150 <search·id="searchbox"·style="display:·none"·role="search">151 <search·id="searchbox"·style="display:·none"·role="search">
151 ··<h3·id="searchlabel">Quick·search</h3>152 ··<h3·id="searchlabel">Kiirotsing</h3>
152 ····<div·class="searchformwrapper">153 ····<div·class="searchformwrapper">
153 ····<form·class="search"·action="../search.html"·method="get">154 ····<form·class="search"·action="../search.html"·method="get">
154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>155 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
155 ······<input·type="submit"·value="Go"·/>156 ······<input·type="submit"·value="Otsi"·/>
156 ····</form>157 ····</form>
157 ····</div>158 ····</div>
158 </search>159 </search>
159 <script>document.getElementById('searchbox').style.display·=·"block"</script>160 <script>document.getElementById('searchbox').style.display·=·"block"</script>
160 ········</div>161 ········</div>
161 ······</div>162 ······</div>
162 ··············<h3>Last·update:</h3>163 ··············<h3>Last·update:</h3>
163 ··············<p·class="topless">Nov·05,·2024</p>164 ··············<p·class="topless">nov·05,·2024</p>
164 ··········</div>165 ··········</div>
165 ········166 ········
166 ······167 ······
167 ····</div>168 ····</div>
  
168 ····<div·id="ft">169 ····<div·id="ft">
169 ······<div·class="nav">170 ······<div·class="nav">
3.17 KB
html2text {}
Max HTML report size reached
6.88 KB
./usr/share/doc/python-django-doc/html/releases/1.8.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.6·release·notes"·href="1.8.6.html"·/>15 ····<link·rel="next"·title="Django·1.8.6·release·notes"·href="1.8.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.8·release·notes"·href="1.8.8.html"·/>16 ····<link·rel="prev"·title="Django·1.8.8·release·notes"·href="1.8.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 136, 48 lines modifiedOffset 137, 48 lines modified
136 ······137 ······
137 ········138 ········
138 ··········<div·class="yui-b"·id="sidebar">139 ··········<div·class="yui-b"·id="sidebar">
139 ············140 ············
140 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">141 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
141 ········<div·class="sphinxsidebarwrapper">142 ········<div·class="sphinxsidebarwrapper">
142 ··<div>143 ··<div>
143 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>144 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
144 ····<ul>145 ····<ul>
145 <li><a·class="reference·internal"·href="#">Django·1.8.7·release·notes</a><ul>146 <li><a·class="reference·internal"·href="#">Django·1.8.7·release·notes</a><ul>
146 <li><a·class="reference·internal"·href="#fixed-settings-leak-possibility-in-date-template-filter">Fixed·settings·leak·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">date</span></code>·template·filter</a></li>147 <li><a·class="reference·internal"·href="#fixed-settings-leak-possibility-in-date-template-filter">Fixed·settings·leak·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">date</span></code>·template·filter</a></li>
147 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>148 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
148 </ul>149 </ul>
149 </li>150 </li>
150 </ul>151 </ul>
  
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Previous·topic</h4>154 ····<h4>Eelmine·teema</h4>
154 ····<p·class="topless"><a·href="1.8.8.html"155 ····<p·class="topless"><a·href="1.8.8.html"
155 ··························title="previous·chapter">Django·1.8.8·release·notes</a></p>156 ··························title="eelmine·jaotis">Django·1.8.8·release·notes</a></p>
156 ··</div>157 ··</div>
157 ··<div>158 ··<div>
158 ····<h4>Next·topic</h4>159 ····<h4>Järgmine·teema</h4>
159 ····<p·class="topless"><a·href="1.8.6.html"160 ····<p·class="topless"><a·href="1.8.6.html"
160 ··························title="next·chapter">Django·1.8.6·release·notes</a></p>161 ··························title="järgmine·jaotis">Django·1.8.6·release·notes</a></p>
161 ··</div>162 ··</div>
162 <search·id="searchbox"·style="display:·none"·role="search">163 <search·id="searchbox"·style="display:·none"·role="search">
163 ··<h3·id="searchlabel">Quick·search</h3>164 ··<h3·id="searchlabel">Kiirotsing</h3>
164 ····<div·class="searchformwrapper">165 ····<div·class="searchformwrapper">
165 ····<form·class="search"·action="../search.html"·method="get">166 ····<form·class="search"·action="../search.html"·method="get">
166 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>167 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
167 ······<input·type="submit"·value="Go"·/>168 ······<input·type="submit"·value="Otsi"·/>
168 ····</form>169 ····</form>
169 ····</div>170 ····</div>
170 </search>171 </search>
171 <script>document.getElementById('searchbox').style.display·=·"block"</script>172 <script>document.getElementById('searchbox').style.display·=·"block"</script>
172 ········</div>173 ········</div>
173 ······</div>174 ······</div>
174 ··············<h3>Last·update:</h3>175 ··············<h3>Last·update:</h3>
175 ··············<p·class="topless">Nov·05,·2024</p>176 ··············<p·class="topless">nov·05,·2024</p>
176 ··········</div>177 ··········</div>
177 ········178 ········
178 ······179 ······
179 ····</div>180 ····</div>
  
180 ····<div·id="ft">181 ····<div·id="ft">
181 ······<div·class="nav">182 ······<div·class="nav">
2.53 KB
html2text {}
Max HTML report size reached
6.5 KB
./usr/share/doc/python-django-doc/html/releases/1.8.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.7·release·notes"·href="1.8.7.html"·/>15 ····<link·rel="next"·title="Django·1.8.7·release·notes"·href="1.8.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.9·release·notes"·href="1.8.9.html"·/>16 ····<link·rel="prev"·title="Django·1.8.9·release·notes"·href="1.8.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 132, 47 lines modifiedOffset 133, 47 lines modified
132 ······133 ······
133 ········134 ········
134 ··········<div·class="yui-b"·id="sidebar">135 ··········<div·class="yui-b"·id="sidebar">
135 ············136 ············
136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">137 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
137 ········<div·class="sphinxsidebarwrapper">138 ········<div·class="sphinxsidebarwrapper">
138 ··<div>139 ··<div>
139 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>140 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
140 ····<ul>141 ····<ul>
141 <li><a·class="reference·internal"·href="#">Django·1.8.8·release·notes</a><ul>142 <li><a·class="reference·internal"·href="#">Django·1.8.8·release·notes</a><ul>
142 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>143 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
143 </ul>144 </ul>
144 </li>145 </li>
145 </ul>146 </ul>
  
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Previous·topic</h4>149 ····<h4>Eelmine·teema</h4>
149 ····<p·class="topless"><a·href="1.8.9.html"150 ····<p·class="topless"><a·href="1.8.9.html"
150 ··························title="previous·chapter">Django·1.8.9·release·notes</a></p>151 ··························title="eelmine·jaotis">Django·1.8.9·release·notes</a></p>
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Next·topic</h4>154 ····<h4>Järgmine·teema</h4>
154 ····<p·class="topless"><a·href="1.8.7.html"155 ····<p·class="topless"><a·href="1.8.7.html"
155 ··························title="next·chapter">Django·1.8.7·release·notes</a></p>156 ··························title="järgmine·jaotis">Django·1.8.7·release·notes</a></p>
156 ··</div>157 ··</div>
157 <search·id="searchbox"·style="display:·none"·role="search">158 <search·id="searchbox"·style="display:·none"·role="search">
158 ··<h3·id="searchlabel">Quick·search</h3>159 ··<h3·id="searchlabel">Kiirotsing</h3>
159 ····<div·class="searchformwrapper">160 ····<div·class="searchformwrapper">
160 ····<form·class="search"·action="../search.html"·method="get">161 ····<form·class="search"·action="../search.html"·method="get">
161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>162 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
162 ······<input·type="submit"·value="Go"·/>163 ······<input·type="submit"·value="Otsi"·/>
163 ····</form>164 ····</form>
164 ····</div>165 ····</div>
165 </search>166 </search>
166 <script>document.getElementById('searchbox').style.display·=·"block"</script>167 <script>document.getElementById('searchbox').style.display·=·"block"</script>
167 ········</div>168 ········</div>
168 ······</div>169 ······</div>
169 ··············<h3>Last·update:</h3>170 ··············<h3>Last·update:</h3>
170 ··············<p·class="topless">Nov·05,·2024</p>171 ··············<p·class="topless">nov·05,·2024</p>
171 ··········</div>172 ··········</div>
172 ········173 ········
173 ······174 ······
174 ····</div>175 ····</div>
  
175 ····<div·id="ft">176 ····<div·id="ft">
176 ······<div·class="nav">177 ······<div·class="nav">
2.38 KB
html2text {}
Max HTML report size reached
8.24 KB
./usr/share/doc/python-django-doc/html/releases/1.8.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.8·release·notes"·href="1.8.8.html"·/>15 ····<link·rel="next"·title="Django·1.8.8·release·notes"·href="1.8.8.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.10·release·notes"·href="1.8.10.html"·/>16 ····<link·rel="prev"·title="Django·1.8.10·release·notes"·href="1.8.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 15 lines modifiedOffset 81, 15 lines modified
80 ··<section·id="s-django-1-8-9-release-notes">81 ··<section·id="s-django-1-8-9-release-notes">
81 <span·id="django-1-8-9-release-notes"></span><h1>Django·1.8.9·release·notes<a·class="headerlink"·href="#django-1-8-9-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-8-9-release-notes"></span><h1>Django·1.8.9·release·notes<a·class="headerlink"·href="#django-1-8-9-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2016</em></p>83 <p><em>February·1,·2016</em></p>
83 <p>Django·1.8.9·fixes·several·bugs·in·1.8.8.</p>84 <p>Django·1.8.9·fixes·several·bugs·in·1.8.8.</p>
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Fixed·a·regression·that·caused·the·user-tools·items·to·display·on·the88 <li><p>Fixed·a·regression·that·caused·the·user-tools·items·to·display·on·the
88 admin’s·logout·page·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26035">#26035</a>).</p></li>89 admin’s·logout·page·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26035">#26035</a>).</p></li>
89 <li><p>Fixed·a·crash·in·the·translations·system·when·the·current·language·has·no90 <li><p>Fixed·a·crash·in·the·translations·system·when·the·current·language·has·no
90 translations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26046">#26046</a>).</p></li>91 translations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26046">#26046</a>).</p></li>
91 <li><p>Fixed·a·regression·that·caused·the·incorrect·day·to·be·selected·when·opening92 <li><p>Fixed·a·regression·that·caused·the·incorrect·day·to·be·selected·when·opening
92 the·admin·calendar·widget·for·timezones·from·GMT+0100·to·GMT+120093 the·admin·calendar·widget·for·timezones·from·GMT+0100·to·GMT+1200
93 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24980">#24980</a>).</p></li>94 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24980">#24980</a>).</p></li>
94 <li><p>Fixed·a·regression·in·1.8.8·causing·incorrect·index·handling·in·migrations·on95 <li><p>Fixed·a·regression·in·1.8.8·causing·incorrect·index·handling·in·migrations·on
Offset 116, 47 lines modifiedOffset 117, 47 lines modified
116 ······117 ······
117 ········118 ········
118 ··········<div·class="yui-b"·id="sidebar">119 ··········<div·class="yui-b"·id="sidebar">
119 ············120 ············
120 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
121 ········<div·class="sphinxsidebarwrapper">122 ········<div·class="sphinxsidebarwrapper">
122 ··<div>123 ··<div>
123 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>124 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
124 ····<ul>125 ····<ul>
125 <li><a·class="reference·internal"·href="#">Django·1.8.9·release·notes</a><ul>126 <li><a·class="reference·internal"·href="#">Django·1.8.9·release·notes</a><ul>
126 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>127 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
127 </ul>128 </ul>
128 </li>129 </li>
129 </ul>130 </ul>
  
130 ··</div>131 ··</div>
131 ··<div>132 ··<div>
132 ····<h4>Previous·topic</h4>133 ····<h4>Eelmine·teema</h4>
133 ····<p·class="topless"><a·href="1.8.10.html"134 ····<p·class="topless"><a·href="1.8.10.html"
134 ··························title="previous·chapter">Django·1.8.10·release·notes</a></p>135 ··························title="eelmine·jaotis">Django·1.8.10·release·notes</a></p>
135 ··</div>136 ··</div>
136 ··<div>137 ··<div>
137 ····<h4>Next·topic</h4>138 ····<h4>Järgmine·teema</h4>
138 ····<p·class="topless"><a·href="1.8.8.html"139 ····<p·class="topless"><a·href="1.8.8.html"
139 ··························title="next·chapter">Django·1.8.8·release·notes</a></p>140 ··························title="järgmine·jaotis">Django·1.8.8·release·notes</a></p>
140 ··</div>141 ··</div>
141 <search·id="searchbox"·style="display:·none"·role="search">142 <search·id="searchbox"·style="display:·none"·role="search">
142 ··<h3·id="searchlabel">Quick·search</h3>143 ··<h3·id="searchlabel">Kiirotsing</h3>
143 ····<div·class="searchformwrapper">144 ····<div·class="searchformwrapper">
144 ····<form·class="search"·action="../search.html"·method="get">145 ····<form·class="search"·action="../search.html"·method="get">
145 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>146 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
146 ······<input·type="submit"·value="Go"·/>147 ······<input·type="submit"·value="Otsi"·/>
147 ····</form>148 ····</form>
148 ····</div>149 ····</div>
149 </search>150 </search>
150 <script>document.getElementById('searchbox').style.display·=·"block"</script>151 <script>document.getElementById('searchbox').style.display·=·"block"</script>
151 ········</div>152 ········</div>
152 ······</div>153 ······</div>
153 ··············<h3>Last·update:</h3>154 ··············<h3>Last·update:</h3>
154 ··············<p·class="topless">Nov·05,·2024</p>155 ··············<p·class="topless">nov·05,·2024</p>
155 ··········</div>156 ··········</div>
156 ········157 ········
157 ······158 ······
158 ····</div>159 ····</div>
  
159 ····<div·id="ft">160 ····<div·id="ft">
160 ······<div·class="nav">161 ······<div·class="nav">
2.79 KB
html2text {}
Max HTML report size reached
76.2 KB
./usr/share/doc/python-django-doc/html/releases/1.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.7.11·release·notes"·href="1.7.11.html"·/>15 ····<link·rel="next"·title="Django·1.7.11·release·notes"·href="1.7.11.html"·/>
15 ····<link·rel="prev"·title="Django·1.8.1·release·notes"·href="1.8.1.html"·/>16 ····<link·rel="prev"·title="Django·1.8.1·release·notes"·href="1.8.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 15 lines modifiedOffset 104, 15 lines modified
103 <section·id="s-what-s-new-in-django-1-8">104 <section·id="s-what-s-new-in-django-1-8">
104 <span·id="s-whats-new-1-8"></span><span·id="what-s-new-in-django-1-8"></span><span·id="whats-new-1-8"></span><h2>What’s·new·in·Django·1.8<a·class="headerlink"·href="#what-s-new-in-django-1-8"·title="Link·to·this·heading">¶</a></h2>105 <span·id="s-whats-new-1-8"></span><span·id="what-s-new-in-django-1-8"></span><span·id="whats-new-1-8"></span><h2>What’s·new·in·Django·1.8<a·class="headerlink"·href="#what-s-new-in-django-1-8"·title="Link·to·this·heading">¶</a></h2>
105 <section·id="s-model-meta-api">106 <section·id="s-model-meta-api">
106 <span·id="model-meta-api"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Model._meta</span></code>·API<a·class="headerlink"·href="#model-meta-api"·title="Link·to·this·heading">¶</a></h3>107 <span·id="model-meta-api"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">Model._meta</span></code>·API<a·class="headerlink"·href="#model-meta-api"·title="Link·to·this·heading">¶</a></h3>
107 <p>Django·now·has·a·formalized·API·for·<a·class="reference·internal"·href="../ref/models/meta.html"><span·class="doc">Model._meta</span></a>,108 <p>Django·now·has·a·formalized·API·for·<a·class="reference·internal"·href="../ref/models/meta.html"><span·class="doc">Model._meta</span></a>,
108 providing·an·officially·supported·way·to·<a·class="reference·internal"·href="../ref/models/meta.html#model-meta-field-api"><span·class="std·std-ref">retrieve·fields</span></a>·and·filter·fields·based·on·their·<a·class="reference·internal"·href="../ref/models/fields.html#model-field-attributes"><span·class="std·std-ref">attributes</span></a>.</p>109 providing·an·officially·supported·way·to·<a·class="reference·internal"·href="../ref/models/meta.html#model-meta-field-api"><span·class="std·std-ref">retrieve·fields</span></a>·and·filter·fields·based·on·their·<a·class="reference·internal"·href="../ref/models/fields.html#model-field-attributes"><span·class="std·std-ref">attributes</span></a>.</p>
109 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Model._meta</span></code>·object·has·been·part·of·Django·since·the·days·of·pre-0.96110 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Model._meta</span></code>·object·has·been·part·of·Django·since·the·days·of·pre-0.96
110 Magic·Removal··it·just·wasn’t·an·official,·stable·API.·In·recognition·of111 Magic·Removal··it·just·wasn’t·an·official,·stable·API.·In·recognition·of
111 this,·we’ve·endeavored·to·maintain·backwards-compatibility·with·the·old112 this,·we’ve·endeavored·to·maintain·backwards-compatibility·with·the·old
112 API·endpoint·where·possible.·However,·API·endpoints·that·aren’t·part·of·the113 API·endpoint·where·possible.·However,·API·endpoints·that·aren’t·part·of·the
113 new·official·API·have·been·deprecated·and·will·eventually·be·removed.</p>114 new·official·API·have·been·deprecated·and·will·eventually·be·removed.</p>
114 </section>115 </section>
115 <section·id="s-multiple-template-engines">116 <section·id="s-multiple-template-engines">
116 <span·id="multiple-template-engines"></span><h3>Multiple·template·engines<a·class="headerlink"·href="#multiple-template-engines"·title="Link·to·this·heading">¶</a></h3>117 <span·id="multiple-template-engines"></span><h3>Multiple·template·engines<a·class="headerlink"·href="#multiple-template-engines"·title="Link·to·this·heading">¶</a></h3>
117 <p>Django·1.8·defines·a·stable·API·for·integrating·template·backends.·It·includes118 <p>Django·1.8·defines·a·stable·API·for·integrating·template·backends.·It·includes
Offset 141, 15 lines modifiedOffset 142, 15 lines modified
141 <span·id="new-data-types"></span><h3>New·data·types<a·class="headerlink"·href="#new-data-types"·title="Link·to·this·heading">¶</a></h3>142 <span·id="new-data-types"></span><h3>New·data·types<a·class="headerlink"·href="#new-data-types"·title="Link·to·this·heading">¶</a></h3>
142 <ul·class="simple">143 <ul·class="simple">
143 <li><p>Django·now·has·a·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.UUIDField"·title="django.db.models.UUIDField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UUIDField</span></code></a>·for·storing144 <li><p>Django·now·has·a·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.UUIDField"·title="django.db.models.UUIDField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UUIDField</span></code></a>·for·storing
144 universally·unique·identifiers.·It·is·stored·as·the·native·<code·class="docutils·literal·notranslate"><span·class="pre">uuid</span></code>·data·type145 universally·unique·identifiers.·It·is·stored·as·the·native·<code·class="docutils·literal·notranslate"><span·class="pre">uuid</span></code>·data·type
145 on·PostgreSQL·and·as·a·fixed·length·character·field·on·other·backends.·There146 on·PostgreSQL·and·as·a·fixed·length·character·field·on·other·backends.·There
146 is·a·corresponding·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.UUIDField"·title="django.forms.UUIDField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">form</span>·<span·class="pre">field</span></code></a>.</p></li>147 is·a·corresponding·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.UUIDField"·title="django.forms.UUIDField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">form</span>·<span·class="pre">field</span></code></a>.</p></li>
147 <li><p>Django·now·has·a·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DurationField"·title="django.db.models.DurationField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DurationField</span></code></a>·for·storing·periods148 <li><p>Django·now·has·a·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.DurationField"·title="django.db.models.DurationField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DurationField</span></code></a>·for·storing·periods
148 of·time·-·modeled·in·Python·by·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>.·It·is149 of·time·-·modeled·in·Python·by·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>.·It·is
149 stored·in·the·native·<code·class="docutils·literal·notranslate"><span·class="pre">interval</span></code>·data·type·on·PostgreSQL,·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">INTERVAL</span>150 stored·in·the·native·<code·class="docutils·literal·notranslate"><span·class="pre">interval</span></code>·data·type·on·PostgreSQL,·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">INTERVAL</span>
150 <span·class="pre">DAY(9)</span>·<span·class="pre">TO</span>·<span·class="pre">SECOND(6)</span></code>·on·Oracle,·and·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">bigint</span></code>·of·microseconds·on·other151 <span·class="pre">DAY(9)</span>·<span·class="pre">TO</span>·<span·class="pre">SECOND(6)</span></code>·on·Oracle,·and·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">bigint</span></code>·of·microseconds·on·other
151 backends.·Date·and·time·related·arithmetic·has·also·been·improved·on·all152 backends.·Date·and·time·related·arithmetic·has·also·been·improved·on·all
152 backends.·There·is·a·corresponding·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.DurationField"·title="django.forms.DurationField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">form</span>·<span·class="pre">field</span></code></a>.</p></li>153 backends.·There·is·a·corresponding·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.DurationField"·title="django.forms.DurationField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">form</span>·<span·class="pre">field</span></code></a>.</p></li>
153 </ul>154 </ul>
154 </section>155 </section>
155 <section·id="s-query-expressions-conditional-expressions-and-database-functions">156 <section·id="s-query-expressions-conditional-expressions-and-database-functions">
Offset 157, 15 lines modifiedOffset 158, 15 lines modified
157 <p><a·class="reference·internal"·href="../ref/models/expressions.html"><span·class="doc">Query·Expressions</span></a>·allow·you·to·create,158 <p><a·class="reference·internal"·href="../ref/models/expressions.html"><span·class="doc">Query·Expressions</span></a>·allow·you·to·create,
158 customize,·and·compose·complex·SQL·expressions.·This·has·enabled·annotate159 customize,·and·compose·complex·SQL·expressions.·This·has·enabled·annotate
159 to·accept·expressions·other·than·aggregates.·Aggregates·are·now·able·to160 to·accept·expressions·other·than·aggregates.·Aggregates·are·now·able·to
160 reference·multiple·fields,·as·well·as·perform·arithmetic,·similar·to·<code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>161 reference·multiple·fields,·as·well·as·perform·arithmetic,·similar·to·<code·class="docutils·literal·notranslate"><span·class="pre">F()</span></code>
161 objects.·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.order_by"·title="django.db.models.query.QuerySet.order_by"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">order_by()</span></code></a>·has·also·gained·the162 objects.·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.order_by"·title="django.db.models.query.QuerySet.order_by"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">order_by()</span></code></a>·has·also·gained·the
162 ability·to·accept·expressions.</p>163 ability·to·accept·expressions.</p>
163 <p><a·class="reference·internal"·href="../ref/models/conditional-expressions.html"><span·class="doc">Conditional·Expressions</span></a>·allow164 <p><a·class="reference·internal"·href="../ref/models/conditional-expressions.html"><span·class="doc">Conditional·Expressions</span></a>·allow
164 you·to·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#if"·title="(in·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">if</span></code></a>··<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#elif"·title="(in·Python·v3.12)"><co[·...·truncated·by·diffoscope;·len:·218,·SHA:·b64e729b0c2779771dce49464f1259da67d8f5780f8bf503583936b0275a05d6·...·]·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">else</span></code></a>·logic·within165 you·to·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#if"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">if</span></code></a>··<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/compound_stmts.html#elif"·title="(projektis·Pyth[·...·truncated·by·diffoscope;·len:·239,·SHA:·a233a4fc1a2fccd05177e187c7ffe2950e30d15afa1a92e6e26120cb5bee3053·...·]·Python·v3.12)"><code·class="xref·std·std-keyword·docutils·literal·notranslate"><span·class="pre">else</span></code></a>·logic·within
165 queries.</p>166 queries.</p>
166 <p>A·collection·of·<a·class="reference·internal"·href="../ref/models/database-functions.html"><span·class="doc">database·functions</span></a>·is167 <p>A·collection·of·<a·class="reference·internal"·href="../ref/models/database-functions.html"><span·class="doc">database·functions</span></a>·is
167 also·included·with·functionality·such·as168 also·included·with·functionality·such·as
168 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Coalesce"·title="django.db.models.functions.Coalesce"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Coalesce</span></code></a>,169 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Coalesce"·title="django.db.models.functions.Coalesce"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Coalesce</span></code></a>,
169 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Concat"·title="django.db.models.functions.Concat"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Concat</span></code></a>,·and170 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Concat"·title="django.db.models.functions.Concat"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Concat</span></code></a>,·and
170 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Substr"·title="django.db.models.functions.Substr"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Substr</span></code></a>.</p>171 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Substr"·title="django.db.models.functions.Substr"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Substr</span></code></a>.</p>
171 </section>172 </section>
Offset 304, 15 lines modifiedOffset 305, 15 lines modified
304 </ul>305 </ul>
305 </section>306 </section>
306 <section·id="s-cryptography">307 <section·id="s-cryptography">
307 <span·id="cryptography"></span><h4>Cryptography<a·class="headerlink"·href="#cryptography"·title="Link·to·this·heading">¶</a></h4>308 <span·id="cryptography"></span><h4>Cryptography<a·class="headerlink"·href="#cryptography"·title="Link·to·this·heading">¶</a></h4>
308 <ul·class="simple">309 <ul·class="simple">
309 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·parameter·of·the310 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·parameter·of·the
310 <a·class="reference·internal"·href="../topics/signing.html#django.core.signing.TimestampSigner.unsign"·title="django.core.signing.TimestampSigner.unsign"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">django.core.signing.TimestampSigner.unsign()</span></code></a>·method·now·also·accepts·a311 <a·class="reference·internal"·href="../topics/signing.html#django.core.signing.TimestampSigner.unsign"·title="django.core.signing.TimestampSigner.unsign"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">django.core.signing.TimestampSigner.unsign()</span></code></a>·method·now·also·accepts·a
311 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timedelta</span></code></a>·object.</p></li>312 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timedelta</span></code></a>·object.</p></li>
312 </ul>313 </ul>
313 </section>314 </section>
314 <section·id="s-database-backends">315 <section·id="s-database-backends">
315 <span·id="database-backends"></span><h4>Database·backends<a·class="headerlink"·href="#database-backends"·title="Link·to·this·heading">¶</a></h4>316 <span·id="database-backends"></span><h4>Database·backends<a·class="headerlink"·href="#database-backends"·title="Link·to·this·heading">¶</a></h4>
316 <ul·class="simple">317 <ul·class="simple">
317 <li><p>The·MySQL·backend·no·longer·strips·microseconds·from·<code·class="docutils·literal·notranslate"><span·class="pre">datetime</span></code>·values·as318 <li><p>The·MySQL·backend·no·longer·strips·microseconds·from·<code·class="docutils·literal·notranslate"><span·class="pre">datetime</span></code>·values·as
318 MySQL·5.6.4·and·up·supports·fractional·seconds·depending·on·the·declaration319 MySQL·5.6.4·and·up·supports·fractional·seconds·depending·on·the·declaration
Offset 397, 15 lines modifiedOffset 398, 15 lines modified
397 attribute·allows·changing·the·behavior·of398 attribute·allows·changing·the·behavior·of
398 <a·class="reference·internal"·href="../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectMixin.get_object"·title="django.views.generic.detail.SingleObjectMixin.get_object"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_object()</span></code></a>399 <a·class="reference·internal"·href="../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectMixin.get_object"·title="django.views.generic.detail.SingleObjectMixin.get_object"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_object()</span></code></a>
399 so·that·it’ll·perform·its·lookup·using·both·the·primary·key·and·the·slug.</p></li>400 so·that·it’ll·perform·its·lookup·using·both·the·primary·key·and·the·slug.</p></li>
400 <li><p>The·<a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.get_form"·title="django.views.generic.edit.FormMixin.get_form"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_form()</span></code></a>·method·doesn’t401 <li><p>The·<a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.get_form"·title="django.views.generic.edit.FormMixin.get_form"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_form()</span></code></a>·method·doesn’t
401 require·a·<code·class="docutils·literal·notranslate"><span·class="pre">form_class</span></code>·to·be·provided·anymore.·If·not·provided·<code·class="docutils·literal·notranslate"><span·class="pre">form_class</span></code>402 require·a·<code·class="docutils·literal·notranslate"><span·class="pre">form_class</span></code>·to·be·provided·anymore.·If·not·provided·<code·class="docutils·literal·notranslate"><span·class="pre">form_class</span></code>
402 defaults·to·<a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.get_form_class"·title="django.views.generic.edit.FormMixin.get_form_class"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_form_class()</span></code></a>.</p></li>403 defaults·to·<a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.get_form_class"·title="django.views.generic.edit.FormMixin.get_form_class"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_form_class()</span></code></a>.</p></li>
403 <li><p>Placeholders·in·<a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.ModelFormMixin.success_url"·title="django.views.generic.edit.ModelFormMixin.success_url"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelFormMixin.success_url</span></code></a>·now·support·the·Python404 <li><p>Placeholders·in·<a·class="reference·internal"·href="../ref/class-based-views/mixins-editing.html#django.views.generic.edit.ModelFormMixin.success_url"·title="django.views.generic.edit.ModelFormMixin.success_url"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelFormMixin.success_url</span></code></a>·now·support·the·Python
404 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#str.format"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">str.format()</span></code></a>·syntax.·The·legacy·<code·class="docutils·literal·notranslate"><span·class="pre">%(&lt;foo&gt;)s</span></code>·syntax·is·still405 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#str.format"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">str.format()</span></code></a>·syntax.·The·legacy·<code·class="docutils·literal·notranslate"><span·class="pre">%(&lt;foo&gt;)s</span></code>·syntax·is·still
405 supported·but·will·be·removed·in·Django·1.10.</p></li>406 supported·but·will·be·removed·in·Django·1.10.</p></li>
406 </ul>407 </ul>
407 </section>408 </section>
408 <section·id="s-internationalization">409 <section·id="s-internationalization">
409 <span·id="internationalization"></span><h4>Internationalization<a·class="headerlink"·href="#internationalization"·title="Link·to·this·heading">¶</a></h4>410 <span·id="internationalization"></span><h4>Internationalization<a·class="headerlink"·href="#internationalization"·title="Link·to·this·heading">¶</a></h4>
410 <ul·class="simple">411 <ul·class="simple">
411 <li><p><a·class="reference·internal"·href="../ref/settings.html#std-setting-FORMAT_MODULE_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">FORMAT_MODULE_PATH</span></code></a>·can·now·be·a·list·of·strings·representing412 <li><p><a·class="reference·internal"·href="../ref/settings.html#std-setting-FORMAT_MODULE_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">FORMAT_MODULE_PATH</span></code></a>·can·now·be·a·list·of·strings·representing
Offset 441, 15 lines modifiedOffset 442, 15 lines modified
441 introspect·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.AutoField"·title="django.db.models.AutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AutoField</span></code></a>·for·MySQL·and·PostgreSQL442 introspect·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.AutoField"·title="django.db.models.AutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AutoField</span></code></a>·for·MySQL·and·PostgreSQL
442 databases.</p></li>443 databases.</p></li>
443 <li><p>When·calling·management·commands·with·options·using444 <li><p>When·calling·management·commands·with·options·using
444 <a·class="reference·internal"·href="../ref/django-admin.html#django.core.management.call_command"·title="django.core.management.call_command"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">call_command()</span></code></a>,·the·option·name·can·match·the445 <a·class="reference·internal"·href="../ref/django-admin.html#django.core.management.call_command"·title="django.core.management.call_command"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">call_command()</span></code></a>,·the·option·name·can·match·the
445 command·line·option·name·(without·the·initial·dashes)·or·the·final·option446 command·line·option·name·(without·the·initial·dashes)·or·the·final·option
446 destination·variable·name,·but·in·either·case,·the·resulting·option·received447 destination·variable·name,·but·in·either·case,·the·resulting·option·received
447 by·the·command·is·now·always·the·<code·class="docutils·literal·notranslate"><span·class="pre">dest</span></code>·name·specified·in·the·command448 by·the·command·is·now·always·the·<code·class="docutils·literal·notranslate"><span·class="pre">dest</span></code>·name·specified·in·the·command
Max diff block lines reached; 44686/61292 bytes (72.91%) of diff not shown.
16.2 KB
html2text {}
Max HTML report size reached
6.49 KB
./usr/share/doc/python-django-doc/html/releases/1.9.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9·release·notes"·href="1.9.html"·/>15 ····<link·rel="next"·title="Django·1.9·release·notes"·href="1.9.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.2·release·notes"·href="1.9.2.html"·/>16 ····<link·rel="prev"·title="Django·1.9.2·release·notes"·href="1.9.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 147, 47 lines modifiedOffset 148, 47 lines modified
147 ······148 ······
148 ········149 ········
149 ··········<div·class="yui-b"·id="sidebar">150 ··········<div·class="yui-b"·id="sidebar">
150 ············151 ············
151 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">152 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
152 ········<div·class="sphinxsidebarwrapper">153 ········<div·class="sphinxsidebarwrapper">
153 ··<div>154 ··<div>
154 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>155 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
155 ····<ul>156 ····<ul>
156 <li><a·class="reference·internal"·href="#">Django·1.9.1·release·notes</a><ul>157 <li><a·class="reference·internal"·href="#">Django·1.9.1·release·notes</a><ul>
157 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>158 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
158 </ul>159 </ul>
159 </li>160 </li>
160 </ul>161 </ul>
  
161 ··</div>162 ··</div>
162 ··<div>163 ··<div>
163 ····<h4>Previous·topic</h4>164 ····<h4>Eelmine·teema</h4>
164 ····<p·class="topless"><a·href="1.9.2.html"165 ····<p·class="topless"><a·href="1.9.2.html"
165 ··························title="previous·chapter">Django·1.9.2·release·notes</a></p>166 ··························title="eelmine·jaotis">Django·1.9.2·release·notes</a></p>
166 ··</div>167 ··</div>
167 ··<div>168 ··<div>
168 ····<h4>Next·topic</h4>169 ····<h4>Järgmine·teema</h4>
169 ····<p·class="topless"><a·href="1.9.html"170 ····<p·class="topless"><a·href="1.9.html"
170 ··························title="next·chapter">Django·1.9·release·notes</a></p>171 ··························title="järgmine·jaotis">Django·1.9·release·notes</a></p>
171 ··</div>172 ··</div>
172 <search·id="searchbox"·style="display:·none"·role="search">173 <search·id="searchbox"·style="display:·none"·role="search">
173 ··<h3·id="searchlabel">Quick·search</h3>174 ··<h3·id="searchlabel">Kiirotsing</h3>
174 ····<div·class="searchformwrapper">175 ····<div·class="searchformwrapper">
175 ····<form·class="search"·action="../search.html"·method="get">176 ····<form·class="search"·action="../search.html"·method="get">
176 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>177 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
177 ······<input·type="submit"·value="Go"·/>178 ······<input·type="submit"·value="Otsi"·/>
178 ····</form>179 ····</form>
179 ····</div>180 ····</div>
180 </search>181 </search>
181 <script>document.getElementById('searchbox').style.display·=·"block"</script>182 <script>document.getElementById('searchbox').style.display·=·"block"</script>
182 ········</div>183 ········</div>
183 ······</div>184 ······</div>
184 ··············<h3>Last·update:</h3>185 ··············<h3>Last·update:</h3>
185 ··············<p·class="topless">Nov·05,·2024</p>186 ··············<p·class="topless">nov·05,·2024</p>
186 ··········</div>187 ··········</div>
187 ········188 ········
188 ······189 ······
189 ····</div>190 ····</div>
  
190 ····<div·id="ft">191 ····<div·id="ft">
191 ······<div·class="nav">192 ······<div·class="nav">
2.39 KB
html2text {}
Max HTML report size reached
6.73 KB
./usr/share/doc/python-django-doc/html/releases/1.9.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.9·release·notes"·href="1.9.9.html"·/>15 ····<link·rel="next"·title="Django·1.9.9·release·notes"·href="1.9.9.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.11·release·notes"·href="1.9.11.html"·/>16 ····<link·rel="prev"·title="Django·1.9.11·release·notes"·href="1.9.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·1.9.10·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·1.9.10·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#csrf-protection-bypass-on-a-site-with-google-analytics">CSRF·protection·bypass·on·a·site·with·Google·Analytics</a></li>110 <li><a·class="reference·internal"·href="#csrf-protection-bypass-on-a-site-with-google-analytics">CSRF·protection·bypass·on·a·site·with·Google·Analytics</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="1.9.11.html"117 ····<p·class="topless"><a·href="1.9.11.html"
117 ··························title="previous·chapter">Django·1.9.11·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·1.9.11·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="1.9.9.html"122 ····<p·class="topless"><a·href="1.9.9.html"
122 ··························title="next·chapter">Django·1.9.9·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·1.9.9·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.51 KB
html2text {}
Max HTML report size reached
7.3 KB
./usr/share/doc/python-django-doc/html/releases/1.9.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.10·release·notes"·href="1.9.10.html"·/>15 ····<link·rel="next"·title="Django·1.9.10·release·notes"·href="1.9.10.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.12·release·notes"·href="1.9.12.html"·/>16 ····<link·rel="prev"·title="Django·1.9.12·release·notes"·href="1.9.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 119, 48 lines modifiedOffset 120, 48 lines modified
119 ······120 ······
120 ········121 ········
121 ··········<div·class="yui-b"·id="sidebar">122 ··········<div·class="yui-b"·id="sidebar">
122 ············123 ············
123 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">124 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
124 ········<div·class="sphinxsidebarwrapper">125 ········<div·class="sphinxsidebarwrapper">
125 ··<div>126 ··<div>
126 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>127 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
127 ····<ul>128 ····<ul>
128 <li><a·class="reference·internal"·href="#">Django·1.9.11·release·notes</a><ul>129 <li><a·class="reference·internal"·href="#">Django·1.9.11·release·notes</a><ul>
129 <li><a·class="reference·internal"·href="#user-with-hardcoded-password-created-when-running-tests-on-oracle">User·with·hardcoded·password·created·when·running·tests·on·Oracle</a></li>130 <li><a·class="reference·internal"·href="#user-with-hardcoded-password-created-when-running-tests-on-oracle">User·with·hardcoded·password·created·when·running·tests·on·Oracle</a></li>
130 <li><a·class="reference·internal"·href="#dns-rebinding-vulnerability-when-debug-true">DNS·rebinding·vulnerability·when·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG=True</span></code></a></li>131 <li><a·class="reference·internal"·href="#dns-rebinding-vulnerability-when-debug-true">DNS·rebinding·vulnerability·when·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG=True</span></code></a></li>
131 </ul>132 </ul>
132 </li>133 </li>
133 </ul>134 </ul>
  
134 ··</div>135 ··</div>
135 ··<div>136 ··<div>
136 ····<h4>Previous·topic</h4>137 ····<h4>Eelmine·teema</h4>
137 ····<p·class="topless"><a·href="1.9.12.html"138 ····<p·class="topless"><a·href="1.9.12.html"
138 ··························title="previous·chapter">Django·1.9.12·release·notes</a></p>139 ··························title="eelmine·jaotis">Django·1.9.12·release·notes</a></p>
139 ··</div>140 ··</div>
140 ··<div>141 ··<div>
141 ····<h4>Next·topic</h4>142 ····<h4>Järgmine·teema</h4>
142 ····<p·class="topless"><a·href="1.9.10.html"143 ····<p·class="topless"><a·href="1.9.10.html"
143 ··························title="next·chapter">Django·1.9.10·release·notes</a></p>144 ··························title="järgmine·jaotis">Django·1.9.10·release·notes</a></p>
144 ··</div>145 ··</div>
145 <search·id="searchbox"·style="display:·none"·role="search">146 <search·id="searchbox"·style="display:·none"·role="search">
146 ··<h3·id="searchlabel">Quick·search</h3>147 ··<h3·id="searchlabel">Kiirotsing</h3>
147 ····<div·class="searchformwrapper">148 ····<div·class="searchformwrapper">
148 ····<form·class="search"·action="../search.html"·method="get">149 ····<form·class="search"·action="../search.html"·method="get">
149 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>150 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
150 ······<input·type="submit"·value="Go"·/>151 ······<input·type="submit"·value="Otsi"·/>
151 ····</form>152 ····</form>
152 ····</div>153 ····</div>
153 </search>154 </search>
154 <script>document.getElementById('searchbox').style.display·=·"block"</script>155 <script>document.getElementById('searchbox').style.display·=·"block"</script>
155 ········</div>156 ········</div>
156 ······</div>157 ······</div>
157 ··············<h3>Last·update:</h3>158 ··············<h3>Last·update:</h3>
158 ··············<p·class="topless">Nov·05,·2024</p>159 ··············<p·class="topless">nov·05,·2024</p>
159 ··········</div>160 ··········</div>
160 ········161 ········
161 ······162 ······
162 ····</div>163 ····</div>
  
163 ····<div·id="ft">164 ····<div·id="ft">
164 ······<div·class="nav">165 ······<div·class="nav">
2.85 KB
html2text {}
Max HTML report size reached
7.3 KB
./usr/share/doc/python-django-doc/html/releases/1.9.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.11·release·notes"·href="1.9.11.html"·/>15 ····<link·rel="next"·title="Django·1.9.11·release·notes"·href="1.9.11.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.13·release·notes"·href="1.9.13.html"·/>16 ····<link·rel="prev"·title="Django·1.9.13·release·notes"·href="1.9.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 16 lines modifiedOffset 81, 16 lines modified
80 ··<section·id="s-django-1-9-12-release-notes">81 ··<section·id="s-django-1-9-12-release-notes">
81 <span·id="django-1-9-12-release-notes"></span><h1>Django·1.9.12·release·notes<a·class="headerlink"·href="#django-1-9-12-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-9-12-release-notes"></span><h1>Django·1.9.12·release·notes<a·class="headerlink"·href="#django-1-9-12-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>December·1,·2016</em></p>83 <p><em>December·1,·2016</em></p>
83 <p>Django·1.9.12·fixes·a·regression·in·1.9.11.</p>84 <p>Django·1.9.12·fixes·a·regression·in·1.9.11.</p>
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Quoted·the·Oracle·test·user’s·password·in·queries·to·fix·the·ORA-00922:88 <li><p>Quoted·the·Oracle·test·user’s·password·in·queries·to·fix·the·ORA-00922:
88 missing·or·invalid·option·error·when·the·password·starts·with·a·number·or89 missing·or·invalid·option·error·when·the·password·starts·with·a·number·or
89 special·character·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27420">#27420</a>).</p></li>90 special·character·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/27420">#27420</a>).</p></li>
90 </ul>91 </ul>
91 </section>92 </section>
92 </section>93 </section>
  
  
93 ··········</div>94 ··········</div>
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·1.9.12·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·1.9.12·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="1.9.13.html"116 ····<p·class="topless"><a·href="1.9.13.html"
116 ··························title="previous·chapter">Django·1.9.13·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·1.9.13·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="1.9.11.html"121 ····<p·class="topless"><a·href="1.9.11.html"
121 ··························title="next·chapter">Django·1.9.11·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·1.9.11·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.19 KB
html2text {}
Max HTML report size reached
11.1 KB
./usr/share/doc/python-django-doc/html/releases/1.9.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.12·release·notes"·href="1.9.12.html"·/>15 ····<link·rel="next"·title="Django·1.9.12·release·notes"·href="1.9.12.html"·/>
15 ····<link·rel="prev"·title="Django·1.10·release·notes"·href="1.10.html"·/>16 ····<link·rel="prev"·title="Django·1.10·release·notes"·href="1.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 82, 17 lines modifiedOffset 83, 17 lines modified
82 <p><em>April·4,·2017</em></p>83 <p><em>April·4,·2017</em></p>
83 <p>Django·1.9.13·fixes·two·security·issues·and·a·bug·in·1.9.12.·This·is·the·final84 <p>Django·1.9.13·fixes·two·security·issues·and·a·bug·in·1.9.12.·This·is·the·final
84 release·of·the·1.9.x·series.</p>85 release·of·the·1.9.x·series.</p>
85 <section·id="s-cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">86 <section·id="s-cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">
86 <span·id="cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"></span><h2>CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs<a·class="headerlink"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"></span><h2>CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs<a·class="headerlink"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls"·title="Link·to·this·heading">¶</a></h2>
87 <p>Django·relies·on·user·input·in·some·cases··(e.g.88 <p>Django·relies·on·user·input·in·some·cases··(e.g.
88 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)89 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
89 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these90 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these
90 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·numeric91 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·numeric
91 URLs·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">http:999999999</span></code>)·safe·when·they·shouldn’t·be.</p>92 URLs·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">http:999999999</span></code>)·safe·when·they·shouldn’t·be.</p>
92 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect93 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect
93 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>94 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>
94 </section>95 </section>
95 <section·id="s-cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">96 <section·id="s-cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">
96 <span·id="cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"></span><h2>CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code><a·class="headerlink"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"·title="Link·to·this·heading">¶</a></h2>97 <span·id="cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"></span><h2>CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code><a·class="headerlink"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve"·title="Link·to·this·heading">¶</a></h2>
97 <p>A·maliciously·crafted·URL·to·a·Django·site·using·the98 <p>A·maliciously·crafted·URL·to·a·Django·site·using·the
98 <a·class="reference·internal"·href="../ref/views.html#django.views.static.serve"·title="django.views.static.serve"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">serve()</span></code></a>·view·could·redirect·to·any·other·domain.·The99 <a·class="reference·internal"·href="../ref/views.html#django.views.static.serve"·title="django.views.static.serve"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">serve()</span></code></a>·view·could·redirect·to·any·other·domain.·The
Offset 117, 49 lines modifiedOffset 118, 49 lines modified
117 ······118 ······
118 ········119 ········
119 ··········<div·class="yui-b"·id="sidebar">120 ··········<div·class="yui-b"·id="sidebar">
120 ············121 ············
121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
122 ········<div·class="sphinxsidebarwrapper">123 ········<div·class="sphinxsidebarwrapper">
123 ··<div>124 ··<div>
124 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>125 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
125 ····<ul>126 ····<ul>
126 <li><a·class="reference·internal"·href="#">Django·1.9.13·release·notes</a><ul>127 <li><a·class="reference·internal"·href="#">Django·1.9.13·release·notes</a><ul>
127 <li><a·class="reference·internal"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs</a></li>128 <li><a·class="reference·internal"·href="#cve-2017-7233-open-redirect-and-possible-xss-attack-via-user-supplied-numeric-redirect-urls">CVE-2017-7233:·Open·redirect·and·possible·XSS·attack·via·user-supplied·numeric·redirect·URLs</a></li>
128 <li><a·class="reference·internal"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code></a></li>129 <li><a·class="reference·internal"·href="#cve-2017-7234-open-redirect-vulnerability-in-django-views-static-serve">CVE-2017-7234:·Open·redirect·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.views.static.serve()</span></code></a></li>
129 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>130 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
130 </ul>131 </ul>
131 </li>132 </li>
132 </ul>133 </ul>
  
133 ··</div>134 ··</div>
134 ··<div>135 ··<div>
135 ····<h4>Previous·topic</h4>136 ····<h4>Eelmine·teema</h4>
136 ····<p·class="topless"><a·href="1.10.html"137 ····<p·class="topless"><a·href="1.10.html"
137 ··························title="previous·chapter">Django·1.10·release·notes</a></p>138 ··························title="eelmine·jaotis">Django·1.10·release·notes</a></p>
138 ··</div>139 ··</div>
139 ··<div>140 ··<div>
140 ····<h4>Next·topic</h4>141 ····<h4>Järgmine·teema</h4>
141 ····<p·class="topless"><a·href="1.9.12.html"142 ····<p·class="topless"><a·href="1.9.12.html"
142 ··························title="next·chapter">Django·1.9.12·release·notes</a></p>143 ··························title="järgmine·jaotis">Django·1.9.12·release·notes</a></p>
143 ··</div>144 ··</div>
144 <search·id="searchbox"·style="display:·none"·role="search">145 <search·id="searchbox"·style="display:·none"·role="search">
145 ··<h3·id="searchlabel">Quick·search</h3>146 ··<h3·id="searchlabel">Kiirotsing</h3>
146 ····<div·class="searchformwrapper">147 ····<div·class="searchformwrapper">
147 ····<form·class="search"·action="../search.html"·method="get">148 ····<form·class="search"·action="../search.html"·method="get">
148 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>149 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
149 ······<input·type="submit"·value="Go"·/>150 ······<input·type="submit"·value="Otsi"·/>
150 ····</form>151 ····</form>
151 ····</div>152 ····</div>
152 </search>153 </search>
153 <script>document.getElementById('searchbox').style.display·=·"block"</script>154 <script>document.getElementById('searchbox').style.display·=·"block"</script>
154 ········</div>155 ········</div>
155 ······</div>156 ······</div>
156 ··············<h3>Last·update:</h3>157 ··············<h3>Last·update:</h3>
157 ··············<p·class="topless">Nov·05,·2024</p>158 ··············<p·class="topless">nov·05,·2024</p>
158 ··········</div>159 ··········</div>
159 ········160 ········
160 ······161 ······
161 ····</div>162 ····</div>
  
162 ····<div·id="ft">163 ····<div·id="ft">
163 ······<div·class="nav">164 ······<div·class="nav">
4.05 KB
html2text {}
Max HTML report size reached
15.6 KB
./usr/share/doc/python-django-doc/html/releases/1.9.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.1·release·notes"·href="1.9.1.html"·/>15 ····<link·rel="next"·title="Django·1.9.1·release·notes"·href="1.9.1.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.3·release·notes"·href="1.9.3.html"·/>16 ····<link·rel="prev"·title="Django·1.9.3·release·notes"·href="1.9.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 19 lines modifiedOffset 81, 19 lines modified
80 ··<section·id="s-django-1-9-2-release-notes">81 ··<section·id="s-django-1-9-2-release-notes">
81 <span·id="django-1-9-2-release-notes"></span><h1>Django·1.9.2·release·notes<a·class="headerlink"·href="#django-1-9-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-9-2-release-notes"></span><h1>Django·1.9.2·release·notes<a·class="headerlink"·href="#django-1-9-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2016</em></p>83 <p><em>February·1,·2016</em></p>
83 <p>Django·1.9.2·fixes·a·security·regression·in·1.9·and·several·bugs·in·1.9.1.·It84 <p>Django·1.9.2·fixes·a·security·regression·in·1.9·and·several·bugs·in·1.9.1.·It
84 also·makes·a·small·backwards·incompatible·change·that·hopefully·doesn’t·affect85 also·makes·a·small·backwards·incompatible·change·that·hopefully·doesn’t·affect
85 any·users.</p>86 any·users.</p>
86 <section·id="s-security-issue-user-with-change-but-not-add-permission-can-create-objects-for-modeladmins-with-save-as-true">87 <section·id="s-security-issue-user-with-change-but-not-add-permission-can-create-objects-for-modeladmins-with-save-as-true">
87 <span·id="security-issue-user-with-change-but-not-add-permission-can-create-objects-for-modeladmins-with-save-as-true"></span><h2>Security·issue:·User·with·change·but·not·add·permission·can·create·objects·for·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>’s·with·<code·class="docutils·literal·notranslate"><span·class="pre">save_as=True</span></code><a·class="headerlink"·href="#security-issue-user-with-change-but-not-add-permission-can-create-objects-for-modeladmins-with-save-as-true"·title="Link·to·this·heading">¶</a></h2>88 <span·id="security-issue-user-with-change-but-not-add-permission-can-create-objects-for-modeladmins-with-save-as-true"></span><h2>Security·issue:·User·with·change·but·not·add·permission·can·create·objects·for·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>’s·with·<code·class="docutils·literal·notranslate"><span·class="pre">save_as=True</span></code><a·class="headerlink"·href="#security-issue-user-with-change-but-not-add-permission-can-create-objects-for-modeladmins-with-save-as-true"·title="Link·to·this·heading">¶</a></h2>
88 <p>If·a·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·uses·<code·class="docutils·literal·notranslate"><span·class="pre">save_as=True</span></code>·(not·the·default),·the·admin89 <p>If·a·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·uses·<code·class="docutils·literal·notranslate"><span·class="pre">save_as=True</span></code>·(not·the·default),·the·admin
89 provides·an·option·when·editing·objects·to·Save·as·new.·A·regression·in90 provides·an·option·when·editing·objects·to·Save·as·new.·A·regression·in
90 Django·1.9·prevented·that·form·submission·from·raising·a·Permission·Denied91 Django·1.9·prevented·that·form·submission·from·raising·a·Permission·Denied
91 error·for·users·without·the·add·permission.</p>92 error·for·users·without·the·add·permission.</p>
92 </section>93 </section>
93 <section·id="s-backwards-incompatible-change-py-tpl-files-rewritten-in-project-app-templates">94 <section·id="s-backwards-incompatible-change-py-tpl-files-rewritten-in-project-app-templates">
94 <span·id="backwards-incompatible-change-py-tpl-files-rewritten-in-project-app-templates"></span><h2>Backwards·incompatible·change:·<code·class="docutils·literal·notranslate"><span·class="pre">.py-tpl</span></code>·files·rewritten·in·project/app·templates<a·class="headerlink"·href="#backwards-incompatible-change-py-tpl-files-rewritten-in-project-app-templates"·title="Link·to·this·heading">¶</a></h2>95 <span·id="backwards-incompatible-change-py-tpl-files-rewritten-in-project-app-templates"></span><h2>Backwards·incompatible·change:·<code·class="docutils·literal·notranslate"><span·class="pre">.py-tpl</span></code>·files·rewritten·in·project/app·templates<a·class="headerlink"·href="#backwards-incompatible-change-py-tpl-files-rewritten-in-project-app-templates"·title="Link·to·this·heading">¶</a></h2>
95 <p>The·addition·of·some·Django·template·language·syntax·to·the·default·app96 <p>The·addition·of·some·Django·template·language·syntax·to·the·default·app
96 template·in·Django·1.9·means·those·files·now·have·some·invalid·Python·syntax.97 template·in·Django·1.9·means·those·files·now·have·some·invalid·Python·syntax.
97 This·causes·difficulties·for·packaging·systems·that·unconditionally98 This·causes·difficulties·for·packaging·systems·that·unconditionally
98 byte-compile·<code·class="docutils·literal·notranslate"><span·class="pre">*.py</span></code>·files.</p>99 byte-compile·<code·class="docutils·literal·notranslate"><span·class="pre">*.py</span></code>·files.</p>
Offset 104, 15 lines modifiedOffset 105, 15 lines modified
104 <code·class="docutils·literal·notranslate"><span·class="pre">.py-tpl</span></code>·files·and·find·this·behavior·problematic.</p>105 <code·class="docutils·literal·notranslate"><span·class="pre">.py-tpl</span></code>·files·and·find·this·behavior·problematic.</p>
105 </section>106 </section>
106 <section·id="s-bugfixes">107 <section·id="s-bugfixes">
107 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>108 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
108 <ul·class="simple">109 <ul·class="simple">
109 <li><p>Fixed·a·regression·in·<code·class="docutils·literal·notranslate"><span·class="pre">ConditionalGetMiddleware</span></code>·causing·<code·class="docutils·literal·notranslate"><span·class="pre">If-None-Match</span></code>110 <li><p>Fixed·a·regression·in·<code·class="docutils·literal·notranslate"><span·class="pre">ConditionalGetMiddleware</span></code>·causing·<code·class="docutils·literal·notranslate"><span·class="pre">If-None-Match</span></code>
110 checks·to·always·return·HTTP·200·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26024">#26024</a>).</p></li>111 checks·to·always·return·HTTP·200·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26024">#26024</a>).</p></li>
111 <li><p>Fixed·a·regression·that·caused·the·user-tools·items·to·display·on·the112 <li><p>Fixed·a·regression·that·caused·the·user-tools·items·to·display·on·the
112 admin’s·logout·page·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26035">#26035</a>).</p></li>113 admin’s·logout·page·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26035">#26035</a>).</p></li>
113 <li><p>Fixed·a·crash·in·the·translations·system·when·the·current·language·has·no114 <li><p>Fixed·a·crash·in·the·translations·system·when·the·current·language·has·no
114 translations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26046">#26046</a>).</p></li>115 translations·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26046">#26046</a>).</p></li>
115 <li><p>Fixed·a·regression·that·caused·the·incorrect·day·to·be·selected·when·opening116 <li><p>Fixed·a·regression·that·caused·the·incorrect·day·to·be·selected·when·opening
116 the·admin·calendar·widget·for·timezones·from·GMT+0100·to·GMT+1200117 the·admin·calendar·widget·for·timezones·from·GMT+0100·to·GMT+1200
117 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24980">#24980</a>).</p></li>118 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24980">#24980</a>).</p></li>
118 <li><p>Fixed·a·regression·in·the·admin’s·edit·related·model·popup·that·caused·an119 <li><p>Fixed·a·regression·in·the·admin’s·edit·related·model·popup·that·caused·an
Offset 168, 49 lines modifiedOffset 169, 49 lines modified
168 ······169 ······
169 ········170 ········
170 ··········<div·class="yui-b"·id="sidebar">171 ··········<div·class="yui-b"·id="sidebar">
171 ············172 ············
172 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">173 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
173 ········<div·class="sphinxsidebarwrapper">174 ········<div·class="sphinxsidebarwrapper">
174 ··<div>175 ··<div>
175 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>176 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
176 ····<ul>177 ····<ul>
177 <li><a·class="reference·internal"·href="#">Django·1.9.2·release·notes</a><ul>178 <li><a·class="reference·internal"·href="#">Django·1.9.2·release·notes</a><ul>
178 <li><a·class="reference·internal"·href="#security-issue-user-with-change-but-not-add-permission-can-create-objects-for-modeladmins-with-save-as-true">Security·issue:·User·with·change·but·not·add·permission·can·create·objects·for·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>’s·with·<code·class="docutils·literal·notranslate"><span·class="pre">save_as=True</span></code></a></li>179 <li><a·class="reference·internal"·href="#security-issue-user-with-change-but-not-add-permission-can-create-objects-for-modeladmins-with-save-as-true">Security·issue:·User·with·change·but·not·add·permission·can·create·objects·for·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>’s·with·<code·class="docutils·literal·notranslate"><span·class="pre">save_as=True</span></code></a></li>
179 <li><a·class="reference·internal"·href="#backwards-incompatible-change-py-tpl-files-rewritten-in-project-app-templates">Backwards·incompatible·change:·<code·class="docutils·literal·notranslate"><span·class="pre">.py-tpl</span></code>·files·rewritten·in·project/app·templates</a></li>180 <li><a·class="reference·internal"·href="#backwards-incompatible-change-py-tpl-files-rewritten-in-project-app-templates">Backwards·incompatible·change:·<code·class="docutils·literal·notranslate"><span·class="pre">.py-tpl</span></code>·files·rewritten·in·project/app·templates</a></li>
180 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>181 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
181 </ul>182 </ul>
182 </li>183 </li>
183 </ul>184 </ul>
  
184 ··</div>185 ··</div>
185 ··<div>186 ··<div>
186 ····<h4>Previous·topic</h4>187 ····<h4>Eelmine·teema</h4>
187 ····<p·class="topless"><a·href="1.9.3.html"188 ····<p·class="topless"><a·href="1.9.3.html"
188 ··························title="previous·chapter">Django·1.9.3·release·notes</a></p>189 ··························title="eelmine·jaotis">Django·1.9.3·release·notes</a></p>
189 ··</div>190 ··</div>
190 ··<div>191 ··<div>
191 ····<h4>Next·topic</h4>192 ····<h4>Järgmine·teema</h4>
192 ····<p·class="topless"><a·href="1.9.1.html"193 ····<p·class="topless"><a·href="1.9.1.html"
193 ··························title="next·chapter">Django·1.9.1·release·notes</a></p>194 ··························title="järgmine·jaotis">Django·1.9.1·release·notes</a></p>
194 ··</div>195 ··</div>
195 <search·id="searchbox"·style="display:·none"·role="search">196 <search·id="searchbox"·style="display:·none"·role="search">
196 ··<h3·id="searchlabel">Quick·search</h3>197 ··<h3·id="searchlabel">Kiirotsing</h3>
197 ····<div·class="searchformwrapper">198 ····<div·class="searchformwrapper">
198 ····<form·class="search"·action="../search.html"·method="get">199 ····<form·class="search"·action="../search.html"·method="get">
199 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>200 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
200 ······<input·type="submit"·value="Go"·/>201 ······<input·type="submit"·value="Otsi"·/>
201 ····</form>202 ····</form>
202 ····</div>203 ····</div>
203 </search>204 </search>
204 <script>document.getElementById('searchbox').style.display·=·"block"</script>205 <script>document.getElementById('searchbox').style.display·=·"block"</script>
205 ········</div>206 ········</div>
206 ······</div>207 ······</div>
207 ··············<h3>Last·update:</h3>208 ··············<h3>Last·update:</h3>
208 ··············<p·class="topless">Nov·05,·2024</p>209 ··············<p·class="topless">nov·05,·2024</p>
209 ··········</div>210 ··········</div>
210 ········211 ········
211 ······212 ······
212 ····</div>213 ····</div>
  
213 ····<div·id="ft">214 ····<div·id="ft">
214 ······<div·class="nav">215 ······<div·class="nav">
5.7 KB
html2text {}
Max HTML report size reached
14.5 KB
./usr/share/doc/python-django-doc/html/releases/1.9.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.2·release·notes"·href="1.9.2.html"·/>15 ····<link·rel="next"·title="Django·1.9.2·release·notes"·href="1.9.2.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.4·release·notes"·href="1.9.4.html"·/>16 ····<link·rel="prev"·title="Django·1.9.4·release·notes"·href="1.9.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 17 lines modifiedOffset 82, 17 lines modified
81 <span·id="django-1-9-3-release-notes"></span><h1>Django·1.9.3·release·notes<a·class="headerlink"·href="#django-1-9-3-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-1-9-3-release-notes"></span><h1>Django·1.9.3·release·notes<a·class="headerlink"·href="#django-1-9-3-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>March·1,·2016</em></p>83 <p><em>March·1,·2016</em></p>
83 <p>Django·1.9.3·fixes·two·security·issues·and·several·bugs·in·1.9.2.</p>84 <p>Django·1.9.3·fixes·two·security·issues·and·several·bugs·in·1.9.2.</p>
84 <section·id="s-cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth">85 <section·id="s-cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth">
85 <span·id="cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth"></span><h2>CVE-2016-2512:·Malicious·redirect·and·possible·XSS·attack·via·user-supplied·redirect·URLs·containing·basic·auth<a·class="headerlink"·href="#cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth"></span><h2>CVE-2016-2512:·Malicious·redirect·and·possible·XSS·attack·via·user-supplied·redirect·URLs·containing·basic·auth<a·class="headerlink"·href="#cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth"·title="Link·to·this·heading">¶</a></h2>
86 <p>Django·relies·on·user·input·in·some·cases·(e.g.87 <p>Django·relies·on·user·input·in·some·cases·(e.g.
87 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)88 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.views.login()</span></code>·and·<a·class="reference·internal"·href="../topics/i18n/index.html"><span·class="doc">i18n</span></a>)
88 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these89 to·redirect·the·user·to·an·on·success·URL.·The·security·check·for·these
89 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·URLs90 redirects·(namely·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.is_safe_url()</span></code>)·considered·some·URLs
90 with·basic·authentication·credentials·safe·when·they·shouldn’t·be.</p>91 with·basic·authentication·credentials·safe·when·they·shouldn’t·be.</p>
91 <p>For·example,·a·URL·like·<code·class="docutils·literal·notranslate"><span·class="pre">http://mysite.example.com\&#64;attacker.com</span></code>·would·be92 <p>For·example,·a·URL·like·<code·class="docutils·literal·notranslate"><span·class="pre">http://mysite.example.com\&#64;attacker.com</span></code>·would·be
92 considered·safe·if·the·request’s·host·is·<code·class="docutils·literal·notranslate"><span·class="pre">http://mysite.example.com</span></code>,·but93 considered·safe·if·the·request’s·host·is·<code·class="docutils·literal·notranslate"><span·class="pre">http://mysite.example.com</span></code>,·but
93 redirecting·to·this·URL·sends·the·user·to·<code·class="docutils·literal·notranslate"><span·class="pre">attacker.com</span></code>.</p>94 redirecting·to·this·URL·sends·the·user·to·<code·class="docutils·literal·notranslate"><span·class="pre">attacker.com</span></code>.</p>
94 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect95 <p>Also,·if·a·developer·relies·on·<code·class="docutils·literal·notranslate"><span·class="pre">is_safe_url()</span></code>·to·provide·safe·redirect
95 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>96 targets·and·puts·such·a·URL·into·a·link,·they·could·suffer·from·an·XSS·attack.</p>
96 </section>97 </section>
97 <section·id="s-cve-2016-2513-user-enumeration-through-timing-difference-on-password-hasher-work-factor-upgrade">98 <section·id="s-cve-2016-2513-user-enumeration-through-timing-difference-on-password-hasher-work-factor-upgrade">
Offset 143, 15 lines modifiedOffset 144, 15 lines modified
143 <li><p>Fixed·a·crash·when·filtering·by·a·<code·class="docutils·literal·notranslate"><span·class="pre">Decimal</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">RawQuery</span></code>144 <li><p>Fixed·a·crash·when·filtering·by·a·<code·class="docutils·literal·notranslate"><span·class="pre">Decimal</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">RawQuery</span></code>
144 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26219">#26219</a>).</p></li>145 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26219">#26219</a>).</p></li>
145 <li><p>Reallowed·dashes·in·top-level·domain·names·of·URLs·checked·by146 <li><p>Reallowed·dashes·in·top-level·domain·names·of·URLs·checked·by
146 <code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·to·fix·a·regression·in·Django·1.8·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26204">#26204</a>).</p></li>147 <code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·to·fix·a·regression·in·Django·1.8·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26204">#26204</a>).</p></li>
147 <li><p>Fixed·some·crashing·deprecation·shims·in·<code·class="docutils·literal·notranslate"><span·class="pre">SimpleTemplateResponse</span></code>·that148 <li><p>Fixed·some·crashing·deprecation·shims·in·<code·class="docutils·literal·notranslate"><span·class="pre">SimpleTemplateResponse</span></code>·that
148 regressed·in·Django·1.9·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26253">#26253</a>).</p></li>149 regressed·in·Django·1.9·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26253">#26253</a>).</p></li>
149 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">BoundField</span></code>·to·reallow·slices·of·subwidgets·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26267">#26267</a>).</p></li>150 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">BoundField</span></code>·to·reallow·slices·of·subwidgets·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26267">#26267</a>).</p></li>
150 <li><p>Changed·the·admin’s·permission·denied·message·in·the·login·template·to·use151 <li><p>Changed·the·admin’s·permission·denied·message·in·the·login·template·to·use
151 <code·class="docutils·literal·notranslate"><span·class="pre">get_username</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">username</span></code>·to·support·custom·user·models152 <code·class="docutils·literal·notranslate"><span·class="pre">get_username</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">username</span></code>·to·support·custom·user·models
152 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26231">#26231</a>).</p></li>153 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26231">#26231</a>).</p></li>
153 <li><p>Fixed·a·crash·when·passing·a·nonexistent·template·name·to·the·cached·template154 <li><p>Fixed·a·crash·when·passing·a·nonexistent·template·name·to·the·cached·template
154 loader’s·<code·class="docutils·literal·notranslate"><span·class="pre">load_template()</span></code>·method·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26280">#26280</a>).</p></li>155 loader’s·<code·class="docutils·literal·notranslate"><span·class="pre">load_template()</span></code>·method·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26280">#26280</a>).</p></li>
155 <li><p>Prevented·<code·class="docutils·literal·notranslate"><span·class="pre">ContentTypeManager</span></code>·instances·from·sharing·their·cache156 <li><p>Prevented·<code·class="docutils·literal·notranslate"><span·class="pre">ContentTypeManager</span></code>·instances·from·sharing·their·cache
156 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26286">#26286</a>).</p></li>157 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26286">#26286</a>).</p></li>
157 <li><p>Reverted·a·change·in·Django·1.9.2·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25858">#25858</a>)·that·prevented·relative158 <li><p>Reverted·a·change·in·Django·1.9.2·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/25858">#25858</a>)·that·prevented·relative
Offset 168, 49 lines modifiedOffset 169, 49 lines modified
168 ······169 ······
169 ········170 ········
170 ··········<div·class="yui-b"·id="sidebar">171 ··········<div·class="yui-b"·id="sidebar">
171 ············172 ············
172 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">173 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
173 ········<div·class="sphinxsidebarwrapper">174 ········<div·class="sphinxsidebarwrapper">
174 ··<div>175 ··<div>
175 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>176 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
176 ····<ul>177 ····<ul>
177 <li><a·class="reference·internal"·href="#">Django·1.9.3·release·notes</a><ul>178 <li><a·class="reference·internal"·href="#">Django·1.9.3·release·notes</a><ul>
178 <li><a·class="reference·internal"·href="#cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth">CVE-2016-2512:·Malicious·redirect·and·possible·XSS·attack·via·user-supplied·redirect·URLs·containing·basic·auth</a></li>179 <li><a·class="reference·internal"·href="#cve-2016-2512-malicious-redirect-and-possible-xss-attack-via-user-supplied-redirect-urls-containing-basic-auth">CVE-2016-2512:·Malicious·redirect·and·possible·XSS·attack·via·user-supplied·redirect·URLs·containing·basic·auth</a></li>
179 <li><a·class="reference·internal"·href="#cve-2016-2513-user-enumeration-through-timing-difference-on-password-hasher-work-factor-upgrade">CVE-2016-2513:·User·enumeration·through·timing·difference·on·password·hasher·work·factor·upgrade</a></li>180 <li><a·class="reference·internal"·href="#cve-2016-2513-user-enumeration-through-timing-difference-on-password-hasher-work-factor-upgrade">CVE-2016-2513:·User·enumeration·through·timing·difference·on·password·hasher·work·factor·upgrade</a></li>
180 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>181 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
181 </ul>182 </ul>
182 </li>183 </li>
183 </ul>184 </ul>
  
184 ··</div>185 ··</div>
185 ··<div>186 ··<div>
186 ····<h4>Previous·topic</h4>187 ····<h4>Eelmine·teema</h4>
187 ····<p·class="topless"><a·href="1.9.4.html"188 ····<p·class="topless"><a·href="1.9.4.html"
188 ··························title="previous·chapter">Django·1.9.4·release·notes</a></p>189 ··························title="eelmine·jaotis">Django·1.9.4·release·notes</a></p>
189 ··</div>190 ··</div>
190 ··<div>191 ··<div>
191 ····<h4>Next·topic</h4>192 ····<h4>Järgmine·teema</h4>
192 ····<p·class="topless"><a·href="1.9.2.html"193 ····<p·class="topless"><a·href="1.9.2.html"
193 ··························title="next·chapter">Django·1.9.2·release·notes</a></p>194 ··························title="järgmine·jaotis">Django·1.9.2·release·notes</a></p>
194 ··</div>195 ··</div>
195 <search·id="searchbox"·style="display:·none"·role="search">196 <search·id="searchbox"·style="display:·none"·role="search">
196 ··<h3·id="searchlabel">Quick·search</h3>197 ··<h3·id="searchlabel">Kiirotsing</h3>
197 ····<div·class="searchformwrapper">198 ····<div·class="searchformwrapper">
198 ····<form·class="search"·action="../search.html"·method="get">199 ····<form·class="search"·action="../search.html"·method="get">
199 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>200 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
200 ······<input·type="submit"·value="Go"·/>201 ······<input·type="submit"·value="Otsi"·/>
201 ····</form>202 ····</form>
202 ····</div>203 ····</div>
203 </search>204 </search>
204 <script>document.getElementById('searchbox').style.display·=·"block"</script>205 <script>document.getElementById('searchbox').style.display·=·"block"</script>
205 ········</div>206 ········</div>
206 ······</div>207 ······</div>
207 ··············<h3>Last·update:</h3>208 ··············<h3>Last·update:</h3>
208 ··············<p·class="topless">Nov·05,·2024</p>209 ··············<p·class="topless">nov·05,·2024</p>
209 ··········</div>210 ··········</div>
210 ········211 ········
211 ······212 ······
212 ····</div>213 ····</div>
  
213 ····<div·id="ft">214 ····<div·id="ft">
214 ······<div·class="nav">215 ······<div·class="nav">
5.17 KB
html2text {}
Max HTML report size reached
5.33 KB
./usr/share/doc/python-django-doc/html/releases/1.9.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.3·release·notes"·href="1.9.3.html"·/>15 ····<link·rel="next"·title="Django·1.9.3·release·notes"·href="1.9.3.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.5·release·notes"·href="1.9.5.html"·/>16 ····<link·rel="prev"·title="Django·1.9.5·release·notes"·href="1.9.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 91, 37 lines modifiedOffset 92, 37 lines modified
91 ······92 ······
92 ········93 ········
93 ··········<div·class="yui-b"·id="sidebar">94 ··········<div·class="yui-b"·id="sidebar">
94 ············95 ············
95 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">96 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
96 ········<div·class="sphinxsidebarwrapper">97 ········<div·class="sphinxsidebarwrapper">
97 ··<div>98 ··<div>
98 ····<h4>Previous·topic</h4>99 ····<h4>Eelmine·teema</h4>
99 ····<p·class="topless"><a·href="1.9.5.html"100 ····<p·class="topless"><a·href="1.9.5.html"
100 ··························title="previous·chapter">Django·1.9.5·release·notes</a></p>101 ··························title="eelmine·jaotis">Django·1.9.5·release·notes</a></p>
101 ··</div>102 ··</div>
102 ··<div>103 ··<div>
103 ····<h4>Next·topic</h4>104 ····<h4>Järgmine·teema</h4>
104 ····<p·class="topless"><a·href="1.9.3.html"105 ····<p·class="topless"><a·href="1.9.3.html"
105 ··························title="next·chapter">Django·1.9.3·release·notes</a></p>106 ··························title="järgmine·jaotis">Django·1.9.3·release·notes</a></p>
106 ··</div>107 ··</div>
107 <search·id="searchbox"·style="display:·none"·role="search">108 <search·id="searchbox"·style="display:·none"·role="search">
108 ··<h3·id="searchlabel">Quick·search</h3>109 ··<h3·id="searchlabel">Kiirotsing</h3>
109 ····<div·class="searchformwrapper">110 ····<div·class="searchformwrapper">
110 ····<form·class="search"·action="../search.html"·method="get">111 ····<form·class="search"·action="../search.html"·method="get">
111 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>112 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
112 ······<input·type="submit"·value="Go"·/>113 ······<input·type="submit"·value="Otsi"·/>
113 ····</form>114 ····</form>
114 ····</div>115 ····</div>
115 </search>116 </search>
116 <script>document.getElementById('searchbox').style.display·=·"block"</script>117 <script>document.getElementById('searchbox').style.display·=·"block"</script>
117 ········</div>118 ········</div>
118 ······</div>119 ······</div>
119 ··············<h3>Last·update:</h3>120 ··············<h3>Last·update:</h3>
120 ··············<p·class="topless">Nov·05,·2024</p>121 ··············<p·class="topless">nov·05,·2024</p>
121 ··········</div>122 ··········</div>
122 ········123 ········
123 ······124 ······
124 ····</div>125 ····</div>
  
125 ····<div·id="ft">126 ····<div·id="ft">
126 ······<div·class="nav">127 ······<div·class="nav">
1.54 KB
html2text {}
    
Offset 1, 16 lines modifiedOffset 1, 16 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.9\x89.\x8.4\x84·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·1\x81.\x8.9\x89.\x8.4\x84·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 M\x8Ma\x8ar\x8rc\x8ch\x8h·5\x85,\x8,·2\x820\x801\x816\x865 M\x8Ma\x8ar\x8rc\x8ch\x8h·5\x85,\x8,·2\x820\x801\x816\x86
6 Django·1.9.4·fixes·a·regression·on·Python·2·in·the·1.9.3·security·release·where6 Django·1.9.4·fixes·a·regression·on·Python·2·in·the·1.9.3·security·release·where
7 utils.http.is_safe_url()·crashes·on·bytestring·URLs·(_\x8#_\x82_\x86_\x83_\x80_\x88).7 utils.http.is_safe_url()·crashes·on·bytestring·URLs·(_\x8#_\x82_\x86_\x83_\x80_\x88).
8 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*8 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
9 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x89_\x8._\x85_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s9 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x89_\x8._\x85_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
10 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*10 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x89_\x8._\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s11 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x81_\x8._\x89_\x8._\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
12 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*12 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
13 [q···················][Go]13 [q···················][Otsi]
14 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*14 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
15 Nov·05,·202415 nov·05,·2024
16 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»16 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
6.44 KB
./usr/share/doc/python-django-doc/html/releases/1.9.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.4·release·notes"·href="1.9.4.html"·/>15 ····<link·rel="next"·title="Django·1.9.4·release·notes"·href="1.9.4.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.6·release·notes"·href="1.9.6.html"·/>16 ····<link·rel="prev"·title="Django·1.9.6·release·notes"·href="1.9.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 124, 47 lines modifiedOffset 125, 47 lines modified
124 ······125 ······
125 ········126 ········
126 ··········<div·class="yui-b"·id="sidebar">127 ··········<div·class="yui-b"·id="sidebar">
127 ············128 ············
128 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">129 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
129 ········<div·class="sphinxsidebarwrapper">130 ········<div·class="sphinxsidebarwrapper">
130 ··<div>131 ··<div>
131 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>132 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
132 ····<ul>133 ····<ul>
133 <li><a·class="reference·internal"·href="#">Django·1.9.5·release·notes</a><ul>134 <li><a·class="reference·internal"·href="#">Django·1.9.5·release·notes</a><ul>
134 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>135 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
135 </ul>136 </ul>
136 </li>137 </li>
137 </ul>138 </ul>
  
138 ··</div>139 ··</div>
139 ··<div>140 ··<div>
140 ····<h4>Previous·topic</h4>141 ····<h4>Eelmine·teema</h4>
141 ····<p·class="topless"><a·href="1.9.6.html"142 ····<p·class="topless"><a·href="1.9.6.html"
142 ··························title="previous·chapter">Django·1.9.6·release·notes</a></p>143 ··························title="eelmine·jaotis">Django·1.9.6·release·notes</a></p>
143 ··</div>144 ··</div>
144 ··<div>145 ··<div>
145 ····<h4>Next·topic</h4>146 ····<h4>Järgmine·teema</h4>
146 ····<p·class="topless"><a·href="1.9.4.html"147 ····<p·class="topless"><a·href="1.9.4.html"
147 ··························title="next·chapter">Django·1.9.4·release·notes</a></p>148 ··························title="järgmine·jaotis">Django·1.9.4·release·notes</a></p>
148 ··</div>149 ··</div>
149 <search·id="searchbox"·style="display:·none"·role="search">150 <search·id="searchbox"·style="display:·none"·role="search">
150 ··<h3·id="searchlabel">Quick·search</h3>151 ··<h3·id="searchlabel">Kiirotsing</h3>
151 ····<div·class="searchformwrapper">152 ····<div·class="searchformwrapper">
152 ····<form·class="search"·action="../search.html"·method="get">153 ····<form·class="search"·action="../search.html"·method="get">
153 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
154 ······<input·type="submit"·value="Go"·/>155 ······<input·type="submit"·value="Otsi"·/>
155 ····</form>156 ····</form>
156 ····</div>157 ····</div>
157 </search>158 </search>
158 <script>document.getElementById('searchbox').style.display·=·"block"</script>159 <script>document.getElementById('searchbox').style.display·=·"block"</script>
159 ········</div>160 ········</div>
160 ······</div>161 ······</div>
161 ··············<h3>Last·update:</h3>162 ··············<h3>Last·update:</h3>
162 ··············<p·class="topless">Nov·05,·2024</p>163 ··············<p·class="topless">nov·05,·2024</p>
163 ··········</div>164 ··········</div>
164 ········165 ········
165 ······166 ······
166 ····</div>167 ····</div>
  
167 ····<div·id="ft">168 ····<div·id="ft">
168 ······<div·class="nav">169 ······<div·class="nav">
2.32 KB
html2text {}
Max HTML report size reached
6.5 KB
./usr/share/doc/python-django-doc/html/releases/1.9.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.5·release·notes"·href="1.9.5.html"·/>15 ····<link·rel="next"·title="Django·1.9.5·release·notes"·href="1.9.5.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.7·release·notes"·href="1.9.7.html"·/>16 ····<link·rel="prev"·title="Django·1.9.7·release·notes"·href="1.9.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 110, 47 lines modifiedOffset 111, 47 lines modified
110 ······111 ······
111 ········112 ········
112 ··········<div·class="yui-b"·id="sidebar">113 ··········<div·class="yui-b"·id="sidebar">
113 ············114 ············
114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
115 ········<div·class="sphinxsidebarwrapper">116 ········<div·class="sphinxsidebarwrapper">
116 ··<div>117 ··<div>
117 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>118 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
118 ····<ul>119 ····<ul>
119 <li><a·class="reference·internal"·href="#">Django·1.9.6·release·notes</a><ul>120 <li><a·class="reference·internal"·href="#">Django·1.9.6·release·notes</a><ul>
120 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>121 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="1.9.7.html"128 ····<p·class="topless"><a·href="1.9.7.html"
128 ··························title="previous·chapter">Django·1.9.7·release·notes</a></p>129 ··························title="eelmine·jaotis">Django·1.9.7·release·notes</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="1.9.5.html"133 ····<p·class="topless"><a·href="1.9.5.html"
133 ··························title="next·chapter">Django·1.9.5·release·notes</a></p>134 ··························title="järgmine·jaotis">Django·1.9.5·release·notes</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../search.html"·method="get">139 ····<form·class="search"·action="../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
2.38 KB
html2text {}
Max HTML report size reached
8.62 KB
./usr/share/doc/python-django-doc/html/releases/1.9.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.6·release·notes"·href="1.9.6.html"·/>15 ····<link·rel="next"·title="Django·1.9.6·release·notes"·href="1.9.6.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.8·release·notes"·href="1.9.8.html"·/>16 ····<link·rel="prev"·title="Django·1.9.8·release·notes"·href="1.9.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 82, 15 lines modifiedOffset 83, 15 lines modified
82 <p><em>June·4,·2016</em></p>83 <p><em>June·4,·2016</em></p>
83 <p>Django·1.9.7·fixes·several·bugs·in·1.9.6.</p>84 <p>Django·1.9.7·fixes·several·bugs·in·1.9.6.</p>
84 <section·id="s-bugfixes">85 <section·id="s-bugfixes">
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Removed·the·need·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·context·processor·on·the·admin·login88 <li><p>Removed·the·need·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·context·processor·on·the·admin·login
88 page·to·fix·a·regression·in·1.9·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26558">#26558</a>).</p></li>89 page·to·fix·a·regression·in·1.9·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26558">#26558</a>).</p></li>
89 <li><p>Fixed·translation·of·password·validators·<code·class="docutils·literal·notranslate"><span·class="pre">help_text</span></code>·in·forms90 <li><p>Fixed·translation·of·password·validators·<code·class="docutils·literal·notranslate"><span·class="pre">help_text</span></code>·in·forms
90 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26544">#26544</a>).</p></li>91 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26544">#26544</a>).</p></li>
91 <li><p>Fixed·a·regression·causing·the·cached·template·loader·to·crash·when·using92 <li><p>Fixed·a·regression·causing·the·cached·template·loader·to·crash·when·using
92 lazy·template·names·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26603">#26603</a>).</p></li>93 lazy·template·names·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26603">#26603</a>).</p></li>
93 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">on_commit</span></code>·callbacks·execution·order·when·callbacks·make94 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">on_commit</span></code>·callbacks·execution·order·when·callbacks·make
94 transactions·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26627">#26627</a>).</p></li>95 transactions·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26627">#26627</a>).</p></li>
95 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code>·to·raise·a·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code>·instead·of·crashing·on96 <li><p>Fixed·<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code>·to·raise·a·<code·class="docutils·literal·notranslate"><span·class="pre">ValidationError</span></code>·instead·of·crashing·on
96 non-dictionary·JSON·input·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26672">#26672</a>).</p></li>97 non-dictionary·JSON·input·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/26672">#26672</a>).</p></li>
Offset 109, 47 lines modifiedOffset 110, 47 lines modified
109 ······110 ······
110 ········111 ········
111 ··········<div·class="yui-b"·id="sidebar">112 ··········<div·class="yui-b"·id="sidebar">
112 ············113 ············
113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
114 ········<div·class="sphinxsidebarwrapper">115 ········<div·class="sphinxsidebarwrapper">
115 ··<div>116 ··<div>
116 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>117 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
117 ····<ul>118 ····<ul>
118 <li><a·class="reference·internal"·href="#">Django·1.9.7·release·notes</a><ul>119 <li><a·class="reference·internal"·href="#">Django·1.9.7·release·notes</a><ul>
119 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>120 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
120 </ul>121 </ul>
121 </li>122 </li>
122 </ul>123 </ul>
  
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Previous·topic</h4>126 ····<h4>Eelmine·teema</h4>
126 ····<p·class="topless"><a·href="1.9.8.html"127 ····<p·class="topless"><a·href="1.9.8.html"
127 ··························title="previous·chapter">Django·1.9.8·release·notes</a></p>128 ··························title="eelmine·jaotis">Django·1.9.8·release·notes</a></p>
128 ··</div>129 ··</div>
129 ··<div>130 ··<div>
130 ····<h4>Next·topic</h4>131 ····<h4>Järgmine·teema</h4>
131 ····<p·class="topless"><a·href="1.9.6.html"132 ····<p·class="topless"><a·href="1.9.6.html"
132 ··························title="next·chapter">Django·1.9.6·release·notes</a></p>133 ··························title="järgmine·jaotis">Django·1.9.6·release·notes</a></p>
133 ··</div>134 ··</div>
134 <search·id="searchbox"·style="display:·none"·role="search">135 <search·id="searchbox"·style="display:·none"·role="search">
135 ··<h3·id="searchlabel">Quick·search</h3>136 ··<h3·id="searchlabel">Kiirotsing</h3>
136 ····<div·class="searchformwrapper">137 ····<div·class="searchformwrapper">
137 ····<form·class="search"·action="../search.html"·method="get">138 ····<form·class="search"·action="../search.html"·method="get">
138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
139 ······<input·type="submit"·value="Go"·/>140 ······<input·type="submit"·value="Otsi"·/>
140 ····</form>141 ····</form>
141 ····</div>142 ····</div>
142 </search>143 </search>
143 <script>document.getElementById('searchbox').style.display·=·"block"</script>144 <script>document.getElementById('searchbox').style.display·=·"block"</script>
144 ········</div>145 ········</div>
145 ······</div>146 ······</div>
146 ··············<h3>Last·update:</h3>147 ··············<h3>Last·update:</h3>
147 ··············<p·class="topless">Nov·05,·2024</p>148 ··············<p·class="topless">nov·05,·2024</p>
148 ··········</div>149 ··········</div>
149 ········150 ········
150 ······151 ······
151 ····</div>152 ····</div>
  
152 ····<div·id="ft">153 ····<div·id="ft">
153 ······<div·class="nav">154 ······<div·class="nav">
2.69 KB
html2text {}
Max HTML report size reached
6.86 KB
./usr/share/doc/python-django-doc/html/releases/1.9.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.7·release·notes"·href="1.9.7.html"·/>15 ····<link·rel="next"·title="Django·1.9.7·release·notes"·href="1.9.7.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.9·release·notes"·href="1.9.9.html"·/>16 ····<link·rel="prev"·title="Django·1.9.9·release·notes"·href="1.9.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 109, 48 lines modifiedOffset 110, 48 lines modified
109 ······110 ······
110 ········111 ········
111 ··········<div·class="yui-b"·id="sidebar">112 ··········<div·class="yui-b"·id="sidebar">
112 ············113 ············
113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
114 ········<div·class="sphinxsidebarwrapper">115 ········<div·class="sphinxsidebarwrapper">
115 ··<div>116 ··<div>
116 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>117 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
117 ····<ul>118 ····<ul>
118 <li><a·class="reference·internal"·href="#">Django·1.9.8·release·notes</a><ul>119 <li><a·class="reference·internal"·href="#">Django·1.9.8·release·notes</a><ul>
119 <li><a·class="reference·internal"·href="#xss-in-admin-s-add-change-related-popup">XSS·in·admin’s·add/change·related·popup</a></li>120 <li><a·class="reference·internal"·href="#xss-in-admin-s-add-change-related-popup">XSS·in·admin’s·add/change·related·popup</a></li>
120 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>121 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="1.9.9.html"128 ····<p·class="topless"><a·href="1.9.9.html"
128 ··························title="previous·chapter">Django·1.9.9·release·notes</a></p>129 ··························title="eelmine·jaotis">Django·1.9.9·release·notes</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="1.9.7.html"133 ····<p·class="topless"><a·href="1.9.7.html"
133 ··························title="next·chapter">Django·1.9.7·release·notes</a></p>134 ··························title="järgmine·jaotis">Django·1.9.7·release·notes</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../search.html"·method="get">139 ····<form·class="search"·action="../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
2.61 KB
html2text {}
Max HTML report size reached
6.1 KB
./usr/share/doc/python-django-doc/html/releases/1.9.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.9.8·release·notes"·href="1.9.8.html"·/>15 ····<link·rel="next"·title="Django·1.9.8·release·notes"·href="1.9.8.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.10·release·notes"·href="1.9.10.html"·/>16 ····<link·rel="prev"·title="Django·1.9.10·release·notes"·href="1.9.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·1.9.9·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·1.9.9·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="1.9.10.html"116 ····<p·class="topless"><a·href="1.9.10.html"
116 ··························title="previous·chapter">Django·1.9.10·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·1.9.10·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="1.9.8.html"121 ····<p·class="topless"><a·href="1.9.8.html"
121 ··························title="next·chapter">Django·1.9.8·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·1.9.8·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
1.98 KB
html2text {}
Max HTML report size reached
39.0 KB
./usr/share/doc/python-django-doc/html/releases/1.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·1.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·1.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.8.19·release·notes"·href="1.8.19.html"·/>15 ····<link·rel="next"·title="Django·1.8.19·release·notes"·href="1.8.19.html"·/>
15 ····<link·rel="prev"·title="Django·1.9.1·release·notes"·href="1.9.1.html"·/>16 ····<link·rel="prev"·title="Django·1.9.1·release·notes"·href="1.9.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 213, 15 lines modifiedOffset 214, 15 lines modified
213 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.AdminSite.each_context"·title="django.contrib.admin.AdminSite.each_context"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">AdminSite.each_context()</span></code></a>214 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.AdminSite.each_context"·title="django.contrib.admin.AdminSite.each_context"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">AdminSite.each_context()</span></code></a>
214 method.</p></li>215 method.</p></li>
215 <li><p><a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.AdminSite.empty_value_display"·title="django.contrib.admin.AdminSite.empty_value_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">AdminSite.empty_value_display</span></code></a>·and216 <li><p><a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.AdminSite.empty_value_display"·title="django.contrib.admin.AdminSite.empty_value_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">AdminSite.empty_value_display</span></code></a>·and
216 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.empty_value_display"·title="django.contrib.admin.ModelAdmin.empty_value_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.empty_value_display</span></code></a>·were·added·to·override217 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.empty_value_display"·title="django.contrib.admin.ModelAdmin.empty_value_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.empty_value_display</span></code></a>·were·added·to·override
217 the·display·of·empty·values·in·admin·change·list.·You·can·also·customize·the218 the·display·of·empty·values·in·admin·change·list.·You·can·also·customize·the
218 value·for·each·field.</p></li>219 value·for·each·field.</p></li>
219 <li><p>Added·jQuery·events·<a·class="reference·internal"·href="../ref/contrib/admin/javascript.html#admin-javascript-inline-form-events"><span·class="std·std-ref">when·an·inline·form·is·added·or·removed</span></a>·on·the·change·form·page.</p></li>220 <li><p>Added·jQuery·events·<a·class="reference·internal"·href="../ref/contrib/admin/javascript.html#admin-javascript-inline-form-events"><span·class="std·std-ref">when·an·inline·form·is·added·or·removed</span></a>·on·the·change·form·page.</p></li>
220 <li><p>The·time·picker·widget·includes·a·6·p.m·option·for·consistency·of·having221 <li><p>The·time·picker·widget·includes·a·6·p.m·option·for·consistency·of·having
221 predefined·options·every·6·hours.</p></li>222 predefined·options·every·6·hours.</p></li>
222 <li><p>JavaScript·slug·generation·now·supports·Romanian·characters.</p></li>223 <li><p>JavaScript·slug·generation·now·supports·Romanian·characters.</p></li>
223 </ul>224 </ul>
224 </section>225 </section>
225 <section·id="s-django-contrib-admindocs">226 <section·id="s-django-contrib-admindocs">
226 <span·id="django-contrib-admindocs"></span><h4><a·class="reference·internal"·href="../ref/contrib/admin/admindocs.html#module-django.contrib.admindocs"·title="django.contrib.admindocs:·Django's·admin·documentation·generator."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admindocs</span></code></a><a·class="headerlink"·href="#django-contrib-admindocs"·title="Link·to·this·heading">¶</a></h4>227 <span·id="django-contrib-admindocs"></span><h4><a·class="reference·internal"·href="../ref/contrib/admin/admindocs.html#module-django.contrib.admindocs"·title="django.contrib.admindocs:·Django's·admin·documentation·generator."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admindocs</span></code></a><a·class="headerlink"·href="#django-contrib-admindocs"·title="Link·to·this·heading">¶</a></h4>
227 <ul·class="simple">228 <ul·class="simple">
Offset 460, 15 lines modifiedOffset 461, 15 lines modified
460 <ul>461 <ul>
461 <li><p>Initial·migrations·are·now·marked·with·an·<a·class="reference·internal"·href="../topics/migrations.html#django.db.migrations.Migration.initial"·title="django.db.migrations.Migration.initial"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">initial</span>·<span·class="pre">=</span>·<span·class="pre">True</span></code></a>·class·attribute·which·allows462 <li><p>Initial·migrations·are·now·marked·with·an·<a·class="reference·internal"·href="../topics/migrations.html#django.db.migrations.Migration.initial"·title="django.db.migrations.Migration.initial"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">initial</span>·<span·class="pre">=</span>·<span·class="pre">True</span></code></a>·class·attribute·which·allows
462 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-migrate-fake-initial"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">migrate</span>·<span·class="pre">--fake-initial</span></code></a>·to·more·easily·detect·initial·migrations.</p></li>463 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-migrate-fake-initial"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">migrate</span>·<span·class="pre">--fake-initial</span></code></a>·to·more·easily·detect·initial·migrations.</p></li>
463 <li><p>Added·support·for·serialization·of·<code·class="docutils·literal·notranslate"><span·class="pre">functools.partial</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">LazyObject</span></code>464 <li><p>Added·support·for·serialization·of·<code·class="docutils·literal·notranslate"><span·class="pre">functools.partial</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">LazyObject</span></code>
464 instances.</p></li>465 instances.</p></li>
465 <li><p>When·supplying·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·as·a·value·in·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MIGRATION_MODULES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIGRATION_MODULES</span></code></a>,·Django466 <li><p>When·supplying·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·as·a·value·in·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MIGRATION_MODULES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIGRATION_MODULES</span></code></a>,·Django
466 will·consider·the·app·an·app·without·migrations.</p></li>467 will·consider·the·app·an·app·without·migrations.</p></li>
467 <li><p>When·applying·migrations,·the·Rendering·model·states·step·that’s·displayed468 <li><p>When·applying·migrations,·the·Rendering·model·states·step·that’s·displayed
468 when·running·migrate·with·verbosity·2·or·higher·now·computes·only·the·states469 when·running·migrate·with·verbosity·2·or·higher·now·computes·only·the·states
469 for·the·migrations·that·have·already·been·applied.·The·model·states·for470 for·the·migrations·that·have·already·been·applied.·The·model·states·for
470 migrations·being·applied·are·generated·on·demand,·drastically·reducing·the471 migrations·being·applied·are·generated·on·demand,·drastically·reducing·the
471 amount·of·required·memory.</p>472 amount·of·required·memory.</p>
472 <p>However,·this·improvement·is·not·available·when·unapplying·migrations·and473 <p>However,·this·improvement·is·not·available·when·unapplying·migrations·and
473 therefore·still·requires·the·precomputation·and·storage·of·the·intermediate474 therefore·still·requires·the·precomputation·and·storage·of·the·intermediate
474 migration·states.</p>475 migration·states.</p>
Offset 583, 15 lines modifiedOffset 584, 15 lines modified
583 <li><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>·level·message·for·uncaught·exceptions·raised584 <li><p>A·<code·class="docutils·literal·notranslate"><span·class="pre">WARNING</span></code>·level·message·for·uncaught·exceptions·raised
584 during·the·rendering·of·an·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">include</span>·<span·class="pre">%}</span></code>·when·debug·mode·is·off585 during·the·rendering·of·an·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">include</span>·<span·class="pre">%}</span></code>·when·debug·mode·is·off
585 (helpful·since·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">include</span>·<span·class="pre">%}</span></code>·silences·the·exception·and·returns·an586 (helpful·since·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">include</span>·<span·class="pre">%}</span></code>·silences·the·exception·and·returns·an
586 empty·string).</p></li>587 empty·string).</p></li>
587 </ul>588 </ul>
588 </li>589 </li>
589 <li><p>The·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-firstof"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">firstof</span></code></a>·template·tag·supports·storing·the·output·in·a·variable590 <li><p>The·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-firstof"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">firstof</span></code></a>·template·tag·supports·storing·the·output·in·a·variable
590 using·as.</p></li>591 using·as.</p></li>
591 <li><p><a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context.update"·title="django.template.Context.update"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Context.update()</span></code></a>·can·now·be·used·as592 <li><p><a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context.update"·title="django.template.Context.update"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Context.update()</span></code></a>·can·now·be·used·as
592 a·context·manager.</p></li>593 a·context·manager.</p></li>
593 <li><p>Django·template·loaders·can·now·extend·templates·recursively.</p></li>594 <li><p>Django·template·loaders·can·now·extend·templates·recursively.</p></li>
594 <li><p>The·debug·page·template·postmortem·now·include·output·from·each·engine·that595 <li><p>The·debug·page·template·postmortem·now·include·output·from·each·engine·that
595 is·installed.</p></li>596 is·installed.</p></li>
596 <li><p><a·class="reference·internal"·href="../howto/custom-template-backend.html#template-debug-integration"><span·class="std·std-ref">Debug·page·integration</span></a>·for·custom597 <li><p><a·class="reference·internal"·href="../howto/custom-template-backend.html#template-debug-integration"><span·class="std·std-ref">Debug·page·integration</span></a>·for·custom
597 template·engines·was·added.</p></li>598 template·engines·was·added.</p></li>
Offset 638, 15 lines modifiedOffset 639, 15 lines modified
638 </ul>639 </ul>
639 </section>640 </section>
640 </section>641 </section>
641 </section>642 </section>
642 <section·id="s-backwards-incompatible-changes-in-1-9">643 <section·id="s-backwards-incompatible-changes-in-1-9">
643 <span·id="s-backwards-incompatible-1-9"></span><span·id="backwards-incompatible-changes-in-1-9"></span><span·id="backwards-incompatible-1-9"></span><h2>Backwards·incompatible·changes·in·1.9<a·class="headerlink"·href="#backwards-incompatible-changes-in-1-9"·title="Link·to·this·heading">¶</a></h2>644 <span·id="s-backwards-incompatible-1-9"></span><span·id="backwards-incompatible-changes-in-1-9"></span><span·id="backwards-incompatible-1-9"></span><h2>Backwards·incompatible·changes·in·1.9<a·class="headerlink"·href="#backwards-incompatible-changes-in-1-9"·title="Link·to·this·heading">¶</a></h2>
644 <div·class="admonition·warning">645 <div·class="admonition·warning">
645 <p·class="admonition-title">Warning</p>646 <p·class="admonition-title">Hoiatus</p>
646 <p>In·addition·to·the·changes·outlined·in·this·section,·be·sure·to·review·the647 <p>In·addition·to·the·changes·outlined·in·this·section,·be·sure·to·review·the
647 <a·class="reference·internal"·href="#removed-features-1-9"><span·class="std·std-ref">Features·removed·in·1.9</span></a>·for·the·features·that·have·reached·the·end·of648 <a·class="reference·internal"·href="#removed-features-1-9"><span·class="std·std-ref">Features·removed·in·1.9</span></a>·for·the·features·that·have·reached·the·end·of
648 their·deprecation·cycle·and·therefore·been·removed.·If·you·haven’t·updated649 their·deprecation·cycle·and·therefore·been·removed.·If·you·haven’t·updated
649 your·code·within·the·deprecation·timeline·for·a·given·feature,·its·removal650 your·code·within·the·deprecation·timeline·for·a·given·feature,·its·removal
650 may·appear·as·a·backwards·incompatible·change.</p>651 may·appear·as·a·backwards·incompatible·change.</p>
651 </div>652 </div>
652 <section·id="s-database-backend-api">653 <section·id="s-database-backend-api">
Offset 654, 18 lines modifiedOffset 655, 18 lines modified
654 <ul>655 <ul>
655 <li><p>A·couple·of·new·tests·rely·on·the·ability·of·the·backend·to·introspect·column656 <li><p>A·couple·of·new·tests·rely·on·the·ability·of·the·backend·to·introspect·column
656 defaults·(returning·the·result·as·<code·class="docutils·literal·notranslate"><span·class="pre">Field.default</span></code>).·You·can·set·the657 defaults·(returning·the·result·as·<code·class="docutils·literal·notranslate"><span·class="pre">Field.default</span></code>).·You·can·set·the
657 <code·class="docutils·literal·notranslate"><span·class="pre">can_introspect_default</span></code>·database·feature·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·if·your·backend658 <code·class="docutils·literal·notranslate"><span·class="pre">can_introspect_default</span></code>·database·feature·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>·if·your·backend
658 doesn’t·implement·this.·You·may·want·to·review·the·implementation·on·the659 doesn’t·implement·this.·You·may·want·to·review·the·implementation·on·the
659 backends·that·Django·includes·for·reference·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24245">#24245</a>).</p></li>660 backends·that·Django·includes·for·reference·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/24245">#24245</a>).</p></li>
660 <li><p>Registering·a·global·adapter·or·converter·at·the·level·of·the·DB-API·module661 <li><p>Registering·a·global·adapter·or·converter·at·the·level·of·the·DB-API·module
661 to·handle·time·zone·information·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·values·passed662 to·handle·time·zone·information·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·values·passed
662 as·query·parameters·or·returned·as·query·results·on·databases·that·don’t663 as·query·parameters·or·returned·as·query·results·on·databases·that·don’t
663 support·time·zones·is·discouraged.·It·can·conflict·with·other·libraries.</p>664 support·time·zones·is·discouraged.·It·can·conflict·with·other·libraries.</p>
664 <p>The·recommended·way·to·add·a·time·zone·to·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·values665 <p>The·recommended·way·to·add·a·time·zone·to·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·values
665 fetched·from·the·database·is·to·register·a·converter·for·<code·class="docutils·literal·notranslate"><span·class="pre">DateTimeField</span></code>666 fetched·from·the·database·is·to·register·a·converter·for·<code·class="docutils·literal·notranslate"><span·class="pre">DateTimeField</span></code>
666 in·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseOperations.get_db_converters()</span></code>.</p>667 in·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseOperations.get_db_converters()</span></code>.</p>
667 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">needs_datetime_string_cast</span></code>·database·feature·was·removed.·Database668 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">needs_datetime_string_cast</span></code>·database·feature·was·removed.·Database
668 backends·that·set·it·must·register·a·converter·instead,·as·explained·above.</p>669 backends·that·set·it·must·register·a·converter·instead,·as·explained·above.</p>
669 </li>670 </li>
670 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseOperations.value_to_db_&lt;type&gt;()</span></code>·methods·were·renamed·to671 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseOperations.value_to_db_&lt;type&gt;()</span></code>·methods·were·renamed·to
671 <code·class="docutils·literal·notranslate"><span·class="pre">adapt_&lt;type&gt;field_value()</span></code>·to·mirror·the·<code·class="docutils·literal·notranslate"><span·class="pre">convert_&lt;type&gt;field_value()</span></code>672 <code·class="docutils·literal·notranslate"><span·class="pre">adapt_&lt;type&gt;field_value()</span></code>·to·mirror·the·<code·class="docutils·literal·notranslate"><span·class="pre">convert_&lt;type&gt;field_value()</span></code>
Offset 740, 15 lines modifiedOffset 741, 15 lines modified
740 <p>Consequently,·the·expected·URLs·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">assertRedirects</span></code>·should·generally741 <p>Consequently,·the·expected·URLs·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">assertRedirects</span></code>·should·generally
741 no·longer·include·the·scheme·and·domain·part·of·the·URLs.·For·example,742 no·longer·include·the·scheme·and·domain·part·of·the·URLs.·For·example,
742 <code·class="docutils·literal·notranslate"><span·class="pre">self.assertRedirects(response,</span>·<span·class="pre">'http://testserver/some-url/')</span></code>·should·be743 <code·class="docutils·literal·notranslate"><span·class="pre">self.assertRedirects(response,</span>·<span·class="pre">'http://testserver/some-url/')</span></code>·should·be
743 replaced·by·<code·class="docutils·literal·notranslate"><span·class="pre">self.assertRedirects(response,</span>·<span·class="pre">'/some-url/')</span></code>·(unless·the744 replaced·by·<code·class="docutils·literal·notranslate"><span·class="pre">self.assertRedirects(response,</span>·<span·class="pre">'/some-url/')</span></code>·(unless·the
Max diff block lines reached; 16303/28826 bytes (56.56%) of diff not shown.
10.8 KB
html2text {}
Max HTML report size reached
6.45 KB
./usr/share/doc/python-django-doc/html/releases/2.0.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0·release·notes"·href="2.0.html"·/>15 ····<link·rel="next"·title="Django·2.0·release·notes"·href="2.0.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.2·release·notes"·href="2.0.2.html"·/>16 ····<link·rel="prev"·title="Django·2.0.2·release·notes"·href="2.0.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 118, 47 lines modifiedOffset 119, 47 lines modified
118 ······119 ······
119 ········120 ········
120 ··········<div·class="yui-b"·id="sidebar">121 ··········<div·class="yui-b"·id="sidebar">
121 ············122 ············
122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">123 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
123 ········<div·class="sphinxsidebarwrapper">124 ········<div·class="sphinxsidebarwrapper">
124 ··<div>125 ··<div>
125 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>126 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
126 ····<ul>127 ····<ul>
127 <li><a·class="reference·internal"·href="#">Django·2.0.1·release·notes</a><ul>128 <li><a·class="reference·internal"·href="#">Django·2.0.1·release·notes</a><ul>
128 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>129 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
129 </ul>130 </ul>
130 </li>131 </li>
131 </ul>132 </ul>
  
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Previous·topic</h4>135 ····<h4>Eelmine·teema</h4>
135 ····<p·class="topless"><a·href="2.0.2.html"136 ····<p·class="topless"><a·href="2.0.2.html"
136 ··························title="previous·chapter">Django·2.0.2·release·notes</a></p>137 ··························title="eelmine·jaotis">Django·2.0.2·release·notes</a></p>
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Next·topic</h4>140 ····<h4>Järgmine·teema</h4>
140 ····<p·class="topless"><a·href="2.0.html"141 ····<p·class="topless"><a·href="2.0.html"
141 ··························title="next·chapter">Django·2.0·release·notes</a></p>142 ··························title="järgmine·jaotis">Django·2.0·release·notes</a></p>
142 ··</div>143 ··</div>
143 <search·id="searchbox"·style="display:·none"·role="search">144 <search·id="searchbox"·style="display:·none"·role="search">
144 ··<h3·id="searchlabel">Quick·search</h3>145 ··<h3·id="searchlabel">Kiirotsing</h3>
145 ····<div·class="searchformwrapper">146 ····<div·class="searchformwrapper">
146 ····<form·class="search"·action="../search.html"·method="get">147 ····<form·class="search"·action="../search.html"·method="get">
147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>148 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
148 ······<input·type="submit"·value="Go"·/>149 ······<input·type="submit"·value="Otsi"·/>
149 ····</form>150 ····</form>
150 ····</div>151 ····</div>
151 </search>152 </search>
152 <script>document.getElementById('searchbox').style.display·=·"block"</script>153 <script>document.getElementById('searchbox').style.display·=·"block"</script>
153 ········</div>154 ········</div>
154 ······</div>155 ······</div>
155 ··············<h3>Last·update:</h3>156 ··············<h3>Last·update:</h3>
156 ··············<p·class="topless">Nov·05,·2024</p>157 ··············<p·class="topless">nov·05,·2024</p>
157 ··········</div>158 ··········</div>
158 ········159 ········
159 ······160 ······
160 ····</div>161 ····</div>
  
161 ····<div·id="ft">162 ····<div·id="ft">
162 ······<div·class="nav">163 ······<div·class="nav">
2.35 KB
html2text {}
Max HTML report size reached
7.06 KB
./usr/share/doc/python-django-doc/html/releases/2.0.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.9·release·notes"·href="2.0.9.html"·/>15 ····<link·rel="next"·title="Django·2.0.9·release·notes"·href="2.0.9.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.11·release·notes"·href="2.0.11.html"·/>16 ····<link·rel="prev"·title="Django·2.0.11·release·notes"·href="2.0.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 112, 50 lines modifiedOffset 113, 50 lines modified
112 ······113 ······
113 ········114 ········
114 ··········<div·class="yui-b"·id="sidebar">115 ··········<div·class="yui-b"·id="sidebar">
115 ············116 ············
116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
117 ········<div·class="sphinxsidebarwrapper">118 ········<div·class="sphinxsidebarwrapper">
118 ··<div>119 ··<div>
119 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>120 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
120 ····<ul>121 ····<ul>
121 <li><a·class="reference·internal"·href="#">Django·2.0.10·release·notes</a><ul>122 <li><a·class="reference·internal"·href="#">Django·2.0.10·release·notes</a><ul>
122 <li><a·class="reference·internal"·href="#cve-2019-3498-content-spoofing-possibility-in-the-default-404-page">CVE-2019-3498:·Content·spoofing·possibility·in·the·default·404·page</a><ul>123 <li><a·class="reference·internal"·href="#cve-2019-3498-content-spoofing-possibility-in-the-default-404-page">CVE-2019-3498:·Content·spoofing·possibility·in·the·default·404·page</a><ul>
123 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>124 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
124 </ul>125 </ul>
125 </li>126 </li>
126 </ul>127 </ul>
127 </li>128 </li>
128 </ul>129 </ul>
  
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Previous·topic</h4>132 ····<h4>Eelmine·teema</h4>
132 ····<p·class="topless"><a·href="2.0.11.html"133 ····<p·class="topless"><a·href="2.0.11.html"
133 ··························title="previous·chapter">Django·2.0.11·release·notes</a></p>134 ··························title="eelmine·jaotis">Django·2.0.11·release·notes</a></p>
134 ··</div>135 ··</div>
135 ··<div>136 ··<div>
136 ····<h4>Next·topic</h4>137 ····<h4>Järgmine·teema</h4>
137 ····<p·class="topless"><a·href="2.0.9.html"138 ····<p·class="topless"><a·href="2.0.9.html"
138 ··························title="next·chapter">Django·2.0.9·release·notes</a></p>139 ··························title="järgmine·jaotis">Django·2.0.9·release·notes</a></p>
139 ··</div>140 ··</div>
140 <search·id="searchbox"·style="display:·none"·role="search">141 <search·id="searchbox"·style="display:·none"·role="search">
141 ··<h3·id="searchlabel">Quick·search</h3>142 ··<h3·id="searchlabel">Kiirotsing</h3>
142 ····<div·class="searchformwrapper">143 ····<div·class="searchformwrapper">
143 ····<form·class="search"·action="../search.html"·method="get">144 ····<form·class="search"·action="../search.html"·method="get">
144 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>145 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
145 ······<input·type="submit"·value="Go"·/>146 ······<input·type="submit"·value="Otsi"·/>
146 ····</form>147 ····</form>
147 ····</div>148 ····</div>
148 </search>149 </search>
149 <script>document.getElementById('searchbox').style.display·=·"block"</script>150 <script>document.getElementById('searchbox').style.display·=·"block"</script>
150 ········</div>151 ········</div>
151 ······</div>152 ······</div>
152 ··············<h3>Last·update:</h3>153 ··············<h3>Last·update:</h3>
153 ··············<p·class="topless">Nov·05,·2024</p>154 ··············<p·class="topless">nov·05,·2024</p>
154 ··········</div>155 ··········</div>
155 ········156 ········
156 ······157 ······
157 ····</div>158 ····</div>
  
158 ····<div·id="ft">159 ····<div·id="ft">
159 ······<div·class="nav">160 ······<div·class="nav">
2.74 KB
html2text {}
Max HTML report size reached
6.91 KB
./usr/share/doc/python-django-doc/html/releases/2.0.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.10·release·notes"·href="2.0.10.html"·/>15 ····<link·rel="next"·title="Django·2.0.10·release·notes"·href="2.0.10.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.12·release·notes"·href="2.0.12.html"·/>16 ····<link·rel="prev"·title="Django·2.0.12·release·notes"·href="2.0.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·2.0.11·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·2.0.11·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#cve-2019-6975-memory-exhaustion-in-django-utils-numberformat-format">CVE-2019-6975:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.format()</span></code></a></li>110 <li><a·class="reference·internal"·href="#cve-2019-6975-memory-exhaustion-in-django-utils-numberformat-format">CVE-2019-6975:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.format()</span></code></a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="2.0.12.html"117 ····<p·class="topless"><a·href="2.0.12.html"
117 ··························title="previous·chapter">Django·2.0.12·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·2.0.12·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="2.0.10.html"122 ····<p·class="topless"><a·href="2.0.10.html"
122 ··························title="next·chapter">Django·2.0.10·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·2.0.10·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.58 KB
html2text {}
Max HTML report size reached
6.04 KB
./usr/share/doc/python-django-doc/html/releases/2.0.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.11·release·notes"·href="2.0.11.html"·/>15 ····<link·rel="next"·title="Django·2.0.11·release·notes"·href="2.0.11.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.13·release·notes"·href="2.0.13.html"·/>16 ····<link·rel="prev"·title="Django·2.0.13·release·notes"·href="2.0.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·2.0.12·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·2.0.12·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="2.0.13.html"114 ····<p·class="topless"><a·href="2.0.13.html"
114 ··························title="previous·chapter">Django·2.0.13·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·2.0.13·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="2.0.11.html"119 ····<p·class="topless"><a·href="2.0.11.html"
119 ··························title="next·chapter">Django·2.0.11·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·2.0.11·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
1.91 KB
html2text {}
    
Offset 1, 20 lines modifiedOffset 1, 20 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·2\x82.\x8.0\x80.\x8.1\x812\x82·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·2\x82.\x8.0\x80.\x8.1\x812\x82·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·1\x811\x81,\x8,·2\x820\x801\x819\x895 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·1\x811\x81,\x8,·2\x820\x801\x819\x89
6 Django·2.0.12·fixes·a·packaging·error·in·2.0.11.6 Django·2.0.12·fixes·a·packaging·error·in·2.0.11.
7 *\x8**\x8**\x8**\x8**\x8*·B\x8Bu\x8ug\x8gf\x8fi\x8ix\x8xe\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8*7 *\x8**\x8**\x8**\x8**\x8*·B\x8Bu\x8ug\x8gf\x8fi\x8ix\x8xe\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8*
8 ····*·Corrected·packaging·error·from·2.0.11·(_\x8#_\x83_\x80_\x81_\x87_\x85).8 ····*·Corrected·packaging·error·from·2.0.11·(_\x8#_\x83_\x80_\x81_\x87_\x85).
9 *\x8**\x8**\x8**\x8*·_\x8T.T_.a.a_.b.b_.l.l_.e.e_.·_.o.o_.f.f_.·_.C.C_.o.o_.n.n_.t.t_.e.e_.n.n_.t.t_.s.s·*\x8**\x8**\x8**\x8*9 *\x8**\x8**\x8**\x8*·_\x8S.S_.i.i_.s.s_.u.u_.k.k_.o.o_.r.r_.r.r_.a.a_.t.t_.a.a_.b.b_.e.e_.l.l·*\x8**\x8**\x8**\x8*
10 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x81_\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s10 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x81_\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
11 ··········o·_\x8B_\x8u_\x8g_\x8f_\x8i_\x8x_\x8e_\x8s11 ··········o·_\x8B_\x8u_\x8g_\x8f_\x8i_\x8x_\x8e_\x8s
12 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*12 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x81_\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x81_\x83_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
14 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*14 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x81_\x81_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x81_\x81_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
16 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*16 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
17 [q···················][Go]17 [q···················][Otsi]
18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
19 Nov·05,·202419 nov·05,·2024
20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
6.08 KB
./usr/share/doc/python-django-doc/html/releases/2.0.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.12·release·notes"·href="2.0.12.html"·/>15 ····<link·rel="next"·title="Django·2.0.12·release·notes"·href="2.0.12.html"·/>
15 ····<link·rel="prev"·title="Django·2.1·release·notes"·href="2.1.html"·/>16 ····<link·rel="prev"·title="Django·2.1·release·notes"·href="2.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·2.0.13·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·2.0.13·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="2.1.html"115 ····<p·class="topless"><a·href="2.1.html"
115 ··························title="previous·chapter">Django·2.1·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·2.1·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="2.0.12.html"120 ····<p·class="topless"><a·href="2.0.12.html"
120 ··························title="next·chapter">Django·2.0.12·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·2.0.12·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.96 KB
html2text {}
Max HTML report size reached
11.3 KB
./usr/share/doc/python-django-doc/html/releases/2.0.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.1·release·notes"·href="2.0.1.html"·/>15 ····<link·rel="next"·title="Django·2.0.1·release·notes"·href="2.0.1.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.3·release·notes"·href="2.0.3.html"·/>16 ····<link·rel="prev"·title="Django·2.0.3·release·notes"·href="2.0.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 24 lines modifiedOffset 89, 24 lines modified
88 <code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·method·even·if·an·incorrect·password·is·entered.89 <code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·method·even·if·an·incorrect·password·is·entered.
89 This·can·leak·information·about·a·user,·depending·on·what·messages90 This·can·leak·information·about·a·user,·depending·on·what·messages
90 <code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·raises.·If·<code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·isn’t91 <code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·raises.·If·<code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·isn’t
91 overridden,·an·attacker·enter·an·arbitrary·username·and·see·if·that·user·has92 overridden,·an·attacker·enter·an·arbitrary·username·and·see·if·that·user·has
92 been·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">is_active=False</span></code>.·If·<code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·is·overridden,93 been·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">is_active=False</span></code>.·If·<code·class="docutils·literal·notranslate"><span·class="pre">confirm_login_allowed()</span></code>·is·overridden,
93 more·sensitive·details·could·be·leaked.</p>94 more·sensitive·details·could·be·leaked.</p>
94 <p>This·issue·is·fixed·with·the·caveat·that·<code·class="docutils·literal·notranslate"><span·class="pre">AuthenticationForm</span></code>·can·no·longer95 <p>This·issue·is·fixed·with·the·caveat·that·<code·class="docutils·literal·notranslate"><span·class="pre">AuthenticationForm</span></code>·can·no·longer
95 raise·the·This·account·is·inactive.·error·if·the·authentication·backend96 raise·the·This·account·is·inactive.·error·if·the·authentication·backend
96 rejects·inactive·users·(the·default·authentication·backend,·<code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>,97 rejects·inactive·users·(the·default·authentication·backend,·<code·class="docutils·literal·notranslate"><span·class="pre">ModelBackend</span></code>,
97 has·done·that·since·Django·1.10).·This·issue·will·be·revisited·for·Django·2.198 has·done·that·since·Django·1.10).·This·issue·will·be·revisited·for·Django·2.1
98 as·a·fix·to·address·the·caveat·will·likely·be·too·invasive·for·inclusion·in99 as·a·fix·to·address·the·caveat·will·likely·be·too·invasive·for·inclusion·in
99 older·versions.</p>100 older·versions.</p>
100 </section>101 </section>
101 <section·id="s-bugfixes">102 <section·id="s-bugfixes">
102 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>103 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
103 <ul·class="simple">104 <ul·class="simple">
104 <li><p>Fixed·hidden·content·at·the·bottom·of·the·The·install·worked·successfully!105 <li><p>Fixed·hidden·content·at·the·bottom·of·the·The·install·worked·successfully!
105 page·for·some·languages·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28885">#28885</a>).</p></li>106 page·for·some·languages·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/28885">#28885</a>).</p></li>
106 <li><p>Fixed·incorrect·foreign·key·nullification·if·a·model·has·two·foreign·keys·to107 <li><p>Fixed·incorrect·foreign·key·nullification·if·a·model·has·two·foreign·keys·to
107 the·same·model·and·a·target·model·is·deleted·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29016">#29016</a>).</p></li>108 the·same·model·and·a·target·model·is·deleted·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29016">#29016</a>).</p></li>
108 <li><p>Fixed·regression·in·the·use·of·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.values_list(...,</span>·<span·class="pre">flat=True)</span></code>109 <li><p>Fixed·regression·in·the·use·of·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.values_list(...,</span>·<span·class="pre">flat=True)</span></code>
109 followed·by·<code·class="docutils·literal·notranslate"><span·class="pre">annotate()</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29067">#29067</a>).</p></li>110 followed·by·<code·class="docutils·literal·notranslate"><span·class="pre">annotate()</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29067">#29067</a>).</p></li>
110 <li><p>Fixed·a·regression·where·a·queryset·that·annotates·with·geometry·objects111 <li><p>Fixed·a·regression·where·a·queryset·that·annotates·with·geometry·objects
111 crashes·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29054">#29054</a>).</p></li>112 crashes·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29054">#29054</a>).</p></li>
Offset 127, 48 lines modifiedOffset 128, 48 lines modified
127 ······128 ······
128 ········129 ········
129 ··········<div·class="yui-b"·id="sidebar">130 ··········<div·class="yui-b"·id="sidebar">
130 ············131 ············
131 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">132 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
132 ········<div·class="sphinxsidebarwrapper">133 ········<div·class="sphinxsidebarwrapper">
133 ··<div>134 ··<div>
134 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>135 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
135 ····<ul>136 ····<ul>
136 <li><a·class="reference·internal"·href="#">Django·2.0.2·release·notes</a><ul>137 <li><a·class="reference·internal"·href="#">Django·2.0.2·release·notes</a><ul>
137 <li><a·class="reference·internal"·href="#cve-2018-6188-information-leakage-in-authenticationform">CVE-2018-6188:·Information·leakage·in·<code·class="docutils·literal·notranslate"><span·class="pre">AuthenticationForm</span></code></a></li>138 <li><a·class="reference·internal"·href="#cve-2018-6188-information-leakage-in-authenticationform">CVE-2018-6188:·Information·leakage·in·<code·class="docutils·literal·notranslate"><span·class="pre">AuthenticationForm</span></code></a></li>
138 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>139 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
139 </ul>140 </ul>
140 </li>141 </li>
141 </ul>142 </ul>
  
142 ··</div>143 ··</div>
143 ··<div>144 ··<div>
144 ····<h4>Previous·topic</h4>145 ····<h4>Eelmine·teema</h4>
145 ····<p·class="topless"><a·href="2.0.3.html"146 ····<p·class="topless"><a·href="2.0.3.html"
146 ··························title="previous·chapter">Django·2.0.3·release·notes</a></p>147 ··························title="eelmine·jaotis">Django·2.0.3·release·notes</a></p>
147 ··</div>148 ··</div>
148 ··<div>149 ··<div>
149 ····<h4>Next·topic</h4>150 ····<h4>Järgmine·teema</h4>
150 ····<p·class="topless"><a·href="2.0.1.html"151 ····<p·class="topless"><a·href="2.0.1.html"
151 ··························title="next·chapter">Django·2.0.1·release·notes</a></p>152 ··························title="järgmine·jaotis">Django·2.0.1·release·notes</a></p>
152 ··</div>153 ··</div>
153 <search·id="searchbox"·style="display:·none"·role="search">154 <search·id="searchbox"·style="display:·none"·role="search">
154 ··<h3·id="searchlabel">Quick·search</h3>155 ··<h3·id="searchlabel">Kiirotsing</h3>
155 ····<div·class="searchformwrapper">156 ····<div·class="searchformwrapper">
156 ····<form·class="search"·action="../search.html"·method="get">157 ····<form·class="search"·action="../search.html"·method="get">
157 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>158 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
158 ······<input·type="submit"·value="Go"·/>159 ······<input·type="submit"·value="Otsi"·/>
159 ····</form>160 ····</form>
160 ····</div>161 ····</div>
161 </search>162 </search>
162 <script>document.getElementById('searchbox').style.display·=·"block"</script>163 <script>document.getElementById('searchbox').style.display·=·"block"</script>
163 ········</div>164 ········</div>
164 ······</div>165 ······</div>
165 ··············<h3>Last·update:</h3>166 ··············<h3>Last·update:</h3>
166 ··············<p·class="topless">Nov·05,·2024</p>167 ··············<p·class="topless">nov·05,·2024</p>
167 ··········</div>168 ··········</div>
168 ········169 ········
169 ······170 ······
170 ····</div>171 ····</div>
  
171 ····<div·id="ft">172 ····<div·id="ft">
172 ······<div·class="nav">173 ······<div·class="nav">
4.24 KB
html2text {}
Max HTML report size reached
10.7 KB
./usr/share/doc/python-django-doc/html/releases/2.0.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.2·release·notes"·href="2.0.2.html"·/>15 ····<link·rel="next"·title="Django·2.0.2·release·notes"·href="2.0.2.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.4·release·notes"·href="2.0.4.html"·/>16 ····<link·rel="prev"·title="Django·2.0.4·release·notes"·href="2.0.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 15 lines modifiedOffset 104, 15 lines modified
103 </section>104 </section>
104 <section·id="s-bugfixes">105 <section·id="s-bugfixes">
105 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>106 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
106 <ul·class="simple">107 <ul·class="simple">
107 <li><p>Fixed·a·regression·that·caused·sliced·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.distinct().order_by()</span></code>108 <li><p>Fixed·a·regression·that·caused·sliced·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.distinct().order_by()</span></code>
108 followed·by·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·to·crash·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29108">#29108</a>).</p></li>109 followed·by·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·to·crash·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29108">#29108</a>).</p></li>
109 <li><p>Prioritized·the·datetime·and·time·input·formats·without·<code·class="docutils·literal·notranslate"><span·class="pre">%f</span></code>·for·the·Thai110 <li><p>Prioritized·the·datetime·and·time·input·formats·without·<code·class="docutils·literal·notranslate"><span·class="pre">%f</span></code>·for·the·Thai
110 locale·to·fix·the·admin·time·picker·widget·displaying·undefined111 locale·to·fix·the·admin·time·picker·widget·displaying·undefined
111 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29109">#29109</a>).</p></li>112 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29109">#29109</a>).</p></li>
112 <li><p>Fixed·crash·with·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by(Exists(...))</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29118">#29118</a>).</p></li>113 <li><p>Fixed·crash·with·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by(Exists(...))</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29118">#29118</a>).</p></li>
113 <li><p>Made·<code·class="docutils·literal·notranslate"><span·class="pre">Q.deconstruct()</span></code>·deterministic·with·multiple·keyword·arguments114 <li><p>Made·<code·class="docutils·literal·notranslate"><span·class="pre">Q.deconstruct()</span></code>·deterministic·with·multiple·keyword·arguments
114 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29125">#29125</a>).·You·may·need·to·modify·<code·class="docutils·literal·notranslate"><span·class="pre">Q</span></code>’s·in·existing·migrations,·or115 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29125">#29125</a>).·You·may·need·to·modify·<code·class="docutils·literal·notranslate"><span·class="pre">Q</span></code>’s·in·existing·migrations,·or
115 accept·an·autogenerated·migration.</p></li>116 accept·an·autogenerated·migration.</p></li>
116 <li><p>Fixed·a·regression·where·a·<code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·expression·with·a·list·argument·crashes117 <li><p>Fixed·a·regression·where·a·<code·class="docutils·literal·notranslate"><span·class="pre">When()</span></code>·expression·with·a·list·argument·crashes
117 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29166">#29166</a>).</p></li>118 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29166">#29166</a>).</p></li>
Offset 130, 49 lines modifiedOffset 131, 49 lines modified
130 ······131 ······
131 ········132 ········
132 ··········<div·class="yui-b"·id="sidebar">133 ··········<div·class="yui-b"·id="sidebar">
133 ············134 ············
134 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
135 ········<div·class="sphinxsidebarwrapper">136 ········<div·class="sphinxsidebarwrapper">
136 ··<div>137 ··<div>
137 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>138 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
138 ····<ul>139 ····<ul>
139 <li><a·class="reference·internal"·href="#">Django·2.0.3·release·notes</a><ul>140 <li><a·class="reference·internal"·href="#">Django·2.0.3·release·notes</a><ul>
140 <li><a·class="reference·internal"·href="#cve-2018-7536-denial-of-service-possibility-in-urlize-and-urlizetrunc-template-filters">CVE-2018-7536:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">urlize</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code>·template·filters</a></li>141 <li><a·class="reference·internal"·href="#cve-2018-7536-denial-of-service-possibility-in-urlize-and-urlizetrunc-template-filters">CVE-2018-7536:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">urlize</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code>·template·filters</a></li>
141 <li><a·class="reference·internal"·href="#cve-2018-7537-denial-of-service-possibility-in-truncatechars-html-and-truncatewords-html-template-filters">CVE-2018-7537:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">truncatechars_html</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code>·template·filters</a></li>142 <li><a·class="reference·internal"·href="#cve-2018-7537-denial-of-service-possibility-in-truncatechars-html-and-truncatewords-html-template-filters">CVE-2018-7537:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">truncatechars_html</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code>·template·filters</a></li>
142 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>143 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
143 </ul>144 </ul>
144 </li>145 </li>
145 </ul>146 </ul>
  
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Previous·topic</h4>149 ····<h4>Eelmine·teema</h4>
149 ····<p·class="topless"><a·href="2.0.4.html"150 ····<p·class="topless"><a·href="2.0.4.html"
150 ··························title="previous·chapter">Django·2.0.4·release·notes</a></p>151 ··························title="eelmine·jaotis">Django·2.0.4·release·notes</a></p>
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Next·topic</h4>154 ····<h4>Järgmine·teema</h4>
154 ····<p·class="topless"><a·href="2.0.2.html"155 ····<p·class="topless"><a·href="2.0.2.html"
155 ··························title="next·chapter">Django·2.0.2·release·notes</a></p>156 ··························title="järgmine·jaotis">Django·2.0.2·release·notes</a></p>
156 ··</div>157 ··</div>
157 <search·id="searchbox"·style="display:·none"·role="search">158 <search·id="searchbox"·style="display:·none"·role="search">
158 ··<h3·id="searchlabel">Quick·search</h3>159 ··<h3·id="searchlabel">Kiirotsing</h3>
159 ····<div·class="searchformwrapper">160 ····<div·class="searchformwrapper">
160 ····<form·class="search"·action="../search.html"·method="get">161 ····<form·class="search"·action="../search.html"·method="get">
161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>162 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
162 ······<input·type="submit"·value="Go"·/>163 ······<input·type="submit"·value="Otsi"·/>
163 ····</form>164 ····</form>
164 ····</div>165 ····</div>
165 </search>166 </search>
166 <script>document.getElementById('searchbox').style.display·=·"block"</script>167 <script>document.getElementById('searchbox').style.display·=·"block"</script>
167 ········</div>168 ········</div>
168 ······</div>169 ······</div>
169 ··············<h3>Last·update:</h3>170 ··············<h3>Last·update:</h3>
170 ··············<p·class="topless">Nov·05,·2024</p>171 ··············<p·class="topless">nov·05,·2024</p>
171 ··········</div>172 ··········</div>
172 ········173 ········
173 ······174 ······
174 ····</div>175 ····</div>
  
175 ····<div·id="ft">176 ····<div·id="ft">
176 ······<div·class="nav">177 ······<div·class="nav">
3.9 KB
html2text {}
Max HTML report size reached
6.5 KB
./usr/share/doc/python-django-doc/html/releases/2.0.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.3·release·notes"·href="2.0.3.html"·/>15 ····<link·rel="next"·title="Django·2.0.3·release·notes"·href="2.0.3.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.5·release·notes"·href="2.0.5.html"·/>16 ····<link·rel="prev"·title="Django·2.0.5·release·notes"·href="2.0.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 112, 47 lines modifiedOffset 113, 47 lines modified
112 ······113 ······
113 ········114 ········
114 ··········<div·class="yui-b"·id="sidebar">115 ··········<div·class="yui-b"·id="sidebar">
115 ············116 ············
116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
117 ········<div·class="sphinxsidebarwrapper">118 ········<div·class="sphinxsidebarwrapper">
118 ··<div>119 ··<div>
119 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>120 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
120 ····<ul>121 ····<ul>
121 <li><a·class="reference·internal"·href="#">Django·2.0.4·release·notes</a><ul>122 <li><a·class="reference·internal"·href="#">Django·2.0.4·release·notes</a><ul>
122 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>123 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
123 </ul>124 </ul>
124 </li>125 </li>
125 </ul>126 </ul>
  
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Previous·topic</h4>129 ····<h4>Eelmine·teema</h4>
129 ····<p·class="topless"><a·href="2.0.5.html"130 ····<p·class="topless"><a·href="2.0.5.html"
130 ··························title="previous·chapter">Django·2.0.5·release·notes</a></p>131 ··························title="eelmine·jaotis">Django·2.0.5·release·notes</a></p>
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Next·topic</h4>134 ····<h4>Järgmine·teema</h4>
134 ····<p·class="topless"><a·href="2.0.3.html"135 ····<p·class="topless"><a·href="2.0.3.html"
135 ··························title="next·chapter">Django·2.0.3·release·notes</a></p>136 ··························title="järgmine·jaotis">Django·2.0.3·release·notes</a></p>
136 ··</div>137 ··</div>
137 <search·id="searchbox"·style="display:·none"·role="search">138 <search·id="searchbox"·style="display:·none"·role="search">
138 ··<h3·id="searchlabel">Quick·search</h3>139 ··<h3·id="searchlabel">Kiirotsing</h3>
139 ····<div·class="searchformwrapper">140 ····<div·class="searchformwrapper">
140 ····<form·class="search"·action="../search.html"·method="get">141 ····<form·class="search"·action="../search.html"·method="get">
141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
142 ······<input·type="submit"·value="Go"·/>143 ······<input·type="submit"·value="Otsi"·/>
143 ····</form>144 ····</form>
144 ····</div>145 ····</div>
145 </search>146 </search>
146 <script>document.getElementById('searchbox').style.display·=·"block"</script>147 <script>document.getElementById('searchbox').style.display·=·"block"</script>
147 ········</div>148 ········</div>
148 ······</div>149 ······</div>
149 ··············<h3>Last·update:</h3>150 ··············<h3>Last·update:</h3>
150 ··············<p·class="topless">Nov·05,·2024</p>151 ··············<p·class="topless">nov·05,·2024</p>
151 ··········</div>152 ··········</div>
152 ········153 ········
153 ······154 ······
154 ····</div>155 ····</div>
  
155 ····<div·id="ft">156 ····<div·id="ft">
156 ······<div·class="nav">157 ······<div·class="nav">
2.38 KB
html2text {}
Max HTML report size reached
6.44 KB
./usr/share/doc/python-django-doc/html/releases/2.0.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.4·release·notes"·href="2.0.4.html"·/>15 ····<link·rel="next"·title="Django·2.0.4·release·notes"·href="2.0.4.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.6·release·notes"·href="2.0.6.html"·/>16 ····<link·rel="prev"·title="Django·2.0.6·release·notes"·href="2.0.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 106, 47 lines modifiedOffset 107, 47 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·2.0.5·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·2.0.5·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="2.0.6.html"124 ····<p·class="topless"><a·href="2.0.6.html"
124 ··························title="previous·chapter">Django·2.0.6·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·2.0.6·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="2.0.4.html"129 ····<p·class="topless"><a·href="2.0.4.html"
129 ··························title="next·chapter">Django·2.0.4·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·2.0.4·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
2.32 KB
html2text {}
Max HTML report size reached
6.52 KB
./usr/share/doc/python-django-doc/html/releases/2.0.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.5·release·notes"·href="2.0.5.html"·/>15 ····<link·rel="next"·title="Django·2.0.5·release·notes"·href="2.0.5.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.7·release·notes"·href="2.0.7.html"·/>16 ····<link·rel="prev"·title="Django·2.0.7·release·notes"·href="2.0.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 105, 47 lines modifiedOffset 106, 47 lines modified
105 ······106 ······
106 ········107 ········
107 ··········<div·class="yui-b"·id="sidebar">108 ··········<div·class="yui-b"·id="sidebar">
108 ············109 ············
109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
110 ········<div·class="sphinxsidebarwrapper">111 ········<div·class="sphinxsidebarwrapper">
111 ··<div>112 ··<div>
112 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>113 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
113 ····<ul>114 ····<ul>
114 <li><a·class="reference·internal"·href="#">Django·2.0.6·release·notes</a><ul>115 <li><a·class="reference·internal"·href="#">Django·2.0.6·release·notes</a><ul>
115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="2.0.7.html"123 ····<p·class="topless"><a·href="2.0.7.html"
123 ··························title="previous·chapter">Django·2.0.7·release·notes</a></p>124 ··························title="eelmine·jaotis">Django·2.0.7·release·notes</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="2.0.5.html"128 ····<p·class="topless"><a·href="2.0.5.html"
128 ··························title="next·chapter">Django·2.0.5·release·notes</a></p>129 ··························title="järgmine·jaotis">Django·2.0.5·release·notes</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
2.41 KB
html2text {}
Max HTML report size reached
6.34 KB
./usr/share/doc/python-django-doc/html/releases/2.0.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.6·release·notes"·href="2.0.6.html"·/>15 ····<link·rel="next"·title="Django·2.0.6·release·notes"·href="2.0.6.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.8·release·notes"·href="2.0.8.html"·/>16 ····<link·rel="prev"·title="Django·2.0.8·release·notes"·href="2.0.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·2.0.7·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·2.0.7·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="2.0.8.html"120 ····<p·class="topless"><a·href="2.0.8.html"
120 ··························title="previous·chapter">Django·2.0.8·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·2.0.8·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="2.0.6.html"125 ····<p·class="topless"><a·href="2.0.6.html"
125 ··························title="next·chapter">Django·2.0.6·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·2.0.6·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.22 KB
html2text {}
Max HTML report size reached
7.11 KB
./usr/share/doc/python-django-doc/html/releases/2.0.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.7·release·notes"·href="2.0.7.html"·/>15 ····<link·rel="next"·title="Django·2.0.7·release·notes"·href="2.0.7.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.9·release·notes"·href="2.0.9.html"·/>16 ····<link·rel="prev"·title="Django·2.0.9·release·notes"·href="2.0.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 110, 48 lines modifiedOffset 111, 48 lines modified
110 ······111 ······
111 ········112 ········
112 ··········<div·class="yui-b"·id="sidebar">113 ··········<div·class="yui-b"·id="sidebar">
113 ············114 ············
114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
115 ········<div·class="sphinxsidebarwrapper">116 ········<div·class="sphinxsidebarwrapper">
116 ··<div>117 ··<div>
117 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>118 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
118 ····<ul>119 ····<ul>
119 <li><a·class="reference·internal"·href="#">Django·2.0.8·release·notes</a><ul>120 <li><a·class="reference·internal"·href="#">Django·2.0.8·release·notes</a><ul>
120 <li><a·class="reference·internal"·href="#cve-2018-14574-open-redirect-possibility-in-commonmiddleware">CVE-2018-14574:·Open·redirect·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">CommonMiddleware</span></code></a></li>121 <li><a·class="reference·internal"·href="#cve-2018-14574-open-redirect-possibility-in-commonmiddleware">CVE-2018-14574:·Open·redirect·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">CommonMiddleware</span></code></a></li>
121 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>122 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
122 </ul>123 </ul>
123 </li>124 </li>
124 </ul>125 </ul>
  
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Previous·topic</h4>128 ····<h4>Eelmine·teema</h4>
128 ····<p·class="topless"><a·href="2.0.9.html"129 ····<p·class="topless"><a·href="2.0.9.html"
129 ··························title="previous·chapter">Django·2.0.9·release·notes</a></p>130 ··························title="eelmine·jaotis">Django·2.0.9·release·notes</a></p>
130 ··</div>131 ··</div>
131 ··<div>132 ··<div>
132 ····<h4>Next·topic</h4>133 ····<h4>Järgmine·teema</h4>
133 ····<p·class="topless"><a·href="2.0.7.html"134 ····<p·class="topless"><a·href="2.0.7.html"
134 ··························title="next·chapter">Django·2.0.7·release·notes</a></p>135 ··························title="järgmine·jaotis">Django·2.0.7·release·notes</a></p>
135 ··</div>136 ··</div>
136 <search·id="searchbox"·style="display:·none"·role="search">137 <search·id="searchbox"·style="display:·none"·role="search">
137 ··<h3·id="searchlabel">Quick·search</h3>138 ··<h3·id="searchlabel">Kiirotsing</h3>
138 ····<div·class="searchformwrapper">139 ····<div·class="searchformwrapper">
139 ····<form·class="search"·action="../search.html"·method="get">140 ····<form·class="search"·action="../search.html"·method="get">
140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
141 ······<input·type="submit"·value="Go"·/>142 ······<input·type="submit"·value="Otsi"·/>
142 ····</form>143 ····</form>
143 ····</div>144 ····</div>
144 </search>145 </search>
145 <script>document.getElementById('searchbox').style.display·=·"block"</script>146 <script>document.getElementById('searchbox').style.display·=·"block"</script>
146 ········</div>147 ········</div>
147 ······</div>148 ······</div>
148 ··············<h3>Last·update:</h3>149 ··············<h3>Last·update:</h3>
149 ··············<p·class="topless">Nov·05,·2024</p>150 ··············<p·class="topless">nov·05,·2024</p>
150 ··········</div>151 ··········</div>
151 ········152 ········
152 ······153 ······
153 ····</div>154 ····</div>
  
154 ····<div·id="ft">155 ····<div·id="ft">
155 ······<div·class="nav">156 ······<div·class="nav">
2.75 KB
html2text {}
Max HTML report size reached
6.06 KB
./usr/share/doc/python-django-doc/html/releases/2.0.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.8·release·notes"·href="2.0.8.html"·/>15 ····<link·rel="next"·title="Django·2.0.8·release·notes"·href="2.0.8.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.10·release·notes"·href="2.0.10.html"·/>16 ····<link·rel="prev"·title="Django·2.0.10·release·notes"·href="2.0.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·2.0.9·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·2.0.9·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="2.0.10.html"115 ····<p·class="topless"><a·href="2.0.10.html"
115 ··························title="previous·chapter">Django·2.0.10·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·2.0.10·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="2.0.8.html"120 ····<p·class="topless"><a·href="2.0.8.html"
120 ··························title="next·chapter">Django·2.0.8·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·2.0.8·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.94 KB
html2text {}
    
Offset 1, 21 lines modifiedOffset 1, 21 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·2\x82.\x8.0\x80.\x8.9\x89·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·2\x82.\x8.0\x80.\x8.9\x89·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 O\x8Oc\x8ct\x8to\x8ob\x8be\x8er\x8r·1\x81,\x8,·2\x820\x801\x818\x885 O\x8Oc\x8ct\x8to\x8ob\x8be\x8er\x8r·1\x81,\x8,·2\x820\x801\x818\x88
6 Django·2.0.9·fixes·a·data·loss·bug·in·2.0.8.6 Django·2.0.9·fixes·a·data·loss·bug·in·2.0.8.
7 *\x8**\x8**\x8**\x8**\x8*·B\x8Bu\x8ug\x8gf\x8fi\x8ix\x8xe\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8*7 *\x8**\x8**\x8**\x8**\x8*·B\x8Bu\x8ug\x8gf\x8fi\x8ix\x8xe\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8*
8 ····*·Fixed·a·race·condition·in·QuerySet.update_or_create()·that·could·result8 ····*·Fixed·a·race·condition·in·QuerySet.update_or_create()·that·could·result
9 ······in·data·loss·(_\x8#_\x82_\x89_\x84_\x89_\x89).9 ······in·data·loss·(_\x8#_\x82_\x89_\x84_\x89_\x89).
10 *\x8**\x8**\x8**\x8*·_\x8T.T_.a.a_.b.b_.l.l_.e.e_.·_.o.o_.f.f_.·_.C.C_.o.o_.n.n_.t.t_.e.e_.n.n_.t.t_.s.s·*\x8**\x8**\x8**\x8*10 *\x8**\x8**\x8**\x8*·_\x8S.S_.i.i_.s.s_.u.u_.k.k_.o.o_.r.r_.r.r_.a.a_.t.t_.a.a_.b.b_.e.e_.l.l·*\x8**\x8**\x8**\x8*
11 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x89_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s11 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x89_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
12 ··········o·_\x8B_\x8u_\x8g_\x8f_\x8i_\x8x_\x8e_\x8s12 ··········o·_\x8B_\x8u_\x8g_\x8f_\x8i_\x8x_\x8e_\x8s
13 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*13 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x81_\x80_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s14 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x81_\x80_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
15 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*15 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
16 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x88_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s16 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x80_\x8._\x88_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
17 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*17 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
18 [q···················][Go]18 [q···················][Otsi]
19 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*19 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
20 Nov·05,·202420 nov·05,·2024
21 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»21 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
10.9 KB
./usr/share/doc/python-django-doc/html/releases/2.0.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.0·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.0·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·1.11.29·release·notes"·href="1.11.29.html"·/>15 ····<link·rel="next"·title="Django·1.11.29·release·notes"·href="1.11.29.html"·/>
15 ····<link·rel="prev"·title="Django·2.0.1·release·notes"·href="2.0.1.html"·/>16 ····<link·rel="prev"·title="Django·2.0.1·release·notes"·href="2.0.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 376, 15 lines modifiedOffset 377, 15 lines modified
376 <section·id="s-removed-support-for-bytestrings-in-some-places">377 <section·id="s-removed-support-for-bytestrings-in-some-places">
377 <span·id="removed-support-for-bytestrings-in-some-places"></span><h3>Removed·support·for·bytestrings·in·some·places<a·class="headerlink"·href="#removed-support-for-bytestrings-in-some-places"·title="Link·to·this·heading">¶</a></h3>378 <span·id="removed-support-for-bytestrings-in-some-places"></span><h3>Removed·support·for·bytestrings·in·some·places<a·class="headerlink"·href="#removed-support-for-bytestrings-in-some-places"·title="Link·to·this·heading">¶</a></h3>
378 <p>To·support·native·Python·2·strings,·older·Django·versions·had·to·accept·both379 <p>To·support·native·Python·2·strings,·older·Django·versions·had·to·accept·both
379 bytestrings·and·Unicode·strings.·Now·that·Python·2·support·is·dropped,380 bytestrings·and·Unicode·strings.·Now·that·Python·2·support·is·dropped,
380 bytestrings·should·only·be·encountered·around·input/output·boundaries·(handling381 bytestrings·should·only·be·encountered·around·input/output·boundaries·(handling
381 of·binary·fields·or·HTTP·streams,·for·example).·You·might·have·to·update·your382 of·binary·fields·or·HTTP·streams,·for·example).·You·might·have·to·update·your
382 code·to·limit·bytestring·usage·to·a·minimum,·as·Django·no·longer·accepts383 code·to·limit·bytestring·usage·to·a·minimum,·as·Django·no·longer·accepts
383 bytestrings·in·certain·code·paths.·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/cmdline.html#cmdoption-b"·title="(in·Python·v3.12)"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">-b</span></code></a>·option·may·help·detect384 bytestrings·in·certain·code·paths.·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/using/cmdline.html#cmdoption-b"·title="(projektis·Python·v3.12)"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">-b</span></code></a>·option·may·help·detect
384 that·mistake·in·your·code.</p>385 that·mistake·in·your·code.</p>
385 <p>For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·now·uses·<code·class="docutils·literal·notranslate"><span·class="pre">str()</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">force_text()</span></code>·to386 <p>For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>·now·uses·<code·class="docutils·literal·notranslate"><span·class="pre">str()</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">force_text()</span></code>·to
386 coerce·the·<code·class="docutils·literal·notranslate"><span·class="pre">args</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">kwargs</span></code>·it·receives,·prior·to·their·placement·in387 coerce·the·<code·class="docutils·literal·notranslate"><span·class="pre">args</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">kwargs</span></code>·it·receives,·prior·to·their·placement·in
387 the·URL.·For·bytestrings,·this·creates·a·string·with·an·undesired·<code·class="docutils·literal·notranslate"><span·class="pre">b</span></code>·prefix388 the·URL.·For·bytestrings,·this·creates·a·string·with·an·undesired·<code·class="docutils·literal·notranslate"><span·class="pre">b</span></code>·prefix
388 as·well·as·additional·quotes·(<code·class="docutils·literal·notranslate"><span·class="pre">str(b'foo')</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;b'foo'&quot;</span></code>).·To·adapt,·call389 as·well·as·additional·quotes·(<code·class="docutils·literal·notranslate"><span·class="pre">str(b'foo')</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;b'foo'&quot;</span></code>).·To·adapt,·call
389 <code·class="docutils·literal·notranslate"><span·class="pre">decode()</span></code>·on·the·bytestring·before·passing·it·to·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>.</p>390 <code·class="docutils·literal·notranslate"><span·class="pre">decode()</span></code>·on·the·bytestring·before·passing·it·to·<code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>.</p>
390 </section>391 </section>
Offset 806, 15 lines modifiedOffset 807, 15 lines modified
806 ······807 ······
807 ········808 ········
808 ··········<div·class="yui-b"·id="sidebar">809 ··········<div·class="yui-b"·id="sidebar">
809 ············810 ············
810 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">811 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
811 ········<div·class="sphinxsidebarwrapper">812 ········<div·class="sphinxsidebarwrapper">
812 ··<div>813 ··<div>
813 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>814 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
814 ····<ul>815 ····<ul>
815 <li><a·class="reference·internal"·href="#">Django·2.0·release·notes</a><ul>816 <li><a·class="reference·internal"·href="#">Django·2.0·release·notes</a><ul>
816 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>817 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>
817 <li><a·class="reference·internal"·href="#third-party-library-support-for-older-version-of-django">Third-party·library·support·for·older·version·of·Django</a></li>818 <li><a·class="reference·internal"·href="#third-party-library-support-for-older-version-of-django">Third-party·library·support·for·older·version·of·Django</a></li>
818 <li><a·class="reference·internal"·href="#what-s-new-in-django-2-0">What’s·new·in·Django·2.0</a><ul>819 <li><a·class="reference·internal"·href="#what-s-new-in-django-2-0">What’s·new·in·Django·2.0</a><ul>
819 <li><a·class="reference·internal"·href="#simplified-url-routing-syntax">Simplified·URL·routing·syntax</a></li>820 <li><a·class="reference·internal"·href="#simplified-url-routing-syntax">Simplified·URL·routing·syntax</a></li>
820 <li><a·class="reference·internal"·href="#mobile-friendly-contrib-admin">Mobile-friendly·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code></a></li>821 <li><a·class="reference·internal"·href="#mobile-friendly-contrib-admin">Mobile-friendly·<code·class="docutils·literal·notranslate"><span·class="pre">contrib.admin</span></code></a></li>
Offset 863, 37 lines modifiedOffset 864, 37 lines modified
863 <li><a·class="reference·internal"·href="#features-removed-in-2-0">Features·removed·in·2.0</a></li>864 <li><a·class="reference·internal"·href="#features-removed-in-2-0">Features·removed·in·2.0</a></li>
864 </ul>865 </ul>
865 </li>866 </li>
866 </ul>867 </ul>
  
867 ··</div>868 ··</div>
868 ··<div>869 ··<div>
869 ····<h4>Previous·topic</h4>870 ····<h4>Eelmine·teema</h4>
870 ····<p·class="topless"><a·href="2.0.1.html"871 ····<p·class="topless"><a·href="2.0.1.html"
871 ··························title="previous·chapter">Django·2.0.1·release·notes</a></p>872 ··························title="eelmine·jaotis">Django·2.0.1·release·notes</a></p>
872 ··</div>873 ··</div>
873 ··<div>874 ··<div>
874 ····<h4>Next·topic</h4>875 ····<h4>Järgmine·teema</h4>
875 ····<p·class="topless"><a·href="1.11.29.html"876 ····<p·class="topless"><a·href="1.11.29.html"
876 ··························title="next·chapter">Django·1.11.29·release·notes</a></p>877 ··························title="järgmine·jaotis">Django·1.11.29·release·notes</a></p>
877 ··</div>878 ··</div>
878 <search·id="searchbox"·style="display:·none"·role="search">879 <search·id="searchbox"·style="display:·none"·role="search">
879 ··<h3·id="searchlabel">Quick·search</h3>880 ··<h3·id="searchlabel">Kiirotsing</h3>
880 ····<div·class="searchformwrapper">881 ····<div·class="searchformwrapper">
881 ····<form·class="search"·action="../search.html"·method="get">882 ····<form·class="search"·action="../search.html"·method="get">
882 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>883 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
883 ······<input·type="submit"·value="Go"·/>884 ······<input·type="submit"·value="Otsi"·/>
884 ····</form>885 ····</form>
885 ····</div>886 ····</div>
886 </search>887 </search>
887 <script>document.getElementById('searchbox').style.display·=·"block"</script>888 <script>document.getElementById('searchbox').style.display·=·"block"</script>
888 ········</div>889 ········</div>
889 ······</div>890 ······</div>
890 ··············<h3>Last·update:</h3>891 ··············<h3>Last·update:</h3>
891 ··············<p·class="topless">Nov·05,·2024</p>892 ··············<p·class="topless">nov·05,·2024</p>
892 ··········</div>893 ··········</div>
893 ········894 ········
894 ······895 ······
895 ····</div>896 ····</div>
  
896 ····<div·id="ft">897 ····<div·id="ft">
897 ······<div·class="nav">898 ······<div·class="nav">
3.66 KB
html2text {}
Max HTML report size reached
12.0 KB
./usr/share/doc/python-django-doc/html/releases/2.1.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1·release·notes"·href="2.1.html"·/>15 ····<link·rel="next"·title="Django·2.1·release·notes"·href="2.1.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.2·release·notes"·href="2.1.2.html"·/>16 ····<link·rel="prev"·title="Django·2.1.2·release·notes"·href="2.1.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 89, 26 lines modifiedOffset 90, 26 lines modified
89 <li><p>Fixed·a·regression·where·<code·class="docutils·literal·notranslate"><span·class="pre">QueryDict.urlencode()</span></code>·crashed·if·the·dictionary90 <li><p>Fixed·a·regression·where·<code·class="docutils·literal·notranslate"><span·class="pre">QueryDict.urlencode()</span></code>·crashed·if·the·dictionary
90 contains·a·non-string·value·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29627">#29627</a>).</p></li>91 contains·a·non-string·value·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29627">#29627</a>).</p></li>
91 <li><p>Fixed·a·regression·in·Django·2.0·where·using·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">test</span>·<span·class="pre">--keepdb</span></code>92 <li><p>Fixed·a·regression·in·Django·2.0·where·using·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">test</span>·<span·class="pre">--keepdb</span></code>
92 fails·on·PostgreSQL·if·the·database·exists·and·the·user·doesn’t·have93 fails·on·PostgreSQL·if·the·database·exists·and·the·user·doesn’t·have
93 permission·to·create·databases·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29613">#29613</a>).</p></li>94 permission·to·create·databases·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29613">#29613</a>).</p></li>
94 <li><p>Fixed·a·regression·in·Django·2.0·where·combining·<code·class="docutils·literal·notranslate"><span·class="pre">Q</span></code>·objects·with·<code·class="docutils·literal·notranslate"><span·class="pre">__in</span></code>95 <li><p>Fixed·a·regression·in·Django·2.0·where·combining·<code·class="docutils·literal·notranslate"><span·class="pre">Q</span></code>·objects·with·<code·class="docutils·literal·notranslate"><span·class="pre">__in</span></code>
95 lookups·and·lists·crashed·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29643">#29643</a>).</p></li>96 lookups·and·lists·crashed·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29643">#29643</a>).</p></li>
96 <li><p>Fixed·translation·failure·of·<code·class="docutils·literal·notranslate"><span·class="pre">DurationField</span></code>’s·overflow·error·message97 <li><p>Fixed·translation·failure·of·<code·class="docutils·literal·notranslate"><span·class="pre">DurationField</span></code>’s·overflow·error·message
97 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29623">#29623</a>).</p></li>98 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29623">#29623</a>).</p></li>
98 <li><p>Fixed·a·regression·where·the·admin·change·form·crashed·if·the·user·doesn’t99 <li><p>Fixed·a·regression·where·the·admin·change·form·crashed·if·the·user·doesn’t
99 have·the·add·permission·to·a·model·that·uses·<code·class="docutils·literal·notranslate"><span·class="pre">TabularInline</span></code>100 have·the·add·permission·to·a·model·that·uses·<code·class="docutils·literal·notranslate"><span·class="pre">TabularInline</span></code>
100 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29637">#29637</a>).</p></li>101 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29637">#29637</a>).</p></li>
101 <li><p>Fixed·a·regression·where·a·<code·class="docutils·literal·notranslate"><span·class="pre">related_query_name</span></code>·reverse·accessor·wasn’t·set102 <li><p>Fixed·a·regression·where·a·<code·class="docutils·literal·notranslate"><span·class="pre">related_query_name</span></code>·reverse·accessor·wasn’t·set
102 up·when·a·<code·class="docutils·literal·notranslate"><span·class="pre">GenericRelation</span></code>·is·declared·on·an·abstract·base·model103 up·when·a·<code·class="docutils·literal·notranslate"><span·class="pre">GenericRelation</span></code>·is·declared·on·an·abstract·base·model
103 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29653">#29653</a>).</p></li>104 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29653">#29653</a>).</p></li>
104 <li><p>Fixed·the·test·client’s·JSON·serialization·of·a·request·data·dictionary·for105 <li><p>Fixed·the·test·client’s·JSON·serialization·of·a·request·data·dictionary·for
105 structured·content·type·suffixes·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29662">#29662</a>).</p></li>106 structured·content·type·suffixes·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29662">#29662</a>).</p></li>
106 <li><p>Made·the·admin·change·view·redirect·to·the·changelist·view·after·a·POST·if107 <li><p>Made·the·admin·change·view·redirect·to·the·changelist·view·after·a·POST·if
107 the·user·has·the·view·permission·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29663">#29663</a>).</p></li>108 the·user·has·the·view·permission·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29663">#29663</a>).</p></li>
108 <li><p>Fixed·admin·change·view·crash·for·view-only·users·if·the·form·has·an·extra109 <li><p>Fixed·admin·change·view·crash·for·view-only·users·if·the·form·has·an·extra
109 form·field·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29682">#29682</a>).</p></li>110 form·field·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29682">#29682</a>).</p></li>
110 <li><p>Fixed·a·regression·in·Django·2.0.5·where·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.values()</span></code>·or111 <li><p>Fixed·a·regression·in·Django·2.0.5·where·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.values()</span></code>·or
111 <code·class="docutils·literal·notranslate"><span·class="pre">values_list()</span></code>·after·combining·querysets·with·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code>·with112 <code·class="docutils·literal·notranslate"><span·class="pre">values_list()</span></code>·after·combining·querysets·with·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code>·with
112 <code·class="docutils·literal·notranslate"><span·class="pre">union()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">difference()</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">intersection()</span></code>·crashed·due·to113 <code·class="docutils·literal·notranslate"><span·class="pre">union()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">difference()</span></code>,·or·<code·class="docutils·literal·notranslate"><span·class="pre">intersection()</span></code>·crashed·due·to
113 mismatching·columns·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29694">#29694</a>).</p></li>114 mismatching·columns·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29694">#29694</a>).</p></li>
114 <li><p>Fixed·crash·if·<code·class="docutils·literal·notranslate"><span·class="pre">InlineModelAdmin.has_add_permission()</span></code>·doesn’t·accept·the115 <li><p>Fixed·crash·if·<code·class="docutils·literal·notranslate"><span·class="pre">InlineModelAdmin.has_add_permission()</span></code>·doesn’t·accept·the
Offset 124, 47 lines modifiedOffset 125, 47 lines modified
124 ······125 ······
125 ········126 ········
126 ··········<div·class="yui-b"·id="sidebar">127 ··········<div·class="yui-b"·id="sidebar">
127 ············128 ············
128 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">129 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
129 ········<div·class="sphinxsidebarwrapper">130 ········<div·class="sphinxsidebarwrapper">
130 ··<div>131 ··<div>
131 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>132 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
132 ····<ul>133 ····<ul>
133 <li><a·class="reference·internal"·href="#">Django·2.1.1·release·notes</a><ul>134 <li><a·class="reference·internal"·href="#">Django·2.1.1·release·notes</a><ul>
134 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>135 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
135 </ul>136 </ul>
136 </li>137 </li>
137 </ul>138 </ul>
  
138 ··</div>139 ··</div>
139 ··<div>140 ··<div>
140 ····<h4>Previous·topic</h4>141 ····<h4>Eelmine·teema</h4>
141 ····<p·class="topless"><a·href="2.1.2.html"142 ····<p·class="topless"><a·href="2.1.2.html"
142 ··························title="previous·chapter">Django·2.1.2·release·notes</a></p>143 ··························title="eelmine·jaotis">Django·2.1.2·release·notes</a></p>
143 ··</div>144 ··</div>
144 ··<div>145 ··<div>
145 ····<h4>Next·topic</h4>146 ····<h4>Järgmine·teema</h4>
146 ····<p·class="topless"><a·href="2.1.html"147 ····<p·class="topless"><a·href="2.1.html"
147 ··························title="next·chapter">Django·2.1·release·notes</a></p>148 ··························title="järgmine·jaotis">Django·2.1·release·notes</a></p>
148 ··</div>149 ··</div>
149 <search·id="searchbox"·style="display:·none"·role="search">150 <search·id="searchbox"·style="display:·none"·role="search">
150 ··<h3·id="searchlabel">Quick·search</h3>151 ··<h3·id="searchlabel">Kiirotsing</h3>
151 ····<div·class="searchformwrapper">152 ····<div·class="searchformwrapper">
152 ····<form·class="search"·action="../search.html"·method="get">153 ····<form·class="search"·action="../search.html"·method="get">
153 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
154 ······<input·type="submit"·value="Go"·/>155 ······<input·type="submit"·value="Otsi"·/>
155 ····</form>156 ····</form>
156 ····</div>157 ····</div>
157 </search>158 </search>
158 <script>document.getElementById('searchbox').style.display·=·"block"</script>159 <script>document.getElementById('searchbox').style.display·=·"block"</script>
159 ········</div>160 ········</div>
160 ······</div>161 ······</div>
161 ··············<h3>Last·update:</h3>162 ··············<h3>Last·update:</h3>
162 ··············<p·class="topless">Nov·05,·2024</p>163 ··············<p·class="topless">nov·05,·2024</p>
163 ··········</div>164 ··········</div>
164 ········165 ········
165 ······166 ······
166 ····</div>167 ····</div>
  
167 ····<div·id="ft">168 ····<div·id="ft">
168 ······<div·class="nav">169 ······<div·class="nav">
3.79 KB
html2text {}
Max HTML report size reached
6.99 KB
./usr/share/doc/python-django-doc/html/releases/2.1.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.9·release·notes"·href="2.1.9.html"·/>15 ····<link·rel="next"·title="Django·2.1.9·release·notes"·href="2.1.9.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.11·release·notes"·href="2.1.11.html"·/>16 ····<link·rel="prev"·title="Django·2.1.11·release·notes"·href="2.1.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 47 lines modifiedOffset 108, 47 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>115 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
115 ····<ul>116 ····<ul>
116 <li><a·class="reference·internal"·href="#">Django·2.1.10·release·notes</a><ul>117 <li><a·class="reference·internal"·href="#">Django·2.1.10·release·notes</a><ul>
117 <li><a·class="reference·internal"·href="#cve-2019-12781-incorrect-http-detection-with-reverse-proxy-connecting-via-https">CVE-2019-12781:·Incorrect·HTTP·detection·with·reverse-proxy·connecting·via·HTTPS</a></li>118 <li><a·class="reference·internal"·href="#cve-2019-12781-incorrect-http-detection-with-reverse-proxy-connecting-via-https">CVE-2019-12781:·Incorrect·HTTP·detection·with·reverse-proxy·connecting·via·HTTPS</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="2.1.11.html"125 ····<p·class="topless"><a·href="2.1.11.html"
125 ··························title="previous·chapter">Django·2.1.11·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·2.1.11·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="2.1.9.html"130 ····<p·class="topless"><a·href="2.1.9.html"
130 ··························title="next·chapter">Django·2.1.9·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·2.1.9·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
2.72 KB
html2text {}
Max HTML report size reached
8.84 KB
./usr/share/doc/python-django-doc/html/releases/2.1.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.10·release·notes"·href="2.1.10.html"·/>15 ····<link·rel="next"·title="Django·2.1.10·release·notes"·href="2.1.10.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.12·release·notes"·href="2.1.12.html"·/>16 ····<link·rel="prev"·title="Django·2.1.12·release·notes"·href="2.1.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 131, 50 lines modifiedOffset 132, 50 lines modified
131 ······132 ······
132 ········133 ········
133 ··········<div·class="yui-b"·id="sidebar">134 ··········<div·class="yui-b"·id="sidebar">
134 ············135 ············
135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
136 ········<div·class="sphinxsidebarwrapper">137 ········<div·class="sphinxsidebarwrapper">
137 ··<div>138 ··<div>
138 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>139 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
139 ····<ul>140 ····<ul>
140 <li><a·class="reference·internal"·href="#">Django·2.1.11·release·notes</a><ul>141 <li><a·class="reference·internal"·href="#">Django·2.1.11·release·notes</a><ul>
141 <li><a·class="reference·internal"·href="#cve-2019-14232-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2019-14232:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>142 <li><a·class="reference·internal"·href="#cve-2019-14232-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2019-14232:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>
142 <li><a·class="reference·internal"·href="#cve-2019-14233-denial-of-service-possibility-in-strip-tags">CVE-2019-14233:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>143 <li><a·class="reference·internal"·href="#cve-2019-14233-denial-of-service-possibility-in-strip-tags">CVE-2019-14233:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>
143 <li><a·class="reference·internal"·href="#cve-2019-14234-sql-injection-possibility-in-key-and-index-lookups-for-jsonfield-hstorefield">CVE-2019-14234:·SQL·injection·possibility·in·key·and·index·lookups·for·<code·class="docutils·literal·notranslate"><span·class="pre">JSONField</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a></li>144 <li><a·class="reference·internal"·href="#cve-2019-14234-sql-injection-possibility-in-key-and-index-lookups-for-jsonfield-hstorefield">CVE-2019-14234:·SQL·injection·possibility·in·key·and·index·lookups·for·<code·class="docutils·literal·notranslate"><span·class="pre">JSONField</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a></li>
144 <li><a·class="reference·internal"·href="#cve-2019-14235-potential-memory-exhaustion-in-django-utils-encoding-uri-to-iri">CVE-2019-14235:·Potential·memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>145 <li><a·class="reference·internal"·href="#cve-2019-14235-potential-memory-exhaustion-in-django-utils-encoding-uri-to-iri">CVE-2019-14235:·Potential·memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>
145 </ul>146 </ul>
146 </li>147 </li>
147 </ul>148 </ul>
  
148 ··</div>149 ··</div>
149 ··<div>150 ··<div>
150 ····<h4>Previous·topic</h4>151 ····<h4>Eelmine·teema</h4>
151 ····<p·class="topless"><a·href="2.1.12.html"152 ····<p·class="topless"><a·href="2.1.12.html"
152 ··························title="previous·chapter">Django·2.1.12·release·notes</a></p>153 ··························title="eelmine·jaotis">Django·2.1.12·release·notes</a></p>
153 ··</div>154 ··</div>
154 ··<div>155 ··<div>
155 ····<h4>Next·topic</h4>156 ····<h4>Järgmine·teema</h4>
156 ····<p·class="topless"><a·href="2.1.10.html"157 ····<p·class="topless"><a·href="2.1.10.html"
157 ··························title="next·chapter">Django·2.1.10·release·notes</a></p>158 ··························title="järgmine·jaotis">Django·2.1.10·release·notes</a></p>
158 ··</div>159 ··</div>
159 <search·id="searchbox"·style="display:·none"·role="search">160 <search·id="searchbox"·style="display:·none"·role="search">
160 ··<h3·id="searchlabel">Quick·search</h3>161 ··<h3·id="searchlabel">Kiirotsing</h3>
161 ····<div·class="searchformwrapper">162 ····<div·class="searchformwrapper">
162 ····<form·class="search"·action="../search.html"·method="get">163 ····<form·class="search"·action="../search.html"·method="get">
163 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>164 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
164 ······<input·type="submit"·value="Go"·/>165 ······<input·type="submit"·value="Otsi"·/>
165 ····</form>166 ····</form>
166 ····</div>167 ····</div>
167 </search>168 </search>
168 <script>document.getElementById('searchbox').style.display·=·"block"</script>169 <script>document.getElementById('searchbox').style.display·=·"block"</script>
169 ········</div>170 ········</div>
170 ······</div>171 ······</div>
171 ··············<h3>Last·update:</h3>172 ··············<h3>Last·update:</h3>
172 ··············<p·class="topless">Nov·05,·2024</p>173 ··············<p·class="topless">nov·05,·2024</p>
173 ··········</div>174 ··········</div>
174 ········175 ········
175 ······176 ······
176 ····</div>177 ····</div>
  
177 ····<div·id="ft">178 ····<div·id="ft">
178 ······<div·class="nav">179 ······<div·class="nav">
3.6 KB
html2text {}
Max HTML report size reached
6.16 KB
./usr/share/doc/python-django-doc/html/releases/2.1.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.11·release·notes"·href="2.1.11.html"·/>15 ····<link·rel="next"·title="Django·2.1.11·release·notes"·href="2.1.11.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.13·release·notes"·href="2.1.13.html"·/>16 ····<link·rel="prev"·title="Django·2.1.13·release·notes"·href="2.1.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·2.1.12·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·2.1.12·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="2.1.13.html"117 ····<p·class="topless"><a·href="2.1.13.html"
117 ··························title="previous·chapter">Django·2.1.13·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·2.1.13·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="2.1.11.html"122 ····<p·class="topless"><a·href="2.1.11.html"
122 ··························title="next·chapter">Django·2.1.11·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·2.1.11·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.03 KB
html2text {}
Max HTML report size reached
6.16 KB
./usr/share/doc/python-django-doc/html/releases/2.1.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.12·release·notes"·href="2.1.12.html"·/>15 ····<link·rel="next"·title="Django·2.1.12·release·notes"·href="2.1.12.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.14·release·notes"·href="2.1.14.html"·/>16 ····<link·rel="prev"·title="Django·2.1.14·release·notes"·href="2.1.14.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·2.1.13·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·2.1.13·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="2.1.14.html"116 ····<p·class="topless"><a·href="2.1.14.html"
116 ··························title="previous·chapter">Django·2.1.14·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·2.1.14·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="2.1.12.html"121 ····<p·class="topless"><a·href="2.1.12.html"
121 ··························title="next·chapter">Django·2.1.12·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·2.1.12·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.03 KB
html2text {}
Max HTML report size reached
6.21 KB
./usr/share/doc/python-django-doc/html/releases/2.1.14.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.14·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.14·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.13·release·notes"·href="2.1.13.html"·/>15 ····<link·rel="next"·title="Django·2.1.13·release·notes"·href="2.1.13.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.15·release·notes"·href="2.1.15.html"·/>16 ····<link·rel="prev"·title="Django·2.1.15·release·notes"·href="2.1.15.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·2.1.14·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·2.1.14·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="2.1.15.html"117 ····<p·class="topless"><a·href="2.1.15.html"
117 ··························title="previous·chapter">Django·2.1.15·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·2.1.15·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="2.1.13.html"122 ····<p·class="topless"><a·href="2.1.13.html"
122 ··························title="next·chapter">Django·2.1.13·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·2.1.13·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.08 KB
html2text {}
Max HTML report size reached
9.46 KB
./usr/share/doc/python-django-doc/html/releases/2.1.15.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.15·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.15·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.14·release·notes"·href="2.1.14.html"·/>15 ····<link·rel="next"·title="Django·2.1.14·release·notes"·href="2.1.14.html"·/>
15 ····<link·rel="prev"·title="Django·2.2·release·notes"·href="2.2.html"·/>16 ····<link·rel="prev"·title="Django·2.2·release·notes"·href="2.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 89, 15 lines modifiedOffset 90, 15 lines modified
89 parent·model·but·editable·forms·for·the·inline.</p>90 parent·model·but·editable·forms·for·the·inline.</p>
90 <p>Submitting·these·forms·would·not·allow·direct·edits·to·the·parent·model,·but91 <p>Submitting·these·forms·would·not·allow·direct·edits·to·the·parent·model,·but
91 would·trigger·the·parent·model’s·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·method,·and·cause·pre·and·post-save92 would·trigger·the·parent·model’s·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·method,·and·cause·pre·and·post-save
92 signal·handlers·to·be·invoked.·This·is·a·privilege·escalation·as·a·user·who93 signal·handlers·to·be·invoked.·This·is·a·privilege·escalation·as·a·user·who
93 lacks·permission·to·edit·a·model·should·not·be·able·to·trigger·its·save-related94 lacks·permission·to·edit·a·model·should·not·be·able·to·trigger·its·save-related
94 signals.</p>95 signals.</p>
95 <p>To·resolve·this·issue,·the·permission·handling·code·of·the·Django·admin96 <p>To·resolve·this·issue,·the·permission·handling·code·of·the·Django·admin
96 interface·has·been·changed.·Now,·if·a·user·has·only·the·view·permission·for·a97 interface·has·been·changed.·Now,·if·a·user·has·only·the·view·permission·for·a
97 parent·model,·the·entire·displayed·form·will·not·be·editable,·even·if·the·user98 parent·model,·the·entire·displayed·form·will·not·be·editable,·even·if·the·user
98 has·permission·to·edit·models·included·in·inlines.</p>99 has·permission·to·edit·models·included·in·inlines.</p>
99 <p>This·is·a·backwards-incompatible·change,·and·the·Django·security·team·is·aware100 <p>This·is·a·backwards-incompatible·change,·and·the·Django·security·team·is·aware
100 that·some·users·of·Django·were·depending·on·the·ability·to·allow·editing·of101 that·some·users·of·Django·were·depending·on·the·ability·to·allow·editing·of
101 inlines·in·the·admin·form·of·an·otherwise·view-only·parent·model.</p>102 inlines·in·the·admin·form·of·an·otherwise·view-only·parent·model.</p>
102 <p>Given·the·complexity·of·the·Django·admin,·and·in-particular·the·permissions103 <p>Given·the·complexity·of·the·Django·admin,·and·in-particular·the·permissions
103 related·checks,·it·is·the·view·of·the·Django·security·team·that·this·change·was104 related·checks,·it·is·the·view·of·the·Django·security·team·that·this·change·was
Offset 130, 48 lines modifiedOffset 131, 48 lines modified
130 ······131 ······
131 ········132 ········
132 ··········<div·class="yui-b"·id="sidebar">133 ··········<div·class="yui-b"·id="sidebar">
133 ············134 ············
134 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
135 ········<div·class="sphinxsidebarwrapper">136 ········<div·class="sphinxsidebarwrapper">
136 ··<div>137 ··<div>
137 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>138 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
138 ····<ul>139 ····<ul>
139 <li><a·class="reference·internal"·href="#">Django·2.1.15·release·notes</a><ul>140 <li><a·class="reference·internal"·href="#">Django·2.1.15·release·notes</a><ul>
140 <li><a·class="reference·internal"·href="#cve-2019-19118-privilege-escalation-in-the-django-admin">CVE-2019-19118:·Privilege·escalation·in·the·Django·admin.</a></li>141 <li><a·class="reference·internal"·href="#cve-2019-19118-privilege-escalation-in-the-django-admin">CVE-2019-19118:·Privilege·escalation·in·the·Django·admin.</a></li>
141 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>142 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
142 </ul>143 </ul>
143 </li>144 </li>
144 </ul>145 </ul>
  
145 ··</div>146 ··</div>
146 ··<div>147 ··<div>
147 ····<h4>Previous·topic</h4>148 ····<h4>Eelmine·teema</h4>
148 ····<p·class="topless"><a·href="2.2.html"149 ····<p·class="topless"><a·href="2.2.html"
149 ··························title="previous·chapter">Django·2.2·release·notes</a></p>150 ··························title="eelmine·jaotis">Django·2.2·release·notes</a></p>
150 ··</div>151 ··</div>
151 ··<div>152 ··<div>
152 ····<h4>Next·topic</h4>153 ····<h4>Järgmine·teema</h4>
153 ····<p·class="topless"><a·href="2.1.14.html"154 ····<p·class="topless"><a·href="2.1.14.html"
154 ··························title="next·chapter">Django·2.1.14·release·notes</a></p>155 ··························title="järgmine·jaotis">Django·2.1.14·release·notes</a></p>
155 ··</div>156 ··</div>
156 <search·id="searchbox"·style="display:·none"·role="search">157 <search·id="searchbox"·style="display:·none"·role="search">
157 ··<h3·id="searchlabel">Quick·search</h3>158 ··<h3·id="searchlabel">Kiirotsing</h3>
158 ····<div·class="searchformwrapper">159 ····<div·class="searchformwrapper">
159 ····<form·class="search"·action="../search.html"·method="get">160 ····<form·class="search"·action="../search.html"·method="get">
160 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
161 ······<input·type="submit"·value="Go"·/>162 ······<input·type="submit"·value="Otsi"·/>
162 ····</form>163 ····</form>
163 ····</div>164 ····</div>
164 </search>165 </search>
165 <script>document.getElementById('searchbox').style.display·=·"block"</script>166 <script>document.getElementById('searchbox').style.display·=·"block"</script>
166 ········</div>167 ········</div>
167 ······</div>168 ······</div>
168 ··············<h3>Last·update:</h3>169 ··············<h3>Last·update:</h3>
169 ··············<p·class="topless">Nov·05,·2024</p>170 ··············<p·class="topless">nov·05,·2024</p>
170 ··········</div>171 ··········</div>
171 ········172 ········
172 ······173 ······
173 ····</div>174 ····</div>
  
174 ····<div·id="ft">175 ····<div·id="ft">
175 ······<div·class="nav">176 ······<div·class="nav">
3.96 KB
html2text {}
Max HTML report size reached
9.59 KB
./usr/share/doc/python-django-doc/html/releases/2.1.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.1·release·notes"·href="2.1.1.html"·/>15 ····<link·rel="next"·title="Django·2.1.1·release·notes"·href="2.1.1.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.3·release·notes"·href="2.1.3.html"·/>16 ····<link·rel="prev"·title="Django·2.1.3·release·notes"·href="2.1.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-django-2-1-2-release-notes">81 ··<section·id="s-django-2-1-2-release-notes">
81 <span·id="django-2-1-2-release-notes"></span><h1>Django·2.1.2·release·notes<a·class="headerlink"·href="#django-2-1-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-1-2-release-notes"></span><h1>Django·2.1.2·release·notes<a·class="headerlink"·href="#django-2-1-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>October·1,·2018</em></p>83 <p><em>October·1,·2018</em></p>
83 <p>Django·2.1.2·fixes·a·security·issue·and·several·bugs·in·2.1.1.·Also,·the·latest84 <p>Django·2.1.2·fixes·a·security·issue·and·several·bugs·in·2.1.1.·Also,·the·latest
84 string·translations·from·Transifex·are·incorporated.</p>85 string·translations·from·Transifex·are·incorporated.</p>
85 <section·id="s-cve-2018-16984-password-hash-disclosure-to-view-only-admin-users">86 <section·id="s-cve-2018-16984-password-hash-disclosure-to-view-only-admin-users">
86 <span·id="cve-2018-16984-password-hash-disclosure-to-view-only-admin-users"></span><h2>CVE-2018-16984:·Password·hash·disclosure·to·view·only·admin·users<a·class="headerlink"·href="#cve-2018-16984-password-hash-disclosure-to-view-only-admin-users"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2018-16984-password-hash-disclosure-to-view-only-admin-users"></span><h2>CVE-2018-16984:·Password·hash·disclosure·to·view·only·admin·users<a·class="headerlink"·href="#cve-2018-16984-password-hash-disclosure-to-view-only-admin-users"·title="Link·to·this·heading">¶</a></h2>
87 <p>If·an·admin·user·has·the·change·permission·to·the·user·model,·only·part·of·the88 <p>If·an·admin·user·has·the·change·permission·to·the·user·model,·only·part·of·the
88 password·hash·is·displayed·in·the·change·form.·Admin·users·with·the·view·(but89 password·hash·is·displayed·in·the·change·form.·Admin·users·with·the·view·(but
89 not·change)·permission·to·the·user·model·were·displayed·the·entire·hash.·While90 not·change)·permission·to·the·user·model·were·displayed·the·entire·hash.·While
90 it’s·typically·infeasible·to·reverse·a·strong·password·hash,·if·your·site·uses91 it’s·typically·infeasible·to·reverse·a·strong·password·hash,·if·your·site·uses
91 weaker·password·hashing·algorithms·such·as·MD5·or·SHA1,·it·could·be·a·problem.</p>92 weaker·password·hashing·algorithms·such·as·MD5·or·SHA1,·it·could·be·a·problem.</p>
92 </section>93 </section>
93 <section·id="s-bugfixes">94 <section·id="s-bugfixes">
Offset 117, 48 lines modifiedOffset 118, 48 lines modified
117 ······118 ······
118 ········119 ········
119 ··········<div·class="yui-b"·id="sidebar">120 ··········<div·class="yui-b"·id="sidebar">
120 ············121 ············
121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
122 ········<div·class="sphinxsidebarwrapper">123 ········<div·class="sphinxsidebarwrapper">
123 ··<div>124 ··<div>
124 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>125 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
125 ····<ul>126 ····<ul>
126 <li><a·class="reference·internal"·href="#">Django·2.1.2·release·notes</a><ul>127 <li><a·class="reference·internal"·href="#">Django·2.1.2·release·notes</a><ul>
127 <li><a·class="reference·internal"·href="#cve-2018-16984-password-hash-disclosure-to-view-only-admin-users">CVE-2018-16984:·Password·hash·disclosure·to·view·only·admin·users</a></li>128 <li><a·class="reference·internal"·href="#cve-2018-16984-password-hash-disclosure-to-view-only-admin-users">CVE-2018-16984:·Password·hash·disclosure·to·view·only·admin·users</a></li>
128 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>129 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
129 </ul>130 </ul>
130 </li>131 </li>
131 </ul>132 </ul>
  
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Previous·topic</h4>135 ····<h4>Eelmine·teema</h4>
135 ····<p·class="topless"><a·href="2.1.3.html"136 ····<p·class="topless"><a·href="2.1.3.html"
136 ··························title="previous·chapter">Django·2.1.3·release·notes</a></p>137 ··························title="eelmine·jaotis">Django·2.1.3·release·notes</a></p>
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Next·topic</h4>140 ····<h4>Järgmine·teema</h4>
140 ····<p·class="topless"><a·href="2.1.1.html"141 ····<p·class="topless"><a·href="2.1.1.html"
141 ··························title="next·chapter">Django·2.1.1·release·notes</a></p>142 ··························title="järgmine·jaotis">Django·2.1.1·release·notes</a></p>
142 ··</div>143 ··</div>
143 <search·id="searchbox"·style="display:·none"·role="search">144 <search·id="searchbox"·style="display:·none"·role="search">
144 ··<h3·id="searchlabel">Quick·search</h3>145 ··<h3·id="searchlabel">Kiirotsing</h3>
145 ····<div·class="searchformwrapper">146 ····<div·class="searchformwrapper">
146 ····<form·class="search"·action="../search.html"·method="get">147 ····<form·class="search"·action="../search.html"·method="get">
147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>148 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
148 ······<input·type="submit"·value="Go"·/>149 ······<input·type="submit"·value="Otsi"·/>
149 ····</form>150 ····</form>
150 ····</div>151 ····</div>
151 </search>152 </search>
152 <script>document.getElementById('searchbox').style.display·=·"block"</script>153 <script>document.getElementById('searchbox').style.display·=·"block"</script>
153 ········</div>154 ········</div>
154 ······</div>155 ······</div>
155 ··············<h3>Last·update:</h3>156 ··············<h3>Last·update:</h3>
156 ··············<p·class="topless">Nov·05,·2024</p>157 ··············<p·class="topless">nov·05,·2024</p>
157 ··········</div>158 ··········</div>
158 ········159 ········
159 ······160 ······
160 ····</div>161 ····</div>
  
161 ····<div·id="ft">162 ····<div·id="ft">
162 ······<div·class="nav">163 ······<div·class="nav">
3.61 KB
html2text {}
Max HTML report size reached
6.48 KB
./usr/share/doc/python-django-doc/html/releases/2.1.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.2·release·notes"·href="2.1.2.html"·/>15 ····<link·rel="next"·title="Django·2.1.2·release·notes"·href="2.1.2.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.4·release·notes"·href="2.1.4.html"·/>16 ····<link·rel="prev"·title="Django·2.1.4·release·notes"·href="2.1.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 106, 47 lines modifiedOffset 107, 47 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·2.1.3·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·2.1.3·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="2.1.4.html"124 ····<p·class="topless"><a·href="2.1.4.html"
124 ··························title="previous·chapter">Django·2.1.4·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·2.1.4·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="2.1.2.html"129 ····<p·class="topless"><a·href="2.1.2.html"
129 ··························title="next·chapter">Django·2.1.2·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·2.1.2·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
2.36 KB
html2text {}
Max HTML report size reached
8.34 KB
./usr/share/doc/python-django-doc/html/releases/2.1.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.3·release·notes"·href="2.1.3.html"·/>15 ····<link·rel="next"·title="Django·2.1.3·release·notes"·href="2.1.3.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.5·release·notes"·href="2.1.5.html"·/>16 ····<link·rel="prev"·title="Django·2.1.5·release·notes"·href="2.1.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 90, 16 lines modifiedOffset 91, 16 lines modified
90 <li><p>Prevented·repetitive·calls·to·<code·class="docutils·literal·notranslate"><span·class="pre">geos_version_tuple()</span></code>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">WKBWriter</span></code>91 <li><p>Prevented·repetitive·calls·to·<code·class="docutils·literal·notranslate"><span·class="pre">geos_version_tuple()</span></code>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">WKBWriter</span></code>
91 class·in·an·attempt·to·fix·a·random·crash·involving·<code·class="docutils·literal·notranslate"><span·class="pre">LooseVersion</span></code>92 class·in·an·attempt·to·fix·a·random·crash·involving·<code·class="docutils·literal·notranslate"><span·class="pre">LooseVersion</span></code>
92 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29959">#29959</a>).</p></li>93 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29959">#29959</a>).</p></li>
93 <li><p>Fixed·keep-alive·support·in·<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code>·after·it·was·disabled·to·fix94 <li><p>Fixed·keep-alive·support·in·<code·class="docutils·literal·notranslate"><span·class="pre">runserver</span></code>·after·it·was·disabled·to·fix
94 another·issue·in·Django·2.0·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29849">#29849</a>).</p></li>95 another·issue·in·Django·2.0·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29849">#29849</a>).</p></li>
95 <li><p>Fixed·admin·view-only·change·form·crash·when·using96 <li><p>Fixed·admin·view-only·change·form·crash·when·using
96 <code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.prepopulated_fields</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29929">#29929</a>).</p></li>97 <code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin.prepopulated_fields</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29929">#29929</a>).</p></li>
97 <li><p>Fixed·Please·correct·the·errors·below·error·message·when·editing·an·object98 <li><p>Fixed·Please·correct·the·errors·below·error·message·when·editing·an·object
98 in·the·admin·if·the·user·only·has·the·view·permission·on·inlines99 in·the·admin·if·the·user·only·has·the·view·permission·on·inlines
99 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29930">#29930</a>).</p></li>100 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29930">#29930</a>).</p></li>
100 </ul>101 </ul>
101 </section>102 </section>
102 </section>103 </section>
  
  
103 ··········</div>104 ··········</div>
Offset 108, 47 lines modifiedOffset 109, 47 lines modified
108 ······109 ······
109 ········110 ········
110 ··········<div·class="yui-b"·id="sidebar">111 ··········<div·class="yui-b"·id="sidebar">
111 ············112 ············
112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
113 ········<div·class="sphinxsidebarwrapper">114 ········<div·class="sphinxsidebarwrapper">
114 ··<div>115 ··<div>
115 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>116 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
116 ····<ul>117 ····<ul>
117 <li><a·class="reference·internal"·href="#">Django·2.1.4·release·notes</a><ul>118 <li><a·class="reference·internal"·href="#">Django·2.1.4·release·notes</a><ul>
118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>119 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
119 </ul>120 </ul>
120 </li>121 </li>
121 </ul>122 </ul>
  
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Previous·topic</h4>125 ····<h4>Eelmine·teema</h4>
125 ····<p·class="topless"><a·href="2.1.5.html"126 ····<p·class="topless"><a·href="2.1.5.html"
126 ··························title="previous·chapter">Django·2.1.5·release·notes</a></p>127 ··························title="eelmine·jaotis">Django·2.1.5·release·notes</a></p>
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Next·topic</h4>130 ····<h4>Järgmine·teema</h4>
130 ····<p·class="topless"><a·href="2.1.3.html"131 ····<p·class="topless"><a·href="2.1.3.html"
131 ··························title="next·chapter">Django·2.1.3·release·notes</a></p>132 ··························title="järgmine·jaotis">Django·2.1.3·release·notes</a></p>
132 ··</div>133 ··</div>
133 <search·id="searchbox"·style="display:·none"·role="search">134 <search·id="searchbox"·style="display:·none"·role="search">
134 ··<h3·id="searchlabel">Quick·search</h3>135 ··<h3·id="searchlabel">Kiirotsing</h3>
135 ····<div·class="searchformwrapper">136 ····<div·class="searchformwrapper">
136 ····<form·class="search"·action="../search.html"·method="get">137 ····<form·class="search"·action="../search.html"·method="get">
137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
138 ······<input·type="submit"·value="Go"·/>139 ······<input·type="submit"·value="Otsi"·/>
139 ····</form>140 ····</form>
140 ····</div>141 ····</div>
141 </search>142 </search>
142 <script>document.getElementById('searchbox').style.display·=·"block"</script>143 <script>document.getElementById('searchbox').style.display·=·"block"</script>
143 ········</div>144 ········</div>
144 ······</div>145 ······</div>
145 ··············<h3>Last·update:</h3>146 ··············<h3>Last·update:</h3>
146 ··············<p·class="topless">Nov·05,·2024</p>147 ··············<p·class="topless">nov·05,·2024</p>
147 ··········</div>148 ··········</div>
148 ········149 ········
149 ······150 ······
150 ····</div>151 ····</div>
  
151 ····<div·id="ft">152 ····<div·id="ft">
152 ······<div·class="nav">153 ······<div·class="nav">
2.69 KB
html2text {}
Max HTML report size reached
6.99 KB
./usr/share/doc/python-django-doc/html/releases/2.1.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.4·release·notes"·href="2.1.4.html"·/>15 ····<link·rel="next"·title="Django·2.1.4·release·notes"·href="2.1.4.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.6·release·notes"·href="2.1.6.html"·/>16 ····<link·rel="prev"·title="Django·2.1.6·release·notes"·href="2.1.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 116, 50 lines modifiedOffset 117, 50 lines modified
116 ······117 ······
117 ········118 ········
118 ··········<div·class="yui-b"·id="sidebar">119 ··········<div·class="yui-b"·id="sidebar">
119 ············120 ············
120 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
121 ········<div·class="sphinxsidebarwrapper">122 ········<div·class="sphinxsidebarwrapper">
122 ··<div>123 ··<div>
123 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>124 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
124 ····<ul>125 ····<ul>
125 <li><a·class="reference·internal"·href="#">Django·2.1.5·release·notes</a><ul>126 <li><a·class="reference·internal"·href="#">Django·2.1.5·release·notes</a><ul>
126 <li><a·class="reference·internal"·href="#cve-2019-3498-content-spoofing-possibility-in-the-default-404-page">CVE-2019-3498:·Content·spoofing·possibility·in·the·default·404·page</a><ul>127 <li><a·class="reference·internal"·href="#cve-2019-3498-content-spoofing-possibility-in-the-default-404-page">CVE-2019-3498:·Content·spoofing·possibility·in·the·default·404·page</a><ul>
127 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>128 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
128 </ul>129 </ul>
129 </li>130 </li>
130 </ul>131 </ul>
131 </li>132 </li>
132 </ul>133 </ul>
  
133 ··</div>134 ··</div>
134 ··<div>135 ··<div>
135 ····<h4>Previous·topic</h4>136 ····<h4>Eelmine·teema</h4>
136 ····<p·class="topless"><a·href="2.1.6.html"137 ····<p·class="topless"><a·href="2.1.6.html"
137 ··························title="previous·chapter">Django·2.1.6·release·notes</a></p>138 ··························title="eelmine·jaotis">Django·2.1.6·release·notes</a></p>
138 ··</div>139 ··</div>
139 ··<div>140 ··<div>
140 ····<h4>Next·topic</h4>141 ····<h4>Järgmine·teema</h4>
141 ····<p·class="topless"><a·href="2.1.4.html"142 ····<p·class="topless"><a·href="2.1.4.html"
142 ··························title="next·chapter">Django·2.1.4·release·notes</a></p>143 ··························title="järgmine·jaotis">Django·2.1.4·release·notes</a></p>
143 ··</div>144 ··</div>
144 <search·id="searchbox"·style="display:·none"·role="search">145 <search·id="searchbox"·style="display:·none"·role="search">
145 ··<h3·id="searchlabel">Quick·search</h3>146 ··<h3·id="searchlabel">Kiirotsing</h3>
146 ····<div·class="searchformwrapper">147 ····<div·class="searchformwrapper">
147 ····<form·class="search"·action="../search.html"·method="get">148 ····<form·class="search"·action="../search.html"·method="get">
148 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>149 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
149 ······<input·type="submit"·value="Go"·/>150 ······<input·type="submit"·value="Otsi"·/>
150 ····</form>151 ····</form>
151 ····</div>152 ····</div>
152 </search>153 </search>
153 <script>document.getElementById('searchbox').style.display·=·"block"</script>154 <script>document.getElementById('searchbox').style.display·=·"block"</script>
154 ········</div>155 ········</div>
155 ······</div>156 ······</div>
156 ··············<h3>Last·update:</h3>157 ··············<h3>Last·update:</h3>
157 ··············<p·class="topless">Nov·05,·2024</p>158 ··············<p·class="topless">nov·05,·2024</p>
158 ··········</div>159 ··········</div>
159 ········160 ········
160 ······161 ······
161 ····</div>162 ····</div>
  
162 ····<div·id="ft">163 ····<div·id="ft">
163 ······<div·class="nav">164 ······<div·class="nav">
2.68 KB
html2text {}
Max HTML report size reached
7.05 KB
./usr/share/doc/python-django-doc/html/releases/2.1.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.5·release·notes"·href="2.1.5.html"·/>15 ····<link·rel="next"·title="Django·2.1.5·release·notes"·href="2.1.5.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.7·release·notes"·href="2.1.7.html"·/>16 ····<link·rel="prev"·title="Django·2.1.7·release·notes"·href="2.1.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 50 lines modifiedOffset 108, 50 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>115 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
115 ····<ul>116 ····<ul>
116 <li><a·class="reference·internal"·href="#">Django·2.1.6·release·notes</a><ul>117 <li><a·class="reference·internal"·href="#">Django·2.1.6·release·notes</a><ul>
117 <li><a·class="reference·internal"·href="#cve-2019-6975-memory-exhaustion-in-django-utils-numberformat-format">CVE-2019-6975:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.format()</span></code></a><ul>118 <li><a·class="reference·internal"·href="#cve-2019-6975-memory-exhaustion-in-django-utils-numberformat-format">CVE-2019-6975:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.format()</span></code></a><ul>
118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>119 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
119 </ul>120 </ul>
120 </li>121 </li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="2.1.7.html"128 ····<p·class="topless"><a·href="2.1.7.html"
128 ··························title="previous·chapter">Django·2.1.7·release·notes</a></p>129 ··························title="eelmine·jaotis">Django·2.1.7·release·notes</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="2.1.5.html"133 ····<p·class="topless"><a·href="2.1.5.html"
133 ··························title="next·chapter">Django·2.1.5·release·notes</a></p>134 ··························title="järgmine·jaotis">Django·2.1.5·release·notes</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../search.html"·method="get">139 ····<form·class="search"·action="../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
2.66 KB
html2text {}
Max HTML report size reached
6.01 KB
./usr/share/doc/python-django-doc/html/releases/2.1.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.6·release·notes"·href="2.1.6.html"·/>15 ····<link·rel="next"·title="Django·2.1.6·release·notes"·href="2.1.6.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.8·release·notes"·href="2.1.8.html"·/>16 ····<link·rel="prev"·title="Django·2.1.8·release·notes"·href="2.1.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·2.1.7·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·2.1.7·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="2.1.8.html"114 ····<p·class="topless"><a·href="2.1.8.html"
114 ··························title="previous·chapter">Django·2.1.8·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·2.1.8·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="2.1.6.html"119 ····<p·class="topless"><a·href="2.1.6.html"
119 ··························title="next·chapter">Django·2.1.6·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·2.1.6·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
1.89 KB
html2text {}
    
Offset 1, 20 lines modifiedOffset 1, 20 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·2\x82.\x8.1\x81.\x8.7\x87·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·2\x82.\x8.1\x81.\x8.7\x87·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·1\x811\x81,\x8,·2\x820\x801\x819\x895 F\x8Fe\x8eb\x8br\x8ru\x8ua\x8ar\x8ry\x8y·1\x811\x81,\x8,·2\x820\x801\x819\x89
6 Django·2.1.7·fixes·a·packaging·error·in·2.1.6.6 Django·2.1.7·fixes·a·packaging·error·in·2.1.6.
7 *\x8**\x8**\x8**\x8**\x8*·B\x8Bu\x8ug\x8gf\x8fi\x8ix\x8xe\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8*7 *\x8**\x8**\x8**\x8**\x8*·B\x8Bu\x8ug\x8gf\x8fi\x8ix\x8xe\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8*
8 ····*·Corrected·packaging·error·from·2.1.6·(_\x8#_\x83_\x80_\x81_\x87_\x85).8 ····*·Corrected·packaging·error·from·2.1.6·(_\x8#_\x83_\x80_\x81_\x87_\x85).
9 *\x8**\x8**\x8**\x8*·_\x8T.T_.a.a_.b.b_.l.l_.e.e_.·_.o.o_.f.f_.·_.C.C_.o.o_.n.n_.t.t_.e.e_.n.n_.t.t_.s.s·*\x8**\x8**\x8**\x8*9 *\x8**\x8**\x8**\x8*·_\x8S.S_.i.i_.s.s_.u.u_.k.k_.o.o_.r.r_.r.r_.a.a_.t.t_.a.a_.b.b_.e.e_.l.l·*\x8**\x8**\x8**\x8*
10 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x81_\x8._\x87_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s10 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x81_\x8._\x87_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
11 ··········o·_\x8B_\x8u_\x8g_\x8f_\x8i_\x8x_\x8e_\x8s11 ··········o·_\x8B_\x8u_\x8g_\x8f_\x8i_\x8x_\x8e_\x8s
12 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*12 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x81_\x8._\x88_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s13 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x81_\x8._\x88_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
14 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*14 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x81_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s15 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x81_\x8._\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
16 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*16 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
17 [q···················][Go]17 [q···················][Otsi]
18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*18 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
19 Nov·05,·202419 nov·05,·2024
20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»20 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
6.08 KB
./usr/share/doc/python-django-doc/html/releases/2.1.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.7·release·notes"·href="2.1.7.html"·/>15 ····<link·rel="next"·title="Django·2.1.7·release·notes"·href="2.1.7.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.9·release·notes"·href="2.1.9.html"·/>16 ····<link·rel="prev"·title="Django·2.1.9·release·notes"·href="2.1.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·2.1.8·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·2.1.8·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="2.1.9.html"116 ····<p·class="topless"><a·href="2.1.9.html"
116 ··························title="previous·chapter">Django·2.1.9·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·2.1.9·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="2.1.7.html"121 ····<p·class="topless"><a·href="2.1.7.html"
121 ··························title="next·chapter">Django·2.1.7·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·2.1.7·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
1.97 KB
html2text {}
Max HTML report size reached
9.55 KB
./usr/share/doc/python-django-doc/html/releases/2.1.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.8·release·notes"·href="2.1.8.html"·/>15 ····<link·rel="next"·title="Django·2.1.8·release·notes"·href="2.1.8.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.10·release·notes"·href="2.1.10.html"·/>16 ····<link·rel="prev"·title="Django·2.1.10·release·notes"·href="2.1.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-django-2-1-9-release-notes">81 ··<section·id="s-django-2-1-9-release-notes">
81 <span·id="django-2-1-9-release-notes"></span><h1>Django·2.1.9·release·notes<a·class="headerlink"·href="#django-2-1-9-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-1-9-release-notes"></span><h1>Django·2.1.9·release·notes<a·class="headerlink"·href="#django-2-1-9-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>June·3,·2019</em></p>83 <p><em>June·3,·2019</em></p>
83 <p>Django·2.1.9·fixes·security·issues·in·2.1.8.</p>84 <p>Django·2.1.9·fixes·security·issues·in·2.1.8.</p>
84 <section·id="s-cve-2019-12308-adminurlfieldwidget-xss">85 <section·id="s-cve-2019-12308-adminurlfieldwidget-xss">
85 <span·id="cve-2019-12308-adminurlfieldwidget-xss"></span><h2>CVE-2019-12308:·AdminURLFieldWidget·XSS<a·class="headerlink"·href="#cve-2019-12308-adminurlfieldwidget-xss"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2019-12308-adminurlfieldwidget-xss"></span><h2>CVE-2019-12308:·AdminURLFieldWidget·XSS<a·class="headerlink"·href="#cve-2019-12308-adminurlfieldwidget-xss"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·clickable·Current·URL·link·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·displayed87 <p>The·clickable·Current·URL·link·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·displayed
87 the·provided·value·without·validating·it·as·a·safe·URL.·Thus,·an·unvalidated88 the·provided·value·without·validating·it·as·a·safe·URL.·Thus,·an·unvalidated
88 value·stored·in·the·database,·or·a·value·provided·as·a·URL·query·parameter89 value·stored·in·the·database,·or·a·value·provided·as·a·URL·query·parameter
89 payload,·could·result·in·an·clickable·JavaScript·link.</p>90 payload,·could·result·in·an·clickable·JavaScript·link.</p>
90 <p><code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·now·validates·the·provided·value·using91 <p><code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·now·validates·the·provided·value·using
91 <a·class="reference·internal"·href="../ref/validators.html#django.core.validators.URLValidator"·title="django.core.validators.URLValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a>·before·displaying·the·clickable92 <a·class="reference·internal"·href="../ref/validators.html#django.core.validators.URLValidator"·title="django.core.validators.URLValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a>·before·displaying·the·clickable
92 link.·You·may·customize·the·validator·by·passing·a·<code·class="docutils·literal·notranslate"><span·class="pre">validator_class</span></code>·kwarg·to93 link.·You·may·customize·the·validator·by·passing·a·<code·class="docutils·literal·notranslate"><span·class="pre">validator_class</span></code>·kwarg·to
93 <code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget.__init__()</span></code>,·e.g.·when·using94 <code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget.__init__()</span></code>,·e.g.·when·using
Offset 111, 48 lines modifiedOffset 112, 48 lines modified
111 ······112 ······
112 ········113 ········
113 ··········<div·class="yui-b"·id="sidebar">114 ··········<div·class="yui-b"·id="sidebar">
114 ············115 ············
115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
116 ········<div·class="sphinxsidebarwrapper">117 ········<div·class="sphinxsidebarwrapper">
117 ··<div>118 ··<div>
118 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>119 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
119 ····<ul>120 ····<ul>
120 <li><a·class="reference·internal"·href="#">Django·2.1.9·release·notes</a><ul>121 <li><a·class="reference·internal"·href="#">Django·2.1.9·release·notes</a><ul>
121 <li><a·class="reference·internal"·href="#cve-2019-12308-adminurlfieldwidget-xss">CVE-2019-12308:·AdminURLFieldWidget·XSS</a></li>122 <li><a·class="reference·internal"·href="#cve-2019-12308-adminurlfieldwidget-xss">CVE-2019-12308:·AdminURLFieldWidget·XSS</a></li>
122 <li><a·class="reference·internal"·href="#patched-bundled-jquery-for-cve-2019-11358-prototype-pollution">Patched·bundled·jQuery·for·CVE-2019-11358:·Prototype·pollution</a></li>123 <li><a·class="reference·internal"·href="#patched-bundled-jquery-for-cve-2019-11358-prototype-pollution">Patched·bundled·jQuery·for·CVE-2019-11358:·Prototype·pollution</a></li>
123 </ul>124 </ul>
124 </li>125 </li>
125 </ul>126 </ul>
  
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Previous·topic</h4>129 ····<h4>Eelmine·teema</h4>
129 ····<p·class="topless"><a·href="2.1.10.html"130 ····<p·class="topless"><a·href="2.1.10.html"
130 ··························title="previous·chapter">Django·2.1.10·release·notes</a></p>131 ··························title="eelmine·jaotis">Django·2.1.10·release·notes</a></p>
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Next·topic</h4>134 ····<h4>Järgmine·teema</h4>
134 ····<p·class="topless"><a·href="2.1.8.html"135 ····<p·class="topless"><a·href="2.1.8.html"
135 ··························title="next·chapter">Django·2.1.8·release·notes</a></p>136 ··························title="järgmine·jaotis">Django·2.1.8·release·notes</a></p>
136 ··</div>137 ··</div>
137 <search·id="searchbox"·style="display:·none"·role="search">138 <search·id="searchbox"·style="display:·none"·role="search">
138 ··<h3·id="searchlabel">Quick·search</h3>139 ··<h3·id="searchlabel">Kiirotsing</h3>
139 ····<div·class="searchformwrapper">140 ····<div·class="searchformwrapper">
140 ····<form·class="search"·action="../search.html"·method="get">141 ····<form·class="search"·action="../search.html"·method="get">
141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
142 ······<input·type="submit"·value="Go"·/>143 ······<input·type="submit"·value="Otsi"·/>
143 ····</form>144 ····</form>
144 ····</div>145 ····</div>
145 </search>146 </search>
146 <script>document.getElementById('searchbox').style.display·=·"block"</script>147 <script>document.getElementById('searchbox').style.display·=·"block"</script>
147 ········</div>148 ········</div>
148 ······</div>149 ······</div>
149 ··············<h3>Last·update:</h3>150 ··············<h3>Last·update:</h3>
150 ··············<p·class="topless">Nov·05,·2024</p>151 ··············<p·class="topless">nov·05,·2024</p>
151 ··········</div>152 ··········</div>
152 ········153 ········
153 ······154 ······
154 ····</div>155 ····</div>
  
155 ····<div·id="ft">156 ····<div·id="ft">
156 ······<div·class="nav">157 ······<div·class="nav">
3.41 KB
html2text {}
Max HTML report size reached
39.6 KB
./usr/share/doc/python-django-doc/html/releases/2.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.0.13·release·notes"·href="2.0.13.html"·/>15 ····<link·rel="next"·title="Django·2.0.13·release·notes"·href="2.0.13.html"·/>
15 ····<link·rel="prev"·title="Django·2.1.1·release·notes"·href="2.1.1.html"·/>16 ····<link·rel="prev"·title="Django·2.1.1·release·notes"·href="2.1.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 94, 41 lines modifiedOffset 95, 41 lines modified
94 <p>Django·2.1·supports·Python·3.5,·3.6,·and·3.7.·Django·2.0·is·the·last·version·to95 <p>Django·2.1·supports·Python·3.5,·3.6,·and·3.7.·Django·2.0·is·the·last·version·to
95 support·Python·3.4.··We·<strong>highly·recommend</strong>·and·only·officially·support·the96 support·Python·3.4.··We·<strong>highly·recommend</strong>·and·only·officially·support·the
96 latest·release·of·each·series.</p>97 latest·release·of·each·series.</p>
97 </section>98 </section>
98 <section·id="s-what-s-new-in-django-2-1">99 <section·id="s-what-s-new-in-django-2-1">
99 <span·id="s-whats-new-2-1"></span><span·id="what-s-new-in-django-2-1"></span><span·id="whats-new-2-1"></span><h2>What’s·new·in·Django·2.1<a·class="headerlink"·href="#what-s-new-in-django-2-1"·title="Link·to·this·heading">¶</a></h2>100 <span·id="s-whats-new-2-1"></span><span·id="what-s-new-in-django-2-1"></span><span·id="whats-new-2-1"></span><h2>What’s·new·in·Django·2.1<a·class="headerlink"·href="#what-s-new-in-django-2-1"·title="Link·to·this·heading">¶</a></h2>
100 <section·id="s-model-view-permission">101 <section·id="s-model-view-permission">
101 <span·id="model-view-permission"></span><h3>Model·view·permission<a·class="headerlink"·href="#model-view-permission"·title="Link·to·this·heading">¶</a></h3>102 <span·id="model-view-permission"></span><h3>Model·view·permission<a·class="headerlink"·href="#model-view-permission"·title="Link·to·this·heading">¶</a></h3>
102 <p>A·view·permission·is·added·to·the·model·<a·class="reference·internal"·href="../ref/models/options.html#django.db.models.Options.default_permissions"·title="django.db.models.Options.default_permissions"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Meta.default_permissions</span></code></a>.·The·new·permissions·will·be103 <p>A·view·permission·is·added·to·the·model·<a·class="reference·internal"·href="../ref/models/options.html#django.db.models.Options.default_permissions"·title="django.db.models.Options.default_permissions"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Meta.default_permissions</span></code></a>.·The·new·permissions·will·be
103 created·automatically·when·running·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-migrate"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">migrate</span></code></a>.</p>104 created·automatically·when·running·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-migrate"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">migrate</span></code></a>.</p>
104 <p>This·allows·giving·users·read-only·access·to·models·in·the·admin.105 <p>This·allows·giving·users·read-only·access·to·models·in·the·admin.
105 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_view_permission"·title="django.contrib.admin.ModelAdmin.has_view_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.has_view_permission()</span></code></a>·is·new.·The·implementation·is·backwards106 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_view_permission"·title="django.contrib.admin.ModelAdmin.has_view_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.has_view_permission()</span></code></a>·is·new.·The·implementation·is·backwards
106 compatible·in·that·there·isn’t·a·need·to·assign·the·view·permission·to·allow107 compatible·in·that·there·isn’t·a·need·to·assign·the·view·permission·to·allow
107 users·who·have·the·change·permission·to·edit·objects.</p>108 users·who·have·the·change·permission·to·edit·objects.</p>
108 <p>There·are·a·couple·of·<a·class="reference·internal"·href="#view-permission-backwards-incompatible"><span·class="std·std-ref">backwards·incompatible·considerations</span></a>.</p>109 <p>There·are·a·couple·of·<a·class="reference·internal"·href="#view-permission-backwards-incompatible"><span·class="std·std-ref">backwards·incompatible·considerations</span></a>.</p>
109 </section>110 </section>
110 <section·id="s-minor-features">111 <section·id="s-minor-features">
111 <span·id="minor-features"></span><h3>Minor·features<a·class="headerlink"·href="#minor-features"·title="Link·to·this·heading">¶</a></h3>112 <span·id="minor-features"></span><h3>Minor·features<a·class="headerlink"·href="#minor-features"·title="Link·to·this·heading">¶</a></h3>
112 <section·id="s-django-contrib-admin">113 <section·id="s-django-contrib-admin">
113 <span·id="django-contrib-admin"></span><h4><a·class="reference·internal"·href="../ref/contrib/admin/index.html#module-django.contrib.admin"·title="django.contrib.admin:·Django's·admin·site."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code></a><a·class="headerlink"·href="#django-contrib-admin"·title="Link·to·this·heading">¶</a></h4>114 <span·id="django-contrib-admin"></span><h4><a·class="reference·internal"·href="../ref/contrib/admin/index.html#module-django.contrib.admin"·title="django.contrib.admin:·Django's·admin·site."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code></a><a·class="headerlink"·href="#django-contrib-admin"·title="Link·to·this·heading">¶</a></h4>
114 <ul·class="simple">115 <ul·class="simple">
115 <li><p><a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.search_fields"·title="django.contrib.admin.ModelAdmin.search_fields"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.search_fields</span></code></a>·now·accepts·any·lookup·such·as116 <li><p><a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.search_fields"·title="django.contrib.admin.ModelAdmin.search_fields"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.search_fields</span></code></a>·now·accepts·any·lookup·such·as
116 <code·class="docutils·literal·notranslate"><span·class="pre">field__exact</span></code>.</p></li>117 <code·class="docutils·literal·notranslate"><span·class="pre">field__exact</span></code>.</p></li>
117 <li><p>jQuery·is·upgraded·from·version·2.2.3·to·3.3.1.</p></li>118 <li><p>jQuery·is·upgraded·from·version·2.2.3·to·3.3.1.</p></li>
118 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.delete_queryset"·title="django.contrib.admin.ModelAdmin.delete_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.delete_queryset()</span></code></a>·method·allows·customizing·the119 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.delete_queryset"·title="django.contrib.admin.ModelAdmin.delete_queryset"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.delete_queryset()</span></code></a>·method·allows·customizing·the
119 deletion·process·of·the·delete·selected·objects·action.</p></li>120 deletion·process·of·the·delete·selected·objects·action.</p></li>
120 <li><p>You·can·now·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#overriding-default-admin-site"><span·class="std·std-ref">override·the·default·admin·site</span></a>.</p></li>121 <li><p>You·can·now·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#overriding-default-admin-site"><span·class="std·std-ref">override·the·default·admin·site</span></a>.</p></li>
121 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.sortable_by"·title="django.contrib.admin.ModelAdmin.sortable_by"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.sortable_by</span></code></a>·attribute·and122 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.sortable_by"·title="django.contrib.admin.ModelAdmin.sortable_by"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.sortable_by</span></code></a>·attribute·and
122 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_sortable_by"·title="django.contrib.admin.ModelAdmin.get_sortable_by"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.get_sortable_by()</span></code></a>·method·allow·limiting·the·columns·that123 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_sortable_by"·title="django.contrib.admin.ModelAdmin.get_sortable_by"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.get_sortable_by()</span></code></a>·method·allow·limiting·the·columns·that
123 can·be·sorted·in·the·change·list·page.</p></li>124 can·be·sorted·in·the·change·list·page.</p></li>
124 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">admin_order_field</span></code>·attribute·for·elements·in125 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">admin_order_field</span></code>·attribute·for·elements·in
125 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_display"·title="django.contrib.admin.ModelAdmin.list_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.list_display</span></code></a>·may·now·be·a·query·expression.</p></li>126 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.list_display"·title="django.contrib.admin.ModelAdmin.list_display"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.list_display</span></code></a>·may·now·be·a·query·expression.</p></li>
126 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_deleted_objects"·title="django.contrib.admin.ModelAdmin.get_deleted_objects"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.get_deleted_objects()</span></code></a>·method·allows·customizing127 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_deleted_objects"·title="django.contrib.admin.ModelAdmin.get_deleted_objects"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.get_deleted_objects()</span></code></a>·method·allows·customizing
127 the·deletion·process·of·the·delete·view·and·the·delete·selected·action.</p></li>128 the·deletion·process·of·the·delete·view·and·the·delete·selected·action.</p></li>
128 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">actions.html</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">change_list_results.html</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">date_hierarchy.html</span></code>,129 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">actions.html</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">change_list_results.html</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">date_hierarchy.html</span></code>,
129 <code·class="docutils·literal·notranslate"><span·class="pre">pagination.html</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">prepopulated_fields_js.html</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">search_form.html</span></code>,130 <code·class="docutils·literal·notranslate"><span·class="pre">pagination.html</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">prepopulated_fields_js.html</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">search_form.html</span></code>,
130 and·<code·class="docutils·literal·notranslate"><span·class="pre">submit_line.html</span></code>·templates·can·now·be·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#admin-templates-overridden-per-app-or-model"><span·class="std·std-ref">overridden·per·app·or131 and·<code·class="docutils·literal·notranslate"><span·class="pre">submit_line.html</span></code>·templates·can·now·be·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#admin-templates-overridden-per-app-or-model"><span·class="std·std-ref">overridden·per·app·or
131 per·model</span></a>·(besides·overridden132 per·model</span></a>·(besides·overridden
132 globally).</p></li>133 globally).</p></li>
133 <li><p>The·admin·change·list·and·change·form·object·tools·can·now·be·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#admin-templates-overridden-per-app-or-model"><span·class="std·std-ref">overridden134 <li><p>The·admin·change·list·and·change·form·object·tools·can·now·be·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#admin-templates-overridden-per-app-or-model"><span·class="std·std-ref">overridden
134 per·app,·per·model,·or·globally</span></a>135 per·app,·per·model,·or·globally</span></a>
Offset 270, 28 lines modifiedOffset 271, 28 lines modified
270 <span·id="tests"></span><h4>Tests<a·class="headerlink"·href="#tests"·title="Link·to·this·heading">¶</a></h4>271 <span·id="tests"></span><h4>Tests<a·class="headerlink"·href="#tests"·title="Link·to·this·heading">¶</a></h4>
271 <ul·class="simple">272 <ul·class="simple">
272 <li><p>Added·test·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.Client"·title="django.test.Client"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Client</span></code></a>·support·for·307·and·308·redirects.</p></li>273 <li><p>Added·test·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.Client"·title="django.test.Client"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Client</span></code></a>·support·for·307·and·308·redirects.</p></li>
273 <li><p>The·test·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.Client"·title="django.test.Client"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Client</span></code></a>·now·serializes·a·request·data274 <li><p>The·test·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.Client"·title="django.test.Client"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Client</span></code></a>·now·serializes·a·request·data
274 dictionary·as·JSON·if·<code·class="docutils·literal·notranslate"><span·class="pre">content_type='application/json'</span></code>.·You·can·customize275 dictionary·as·JSON·if·<code·class="docutils·literal·notranslate"><span·class="pre">content_type='application/json'</span></code>.·You·can·customize
275 the·JSON·encoder·with·test·client’s·<code·class="docutils·literal·notranslate"><span·class="pre">json_encoder</span></code>·parameter.</p></li>276 the·JSON·encoder·with·test·client’s·<code·class="docutils·literal·notranslate"><span·class="pre">json_encoder</span></code>·parameter.</p></li>
276 <li><p>The·new·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertWarnsMessage"·title="django.test.SimpleTestCase.assertWarnsMessage"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">SimpleTestCase.assertWarnsMessage()</span></code></a>·method·is·a·simpler277 <li><p>The·new·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertWarnsMessage"·title="django.test.SimpleTestCase.assertWarnsMessage"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">SimpleTestCase.assertWarnsMessage()</span></code></a>·method·is·a·simpler
277 version·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertWarnsRegex"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertWarnsRegex()</span></code></a>.</p></li>278 version·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase.assertWarnsRegex"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertWarnsRegex()</span></code></a>.</p></li>
278 </ul>279 </ul>
279 </section>280 </section>
280 </section>281 </section>
281 </section>282 </section>
282 <section·id="s-backwards-incompatible-changes-in-2-1">283 <section·id="s-backwards-incompatible-changes-in-2-1">
283 <span·id="s-backwards-incompatible-2-1"></span><span·id="backwards-incompatible-changes-in-2-1"></span><span·id="backwards-incompatible-2-1"></span><h2>Backwards·incompatible·changes·in·2.1<a·class="headerlink"·href="#backwards-incompatible-changes-in-2-1"·title="Link·to·this·heading">¶</a></h2>284 <span·id="s-backwards-incompatible-2-1"></span><span·id="backwards-incompatible-changes-in-2-1"></span><span·id="backwards-incompatible-2-1"></span><h2>Backwards·incompatible·changes·in·2.1<a·class="headerlink"·href="#backwards-incompatible-changes-in-2-1"·title="Link·to·this·heading">¶</a></h2>
284 <section·id="s-database-backend-api">285 <section·id="s-database-backend-api">
285 <span·id="database-backend-api"></span><h3>Database·backend·API<a·class="headerlink"·href="#database-backend-api"·title="Link·to·this·heading">¶</a></h3>286 <span·id="database-backend-api"></span><h3>Database·backend·API<a·class="headerlink"·href="#database-backend-api"·title="Link·to·this·heading">¶</a></h3>
286 <p>This·section·describes·changes·that·may·be·needed·in·third-party·database287 <p>This·section·describes·changes·that·may·be·needed·in·third-party·database
287 backends.</p>288 backends.</p>
288 <ul·class="simple">289 <ul·class="simple">
289 <li><p>To·adhere·to·<span·class="target"·id="index-1"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0249/"><strong>PEP·249</strong></a>,·exceptions·where·a·database·doesn’t·support·a290 <li><p>To·adhere·to·<span·class="target"·id="index-1"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-0249/"><strong>PEP·249</strong></a>,·exceptions·where·a·database·doesn’t·support·a
290 feature·are·changed·from·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#NotImplementedError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">NotImplementedError</span></code></a>·to291 feature·are·changed·from·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#NotImplementedError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">NotImplementedError</span></code></a>·to
291 <a·class="reference·internal"·href="../ref/exceptions.html#django.db.NotSupportedError"·title="django.db.NotSupportedError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">django.db.NotSupportedError</span></code></a>.</p></li>292 <a·class="reference·internal"·href="../ref/exceptions.html#django.db.NotSupportedError"·title="django.db.NotSupportedError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">django.db.NotSupportedError</span></code></a>.</p></li>
292 <li><p>Renamed·the·<code·class="docutils·literal·notranslate"><span·class="pre">allow_sliced_subqueries</span></code>·database·feature·flag·to293 <li><p>Renamed·the·<code·class="docutils·literal·notranslate"><span·class="pre">allow_sliced_subqueries</span></code>·database·feature·flag·to
293 <code·class="docutils·literal·notranslate"><span·class="pre">allow_sliced_subqueries_with_in</span></code>.</p></li>294 <code·class="docutils·literal·notranslate"><span·class="pre">allow_sliced_subqueries_with_in</span></code>.</p></li>
294 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseOperations.distinct_sql()</span></code>·now·requires·an·additional·<code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>295 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseOperations.distinct_sql()</span></code>·now·requires·an·additional·<code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>
295 argument·and·returns·a·tuple·of·SQL·and·parameters·instead·of·an·SQL·string.</p></li>296 argument·and·returns·a·tuple·of·SQL·and·parameters·instead·of·an·SQL·string.</p></li>
296 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.introspected_boolean_field_type</span></code>·is·changed·from·a·method297 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.introspected_boolean_field_type</span></code>·is·changed·from·a·method
297 to·a·property.</p></li>298 to·a·property.</p></li>
Offset 343, 21 lines modifiedOffset 344, 21 lines modified
343 and·Django’s·CSRF·protection·now·set·the·<code·class="docutils·literal·notranslate"><span·class="pre">SameSite</span></code>·flag·to·<code·class="docutils·literal·notranslate"><span·class="pre">Lax</span></code>·by344 and·Django’s·CSRF·protection·now·set·the·<code·class="docutils·literal·notranslate"><span·class="pre">SameSite</span></code>·flag·to·<code·class="docutils·literal·notranslate"><span·class="pre">Lax</span></code>·by
344 default.·Browsers·that·respect·this·flag·won’t·send·these·cookies·on345 default.·Browsers·that·respect·this·flag·won’t·send·these·cookies·on
345 cross-origin·requests.·If·you·rely·on·the·old·behavior,·set·the346 cross-origin·requests.·If·you·rely·on·the·old·behavior,·set·the
346 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_SAMESITE</span></code></a>·and/or·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_SAMESITE</span></code></a>347 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_SAMESITE</span></code></a>·and/or·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_COOKIE_SAMESITE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_SAMESITE</span></code></a>
347 setting·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>348 setting·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p>
348 </section>349 </section>
349 <section·id="s-considerations-for-the-new-model-view-permission">350 <section·id="s-considerations-for-the-new-model-view-permission">
350 <span·id="s-view-permission-backwards-incompatible"></span><span·id="considerations-for-the-new-model-view-permission"></span><span·id="view-permission-backwards-incompatible"></span><h3>Considerations·for·the·new·model·view·permission<a·class="headerlink"·href="#considerations-for-the-new-model-view-permission"·title="Link·to·this·heading">¶</a></h3>351 <span·id="s-view-permission-backwards-incompatible"></span><span·id="considerations-for-the-new-model-view-permission"></span><span·id="view-permission-backwards-incompatible"></span><h3>Considerations·for·the·new·model·view·permission<a·class="headerlink"·href="#considerations-for-the-new-model-view-permission"·title="Link·to·this·heading">¶</a></h3>
351 <section·id="s-custom-admin-forms-need-to-take-the-view-only-case-into-account">352 <section·id="s-custom-admin-forms-need-to-take-the-view-only-case-into-account">
352 <span·id="custom-admin-forms-need-to-take-the-view-only-case-into-account"></span><h4>Custom·admin·forms·need·to·take·the·view-only·case·into·account<a·class="headerlink"·href="#custom-admin-forms-need-to-take-the-view-only-case-into-account"·title="Link·to·this·heading">¶</a></h4>353 <span·id="custom-admin-forms-need-to-take-the-view-only-case-into-account"></span><h4>Custom·admin·forms·need·to·take·the·view-only·case·into·account<a·class="headerlink"·href="#custom-admin-forms-need-to-take-the-view-only-case-into-account"·title="Link·to·this·heading">¶</a></h4>
353 <p>With·the·new·view·permission,·existing·custom·admin·forms·may·raise·errors354 <p>With·the·new·view·permission,·existing·custom·admin·forms·may·raise·errors
354 when·a·user·doesn’t·have·the·change·permission·because·the·form·might·access355 when·a·user·doesn’t·have·the·change·permission·because·the·form·might·access
355 nonexistent·fields.·Fix·this·by·overriding·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_form"·title="django.contrib.admin.ModelAdmin.get_form"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.get_form()</span></code></a>·and356 nonexistent·fields.·Fix·this·by·overriding·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.get_form"·title="django.contrib.admin.ModelAdmin.get_form"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ModelAdmin.get_form()</span></code></a>·and
356 checking·if·the·user·has·the·change·permissions·and·returning·the·default357 checking·if·the·user·has·the·change·permissions·and·returning·the·default
357 form·if·not:</p>358 form·if·not:</p>
358 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">MyAdmin</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">ModelAdmin</span><span·class="p">):</span>359 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">MyAdmin</span><span·class="p">(</span><span·class="n">admin</span><span·class="o">.</span><span·class="n">ModelAdmin</span><span·class="p">):</span>
Max diff block lines reached; 10484/27869 bytes (37.62%) of diff not shown.
12.3 KB
html2text {}
Max HTML report size reached
9.76 KB
./usr/share/doc/python-django-doc/html/releases/2.2.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2·release·notes"·href="2.2.html"·/>15 ····<link·rel="next"·title="Django·2.2·release·notes"·href="2.2.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.2·release·notes"·href="2.2.2.html"·/>16 ····<link·rel="prev"·title="Django·2.2.2·release·notes"·href="2.2.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 94, 15 lines modifiedOffset 95, 15 lines modified
94 <a·class="reference·internal"·href="../ref/contrib/postgres/aggregates.html#django.contrib.postgres.aggregates.ArrayAgg"·title="django.contrib.postgres.aggregates.ArrayAgg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ArrayAgg</span></code></a>·and95 <a·class="reference·internal"·href="../ref/contrib/postgres/aggregates.html#django.contrib.postgres.aggregates.ArrayAgg"·title="django.contrib.postgres.aggregates.ArrayAgg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ArrayAgg</span></code></a>·and
95 <a·class="reference·internal"·href="../ref/contrib/postgres/aggregates.html#django.contrib.postgres.aggregates.StringAgg"·title="django.contrib.postgres.aggregates.StringAgg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">StringAgg</span></code></a>·when·it·contains·an96 <a·class="reference·internal"·href="../ref/contrib/postgres/aggregates.html#django.contrib.postgres.aggregates.StringAgg"·title="django.contrib.postgres.aggregates.StringAgg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">StringAgg</span></code></a>·when·it·contains·an
96 expression·with·params·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30332">#30332</a>).</p></li>97 expression·with·params·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30332">#30332</a>).</p></li>
97 <li><p>Fixed·a·regression·in·Django·2.2·that·caused·a·single·instance·fast-delete98 <li><p>Fixed·a·regression·in·Django·2.2·that·caused·a·single·instance·fast-delete
98 to·not·set·the·primary·key·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30330">#30330</a>).</p></li>99 to·not·set·the·primary·key·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30330">#30330</a>).</p></li>
99 <li><p>Prevented·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-makemigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">makemigrations</span></code></a>·from·generating·infinite·migrations·for100 <li><p>Prevented·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-makemigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">makemigrations</span></code></a>·from·generating·infinite·migrations·for
100 check·constraints·and·partial·indexes·when·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·contains101 check·constraints·and·partial·indexes·when·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·contains
101 a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#range"·title="(in·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">range</span></code></a>·object·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30350">#30350</a>).</p></li>102 a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#range"·title="(projektis·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">range</span></code></a>·object·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30350">#30350</a>).</p></li>
102 <li><p>Reverted·an·optimization·in·Django·2.2·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29725">#29725</a>)·that·caused·the103 <li><p>Reverted·an·optimization·in·Django·2.2·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/29725">#29725</a>)·that·caused·the
103 inconsistent·behavior·of·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">exists()</span></code>·on·a·reverse104 inconsistent·behavior·of·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">exists()</span></code>·on·a·reverse
104 many-to-many·relationship·with·a·custom·manager·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30325">#30325</a>).</p></li>105 many-to-many·relationship·with·a·custom·manager·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30325">#30325</a>).</p></li>
105 <li><p>Fixed·a·regression·in·Django·2.2·where106 <li><p>Fixed·a·regression·in·Django·2.2·where
106 <a·class="reference·internal"·href="../ref/paginator.html#django.core.paginator.Paginator"·title="django.core.paginator.Paginator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Paginator</span></code></a>·crashes·if·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·is107 <a·class="reference·internal"·href="../ref/paginator.html#django.core.paginator.Paginator"·title="django.core.paginator.Paginator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Paginator</span></code></a>·crashes·if·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·is
107 a·queryset·ordered·or·aggregated·over·a·nested·<code·class="docutils·literal·notranslate"><span·class="pre">JSONField</span></code>·key·transform108 a·queryset·ordered·or·aggregated·over·a·nested·<code·class="docutils·literal·notranslate"><span·class="pre">JSONField</span></code>·key·transform
108 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30335">#30335</a>).</p></li>109 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/30335">#30335</a>).</p></li>
Offset 147, 47 lines modifiedOffset 148, 47 lines modified
147 ······148 ······
148 ········149 ········
149 ··········<div·class="yui-b"·id="sidebar">150 ··········<div·class="yui-b"·id="sidebar">
150 ············151 ············
151 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">152 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
152 ········<div·class="sphinxsidebarwrapper">153 ········<div·class="sphinxsidebarwrapper">
153 ··<div>154 ··<div>
154 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>155 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
155 ····<ul>156 ····<ul>
156 <li><a·class="reference·internal"·href="#">Django·2.2.1·release·notes</a><ul>157 <li><a·class="reference·internal"·href="#">Django·2.2.1·release·notes</a><ul>
157 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>158 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
158 </ul>159 </ul>
159 </li>160 </li>
160 </ul>161 </ul>
  
161 ··</div>162 ··</div>
162 ··<div>163 ··<div>
163 ····<h4>Previous·topic</h4>164 ····<h4>Eelmine·teema</h4>
164 ····<p·class="topless"><a·href="2.2.2.html"165 ····<p·class="topless"><a·href="2.2.2.html"
165 ··························title="previous·chapter">Django·2.2.2·release·notes</a></p>166 ··························title="eelmine·jaotis">Django·2.2.2·release·notes</a></p>
166 ··</div>167 ··</div>
167 ··<div>168 ··<div>
168 ····<h4>Next·topic</h4>169 ····<h4>Järgmine·teema</h4>
169 ····<p·class="topless"><a·href="2.2.html"170 ····<p·class="topless"><a·href="2.2.html"
170 ··························title="next·chapter">Django·2.2·release·notes</a></p>171 ··························title="järgmine·jaotis">Django·2.2·release·notes</a></p>
171 ··</div>172 ··</div>
172 <search·id="searchbox"·style="display:·none"·role="search">173 <search·id="searchbox"·style="display:·none"·role="search">
173 ··<h3·id="searchlabel">Quick·search</h3>174 ··<h3·id="searchlabel">Kiirotsing</h3>
174 ····<div·class="searchformwrapper">175 ····<div·class="searchformwrapper">
175 ····<form·class="search"·action="../search.html"·method="get">176 ····<form·class="search"·action="../search.html"·method="get">
176 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>177 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
177 ······<input·type="submit"·value="Go"·/>178 ······<input·type="submit"·value="Otsi"·/>
178 ····</form>179 ····</form>
179 ····</div>180 ····</div>
180 </search>181 </search>
181 <script>document.getElementById('searchbox').style.display·=·"block"</script>182 <script>document.getElementById('searchbox').style.display·=·"block"</script>
182 ········</div>183 ········</div>
183 ······</div>184 ······</div>
184 ··············<h3>Last·update:</h3>185 ··············<h3>Last·update:</h3>
185 ··············<p·class="topless">Nov·05,·2024</p>186 ··············<p·class="topless">nov·05,·2024</p>
186 ··········</div>187 ··········</div>
187 ········188 ········
188 ······189 ······
189 ····</div>190 ····</div>
  
190 ····<div·id="ft">191 ····<div·id="ft">
191 ······<div·class="nav">192 ······<div·class="nav">
2.39 KB
html2text {}
Max HTML report size reached
6.56 KB
./usr/share/doc/python-django-doc/html/releases/2.2.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.9·release·notes"·href="2.2.9.html"·/>15 ····<link·rel="next"·title="Django·2.2.9·release·notes"·href="2.2.9.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.11·release·notes"·href="2.2.11.html"·/>16 ····<link·rel="prev"·title="Django·2.2.11·release·notes"·href="2.2.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 47 lines modifiedOffset 96, 47 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>103 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
103 ····<ul>104 ····<ul>
104 <li><a·class="reference·internal"·href="#">Django·2.2.10·release·notes</a><ul>105 <li><a·class="reference·internal"·href="#">Django·2.2.10·release·notes</a><ul>
105 <li><a·class="reference·internal"·href="#cve-2020-7471-potential-sql-injection-via-stringagg-delimiter">CVE-2020-7471:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">StringAgg(delimiter)</span></code></a></li>106 <li><a·class="reference·internal"·href="#cve-2020-7471-potential-sql-injection-via-stringagg-delimiter">CVE-2020-7471:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">StringAgg(delimiter)</span></code></a></li>
106 </ul>107 </ul>
107 </li>108 </li>
108 </ul>109 </ul>
  
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="2.2.11.html"113 ····<p·class="topless"><a·href="2.2.11.html"
113 ··························title="previous·chapter">Django·2.2.11·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·2.2.11·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="2.2.9.html"118 ····<p·class="topless"><a·href="2.2.9.html"
118 ··························title="next·chapter">Django·2.2.9·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·2.2.9·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.26 KB
html2text {}
Max HTML report size reached
7.38 KB
./usr/share/doc/python-django-doc/html/releases/2.2.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.10·release·notes"·href="2.2.10.html"·/>15 ····<link·rel="next"·title="Django·2.2.10·release·notes"·href="2.2.10.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.12·release·notes"·href="2.2.12.html"·/>16 ····<link·rel="prev"·title="Django·2.2.12·release·notes"·href="2.2.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 105, 48 lines modifiedOffset 106, 48 lines modified
105 ······106 ······
106 ········107 ········
107 ··········<div·class="yui-b"·id="sidebar">108 ··········<div·class="yui-b"·id="sidebar">
108 ············109 ············
109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
110 ········<div·class="sphinxsidebarwrapper">111 ········<div·class="sphinxsidebarwrapper">
111 ··<div>112 ··<div>
112 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>113 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
113 ····<ul>114 ····<ul>
114 <li><a·class="reference·internal"·href="#">Django·2.2.11·release·notes</a><ul>115 <li><a·class="reference·internal"·href="#">Django·2.2.11·release·notes</a><ul>
115 <li><a·class="reference·internal"·href="#cve-2020-9402-potential-sql-injection-via-tolerance-parameter-in-gis-functions-and-aggregates-on-oracle">CVE-2020-9402:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">tolerance</span></code>·parameter·in·GIS·functions·and·aggregates·on·Oracle</a></li>116 <li><a·class="reference·internal"·href="#cve-2020-9402-potential-sql-injection-via-tolerance-parameter-in-gis-functions-and-aggregates-on-oracle">CVE-2020-9402:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">tolerance</span></code>·parameter·in·GIS·functions·and·aggregates·on·Oracle</a></li>
116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="2.2.12.html"124 ····<p·class="topless"><a·href="2.2.12.html"
124 ··························title="previous·chapter">Django·2.2.12·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·2.2.12·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="2.2.10.html"129 ····<p·class="topless"><a·href="2.2.10.html"
129 ··························title="next·chapter">Django·2.2.10·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·2.2.10·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
2.92 KB
html2text {}
Max HTML report size reached
6.08 KB
./usr/share/doc/python-django-doc/html/releases/2.2.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.11·release·notes"·href="2.2.11.html"·/>15 ····<link·rel="next"·title="Django·2.2.11·release·notes"·href="2.2.11.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.13·release·notes"·href="2.2.13.html"·/>16 ····<link·rel="prev"·title="Django·2.2.13·release·notes"·href="2.2.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·2.2.12·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·2.2.12·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="2.2.13.html"115 ····<p·class="topless"><a·href="2.2.13.html"
115 ··························title="previous·chapter">Django·2.2.13·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·2.2.13·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="2.2.11.html"120 ····<p·class="topless"><a·href="2.2.11.html"
120 ··························title="next·chapter">Django·2.2.11·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·2.2.11·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.95 KB
html2text {}
Max HTML report size reached
7.43 KB
./usr/share/doc/python-django-doc/html/releases/2.2.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.12·release·notes"·href="2.2.12.html"·/>15 ····<link·rel="next"·title="Django·2.2.12·release·notes"·href="2.2.12.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.14·release·notes"·href="2.2.14.html"·/>16 ····<link·rel="prev"·title="Django·2.2.14·release·notes"·href="2.2.14.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 114, 49 lines modifiedOffset 115, 49 lines modified
114 ······115 ······
115 ········116 ········
116 ··········<div·class="yui-b"·id="sidebar">117 ··········<div·class="yui-b"·id="sidebar">
117 ············118 ············
118 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">119 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
119 ········<div·class="sphinxsidebarwrapper">120 ········<div·class="sphinxsidebarwrapper">
120 ··<div>121 ··<div>
121 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>122 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
122 ····<ul>123 ····<ul>
123 <li><a·class="reference·internal"·href="#">Django·2.2.13·release·notes</a><ul>124 <li><a·class="reference·internal"·href="#">Django·2.2.13·release·notes</a><ul>
124 <li><a·class="reference·internal"·href="#cve-2020-13254-potential-data-leakage-via-malformed-memcached-keys">CVE-2020-13254:·Potential·data·leakage·via·malformed·memcached·keys</a></li>125 <li><a·class="reference·internal"·href="#cve-2020-13254-potential-data-leakage-via-malformed-memcached-keys">CVE-2020-13254:·Potential·data·leakage·via·malformed·memcached·keys</a></li>
125 <li><a·class="reference·internal"·href="#cve-2020-13596-possible-xss-via-admin-foreignkeyrawidwidget">CVE-2020-13596:·Possible·XSS·via·admin·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKeyRawIdWidget</span></code></a></li>126 <li><a·class="reference·internal"·href="#cve-2020-13596-possible-xss-via-admin-foreignkeyrawidwidget">CVE-2020-13596:·Possible·XSS·via·admin·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKeyRawIdWidget</span></code></a></li>
126 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>127 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
127 </ul>128 </ul>
128 </li>129 </li>
129 </ul>130 </ul>
  
130 ··</div>131 ··</div>
131 ··<div>132 ··<div>
132 ····<h4>Previous·topic</h4>133 ····<h4>Eelmine·teema</h4>
133 ····<p·class="topless"><a·href="2.2.14.html"134 ····<p·class="topless"><a·href="2.2.14.html"
134 ··························title="previous·chapter">Django·2.2.14·release·notes</a></p>135 ··························title="eelmine·jaotis">Django·2.2.14·release·notes</a></p>
135 ··</div>136 ··</div>
136 ··<div>137 ··<div>
137 ····<h4>Next·topic</h4>138 ····<h4>Järgmine·teema</h4>
138 ····<p·class="topless"><a·href="2.2.12.html"139 ····<p·class="topless"><a·href="2.2.12.html"
139 ··························title="next·chapter">Django·2.2.12·release·notes</a></p>140 ··························title="järgmine·jaotis">Django·2.2.12·release·notes</a></p>
140 ··</div>141 ··</div>
141 <search·id="searchbox"·style="display:·none"·role="search">142 <search·id="searchbox"·style="display:·none"·role="search">
142 ··<h3·id="searchlabel">Quick·search</h3>143 ··<h3·id="searchlabel">Kiirotsing</h3>
143 ····<div·class="searchformwrapper">144 ····<div·class="searchformwrapper">
144 ····<form·class="search"·action="../search.html"·method="get">145 ····<form·class="search"·action="../search.html"·method="get">
145 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>146 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
146 ······<input·type="submit"·value="Go"·/>147 ······<input·type="submit"·value="Otsi"·/>
147 ····</form>148 ····</form>
148 ····</div>149 ····</div>
149 </search>150 </search>
150 <script>document.getElementById('searchbox').style.display·=·"block"</script>151 <script>document.getElementById('searchbox').style.display·=·"block"</script>
151 ········</div>152 ········</div>
152 ······</div>153 ······</div>
153 ··············<h3>Last·update:</h3>154 ··············<h3>Last·update:</h3>
154 ··············<p·class="topless">Nov·05,·2024</p>155 ··············<p·class="topless">nov·05,·2024</p>
155 ··········</div>156 ··········</div>
156 ········157 ········
157 ······158 ······
158 ····</div>159 ····</div>
  
159 ····<div·id="ft">160 ····<div·id="ft">
160 ······<div·class="nav">161 ······<div·class="nav">
2.88 KB
html2text {}
Max HTML report size reached
6.08 KB
./usr/share/doc/python-django-doc/html/releases/2.2.14.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.14·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.14·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.13·release·notes"·href="2.2.13.html"·/>15 ····<link·rel="next"·title="Django·2.2.13·release·notes"·href="2.2.13.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.15·release·notes"·href="2.2.15.html"·/>16 ····<link·rel="prev"·title="Django·2.2.15·release·notes"·href="2.2.15.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·2.2.14·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·2.2.14·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="2.2.15.html"115 ····<p·class="topless"><a·href="2.2.15.html"
115 ··························title="previous·chapter">Django·2.2.15·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·2.2.15·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="2.2.13.html"120 ····<p·class="topless"><a·href="2.2.13.html"
120 ··························title="next·chapter">Django·2.2.13·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·2.2.13·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.95 KB
html2text {}
Max HTML report size reached
6.27 KB
./usr/share/doc/python-django-doc/html/releases/2.2.15.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.15·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.15·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.14·release·notes"·href="2.2.14.html"·/>15 ····<link·rel="next"·title="Django·2.2.14·release·notes"·href="2.2.14.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.16·release·notes"·href="2.2.16.html"·/>16 ····<link·rel="prev"·title="Django·2.2.16·release·notes"·href="2.2.16.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·2.2.15·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·2.2.15·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="2.2.16.html"117 ····<p·class="topless"><a·href="2.2.16.html"
117 ··························title="previous·chapter">Django·2.2.16·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·2.2.16·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="2.2.14.html"122 ····<p·class="topless"><a·href="2.2.14.html"
122 ··························title="next·chapter">Django·2.2.14·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·2.2.14·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.14 KB
html2text {}
Max HTML report size reached
7.88 KB
./usr/share/doc/python-django-doc/html/releases/2.2.16.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.16·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.16·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.15·release·notes"·href="2.2.15.html"·/>15 ····<link·rel="next"·title="Django·2.2.15·release·notes"·href="2.2.15.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.17·release·notes"·href="2.2.17.html"·/>16 ····<link·rel="prev"·title="Django·2.2.17·release·notes"·href="2.2.17.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 116, 49 lines modifiedOffset 117, 49 lines modified
116 ······117 ······
117 ········118 ········
118 ··········<div·class="yui-b"·id="sidebar">119 ··········<div·class="yui-b"·id="sidebar">
119 ············120 ············
120 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
121 ········<div·class="sphinxsidebarwrapper">122 ········<div·class="sphinxsidebarwrapper">
122 ··<div>123 ··<div>
123 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>124 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
124 ····<ul>125 ····<ul>
125 <li><a·class="reference·internal"·href="#">Django·2.2.16·release·notes</a><ul>126 <li><a·class="reference·internal"·href="#">Django·2.2.16·release·notes</a><ul>
126 <li><a·class="reference·internal"·href="#cve-2020-24583-incorrect-permissions-on-intermediate-level-directories-on-python-3-7">CVE-2020-24583:·Incorrect·permissions·on·intermediate-level·directories·on·Python·3.7+</a></li>127 <li><a·class="reference·internal"·href="#cve-2020-24583-incorrect-permissions-on-intermediate-level-directories-on-python-3-7">CVE-2020-24583:·Incorrect·permissions·on·intermediate-level·directories·on·Python·3.7+</a></li>
127 <li><a·class="reference·internal"·href="#cve-2020-24584-permission-escalation-in-intermediate-level-directories-of-the-file-system-cache-on-python-3-7">CVE-2020-24584:·Permission·escalation·in·intermediate-level·directories·of·the·file·system·cache·on·Python·3.7+</a></li>128 <li><a·class="reference·internal"·href="#cve-2020-24584-permission-escalation-in-intermediate-level-directories-of-the-file-system-cache-on-python-3-7">CVE-2020-24584:·Permission·escalation·in·intermediate-level·directories·of·the·file·system·cache·on·Python·3.7+</a></li>
128 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>129 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
129 </ul>130 </ul>
130 </li>131 </li>
131 </ul>132 </ul>
  
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Previous·topic</h4>135 ····<h4>Eelmine·teema</h4>
135 ····<p·class="topless"><a·href="2.2.17.html"136 ····<p·class="topless"><a·href="2.2.17.html"
136 ··························title="previous·chapter">Django·2.2.17·release·notes</a></p>137 ··························title="eelmine·jaotis">Django·2.2.17·release·notes</a></p>
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Next·topic</h4>140 ····<h4>Järgmine·teema</h4>
140 ····<p·class="topless"><a·href="2.2.15.html"141 ····<p·class="topless"><a·href="2.2.15.html"
141 ··························title="next·chapter">Django·2.2.15·release·notes</a></p>142 ··························title="järgmine·jaotis">Django·2.2.15·release·notes</a></p>
142 ··</div>143 ··</div>
143 <search·id="searchbox"·style="display:·none"·role="search">144 <search·id="searchbox"·style="display:·none"·role="search">
144 ··<h3·id="searchlabel">Quick·search</h3>145 ··<h3·id="searchlabel">Kiirotsing</h3>
145 ····<div·class="searchformwrapper">146 ····<div·class="searchformwrapper">
146 ····<form·class="search"·action="../search.html"·method="get">147 ····<form·class="search"·action="../search.html"·method="get">
147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>148 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
148 ······<input·type="submit"·value="Go"·/>149 ······<input·type="submit"·value="Otsi"·/>
149 ····</form>150 ····</form>
150 ····</div>151 ····</div>
151 </search>152 </search>
152 <script>document.getElementById('searchbox').style.display·=·"block"</script>153 <script>document.getElementById('searchbox').style.display·=·"block"</script>
153 ········</div>154 ········</div>
154 ······</div>155 ······</div>
155 ··············<h3>Last·update:</h3>156 ··············<h3>Last·update:</h3>
156 ··············<p·class="topless">Nov·05,·2024</p>157 ··············<p·class="topless">nov·05,·2024</p>
157 ··········</div>158 ··········</div>
158 ········159 ········
159 ······160 ······
160 ····</div>161 ····</div>
  
161 ····<div·id="ft">162 ····<div·id="ft">
162 ······<div·class="nav">163 ······<div·class="nav">
3.26 KB
html2text {}
Max HTML report size reached
5.26 KB
./usr/share/doc/python-django-doc/html/releases/2.2.17.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.17·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.17·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.16·release·notes"·href="2.2.16.html"·/>15 ····<link·rel="next"·title="Django·2.2.16·release·notes"·href="2.2.16.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.18·release·notes"·href="2.2.18.html"·/>16 ····<link·rel="prev"·title="Django·2.2.18·release·notes"·href="2.2.18.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 90, 37 lines modifiedOffset 91, 37 lines modified
90 ······91 ······
91 ········92 ········
92 ··········<div·class="yui-b"·id="sidebar">93 ··········<div·class="yui-b"·id="sidebar">
93 ············94 ············
94 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">95 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
95 ········<div·class="sphinxsidebarwrapper">96 ········<div·class="sphinxsidebarwrapper">
96 ··<div>97 ··<div>
97 ····<h4>Previous·topic</h4>98 ····<h4>Eelmine·teema</h4>
98 ····<p·class="topless"><a·href="2.2.18.html"99 ····<p·class="topless"><a·href="2.2.18.html"
99 ··························title="previous·chapter">Django·2.2.18·release·notes</a></p>100 ··························title="eelmine·jaotis">Django·2.2.18·release·notes</a></p>
100 ··</div>101 ··</div>
101 ··<div>102 ··<div>
102 ····<h4>Next·topic</h4>103 ····<h4>Järgmine·teema</h4>
103 ····<p·class="topless"><a·href="2.2.16.html"104 ····<p·class="topless"><a·href="2.2.16.html"
104 ··························title="next·chapter">Django·2.2.16·release·notes</a></p>105 ··························title="järgmine·jaotis">Django·2.2.16·release·notes</a></p>
105 ··</div>106 ··</div>
106 <search·id="searchbox"·style="display:·none"·role="search">107 <search·id="searchbox"·style="display:·none"·role="search">
107 ··<h3·id="searchlabel">Quick·search</h3>108 ··<h3·id="searchlabel">Kiirotsing</h3>
108 ····<div·class="searchformwrapper">109 ····<div·class="searchformwrapper">
109 ····<form·class="search"·action="../search.html"·method="get">110 ····<form·class="search"·action="../search.html"·method="get">
110 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>111 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
111 ······<input·type="submit"·value="Go"·/>112 ······<input·type="submit"·value="Otsi"·/>
112 ····</form>113 ····</form>
113 ····</div>114 ····</div>
114 </search>115 </search>
115 <script>document.getElementById('searchbox').style.display·=·"block"</script>116 <script>document.getElementById('searchbox').style.display·=·"block"</script>
116 ········</div>117 ········</div>
117 ······</div>118 ······</div>
118 ··············<h3>Last·update:</h3>119 ··············<h3>Last·update:</h3>
119 ··············<p·class="topless">Nov·05,·2024</p>120 ··············<p·class="topless">nov·05,·2024</p>
120 ··········</div>121 ··········</div>
121 ········122 ········
122 ······123 ······
123 ····</div>124 ····</div>
  
124 ····<div·id="ft">125 ····<div·id="ft">
125 ······<div·class="nav">126 ······<div·class="nav">
1.45 KB
html2text {}
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·2\x82.\x8.2\x82.\x8.1\x817\x87·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·2\x82.\x8.2\x82.\x8.1\x817\x87·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 N\x8No\x8ov\x8ve\x8em\x8mb\x8be\x8er\x8r·2\x82,\x8,·2\x820\x802\x820\x805 N\x8No\x8ov\x8ve\x8em\x8mb\x8be\x8er\x8r·2\x82,\x8,·2\x820\x802\x820\x80
6 Django·2.2.17·adds·compatibility·with·Python·3.9.6 Django·2.2.17·adds·compatibility·with·Python·3.9.
7 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*7 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
8 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x82_\x8._\x81_\x88_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s8 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x82_\x8._\x81_\x88_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
9 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*9 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
10 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x82_\x8._\x81_\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s10 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x82_\x8._\x82_\x8._\x81_\x86_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
11 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*11 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
12 [q···················][Go]12 [q···················][Otsi]
13 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*13 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
14 Nov·05,·202414 nov·05,·2024
15 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»15 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
8.54 KB
./usr/share/doc/python-django-doc/html/releases/2.2.18.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.18·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.18·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.17·release·notes"·href="2.2.17.html"·/>15 ····<link·rel="next"·title="Django·2.2.17·release·notes"·href="2.2.17.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.19·release·notes"·href="2.2.19.html"·/>16 ····<link·rel="prev"·title="Django·2.2.19·release·notes"·href="2.2.19.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-2.2.18">79 ··········<div·class="yui-g"·id="releases-2.2.18">
79 ············80 ············
80 ··<section·id="s-django-2-2-18-release-notes">81 ··<section·id="s-django-2-2-18-release-notes">
81 <span·id="django-2-2-18-release-notes"></span><h1>Django·2.2.18·release·notes<a·class="headerlink"·href="#django-2-2-18-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-2-18-release-notes"></span><h1>Django·2.2.18·release·notes<a·class="headerlink"·href="#django-2-2-18-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2021</em></p>83 <p><em>February·1,·2021</em></p>
83 <p>Django·2.2.18·fixes·a·security·issue·with·severity·low·in·2.2.17.</p>84 <p>Django·2.2.18·fixes·a·security·issue·with·severity·low·in·2.2.17.</p>
84 <section·id="s-cve-2021-3281-potential-directory-traversal-via-archive-extract">85 <section·id="s-cve-2021-3281-potential-directory-traversal-via-archive-extract">
85 <span·id="cve-2021-3281-potential-directory-traversal-via-archive-extract"></span><h2>CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code><a·class="headerlink"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-3281-potential-directory-traversal-via-archive-extract"></span><h2>CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code><a·class="headerlink"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.archive.extract()</span></code>·function,·used·by87 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.archive.extract()</span></code>·function,·used·by
87 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startapp-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startapp</span>·<span·class="pre">--template</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startproject-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startproject</span>·<span·class="pre">--template</span></code></a>,·allowed88 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startapp-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startapp</span>·<span·class="pre">--template</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startproject-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startproject</span>·<span·class="pre">--template</span></code></a>,·allowed
88 directory-traversal·via·an·archive·with·absolute·paths·or·relative·paths·with89 directory-traversal·via·an·archive·with·absolute·paths·or·relative·paths·with
89 dot·segments.</p>90 dot·segments.</p>
90 </section>91 </section>
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·2.2.18·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·2.2.18·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract">CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code></a></li>108 <li><a·class="reference·internal"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract">CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code></a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="2.2.19.html"115 ····<p·class="topless"><a·href="2.2.19.html"
115 ··························title="previous·chapter">Django·2.2.19·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·2.2.19·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="2.2.17.html"120 ····<p·class="topless"><a·href="2.2.17.html"
120 ··························title="next·chapter">Django·2.2.17·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·2.2.17·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
2.54 KB
html2text {}
Max HTML report size reached
8.9 KB
./usr/share/doc/python-django-doc/html/releases/2.2.19.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.19·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.19·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.18·release·notes"·href="2.2.18.html"·/>15 ····<link·rel="next"·title="Django·2.2.18·release·notes"·href="2.2.18.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.20·release·notes"·href="2.2.20.html"·/>16 ····<link·rel="prev"·title="Django·2.2.20·release·notes"·href="2.2.20.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-django-2-2-19-release-notes">81 ··<section·id="s-django-2-2-19-release-notes">
81 <span·id="django-2-2-19-release-notes"></span><h1>Django·2.2.19·release·notes<a·class="headerlink"·href="#django-2-2-19-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-2-19-release-notes"></span><h1>Django·2.2.19·release·notes<a·class="headerlink"·href="#django-2-2-19-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·19,·2021</em></p>83 <p><em>February·19,·2021</em></p>
83 <p>Django·2.2.19·fixes·a·security·issue·in·2.2.18.</p>84 <p>Django·2.2.19·fixes·a·security·issue·in·2.2.18.</p>
84 <section·id="s-cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">85 <section·id="s-cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">
85 <span·id="cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"></span><h2>CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code><a·class="headerlink"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"></span><h2>CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code><a·class="headerlink"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"·title="Link·to·this·heading">¶</a></h2>
86 <p>Django·contains·a·copy·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.parse_qsl"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.parse_qsl()</span></code></a>·which·was·added·to87 <p>Django·contains·a·copy·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.parse_qsl"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.parse_qsl()</span></code></a>·which·was·added·to
87 backport·some·security·fixes.·A·further·security·fix·has·been·issued·recently88 backport·some·security·fixes.·A·further·security·fix·has·been·issued·recently
88 such·that·<code·class="docutils·literal·notranslate"><span·class="pre">parse_qsl()</span></code>·no·longer·allows·using·<code·class="docutils·literal·notranslate"><span·class="pre">;</span></code>·as·a·query·parameter89 such·that·<code·class="docutils·literal·notranslate"><span·class="pre">parse_qsl()</span></code>·no·longer·allows·using·<code·class="docutils·literal·notranslate"><span·class="pre">;</span></code>·as·a·query·parameter
89 separator·by·default.·Django·now·includes·this·fix.·See·<a·class="extlink-bpo·reference·external"·href="https://bugs.python.org/issue?&#64;action=redirect&amp;bpo=42967">bpo-42967</a>·for90 separator·by·default.·Django·now·includes·this·fix.·See·<a·class="extlink-bpo·reference·external"·href="https://bugs.python.org/issue?&#64;action=redirect&amp;bpo=42967">bpo-42967</a>·for
90 further·details.</p>91 further·details.</p>
91 </section>92 </section>
92 </section>93 </section>
  
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·2.2.19·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·2.2.19·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code></a></li>109 <li><a·class="reference·internal"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code></a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="2.2.20.html"116 ····<p·class="topless"><a·href="2.2.20.html"
116 ··························title="previous·chapter">Django·2.2.20·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·2.2.20·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="2.2.18.html"121 ····<p·class="topless"><a·href="2.2.18.html"
121 ··························title="next·chapter">Django·2.2.18·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·2.2.18·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.61 KB
html2text {}
Max HTML report size reached
9.63 KB
./usr/share/doc/python-django-doc/html/releases/2.2.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.1·release·notes"·href="2.2.1.html"·/>15 ····<link·rel="next"·title="Django·2.2.1·release·notes"·href="2.2.1.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.3·release·notes"·href="2.2.3.html"·/>16 ····<link·rel="prev"·title="Django·2.2.3·release·notes"·href="2.2.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-django-2-2-2-release-notes">81 ··<section·id="s-django-2-2-2-release-notes">
81 <span·id="django-2-2-2-release-notes"></span><h1>Django·2.2.2·release·notes<a·class="headerlink"·href="#django-2-2-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-2-2-release-notes"></span><h1>Django·2.2.2·release·notes<a·class="headerlink"·href="#django-2-2-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>June·3,·2019</em></p>83 <p><em>June·3,·2019</em></p>
83 <p>Django·2.2.2·fixes·security·issues·and·several·bugs·in·2.2.1.</p>84 <p>Django·2.2.2·fixes·security·issues·and·several·bugs·in·2.2.1.</p>
84 <section·id="s-cve-2019-12308-adminurlfieldwidget-xss">85 <section·id="s-cve-2019-12308-adminurlfieldwidget-xss">
85 <span·id="cve-2019-12308-adminurlfieldwidget-xss"></span><h2>CVE-2019-12308:·AdminURLFieldWidget·XSS<a·class="headerlink"·href="#cve-2019-12308-adminurlfieldwidget-xss"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2019-12308-adminurlfieldwidget-xss"></span><h2>CVE-2019-12308:·AdminURLFieldWidget·XSS<a·class="headerlink"·href="#cve-2019-12308-adminurlfieldwidget-xss"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·clickable·Current·URL·link·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·displayed87 <p>The·clickable·Current·URL·link·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·displayed
87 the·provided·value·without·validating·it·as·a·safe·URL.·Thus,·an·unvalidated88 the·provided·value·without·validating·it·as·a·safe·URL.·Thus,·an·unvalidated
88 value·stored·in·the·database,·or·a·value·provided·as·a·URL·query·parameter89 value·stored·in·the·database,·or·a·value·provided·as·a·URL·query·parameter
89 payload,·could·result·in·an·clickable·JavaScript·link.</p>90 payload,·could·result·in·an·clickable·JavaScript·link.</p>
90 <p><code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·now·validates·the·provided·value·using91 <p><code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>·now·validates·the·provided·value·using
91 <a·class="reference·internal"·href="../ref/validators.html#django.core.validators.URLValidator"·title="django.core.validators.URLValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a>·before·displaying·the·clickable92 <a·class="reference·internal"·href="../ref/validators.html#django.core.validators.URLValidator"·title="django.core.validators.URLValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a>·before·displaying·the·clickable
92 link.·You·may·customize·the·validator·by·passing·a·<code·class="docutils·literal·notranslate"><span·class="pre">validator_class</span></code>·kwarg·to93 link.·You·may·customize·the·validator·by·passing·a·<code·class="docutils·literal·notranslate"><span·class="pre">validator_class</span></code>·kwarg·to
93 <code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget.__init__()</span></code>,·e.g.·when·using94 <code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget.__init__()</span></code>,·e.g.·when·using
Offset 133, 51 lines modifiedOffset 134, 51 lines modified
133 ······134 ······
134 ········135 ········
135 ··········<div·class="yui-b"·id="sidebar">136 ··········<div·class="yui-b"·id="sidebar">
136 ············137 ············
137 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">138 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
138 ········<div·class="sphinxsidebarwrapper">139 ········<div·class="sphinxsidebarwrapper">
139 ··<div>140 ··<div>
140 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>141 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
141 ····<ul>142 ····<ul>
142 <li><a·class="reference·internal"·href="#">Django·2.2.2·release·notes</a><ul>143 <li><a·class="reference·internal"·href="#">Django·2.2.2·release·notes</a><ul>
143 <li><a·class="reference·internal"·href="#cve-2019-12308-adminurlfieldwidget-xss">CVE-2019-12308:·AdminURLFieldWidget·XSS</a></li>144 <li><a·class="reference·internal"·href="#cve-2019-12308-adminurlfieldwidget-xss">CVE-2019-12308:·AdminURLFieldWidget·XSS</a></li>
144 <li><a·class="reference·internal"·href="#patched-bundled-jquery-for-cve-2019-11358-prototype-pollution">Patched·bundled·jQuery·for·CVE-2019-11358:·Prototype·pollution</a><ul>145 <li><a·class="reference·internal"·href="#patched-bundled-jquery-for-cve-2019-11358-prototype-pollution">Patched·bundled·jQuery·for·CVE-2019-11358:·Prototype·pollution</a><ul>
145 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>146 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
146 </ul>147 </ul>
147 </li>148 </li>
148 </ul>149 </ul>
149 </li>150 </li>
150 </ul>151 </ul>
  
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Previous·topic</h4>154 ····<h4>Eelmine·teema</h4>
154 ····<p·class="topless"><a·href="2.2.3.html"155 ····<p·class="topless"><a·href="2.2.3.html"
155 ··························title="previous·chapter">Django·2.2.3·release·notes</a></p>156 ··························title="eelmine·jaotis">Django·2.2.3·release·notes</a></p>
156 ··</div>157 ··</div>
157 ··<div>158 ··<div>
158 ····<h4>Next·topic</h4>159 ····<h4>Järgmine·teema</h4>
159 ····<p·class="topless"><a·href="2.2.1.html"160 ····<p·class="topless"><a·href="2.2.1.html"
160 ··························title="next·chapter">Django·2.2.1·release·notes</a></p>161 ··························title="järgmine·jaotis">Django·2.2.1·release·notes</a></p>
161 ··</div>162 ··</div>
162 <search·id="searchbox"·style="display:·none"·role="search">163 <search·id="searchbox"·style="display:·none"·role="search">
163 ··<h3·id="searchlabel">Quick·search</h3>164 ··<h3·id="searchlabel">Kiirotsing</h3>
164 ····<div·class="searchformwrapper">165 ····<div·class="searchformwrapper">
165 ····<form·class="search"·action="../search.html"·method="get">166 ····<form·class="search"·action="../search.html"·method="get">
166 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>167 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
167 ······<input·type="submit"·value="Go"·/>168 ······<input·type="submit"·value="Otsi"·/>
168 ····</form>169 ····</form>
169 ····</div>170 ····</div>
170 </search>171 </search>
171 <script>document.getElementById('searchbox').style.display·=·"block"</script>172 <script>document.getElementById('searchbox').style.display·=·"block"</script>
172 ········</div>173 ········</div>
173 ······</div>174 ······</div>
174 ··············<h3>Last·update:</h3>175 ··············<h3>Last·update:</h3>
175 ··············<p·class="topless">Nov·05,·2024</p>176 ··············<p·class="topless">nov·05,·2024</p>
176 ··········</div>177 ··········</div>
177 ········178 ········
178 ······179 ······
179 ····</div>180 ····</div>
  
180 ····<div·id="ft">181 ····<div·id="ft">
181 ······<div·class="nav">182 ······<div·class="nav">
3.41 KB
html2text {}
Max HTML report size reached
7.8 KB
./usr/share/doc/python-django-doc/html/releases/2.2.20.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.20·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.20·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.19·release·notes"·href="2.2.19.html"·/>15 ····<link·rel="next"·title="Django·2.2.19·release·notes"·href="2.2.19.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.21·release·notes"·href="2.2.21.html"·/>16 ····<link·rel="prev"·title="Django·2.2.21·release·notes"·href="2.2.21.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-2.2.20">79 ··········<div·class="yui-g"·id="releases-2.2.20">
79 ············80 ············
80 ··<section·id="s-django-2-2-20-release-notes">81 ··<section·id="s-django-2-2-20-release-notes">
81 <span·id="django-2-2-20-release-notes"></span><h1>Django·2.2.20·release·notes<a·class="headerlink"·href="#django-2-2-20-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-2-20-release-notes"></span><h1>Django·2.2.20·release·notes<a·class="headerlink"·href="#django-2-2-20-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·6,·2021</em></p>83 <p><em>April·6,·2021</em></p>
83 <p>Django·2.2.20·fixes·a·security·issue·with·severity·low·in·2.2.19.</p>84 <p>Django·2.2.20·fixes·a·security·issue·with·severity·low·in·2.2.19.</p>
84 <section·id="s-cve-2021-28658-potential-directory-traversal-via-uploaded-files">85 <section·id="s-cve-2021-28658-potential-directory-traversal-via-uploaded-files">
85 <span·id="cve-2021-28658-potential-directory-traversal-via-uploaded-files"></span><h2>CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files<a·class="headerlink"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-28658-potential-directory-traversal-via-uploaded-files"></span><h2>CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files<a·class="headerlink"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files"·title="Link·to·this·heading">¶</a></h2>
86 <p><code·class="docutils·literal·notranslate"><span·class="pre">MultiPartParser</span></code>·allowed·directory-traversal·via·uploaded·files·with87 <p><code·class="docutils·literal·notranslate"><span·class="pre">MultiPartParser</span></code>·allowed·directory-traversal·via·uploaded·files·with
87 suitably·crafted·file·names.</p>88 suitably·crafted·file·names.</p>
88 <p>Built-in·upload·handlers·were·not·affected·by·this·vulnerability.</p>89 <p>Built-in·upload·handlers·were·not·affected·by·this·vulnerability.</p>
89 </section>90 </section>
90 </section>91 </section>
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·2.2.20·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·2.2.20·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files">CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files</a></li>107 <li><a·class="reference·internal"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files">CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files</a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="2.2.21.html"114 ····<p·class="topless"><a·href="2.2.21.html"
114 ··························title="previous·chapter">Django·2.2.21·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·2.2.21·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="2.2.19.html"119 ····<p·class="topless"><a·href="2.2.19.html"
119 ··························title="next·chapter">Django·2.2.19·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·2.2.19·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
2.4 KB
html2text {}
Max HTML report size reached
6.59 KB
./usr/share/doc/python-django-doc/html/releases/2.2.21.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.21·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.21·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.20·release·notes"·href="2.2.20.html"·/>15 ····<link·rel="next"·title="Django·2.2.20·release·notes"·href="2.2.20.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.22·release·notes"·href="2.2.22.html"·/>16 ····<link·rel="prev"·title="Django·2.2.22·release·notes"·href="2.2.22.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·2.2.21·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·2.2.21·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#cve-2021-31542-potential-directory-traversal-via-uploaded-files">CVE-2021-31542:·Potential·directory-traversal·via·uploaded·files</a></li>108 <li><a·class="reference·internal"·href="#cve-2021-31542-potential-directory-traversal-via-uploaded-files">CVE-2021-31542:·Potential·directory-traversal·via·uploaded·files</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="2.2.22.html"115 ····<p·class="topless"><a·href="2.2.22.html"
115 ··························title="previous·chapter">Django·2.2.22·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·2.2.22·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="2.2.20.html"120 ····<p·class="topless"><a·href="2.2.20.html"
120 ··························title="next·chapter">Django·2.2.20·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·2.2.20·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
2.35 KB
html2text {}
Max HTML report size reached
7.22 KB
./usr/share/doc/python-django-doc/html/releases/2.2.22.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.22·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.22·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.21·release·notes"·href="2.2.21.html"·/>15 ····<link·rel="next"·title="Django·2.2.21·release·notes"·href="2.2.21.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.23·release·notes"·href="2.2.23.html"·/>16 ····<link·rel="prev"·title="Django·2.2.23·release·notes"·href="2.2.23.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·2.2.22·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·2.2.22·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#cve-2021-32052-header-injection-possibility-since-urlvalidator-accepted-newlines-in-input-on-python-3-9-5">CVE-2021-32052:·Header·injection·possibility·since·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·accepted·newlines·in·input·on·Python·3.9.5+</a></li>113 <li><a·class="reference·internal"·href="#cve-2021-32052-header-injection-possibility-since-urlvalidator-accepted-newlines-in-input-on-python-3-9-5">CVE-2021-32052:·Header·injection·possibility·since·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·accepted·newlines·in·input·on·Python·3.9.5+</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="2.2.23.html"120 ····<p·class="topless"><a·href="2.2.23.html"
120 ··························title="previous·chapter">Django·2.2.23·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·2.2.23·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="2.2.21.html"125 ····<p·class="topless"><a·href="2.2.21.html"
125 ··························title="next·chapter">Django·2.2.21·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·2.2.21·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.83 KB
html2text {}
Max HTML report size reached
6.16 KB
./usr/share/doc/python-django-doc/html/releases/2.2.23.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.23·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.23·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.22·release·notes"·href="2.2.22.html"·/>15 ····<link·rel="next"·title="Django·2.2.22·release·notes"·href="2.2.22.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.24·release·notes"·href="2.2.24.html"·/>16 ····<link·rel="prev"·title="Django·2.2.24·release·notes"·href="2.2.24.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·2.2.23·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·2.2.23·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="2.2.24.html"117 ····<p·class="topless"><a·href="2.2.24.html"
117 ··························title="previous·chapter">Django·2.2.24·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·2.2.24·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="2.2.22.html"122 ····<p·class="topless"><a·href="2.2.22.html"
122 ··························title="next·chapter">Django·2.2.22·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·2.2.22·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.03 KB
html2text {}
Max HTML report size reached
8.08 KB
./usr/share/doc/python-django-doc/html/releases/2.2.24.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.24·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.24·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.23·release·notes"·href="2.2.23.html"·/>15 ····<link·rel="next"·title="Django·2.2.23·release·notes"·href="2.2.23.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.25·release·notes"·href="2.2.25.html"·/>16 ····<link·rel="prev"·title="Django·2.2.25·release·notes"·href="2.2.25.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 111, 48 lines modifiedOffset 112, 48 lines modified
111 ······112 ······
112 ········113 ········
113 ··········<div·class="yui-b"·id="sidebar">114 ··········<div·class="yui-b"·id="sidebar">
114 ············115 ············
115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
116 ········<div·class="sphinxsidebarwrapper">117 ········<div·class="sphinxsidebarwrapper">
117 ··<div>118 ··<div>
118 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>119 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
119 ····<ul>120 ····<ul>
120 <li><a·class="reference·internal"·href="#">Django·2.2.24·release·notes</a><ul>121 <li><a·class="reference·internal"·href="#">Django·2.2.24·release·notes</a><ul>
121 <li><a·class="reference·internal"·href="#cve-2021-33203-potential-directory-traversal-via-admindocs">CVE-2021-33203:·Potential·directory·traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">admindocs</span></code></a></li>122 <li><a·class="reference·internal"·href="#cve-2021-33203-potential-directory-traversal-via-admindocs">CVE-2021-33203:·Potential·directory·traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">admindocs</span></code></a></li>
122 <li><a·class="reference·internal"·href="#cve-2021-33571-possible-indeterminate-ssrf-rfi-and-lfi-attacks-since-validators-accepted-leading-zeros-in-ipv4-addresses">CVE-2021-33571:·Possible·indeterminate·SSRF,·RFI,·and·LFI·attacks·since·validators·accepted·leading·zeros·in·IPv4·addresses</a></li>123 <li><a·class="reference·internal"·href="#cve-2021-33571-possible-indeterminate-ssrf-rfi-and-lfi-attacks-since-validators-accepted-leading-zeros-in-ipv4-addresses">CVE-2021-33571:·Possible·indeterminate·SSRF,·RFI,·and·LFI·attacks·since·validators·accepted·leading·zeros·in·IPv4·addresses</a></li>
123 </ul>124 </ul>
124 </li>125 </li>
125 </ul>126 </ul>
  
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Previous·topic</h4>129 ····<h4>Eelmine·teema</h4>
129 ····<p·class="topless"><a·href="2.2.25.html"130 ····<p·class="topless"><a·href="2.2.25.html"
130 ··························title="previous·chapter">Django·2.2.25·release·notes</a></p>131 ··························title="eelmine·jaotis">Django·2.2.25·release·notes</a></p>
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Next·topic</h4>134 ····<h4>Järgmine·teema</h4>
134 ····<p·class="topless"><a·href="2.2.23.html"135 ····<p·class="topless"><a·href="2.2.23.html"
135 ··························title="next·chapter">Django·2.2.23·release·notes</a></p>136 ··························title="järgmine·jaotis">Django·2.2.23·release·notes</a></p>
136 ··</div>137 ··</div>
137 <search·id="searchbox"·style="display:·none"·role="search">138 <search·id="searchbox"·style="display:·none"·role="search">
138 ··<h3·id="searchlabel">Quick·search</h3>139 ··<h3·id="searchlabel">Kiirotsing</h3>
139 ····<div·class="searchformwrapper">140 ····<div·class="searchformwrapper">
140 ····<form·class="search"·action="../search.html"·method="get">141 ····<form·class="search"·action="../search.html"·method="get">
141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
142 ······<input·type="submit"·value="Go"·/>143 ······<input·type="submit"·value="Otsi"·/>
143 ····</form>144 ····</form>
144 ····</div>145 ····</div>
145 </search>146 </search>
146 <script>document.getElementById('searchbox').style.display·=·"block"</script>147 <script>document.getElementById('searchbox').style.display·=·"block"</script>
147 ········</div>148 ········</div>
148 ······</div>149 ······</div>
149 ··············<h3>Last·update:</h3>150 ··············<h3>Last·update:</h3>
150 ··············<p·class="topless">Nov·05,·2024</p>151 ··············<p·class="topless">nov·05,·2024</p>
151 ··········</div>152 ··········</div>
152 ········153 ········
153 ······154 ······
154 ····</div>155 ····</div>
  
155 ····<div·id="ft">156 ····<div·id="ft">
156 ······<div·class="nav">157 ······<div·class="nav">
3.49 KB
html2text {}
Max HTML report size reached
7.82 KB
./usr/share/doc/python-django-doc/html/releases/2.2.25.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.25·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.25·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.24·release·notes"·href="2.2.24.html"·/>15 ····<link·rel="next"·title="Django·2.2.24·release·notes"·href="2.2.24.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.26·release·notes"·href="2.2.26.html"·/>16 ····<link·rel="prev"·title="Django·2.2.26·release·notes"·href="2.2.26.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-2.2.25">79 ··········<div·class="yui-g"·id="releases-2.2.25">
79 ············80 ············
80 ··<section·id="s-django-2-2-25-release-notes">81 ··<section·id="s-django-2-2-25-release-notes">
81 <span·id="django-2-2-25-release-notes"></span><h1>Django·2.2.25·release·notes<a·class="headerlink"·href="#django-2-2-25-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-2-25-release-notes"></span><h1>Django·2.2.25·release·notes<a·class="headerlink"·href="#django-2-2-25-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>December·7,·2021</em></p>83 <p><em>December·7,·2021</em></p>
83 <p>Django·2.2.25·fixes·a·security·issue·with·severity·low·in·2.2.24.</p>84 <p>Django·2.2.25·fixes·a·security·issue·with·severity·low·in·2.2.24.</p>
84 <section·id="s-cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">85 <section·id="s-cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">
85 <span·id="cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"></span><h2>CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths<a·class="headerlink"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"></span><h2>CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths<a·class="headerlink"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"·title="Link·to·this·heading">¶</a></h2>
86 <p>HTTP·requests·for·URLs·with·trailing·newlines·could·bypass·an·upstream·access87 <p>HTTP·requests·for·URLs·with·trailing·newlines·could·bypass·an·upstream·access
87 control·based·on·URL·paths.</p>88 control·based·on·URL·paths.</p>
88 </section>89 </section>
89 </section>90 </section>
  
Offset 95, 47 lines modifiedOffset 96, 47 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>103 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
103 ····<ul>104 ····<ul>
104 <li><a·class="reference·internal"·href="#">Django·2.2.25·release·notes</a><ul>105 <li><a·class="reference·internal"·href="#">Django·2.2.25·release·notes</a><ul>
105 <li><a·class="reference·internal"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths</a></li>106 <li><a·class="reference·internal"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths</a></li>
106 </ul>107 </ul>
107 </li>108 </li>
108 </ul>109 </ul>
  
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="2.2.26.html"113 ····<p·class="topless"><a·href="2.2.26.html"
113 ··························title="previous·chapter">Django·2.2.26·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·2.2.26·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="2.2.24.html"118 ····<p·class="topless"><a·href="2.2.24.html"
118 ··························title="next·chapter">Django·2.2.24·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·2.2.24·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.45 KB
html2text {}
Max HTML report size reached
14.9 KB
./usr/share/doc/python-django-doc/html/releases/2.2.26.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.26·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.26·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.25·release·notes"·href="2.2.25.html"·/>15 ····<link·rel="next"·title="Django·2.2.25·release·notes"·href="2.2.25.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.27·release·notes"·href="2.2.27.html"·/>16 ····<link·rel="prev"·title="Django·2.2.27·release·notes"·href="2.2.27.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 91 lines modifiedOffset 77, 91 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-2.2.26">79 ··········<div·class="yui-g"·id="releases-2.2.26">
79 ············80 ············
80 ··<section·id="s-django-2-2-26-release-notes">81 ··<section·id="s-django-2-2-26-release-notes">
81 <span·id="django-2-2-26-release-notes"></span><h1>Django·2.2.26·release·notes<a·class="headerlink"·href="#django-2-2-26-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-2-26-release-notes"></span><h1>Django·2.2.26·release·notes<a·class="headerlink"·href="#django-2-2-26-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>January·4,·2022</em></p>83 <p><em>January·4,·2022</em></p>
83 <p>Django·2.2.26·fixes·one·security·issue·with·severity·medium·and·two·security84 <p>Django·2.2.26·fixes·one·security·issue·with·severity·medium·and·two·security
84 issues·with·severity·low·in·2.2.25.</p>85 issues·with·severity·low·in·2.2.25.</p>
85 <section·id="s-cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">86 <section·id="s-cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">
86 <span·id="cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"></span><h2>CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code><a·class="headerlink"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"></span><h2>CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code><a·class="headerlink"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../topics/auth/passwords.html#django.contrib.auth.password_validation.UserAttributeSimilarityValidator"·title="django.contrib.auth.password_validation.UserAttributeSimilarityValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a>·incurred·significant·overhead88 <p><a·class="reference·internal"·href="../topics/auth/passwords.html#django.contrib.auth.password_validation.UserAttributeSimilarityValidator"·title="django.contrib.auth.password_validation.UserAttributeSimilarityValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a>·incurred·significant·overhead
88 evaluating·submitted·password·that·were·artificially·large·in·relative·to·the89 evaluating·submitted·password·that·were·artificially·large·in·relative·to·the
89 comparison·values.·On·the·assumption·that·access·to·user·registration·was90 comparison·values.·On·the·assumption·that·access·to·user·registration·was
90 unrestricted·this·provided·a·potential·vector·for·a·denial-of-service·attack.</p>91 unrestricted·this·provided·a·potential·vector·for·a·denial-of-service·attack.</p>
91 <p>In·order·to·mitigate·this·issue,·relatively·long·values·are·now·ignored·by92 <p>In·order·to·mitigate·this·issue,·relatively·long·values·are·now·ignored·by
92 <code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code>.</p>93 <code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code>.</p>
93 <p>This·issue·has·severity·medium·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>94 <p>This·issue·has·severity·medium·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>
94 </section>95 </section>
95 <section·id="s-cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">96 <section·id="s-cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">
96 <span·id="cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"></span><h2>CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter<a·class="headerlink"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"·title="Link·to·this·heading">¶</a></h2>97 <span·id="cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"></span><h2>CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter<a·class="headerlink"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"·title="Link·to·this·heading">¶</a></h2>
97 <p>Due·to·leveraging·the·Django·Template·Language’s·variable·resolution·logic,·the98 <p>Due·to·leveraging·the·Django·Template·Language’s·variable·resolution·logic,·the
98 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-dictsort"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">dictsort</span></code></a>·template·filter·was·potentially·vulnerable·to·information99 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-dictsort"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">dictsort</span></code></a>·template·filter·was·potentially·vulnerable·to·information
99 disclosure·or·unintended·method·calls,·if·passed·a·suitably·crafted·key.</p>100 disclosure·or·unintended·method·calls,·if·passed·a·suitably·crafted·key.</p>
100 <p>In·order·to·avoid·this·possibility,·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·now·works·with·a·restricted101 <p>In·order·to·avoid·this·possibility,·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·now·works·with·a·restricted
101 resolution·logic,·that·will·not·call·methods,·nor·allow·indexing·on102 resolution·logic,·that·will·not·call·methods,·nor·allow·indexing·on
102 dictionaries.</p>103 dictionaries.</p>
103 <p>As·a·reminder,·all·untrusted·user·input·should·be·validated·before·use.</p>104 <p>As·a·reminder,·all·untrusted·user·input·should·be·validated·before·use.</p>
104 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>105 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>
105 </section>106 </section>
106 <section·id="s-cve-2021-45452-potential-directory-traversal-via-storage-save">107 <section·id="s-cve-2021-45452-potential-directory-traversal-via-storage-save">
107 <span·id="cve-2021-45452-potential-directory-traversal-via-storage-save"></span><h2>CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code><a·class="headerlink"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save"·title="Link·to·this·heading">¶</a></h2>108 <span·id="cve-2021-45452-potential-directory-traversal-via-storage-save"></span><h2>CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code><a·class="headerlink"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save"·title="Link·to·this·heading">¶</a></h2>
108 <p><code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code>·allowed·directory-traversal·if·directly·passed·suitably109 <p><code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code>·allowed·directory-traversal·if·directly·passed·suitably
109 crafted·file·names.</p>110 crafted·file·names.</p>
110 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>111 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>
111 </section>112 </section>
112 </section>113 </section>
  
  
113 ··········</div>114 ··········</div>
114 ········</div>115 ········</div>
115 ······</div>116 ······</div>
116 ······117 ······
117 ········118 ········
118 ··········<div·class="yui-b"·id="sidebar">119 ··········<div·class="yui-b"·id="sidebar">
119 ············120 ············
120 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
121 ········<div·class="sphinxsidebarwrapper">122 ········<div·class="sphinxsidebarwrapper">
122 ··<div>123 ··<div>
123 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>124 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
124 ····<ul>125 ····<ul>
125 <li><a·class="reference·internal"·href="#">Django·2.2.26·release·notes</a><ul>126 <li><a·class="reference·internal"·href="#">Django·2.2.26·release·notes</a><ul>
126 <li><a·class="reference·internal"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a></li>127 <li><a·class="reference·internal"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a></li>
127 <li><a·class="reference·internal"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter</a></li>128 <li><a·class="reference·internal"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter</a></li>
128 <li><a·class="reference·internal"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save">CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>129 <li><a·class="reference·internal"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save">CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>
129 </ul>130 </ul>
130 </li>131 </li>
131 </ul>132 </ul>
  
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Previous·topic</h4>135 ····<h4>Eelmine·teema</h4>
135 ····<p·class="topless"><a·href="2.2.27.html"136 ····<p·class="topless"><a·href="2.2.27.html"
136 ··························title="previous·chapter">Django·2.2.27·release·notes</a></p>137 ··························title="eelmine·jaotis">Django·2.2.27·release·notes</a></p>
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Next·topic</h4>140 ····<h4>Järgmine·teema</h4>
140 ····<p·class="topless"><a·href="2.2.25.html"141 ····<p·class="topless"><a·href="2.2.25.html"
141 ··························title="next·chapter">Django·2.2.25·release·notes</a></p>142 ··························title="järgmine·jaotis">Django·2.2.25·release·notes</a></p>
142 ··</div>143 ··</div>
143 <search·id="searchbox"·style="display:·none"·role="search">144 <search·id="searchbox"·style="display:·none"·role="search">
144 ··<h3·id="searchlabel">Quick·search</h3>145 ··<h3·id="searchlabel">Kiirotsing</h3>
145 ····<div·class="searchformwrapper">146 ····<div·class="searchformwrapper">
146 ····<form·class="search"·action="../search.html"·method="get">147 ····<form·class="search"·action="../search.html"·method="get">
147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>148 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
148 ······<input·type="submit"·value="Go"·/>149 ······<input·type="submit"·value="Otsi"·/>
149 ····</form>150 ····</form>
150 ····</div>151 ····</div>
151 </search>152 </search>
152 <script>document.getElementById('searchbox').style.display·=·"block"</script>153 <script>document.getElementById('searchbox').style.display·=·"block"</script>
153 ········</div>154 ········</div>
154 ······</div>155 ······</div>
155 ··············<h3>Last·update:</h3>156 ··············<h3>Last·update:</h3>
156 ··············<p·class="topless">Nov·05,·2024</p>157 ··············<p·class="topless">nov·05,·2024</p>
157 ··········</div>158 ··········</div>
158 ········159 ········
159 ······160 ······
Max diff block lines reached; 46/9973 bytes (0.46%) of diff not shown.
5.06 KB
html2text {}
Max HTML report size reached
9.36 KB
./usr/share/doc/python-django-doc/html/releases/2.2.27.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.27·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.27·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.26·release·notes"·href="2.2.26.html"·/>15 ····<link·rel="next"·title="Django·2.2.26·release·notes"·href="2.2.26.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.28·release·notes"·href="2.2.28.html"·/>16 ····<link·rel="prev"·title="Django·2.2.28·release·notes"·href="2.2.28.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-2.2.27">79 ··········<div·class="yui-g"·id="releases-2.2.27">
79 ············80 ············
80 ··<section·id="s-django-2-2-27-release-notes">81 ··<section·id="s-django-2-2-27-release-notes">
81 <span·id="django-2-2-27-release-notes"></span><h1>Django·2.2.27·release·notes<a·class="headerlink"·href="#django-2-2-27-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-2-27-release-notes"></span><h1>Django·2.2.27·release·notes<a·class="headerlink"·href="#django-2-2-27-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2022</em></p>83 <p><em>February·1,·2022</em></p>
83 <p>Django·2.2.27·fixes·two·security·issues·with·severity·medium·in·2.2.26.</p>84 <p>Django·2.2.27·fixes·two·security·issues·with·severity·medium·in·2.2.26.</p>
84 <section·id="s-cve-2022-22818-possible-xss-via-debug-template-tag">85 <section·id="s-cve-2022-22818-possible-xss-via-debug-template-tag">
85 <span·id="cve-2022-22818-possible-xss-via-debug-template-tag"></span><h2>CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag<a·class="headerlink"·href="#cve-2022-22818-possible-xss-via-debug-template-tag"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2022-22818-possible-xss-via-debug-template-tag"></span><h2>CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag<a·class="headerlink"·href="#cve-2022-22818-possible-xss-via-debug-template-tag"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag·didn’t·properly·encode·the·current·context,87 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag·didn’t·properly·encode·the·current·context,
87 posing·an·XSS·attack·vector.</p>88 posing·an·XSS·attack·vector.</p>
88 <p>In·order·to·avoid·this·vulnerability,·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·no·longer·outputs89 <p>In·order·to·avoid·this·vulnerability,·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·no·longer·outputs
89 information·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·and·it·ensures·all·context90 information·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·and·it·ensures·all·context
90 variables·are·correctly·escaped·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>91 variables·are·correctly·escaped·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>
Offset 103, 48 lines modifiedOffset 104, 48 lines modified
103 ······104 ······
104 ········105 ········
105 ··········<div·class="yui-b"·id="sidebar">106 ··········<div·class="yui-b"·id="sidebar">
106 ············107 ············
107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
108 ········<div·class="sphinxsidebarwrapper">109 ········<div·class="sphinxsidebarwrapper">
109 ··<div>110 ··<div>
110 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>111 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
111 ····<ul>112 ····<ul>
112 <li><a·class="reference·internal"·href="#">Django·2.2.27·release·notes</a><ul>113 <li><a·class="reference·internal"·href="#">Django·2.2.27·release·notes</a><ul>
113 <li><a·class="reference·internal"·href="#cve-2022-22818-possible-xss-via-debug-template-tag">CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag</a></li>114 <li><a·class="reference·internal"·href="#cve-2022-22818-possible-xss-via-debug-template-tag">CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag</a></li>
114 <li><a·class="reference·internal"·href="#cve-2022-23833-denial-of-service-possibility-in-file-uploads">CVE-2022-23833:·Denial-of-service·possibility·in·file·uploads</a></li>115 <li><a·class="reference·internal"·href="#cve-2022-23833-denial-of-service-possibility-in-file-uploads">CVE-2022-23833:·Denial-of-service·possibility·in·file·uploads</a></li>
115 </ul>116 </ul>
116 </li>117 </li>
117 </ul>118 </ul>
  
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Previous·topic</h4>121 ····<h4>Eelmine·teema</h4>
121 ····<p·class="topless"><a·href="2.2.28.html"122 ····<p·class="topless"><a·href="2.2.28.html"
122 ··························title="previous·chapter">Django·2.2.28·release·notes</a></p>123 ··························title="eelmine·jaotis">Django·2.2.28·release·notes</a></p>
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Next·topic</h4>126 ····<h4>Järgmine·teema</h4>
126 ····<p·class="topless"><a·href="2.2.26.html"127 ····<p·class="topless"><a·href="2.2.26.html"
127 ··························title="next·chapter">Django·2.2.26·release·notes</a></p>128 ··························title="järgmine·jaotis">Django·2.2.26·release·notes</a></p>
128 ··</div>129 ··</div>
129 <search·id="searchbox"·style="display:·none"·role="search">130 <search·id="searchbox"·style="display:·none"·role="search">
130 ··<h3·id="searchlabel">Quick·search</h3>131 ··<h3·id="searchlabel">Kiirotsing</h3>
131 ····<div·class="searchformwrapper">132 ····<div·class="searchformwrapper">
132 ····<form·class="search"·action="../search.html"·method="get">133 ····<form·class="search"·action="../search.html"·method="get">
133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
134 ······<input·type="submit"·value="Go"·/>135 ······<input·type="submit"·value="Otsi"·/>
135 ····</form>136 ····</form>
136 ····</div>137 ····</div>
137 </search>138 </search>
138 <script>document.getElementById('searchbox').style.display·=·"block"</script>139 <script>document.getElementById('searchbox').style.display·=·"block"</script>
139 ········</div>140 ········</div>
140 ······</div>141 ······</div>
141 ··············<h3>Last·update:</h3>142 ··············<h3>Last·update:</h3>
142 ··············<p·class="topless">Nov·05,·2024</p>143 ··············<p·class="topless">nov·05,·2024</p>
143 ··········</div>144 ··········</div>
144 ········145 ········
145 ······146 ······
146 ····</div>147 ····</div>
  
147 ····<div·id="ft">148 ····<div·id="ft">
148 ······<div·class="nav">149 ······<div·class="nav">
3.0 KB
html2text {}
Max HTML report size reached
10.4 KB
./usr/share/doc/python-django-doc/html/releases/2.2.28.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.28·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.28·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.27·release·notes"·href="2.2.27.html"·/>15 ····<link·rel="next"·title="Django·2.2.27·release·notes"·href="2.2.27.html"·/>
15 ····<link·rel="prev"·title="Django·3.0·release·notes"·href="3.0.html"·/>16 ····<link·rel="prev"·title="Django·3.0·release·notes"·href="3.0.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-2.2.28">79 ··········<div·class="yui-g"·id="releases-2.2.28">
79 ············80 ············
80 ··<section·id="s-django-2-2-28-release-notes">81 ··<section·id="s-django-2-2-28-release-notes">
81 <span·id="django-2-2-28-release-notes"></span><h1>Django·2.2.28·release·notes<a·class="headerlink"·href="#django-2-2-28-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-2-2-28-release-notes"></span><h1>Django·2.2.28·release·notes<a·class="headerlink"·href="#django-2-2-28-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·11,·2022</em></p>83 <p><em>April·11,·2022</em></p>
83 <p>Django·2.2.28·fixes·two·security·issues·with·severity·high·in·2.2.27.</p>84 <p>Django·2.2.28·fixes·two·security·issues·with·severity·high·in·2.2.27.</p>
84 <section·id="s-cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">85 <section·id="s-cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">
85 <span·id="cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"></span><h2>CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code><a·class="headerlink"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"></span><h2>CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code><a·class="headerlink"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"·title="Link·to·this·heading">¶</a></h2>
86 <p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.annotate"·title="django.db.models.query.QuerySet.annotate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.aggregate"·title="django.db.models.query.QuerySet.aggregate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">aggregate()</span></code></a>,·and87 <p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.annotate"·title="django.db.models.query.QuerySet.annotate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.aggregate"·title="django.db.models.query.QuerySet.aggregate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">aggregate()</span></code></a>,·and
87 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.extra"·title="django.db.models.query.QuerySet.extra"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">extra()</span></code></a>·methods·were·subject·to·SQL·injection·in·column88 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.extra"·title="django.db.models.query.QuerySet.extra"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">extra()</span></code></a>·methods·were·subject·to·SQL·injection·in·column
88 aliases,·using·a·suitably·crafted·dictionary,·with·dictionary·expansion,·as·the89 aliases,·using·a·suitably·crafted·dictionary,·with·dictionary·expansion,·as·the
89 <code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>·passed·to·these·methods.</p>90 <code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>·passed·to·these·methods.</p>
90 </section>91 </section>
Offset 103, 48 lines modifiedOffset 104, 48 lines modified
103 ······104 ······
104 ········105 ········
105 ··········<div·class="yui-b"·id="sidebar">106 ··········<div·class="yui-b"·id="sidebar">
106 ············107 ············
107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
108 ········<div·class="sphinxsidebarwrapper">109 ········<div·class="sphinxsidebarwrapper">
109 ··<div>110 ··<div>
110 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>111 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
111 ····<ul>112 ····<ul>
112 <li><a·class="reference·internal"·href="#">Django·2.2.28·release·notes</a><ul>113 <li><a·class="reference·internal"·href="#">Django·2.2.28·release·notes</a><ul>
113 <li><a·class="reference·internal"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code></a></li>114 <li><a·class="reference·internal"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code></a></li>
114 <li><a·class="reference·internal"·href="#cve-2022-28347-potential-sql-injection-via-queryset-explain-options-on-postgresql">CVE-2022-28347:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.explain(**options)</span></code>·on·PostgreSQL</a></li>115 <li><a·class="reference·internal"·href="#cve-2022-28347-potential-sql-injection-via-queryset-explain-options-on-postgresql">CVE-2022-28347:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.explain(**options)</span></code>·on·PostgreSQL</a></li>
115 </ul>116 </ul>
116 </li>117 </li>
117 </ul>118 </ul>
  
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Previous·topic</h4>121 ····<h4>Eelmine·teema</h4>
121 ····<p·class="topless"><a·href="3.0.html"122 ····<p·class="topless"><a·href="3.0.html"
122 ··························title="previous·chapter">Django·3.0·release·notes</a></p>123 ··························title="eelmine·jaotis">Django·3.0·release·notes</a></p>
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Next·topic</h4>126 ····<h4>Järgmine·teema</h4>
126 ····<p·class="topless"><a·href="2.2.27.html"127 ····<p·class="topless"><a·href="2.2.27.html"
127 ··························title="next·chapter">Django·2.2.27·release·notes</a></p>128 ··························title="järgmine·jaotis">Django·2.2.27·release·notes</a></p>
128 ··</div>129 ··</div>
129 <search·id="searchbox"·style="display:·none"·role="search">130 <search·id="searchbox"·style="display:·none"·role="search">
130 ··<h3·id="searchlabel">Quick·search</h3>131 ··<h3·id="searchlabel">Kiirotsing</h3>
131 ····<div·class="searchformwrapper">132 ····<div·class="searchformwrapper">
132 ····<form·class="search"·action="../search.html"·method="get">133 ····<form·class="search"·action="../search.html"·method="get">
133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
134 ······<input·type="submit"·value="Go"·/>135 ······<input·type="submit"·value="Otsi"·/>
135 ····</form>136 ····</form>
136 ····</div>137 ····</div>
137 </search>138 </search>
138 <script>document.getElementById('searchbox').style.display·=·"block"</script>139 <script>document.getElementById('searchbox').style.display·=·"block"</script>
139 ········</div>140 ········</div>
140 ······</div>141 ······</div>
141 ··············<h3>Last·update:</h3>142 ··············<h3>Last·update:</h3>
142 ··············<p·class="topless">Nov·05,·2024</p>143 ··············<p·class="topless">nov·05,·2024</p>
143 ··········</div>144 ··········</div>
144 ········145 ········
145 ······146 ······
146 ····</div>147 ····</div>
  
147 ····<div·id="ft">148 ····<div·id="ft">
148 ······<div·class="nav">149 ······<div·class="nav">
3.41 KB
html2text {}
Max HTML report size reached
7.13 KB
./usr/share/doc/python-django-doc/html/releases/2.2.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.2·release·notes"·href="2.2.2.html"·/>15 ····<link·rel="next"·title="Django·2.2.2·release·notes"·href="2.2.2.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.4·release·notes"·href="2.2.4.html"·/>16 ····<link·rel="prev"·title="Django·2.2.4·release·notes"·href="2.2.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 118, 50 lines modifiedOffset 119, 50 lines modified
118 ······119 ······
119 ········120 ········
120 ··········<div·class="yui-b"·id="sidebar">121 ··········<div·class="yui-b"·id="sidebar">
121 ············122 ············
122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">123 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
123 ········<div·class="sphinxsidebarwrapper">124 ········<div·class="sphinxsidebarwrapper">
124 ··<div>125 ··<div>
125 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>126 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
126 ····<ul>127 ····<ul>
127 <li><a·class="reference·internal"·href="#">Django·2.2.3·release·notes</a><ul>128 <li><a·class="reference·internal"·href="#">Django·2.2.3·release·notes</a><ul>
128 <li><a·class="reference·internal"·href="#cve-2019-12781-incorrect-http-detection-with-reverse-proxy-connecting-via-https">CVE-2019-12781:·Incorrect·HTTP·detection·with·reverse-proxy·connecting·via·HTTPS</a><ul>129 <li><a·class="reference·internal"·href="#cve-2019-12781-incorrect-http-detection-with-reverse-proxy-connecting-via-https">CVE-2019-12781:·Incorrect·HTTP·detection·with·reverse-proxy·connecting·via·HTTPS</a><ul>
129 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>130 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
130 </ul>131 </ul>
131 </li>132 </li>
132 </ul>133 </ul>
133 </li>134 </li>
134 </ul>135 </ul>
  
135 ··</div>136 ··</div>
136 ··<div>137 ··<div>
137 ····<h4>Previous·topic</h4>138 ····<h4>Eelmine·teema</h4>
138 ····<p·class="topless"><a·href="2.2.4.html"139 ····<p·class="topless"><a·href="2.2.4.html"
139 ··························title="previous·chapter">Django·2.2.4·release·notes</a></p>140 ··························title="eelmine·jaotis">Django·2.2.4·release·notes</a></p>
140 ··</div>141 ··</div>
141 ··<div>142 ··<div>
142 ····<h4>Next·topic</h4>143 ····<h4>Järgmine·teema</h4>
143 ····<p·class="topless"><a·href="2.2.2.html"144 ····<p·class="topless"><a·href="2.2.2.html"
144 ··························title="next·chapter">Django·2.2.2·release·notes</a></p>145 ··························title="järgmine·jaotis">Django·2.2.2·release·notes</a></p>
145 ··</div>146 ··</div>
146 <search·id="searchbox"·style="display:·none"·role="search">147 <search·id="searchbox"·style="display:·none"·role="search">
147 ··<h3·id="searchlabel">Quick·search</h3>148 ··<h3·id="searchlabel">Kiirotsing</h3>
148 ····<div·class="searchformwrapper">149 ····<div·class="searchformwrapper">
149 ····<form·class="search"·action="../search.html"·method="get">150 ····<form·class="search"·action="../search.html"·method="get">
150 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>151 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
151 ······<input·type="submit"·value="Go"·/>152 ······<input·type="submit"·value="Otsi"·/>
152 ····</form>153 ····</form>
153 ····</div>154 ····</div>
154 </search>155 </search>
155 <script>document.getElementById('searchbox').style.display·=·"block"</script>156 <script>document.getElementById('searchbox').style.display·=·"block"</script>
156 ········</div>157 ········</div>
157 ······</div>158 ······</div>
158 ··············<h3>Last·update:</h3>159 ··············<h3>Last·update:</h3>
159 ··············<p·class="topless">Nov·05,·2024</p>160 ··············<p·class="topless">nov·05,·2024</p>
160 ··········</div>161 ··········</div>
161 ········162 ········
162 ······163 ······
163 ····</div>164 ····</div>
  
164 ····<div·id="ft">165 ····<div·id="ft">
165 ······<div·class="nav">166 ······<div·class="nav">
2.79 KB
html2text {}
Max HTML report size reached
8.9 KB
./usr/share/doc/python-django-doc/html/releases/2.2.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.3·release·notes"·href="2.2.3.html"·/>15 ····<link·rel="next"·title="Django·2.2.3·release·notes"·href="2.2.3.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.5·release·notes"·href="2.2.5.html"·/>16 ····<link·rel="prev"·title="Django·2.2.5·release·notes"·href="2.2.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 148, 51 lines modifiedOffset 149, 51 lines modified
148 ······149 ······
149 ········150 ········
150 ··········<div·class="yui-b"·id="sidebar">151 ··········<div·class="yui-b"·id="sidebar">
151 ············152 ············
152 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">153 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
153 ········<div·class="sphinxsidebarwrapper">154 ········<div·class="sphinxsidebarwrapper">
154 ··<div>155 ··<div>
155 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>156 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
156 ····<ul>157 ····<ul>
157 <li><a·class="reference·internal"·href="#">Django·2.2.4·release·notes</a><ul>158 <li><a·class="reference·internal"·href="#">Django·2.2.4·release·notes</a><ul>
158 <li><a·class="reference·internal"·href="#cve-2019-14232-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2019-14232:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>159 <li><a·class="reference·internal"·href="#cve-2019-14232-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2019-14232:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>
159 <li><a·class="reference·internal"·href="#cve-2019-14233-denial-of-service-possibility-in-strip-tags">CVE-2019-14233:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>160 <li><a·class="reference·internal"·href="#cve-2019-14233-denial-of-service-possibility-in-strip-tags">CVE-2019-14233:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">strip_tags()</span></code></a></li>
160 <li><a·class="reference·internal"·href="#cve-2019-14234-sql-injection-possibility-in-key-and-index-lookups-for-jsonfield-hstorefield">CVE-2019-14234:·SQL·injection·possibility·in·key·and·index·lookups·for·<code·class="docutils·literal·notranslate"><span·class="pre">JSONField</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a></li>161 <li><a·class="reference·internal"·href="#cve-2019-14234-sql-injection-possibility-in-key-and-index-lookups-for-jsonfield-hstorefield">CVE-2019-14234:·SQL·injection·possibility·in·key·and·index·lookups·for·<code·class="docutils·literal·notranslate"><span·class="pre">JSONField</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">HStoreField</span></code></a></li>
161 <li><a·class="reference·internal"·href="#cve-2019-14235-potential-memory-exhaustion-in-django-utils-encoding-uri-to-iri">CVE-2019-14235:·Potential·memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>162 <li><a·class="reference·internal"·href="#cve-2019-14235-potential-memory-exhaustion-in-django-utils-encoding-uri-to-iri">CVE-2019-14235:·Potential·memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>
162 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>163 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
163 </ul>164 </ul>
164 </li>165 </li>
165 </ul>166 </ul>
  
166 ··</div>167 ··</div>
167 ··<div>168 ··<div>
168 ····<h4>Previous·topic</h4>169 ····<h4>Eelmine·teema</h4>
169 ····<p·class="topless"><a·href="2.2.5.html"170 ····<p·class="topless"><a·href="2.2.5.html"
170 ··························title="previous·chapter">Django·2.2.5·release·notes</a></p>171 ··························title="eelmine·jaotis">Django·2.2.5·release·notes</a></p>
171 ··</div>172 ··</div>
172 ··<div>173 ··<div>
173 ····<h4>Next·topic</h4>174 ····<h4>Järgmine·teema</h4>
174 ····<p·class="topless"><a·href="2.2.3.html"175 ····<p·class="topless"><a·href="2.2.3.html"
175 ··························title="next·chapter">Django·2.2.3·release·notes</a></p>176 ··························title="järgmine·jaotis">Django·2.2.3·release·notes</a></p>
176 ··</div>177 ··</div>
177 <search·id="searchbox"·style="display:·none"·role="search">178 <search·id="searchbox"·style="display:·none"·role="search">
178 ··<h3·id="searchlabel">Quick·search</h3>179 ··<h3·id="searchlabel">Kiirotsing</h3>
179 ····<div·class="searchformwrapper">180 ····<div·class="searchformwrapper">
180 ····<form·class="search"·action="../search.html"·method="get">181 ····<form·class="search"·action="../search.html"·method="get">
181 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>182 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
182 ······<input·type="submit"·value="Go"·/>183 ······<input·type="submit"·value="Otsi"·/>
183 ····</form>184 ····</form>
184 ····</div>185 ····</div>
185 </search>186 </search>
186 <script>document.getElementById('searchbox').style.display·=·"block"</script>187 <script>document.getElementById('searchbox').style.display·=·"block"</script>
187 ········</div>188 ········</div>
188 ······</div>189 ······</div>
189 ··············<h3>Last·update:</h3>190 ··············<h3>Last·update:</h3>
190 ··············<p·class="topless">Nov·05,·2024</p>191 ··············<p·class="topless">nov·05,·2024</p>
191 ··········</div>192 ··········</div>
192 ········193 ········
193 ······194 ······
194 ····</div>195 ····</div>
  
195 ····<div·id="ft">196 ····<div·id="ft">
196 ······<div·class="nav">197 ······<div·class="nav">
3.61 KB
html2text {}
Max HTML report size reached
6.52 KB
./usr/share/doc/python-django-doc/html/releases/2.2.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.4·release·notes"·href="2.2.4.html"·/>15 ····<link·rel="next"·title="Django·2.2.4·release·notes"·href="2.2.4.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.6·release·notes"·href="2.2.6.html"·/>16 ····<link·rel="prev"·title="Django·2.2.6·release·notes"·href="2.2.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 106, 47 lines modifiedOffset 107, 47 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·2.2.5·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·2.2.5·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="2.2.6.html"124 ····<p·class="topless"><a·href="2.2.6.html"
124 ··························title="previous·chapter">Django·2.2.6·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·2.2.6·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="2.2.4.html"129 ····<p·class="topless"><a·href="2.2.4.html"
129 ··························title="next·chapter">Django·2.2.4·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·2.2.4·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
2.4 KB
html2text {}
Max HTML report size reached
6.29 KB
./usr/share/doc/python-django-doc/html/releases/2.2.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.5·release·notes"·href="2.2.5.html"·/>15 ····<link·rel="next"·title="Django·2.2.5·release·notes"·href="2.2.5.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.7·release·notes"·href="2.2.7.html"·/>16 ····<link·rel="prev"·title="Django·2.2.7·release·notes"·href="2.2.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 101, 47 lines modifiedOffset 102, 47 lines modified
101 ······102 ······
102 ········103 ········
103 ··········<div·class="yui-b"·id="sidebar">104 ··········<div·class="yui-b"·id="sidebar">
104 ············105 ············
105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
106 ········<div·class="sphinxsidebarwrapper">107 ········<div·class="sphinxsidebarwrapper">
107 ··<div>108 ··<div>
108 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>109 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
109 ····<ul>110 ····<ul>
110 <li><a·class="reference·internal"·href="#">Django·2.2.6·release·notes</a><ul>111 <li><a·class="reference·internal"·href="#">Django·2.2.6·release·notes</a><ul>
111 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
112 </ul>113 </ul>
113 </li>114 </li>
114 </ul>115 </ul>
  
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Previous·topic</h4>118 ····<h4>Eelmine·teema</h4>
118 ····<p·class="topless"><a·href="2.2.7.html"119 ····<p·class="topless"><a·href="2.2.7.html"
119 ··························title="previous·chapter">Django·2.2.7·release·notes</a></p>120 ··························title="eelmine·jaotis">Django·2.2.7·release·notes</a></p>
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Next·topic</h4>123 ····<h4>Järgmine·teema</h4>
123 ····<p·class="topless"><a·href="2.2.5.html"124 ····<p·class="topless"><a·href="2.2.5.html"
124 ··························title="next·chapter">Django·2.2.5·release·notes</a></p>125 ··························title="järgmine·jaotis">Django·2.2.5·release·notes</a></p>
125 ··</div>126 ··</div>
126 <search·id="searchbox"·style="display:·none"·role="search">127 <search·id="searchbox"·style="display:·none"·role="search">
127 ··<h3·id="searchlabel">Quick·search</h3>128 ··<h3·id="searchlabel">Kiirotsing</h3>
128 ····<div·class="searchformwrapper">129 ····<div·class="searchformwrapper">
129 ····<form·class="search"·action="../search.html"·method="get">130 ····<form·class="search"·action="../search.html"·method="get">
130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
131 ······<input·type="submit"·value="Go"·/>132 ······<input·type="submit"·value="Otsi"·/>
132 ····</form>133 ····</form>
133 ····</div>134 ····</div>
134 </search>135 </search>
135 <script>document.getElementById('searchbox').style.display·=·"block"</script>136 <script>document.getElementById('searchbox').style.display·=·"block"</script>
136 ········</div>137 ········</div>
137 ······</div>138 ······</div>
138 ··············<h3>Last·update:</h3>139 ··············<h3>Last·update:</h3>
139 ··············<p·class="topless">Nov·05,·2024</p>140 ··············<p·class="topless">nov·05,·2024</p>
140 ··········</div>141 ··········</div>
141 ········142 ········
142 ······143 ······
143 ····</div>144 ····</div>
  
144 ····<div·id="ft">145 ····<div·id="ft">
145 ······<div·class="nav">146 ······<div·class="nav">
2.17 KB
html2text {}
Max HTML report size reached
6.62 KB
./usr/share/doc/python-django-doc/html/releases/2.2.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.6·release·notes"·href="2.2.6.html"·/>15 ····<link·rel="next"·title="Django·2.2.6·release·notes"·href="2.2.6.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.8·release·notes"·href="2.2.8.html"·/>16 ····<link·rel="prev"·title="Django·2.2.8·release·notes"·href="2.2.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 47 lines modifiedOffset 108, 47 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>115 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
115 ····<ul>116 ····<ul>
116 <li><a·class="reference·internal"·href="#">Django·2.2.7·release·notes</a><ul>117 <li><a·class="reference·internal"·href="#">Django·2.2.7·release·notes</a><ul>
117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="2.2.8.html"125 ····<p·class="topless"><a·href="2.2.8.html"
125 ··························title="previous·chapter">Django·2.2.8·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·2.2.8·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="2.2.6.html"130 ····<p·class="topless"><a·href="2.2.6.html"
130 ··························title="next·chapter">Django·2.2.6·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·2.2.6·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
2.5 KB
html2text {}
Max HTML report size reached
9.35 KB
./usr/share/doc/python-django-doc/html/releases/2.2.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.7·release·notes"·href="2.2.7.html"·/>15 ····<link·rel="next"·title="Django·2.2.7·release·notes"·href="2.2.7.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.9·release·notes"·href="2.2.9.html"·/>16 ····<link·rel="prev"·title="Django·2.2.9·release·notes"·href="2.2.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 90, 15 lines modifiedOffset 91, 15 lines modified
90 parent·model·but·editable·forms·for·the·inline.</p>91 parent·model·but·editable·forms·for·the·inline.</p>
91 <p>Submitting·these·forms·would·not·allow·direct·edits·to·the·parent·model,·but92 <p>Submitting·these·forms·would·not·allow·direct·edits·to·the·parent·model,·but
92 would·trigger·the·parent·model’s·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·method,·and·cause·pre·and·post-save93 would·trigger·the·parent·model’s·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·method,·and·cause·pre·and·post-save
93 signal·handlers·to·be·invoked.·This·is·a·privilege·escalation·as·a·user·who94 signal·handlers·to·be·invoked.·This·is·a·privilege·escalation·as·a·user·who
94 lacks·permission·to·edit·a·model·should·not·be·able·to·trigger·its·save-related95 lacks·permission·to·edit·a·model·should·not·be·able·to·trigger·its·save-related
95 signals.</p>96 signals.</p>
96 <p>To·resolve·this·issue,·the·permission·handling·code·of·the·Django·admin97 <p>To·resolve·this·issue,·the·permission·handling·code·of·the·Django·admin
97 interface·has·been·changed.·Now,·if·a·user·has·only·the·view·permission·for·a98 interface·has·been·changed.·Now,·if·a·user·has·only·the·view·permission·for·a
98 parent·model,·the·entire·displayed·form·will·not·be·editable,·even·if·the·user99 parent·model,·the·entire·displayed·form·will·not·be·editable,·even·if·the·user
99 has·permission·to·edit·models·included·in·inlines.</p>100 has·permission·to·edit·models·included·in·inlines.</p>
100 <p>This·is·a·backwards-incompatible·change,·and·the·Django·security·team·is·aware101 <p>This·is·a·backwards-incompatible·change,·and·the·Django·security·team·is·aware
101 that·some·users·of·Django·were·depending·on·the·ability·to·allow·editing·of102 that·some·users·of·Django·were·depending·on·the·ability·to·allow·editing·of
102 inlines·in·the·admin·form·of·an·otherwise·view-only·parent·model.</p>103 inlines·in·the·admin·form·of·an·otherwise·view-only·parent·model.</p>
103 <p>Given·the·complexity·of·the·Django·admin,·and·in-particular·the·permissions104 <p>Given·the·complexity·of·the·Django·admin,·and·in-particular·the·permissions
104 related·checks,·it·is·the·view·of·the·Django·security·team·that·this·change·was105 related·checks,·it·is·the·view·of·the·Django·security·team·that·this·change·was
Offset 137, 48 lines modifiedOffset 138, 48 lines modified
137 ······138 ······
138 ········139 ········
139 ··········<div·class="yui-b"·id="sidebar">140 ··········<div·class="yui-b"·id="sidebar">
140 ············141 ············
141 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">142 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
142 ········<div·class="sphinxsidebarwrapper">143 ········<div·class="sphinxsidebarwrapper">
143 ··<div>144 ··<div>
144 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>145 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
145 ····<ul>146 ····<ul>
146 <li><a·class="reference·internal"·href="#">Django·2.2.8·release·notes</a><ul>147 <li><a·class="reference·internal"·href="#">Django·2.2.8·release·notes</a><ul>
147 <li><a·class="reference·internal"·href="#cve-2019-19118-privilege-escalation-in-the-django-admin">CVE-2019-19118:·Privilege·escalation·in·the·Django·admin.</a></li>148 <li><a·class="reference·internal"·href="#cve-2019-19118-privilege-escalation-in-the-django-admin">CVE-2019-19118:·Privilege·escalation·in·the·Django·admin.</a></li>
148 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>149 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
149 </ul>150 </ul>
150 </li>151 </li>
151 </ul>152 </ul>
  
152 ··</div>153 ··</div>
153 ··<div>154 ··<div>
154 ····<h4>Previous·topic</h4>155 ····<h4>Eelmine·teema</h4>
155 ····<p·class="topless"><a·href="2.2.9.html"156 ····<p·class="topless"><a·href="2.2.9.html"
156 ··························title="previous·chapter">Django·2.2.9·release·notes</a></p>157 ··························title="eelmine·jaotis">Django·2.2.9·release·notes</a></p>
157 ··</div>158 ··</div>
158 ··<div>159 ··<div>
159 ····<h4>Next·topic</h4>160 ····<h4>Järgmine·teema</h4>
160 ····<p·class="topless"><a·href="2.2.7.html"161 ····<p·class="topless"><a·href="2.2.7.html"
161 ··························title="next·chapter">Django·2.2.7·release·notes</a></p>162 ··························title="järgmine·jaotis">Django·2.2.7·release·notes</a></p>
162 ··</div>163 ··</div>
163 <search·id="searchbox"·style="display:·none"·role="search">164 <search·id="searchbox"·style="display:·none"·role="search">
164 ··<h3·id="searchlabel">Quick·search</h3>165 ··<h3·id="searchlabel">Kiirotsing</h3>
165 ····<div·class="searchformwrapper">166 ····<div·class="searchformwrapper">
166 ····<form·class="search"·action="../search.html"·method="get">167 ····<form·class="search"·action="../search.html"·method="get">
167 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>168 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
168 ······<input·type="submit"·value="Go"·/>169 ······<input·type="submit"·value="Otsi"·/>
169 ····</form>170 ····</form>
170 ····</div>171 ····</div>
171 </search>172 </search>
172 <script>document.getElementById('searchbox').style.display·=·"block"</script>173 <script>document.getElementById('searchbox').style.display·=·"block"</script>
173 ········</div>174 ········</div>
174 ······</div>175 ······</div>
175 ··············<h3>Last·update:</h3>176 ··············<h3>Last·update:</h3>
176 ··············<p·class="topless">Nov·05,·2024</p>177 ··············<p·class="topless">nov·05,·2024</p>
177 ··········</div>178 ··········</div>
178 ········179 ········
179 ······180 ······
180 ····</div>181 ····</div>
  
181 ····<div·id="ft">182 ····<div·id="ft">
182 ······<div·class="nav">183 ······<div·class="nav">
3.85 KB
html2text {}
Max HTML report size reached
7.21 KB
./usr/share/doc/python-django-doc/html/releases/2.2.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.8·release·notes"·href="2.2.8.html"·/>15 ····<link·rel="next"·title="Django·2.2.8·release·notes"·href="2.2.8.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.10·release·notes"·href="2.2.10.html"·/>16 ····<link·rel="prev"·title="Django·2.2.10·release·notes"·href="2.2.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 111, 48 lines modifiedOffset 112, 48 lines modified
111 ······112 ······
112 ········113 ········
113 ··········<div·class="yui-b"·id="sidebar">114 ··········<div·class="yui-b"·id="sidebar">
114 ············115 ············
115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
116 ········<div·class="sphinxsidebarwrapper">117 ········<div·class="sphinxsidebarwrapper">
117 ··<div>118 ··<div>
118 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>119 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
119 ····<ul>120 ····<ul>
120 <li><a·class="reference·internal"·href="#">Django·2.2.9·release·notes</a><ul>121 <li><a·class="reference·internal"·href="#">Django·2.2.9·release·notes</a><ul>
121 <li><a·class="reference·internal"·href="#cve-2019-19844-potential-account-hijack-via-password-reset-form">CVE-2019-19844:·Potential·account·hijack·via·password·reset·form</a></li>122 <li><a·class="reference·internal"·href="#cve-2019-19844-potential-account-hijack-via-password-reset-form">CVE-2019-19844:·Potential·account·hijack·via·password·reset·form</a></li>
122 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>123 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
123 </ul>124 </ul>
124 </li>125 </li>
125 </ul>126 </ul>
  
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Previous·topic</h4>129 ····<h4>Eelmine·teema</h4>
129 ····<p·class="topless"><a·href="2.2.10.html"130 ····<p·class="topless"><a·href="2.2.10.html"
130 ··························title="previous·chapter">Django·2.2.10·release·notes</a></p>131 ··························title="eelmine·jaotis">Django·2.2.10·release·notes</a></p>
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Next·topic</h4>134 ····<h4>Järgmine·teema</h4>
134 ····<p·class="topless"><a·href="2.2.8.html"135 ····<p·class="topless"><a·href="2.2.8.html"
135 ··························title="next·chapter">Django·2.2.8·release·notes</a></p>136 ··························title="järgmine·jaotis">Django·2.2.8·release·notes</a></p>
136 ··</div>137 ··</div>
137 <search·id="searchbox"·style="display:·none"·role="search">138 <search·id="searchbox"·style="display:·none"·role="search">
138 ··<h3·id="searchlabel">Quick·search</h3>139 ··<h3·id="searchlabel">Kiirotsing</h3>
139 ····<div·class="searchformwrapper">140 ····<div·class="searchformwrapper">
140 ····<form·class="search"·action="../search.html"·method="get">141 ····<form·class="search"·action="../search.html"·method="get">
141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
142 ······<input·type="submit"·value="Go"·/>143 ······<input·type="submit"·value="Otsi"·/>
143 ····</form>144 ····</form>
144 ····</div>145 ····</div>
145 </search>146 </search>
146 <script>document.getElementById('searchbox').style.display·=·"block"</script>147 <script>document.getElementById('searchbox').style.display·=·"block"</script>
147 ········</div>148 ········</div>
148 ······</div>149 ······</div>
149 ··············<h3>Last·update:</h3>150 ··············<h3>Last·update:</h3>
150 ··············<p·class="topless">Nov·05,·2024</p>151 ··············<p·class="topless">nov·05,·2024</p>
151 ··········</div>152 ··········</div>
152 ········153 ········
153 ······154 ······
154 ····</div>155 ····</div>
  
155 ····<div·id="ft">156 ····<div·id="ft">
156 ······<div·class="nav">157 ······<div·class="nav">
2.92 KB
html2text {}
Max HTML report size reached
13.8 KB
./usr/share/doc/python-django-doc/html/releases/2.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·2.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·2.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.1.15·release·notes"·href="2.1.15.html"·/>15 ····<link·rel="next"·title="Django·2.1.15·release·notes"·href="2.1.15.html"·/>
15 ····<link·rel="prev"·title="Django·2.2.1·release·notes"·href="2.2.1.html"·/>16 ····<link·rel="prev"·title="Django·2.2.1·release·notes"·href="2.2.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 490, 19 lines modifiedOffset 491, 19 lines modified
490 <li><p>Tests·will·fail·on·SQLite·if·apps·without·migrations·have·relations·to·apps491 <li><p>Tests·will·fail·on·SQLite·if·apps·without·migrations·have·relations·to·apps
491 with·migrations.·This·has·been·a·documented·restriction·since·migrations·were492 with·migrations.·This·has·been·a·documented·restriction·since·migrations·were
492 added·in·Django·1.7,·but·it·fails·more·reliably·now.·You’ll·see·tests·failing493 added·in·Django·1.7,·but·it·fails·more·reliably·now.·You’ll·see·tests·failing
493 with·errors·like·<code·class="docutils·literal·notranslate"><span·class="pre">no</span>·<span·class="pre">such</span>·<span·class="pre">table:</span>·<span·class="pre">&lt;app_label&gt;_&lt;model&gt;</span></code>.·This·was·observed494 with·errors·like·<code·class="docutils·literal·notranslate"><span·class="pre">no</span>·<span·class="pre">such</span>·<span·class="pre">table:</span>·<span·class="pre">&lt;app_label&gt;_&lt;model&gt;</span></code>.·This·was·observed
494 with·several·third-party·apps·that·had·models·in·tests·without·migrations.495 with·several·third-party·apps·that·had·models·in·tests·without·migrations.
495 You·must·add·migrations·for·such·models.</p></li>496 You·must·add·migrations·for·such·models.</p></li>
496 <li><p>Providing·an·integer·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">key</span></code>·argument·of·the·<a·class="reference·internal"·href="../topics/cache.html#django.core.cache.cache.delete"·title="django.core.cache.cache.delete"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">cache.delete()</span></code></a>·or497 <li><p>Providing·an·integer·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">key</span></code>·argument·of·the·<a·class="reference·internal"·href="../topics/cache.html#django.core.cache.cache.delete"·title="django.core.cache.cache.delete"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">cache.delete()</span></code></a>·or
497 <a·class="reference·internal"·href="../topics/cache.html#django.core.cache.cache.get"·title="django.core.cache.cache.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">cache.get()</span></code></a>·now·raises·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>.</p></li>498 <a·class="reference·internal"·href="../topics/cache.html#django.core.cache.cache.get"·title="django.core.cache.cache.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">cache.get()</span></code></a>·now·raises·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>.</p></li>
498 <li><p>Plural·equations·for·some·languages·are·changed,·because·the·latest·versions499 <li><p>Plural·equations·for·some·languages·are·changed,·because·the·latest·versions
499 from·Transifex·are·incorporated.</p>500 from·Transifex·are·incorporated.</p>
500 <div·class="admonition·note">501 <div·class="admonition·note">
501 <p·class="admonition-title">Note</p>502 <p·class="admonition-title">rkus</p>
502 <p>The·ability·to·handle·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·files·containing·different·plural·equations503 <p>The·ability·to·handle·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·files·containing·different·plural·equations
503 for·the·same·language·was·added·in·Django·2.2.12.</p>504 for·the·same·language·was·added·in·Django·2.2.12.</p>
504 </div>505 </div>
505 </li>506 </li>
506 </ul>507 </ul>
507 </section>508 </section>
508 </section>509 </section>
Offset 516, 15 lines modifiedOffset 517, 15 lines modified
516 the·current·query.·<code·class="docutils·literal·notranslate"><span·class="pre">Meta.ordering</span></code>·will·be·ignored·in·such·queries·starting517 the·current·query.·<code·class="docutils·literal·notranslate"><span·class="pre">Meta.ordering</span></code>·will·be·ignored·in·such·queries·starting
517 in·Django·3.1.</p>518 in·Django·3.1.</p>
518 </section>519 </section>
519 <section·id="s-id2">520 <section·id="s-id2">
520 <span·id="id2"></span><h3>Miscellaneous<a·class="headerlink"·href="#id2"·title="Link·to·this·heading">¶</a></h3>521 <span·id="id2"></span><h3>Miscellaneous<a·class="headerlink"·href="#id2"·title="Link·to·this·heading">¶</a></h3>
521 <ul·class="simple">522 <ul·class="simple">
522 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.timezone.FixedOffset</span></code>·is·deprecated·in·favor·of523 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.timezone.FixedOffset</span></code>·is·deprecated·in·favor·of
523 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timezone</span></code></a>.</p></li>524 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timezone</span></code></a>.</p></li>
524 <li><p>The·undocumented·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySetPaginator</span></code>·alias·of525 <li><p>The·undocumented·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySetPaginator</span></code>·alias·of
525 <code·class="docutils·literal·notranslate"><span·class="pre">django.core.paginator.Paginator</span></code>·is·deprecated.</p></li>526 <code·class="docutils·literal·notranslate"><span·class="pre">django.core.paginator.Paginator</span></code>·is·deprecated.</p></li>
526 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">FloatRangeField</span></code>·model·and·form·fields·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code>527 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">FloatRangeField</span></code>·model·and·form·fields·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code>
527 are·deprecated·in·favor·of·a·new·name,·<code·class="docutils·literal·notranslate"><span·class="pre">DecimalRangeField</span></code>,·to·match·the528 are·deprecated·in·favor·of·a·new·name,·<code·class="docutils·literal·notranslate"><span·class="pre">DecimalRangeField</span></code>,·to·match·the
528 underlying·<code·class="docutils·literal·notranslate"><span·class="pre">numrange</span></code>·data·type·used·in·the·database.</p></li>529 underlying·<code·class="docutils·literal·notranslate"><span·class="pre">numrange</span></code>·data·type·used·in·the·database.</p></li>
529 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">FILE_CHARSET</span></code>·setting·is·deprecated.·Starting·with·Django·3.1,·files530 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">FILE_CHARSET</span></code>·setting·is·deprecated.·Starting·with·Django·3.1,·files
530 read·from·disk·must·be·UTF-8·encoded.</p></li>531 read·from·disk·must·be·UTF-8·encoded.</p></li>
Offset 554, 15 lines modifiedOffset 555, 15 lines modified
554 ······555 ······
555 ········556 ········
556 ··········<div·class="yui-b"·id="sidebar">557 ··········<div·class="yui-b"·id="sidebar">
557 ············558 ············
558 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">559 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
559 ········<div·class="sphinxsidebarwrapper">560 ········<div·class="sphinxsidebarwrapper">
560 ··<div>561 ··<div>
561 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>562 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
562 ····<ul>563 ····<ul>
563 <li><a·class="reference·internal"·href="#">Django·2.2·release·notes</a><ul>564 <li><a·class="reference·internal"·href="#">Django·2.2·release·notes</a><ul>
564 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>565 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>
565 <li><a·class="reference·internal"·href="#what-s-new-in-django-2-2">What’s·new·in·Django·2.2</a><ul>566 <li><a·class="reference·internal"·href="#what-s-new-in-django-2-2">What’s·new·in·Django·2.2</a><ul>
566 <li><a·class="reference·internal"·href="#constraints">Constraints</a></li>567 <li><a·class="reference·internal"·href="#constraints">Constraints</a></li>
567 <li><a·class="reference·internal"·href="#minor-features">Minor·features</a><ul>568 <li><a·class="reference·internal"·href="#minor-features">Minor·features</a><ul>
568 <li><a·class="reference·internal"·href="#django-contrib-admin"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code></a></li>569 <li><a·class="reference·internal"·href="#django-contrib-admin"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.admin</span></code></a></li>
Offset 604, 37 lines modifiedOffset 605, 37 lines modified
604 </li>605 </li>
605 </ul>606 </ul>
606 </li>607 </li>
607 </ul>608 </ul>
  
608 ··</div>609 ··</div>
609 ··<div>610 ··<div>
610 ····<h4>Previous·topic</h4>611 ····<h4>Eelmine·teema</h4>
611 ····<p·class="topless"><a·href="2.2.1.html"612 ····<p·class="topless"><a·href="2.2.1.html"
612 ··························title="previous·chapter">Django·2.2.1·release·notes</a></p>613 ··························title="eelmine·jaotis">Django·2.2.1·release·notes</a></p>
613 ··</div>614 ··</div>
614 ··<div>615 ··<div>
615 ····<h4>Next·topic</h4>616 ····<h4>Järgmine·teema</h4>
616 ····<p·class="topless"><a·href="2.1.15.html"617 ····<p·class="topless"><a·href="2.1.15.html"
617 ··························title="next·chapter">Django·2.1.15·release·notes</a></p>618 ··························title="järgmine·jaotis">Django·2.1.15·release·notes</a></p>
618 ··</div>619 ··</div>
619 <search·id="searchbox"·style="display:·none"·role="search">620 <search·id="searchbox"·style="display:·none"·role="search">
620 ··<h3·id="searchlabel">Quick·search</h3>621 ··<h3·id="searchlabel">Kiirotsing</h3>
621 ····<div·class="searchformwrapper">622 ····<div·class="searchformwrapper">
622 ····<form·class="search"·action="../search.html"·method="get">623 ····<form·class="search"·action="../search.html"·method="get">
623 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>624 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
624 ······<input·type="submit"·value="Go"·/>625 ······<input·type="submit"·value="Otsi"·/>
625 ····</form>626 ····</form>
626 ····</div>627 ····</div>
627 </search>628 </search>
628 <script>document.getElementById('searchbox').style.display·=·"block"</script>629 <script>document.getElementById('searchbox').style.display·=·"block"</script>
629 ········</div>630 ········</div>
630 ······</div>631 ······</div>
631 ··············<h3>Last·update:</h3>632 ··············<h3>Last·update:</h3>
632 ··············<p·class="topless">Nov·05,·2024</p>633 ··············<p·class="topless">nov·05,·2024</p>
633 ··········</div>634 ··········</div>
634 ········635 ········
635 ······636 ······
636 ····</div>637 ····</div>
  
Max diff block lines reached; 25/9056 bytes (0.28%) of diff not shown.
4.84 KB
html2text {}
Max HTML report size reached
7.07 KB
./usr/share/doc/python-django-doc/html/releases/3.0.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0·release·notes"·href="3.0.html"·/>15 ····<link·rel="next"·title="Django·3.0·release·notes"·href="3.0.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.2·release·notes"·href="3.0.2.html"·/>16 ····<link·rel="prev"·title="Django·3.0.2·release·notes"·href="3.0.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 122, 48 lines modifiedOffset 123, 48 lines modified
122 ······123 ······
123 ········124 ········
124 ··········<div·class="yui-b"·id="sidebar">125 ··········<div·class="yui-b"·id="sidebar">
125 ············126 ············
126 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">127 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
127 ········<div·class="sphinxsidebarwrapper">128 ········<div·class="sphinxsidebarwrapper">
128 ··<div>129 ··<div>
129 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>130 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
130 ····<ul>131 ····<ul>
131 <li><a·class="reference·internal"·href="#">Django·3.0.1·release·notes</a><ul>132 <li><a·class="reference·internal"·href="#">Django·3.0.1·release·notes</a><ul>
132 <li><a·class="reference·internal"·href="#cve-2019-19844-potential-account-hijack-via-password-reset-form">CVE-2019-19844:·Potential·account·hijack·via·password·reset·form</a></li>133 <li><a·class="reference·internal"·href="#cve-2019-19844-potential-account-hijack-via-password-reset-form">CVE-2019-19844:·Potential·account·hijack·via·password·reset·form</a></li>
133 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>134 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
134 </ul>135 </ul>
135 </li>136 </li>
136 </ul>137 </ul>
  
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Previous·topic</h4>140 ····<h4>Eelmine·teema</h4>
140 ····<p·class="topless"><a·href="3.0.2.html"141 ····<p·class="topless"><a·href="3.0.2.html"
141 ··························title="previous·chapter">Django·3.0.2·release·notes</a></p>142 ··························title="eelmine·jaotis">Django·3.0.2·release·notes</a></p>
142 ··</div>143 ··</div>
143 ··<div>144 ··<div>
144 ····<h4>Next·topic</h4>145 ····<h4>Järgmine·teema</h4>
145 ····<p·class="topless"><a·href="3.0.html"146 ····<p·class="topless"><a·href="3.0.html"
146 ··························title="next·chapter">Django·3.0·release·notes</a></p>147 ··························title="järgmine·jaotis">Django·3.0·release·notes</a></p>
147 ··</div>148 ··</div>
148 <search·id="searchbox"·style="display:·none"·role="search">149 <search·id="searchbox"·style="display:·none"·role="search">
149 ··<h3·id="searchlabel">Quick·search</h3>150 ··<h3·id="searchlabel">Kiirotsing</h3>
150 ····<div·class="searchformwrapper">151 ····<div·class="searchformwrapper">
151 ····<form·class="search"·action="../search.html"·method="get">152 ····<form·class="search"·action="../search.html"·method="get">
152 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>153 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
153 ······<input·type="submit"·value="Go"·/>154 ······<input·type="submit"·value="Otsi"·/>
154 ····</form>155 ····</form>
155 ····</div>156 ····</div>
156 </search>157 </search>
157 <script>document.getElementById('searchbox').style.display·=·"block"</script>158 <script>document.getElementById('searchbox').style.display·=·"block"</script>
158 ········</div>159 ········</div>
159 ······</div>160 ······</div>
160 ··············<h3>Last·update:</h3>161 ··············<h3>Last·update:</h3>
161 ··············<p·class="topless">Nov·05,·2024</p>162 ··············<p·class="topless">nov·05,·2024</p>
162 ··········</div>163 ··········</div>
163 ········164 ········
164 ······165 ······
165 ····</div>166 ····</div>
  
166 ····<div·id="ft">167 ····<div·id="ft">
167 ······<div·class="nav">168 ······<div·class="nav">
2.79 KB
html2text {}
Max HTML report size reached
7.87 KB
./usr/share/doc/python-django-doc/html/releases/3.0.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.9·release·notes"·href="3.0.9.html"·/>15 ····<link·rel="next"·title="Django·3.0.9·release·notes"·href="3.0.9.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.11·release·notes"·href="3.0.11.html"·/>16 ····<link·rel="prev"·title="Django·3.0.11·release·notes"·href="3.0.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 116, 49 lines modifiedOffset 117, 49 lines modified
116 ······117 ······
117 ········118 ········
118 ··········<div·class="yui-b"·id="sidebar">119 ··········<div·class="yui-b"·id="sidebar">
119 ············120 ············
120 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
121 ········<div·class="sphinxsidebarwrapper">122 ········<div·class="sphinxsidebarwrapper">
122 ··<div>123 ··<div>
123 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>124 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
124 ····<ul>125 ····<ul>
125 <li><a·class="reference·internal"·href="#">Django·3.0.10·release·notes</a><ul>126 <li><a·class="reference·internal"·href="#">Django·3.0.10·release·notes</a><ul>
126 <li><a·class="reference·internal"·href="#cve-2020-24583-incorrect-permissions-on-intermediate-level-directories-on-python-3-7">CVE-2020-24583:·Incorrect·permissions·on·intermediate-level·directories·on·Python·3.7+</a></li>127 <li><a·class="reference·internal"·href="#cve-2020-24583-incorrect-permissions-on-intermediate-level-directories-on-python-3-7">CVE-2020-24583:·Incorrect·permissions·on·intermediate-level·directories·on·Python·3.7+</a></li>
127 <li><a·class="reference·internal"·href="#cve-2020-24584-permission-escalation-in-intermediate-level-directories-of-the-file-system-cache-on-python-3-7">CVE-2020-24584:·Permission·escalation·in·intermediate-level·directories·of·the·file·system·cache·on·Python·3.7+</a></li>128 <li><a·class="reference·internal"·href="#cve-2020-24584-permission-escalation-in-intermediate-level-directories-of-the-file-system-cache-on-python-3-7">CVE-2020-24584:·Permission·escalation·in·intermediate-level·directories·of·the·file·system·cache·on·Python·3.7+</a></li>
128 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>129 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
129 </ul>130 </ul>
130 </li>131 </li>
131 </ul>132 </ul>
  
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Previous·topic</h4>135 ····<h4>Eelmine·teema</h4>
135 ····<p·class="topless"><a·href="3.0.11.html"136 ····<p·class="topless"><a·href="3.0.11.html"
136 ··························title="previous·chapter">Django·3.0.11·release·notes</a></p>137 ··························title="eelmine·jaotis">Django·3.0.11·release·notes</a></p>
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Next·topic</h4>140 ····<h4>Järgmine·teema</h4>
140 ····<p·class="topless"><a·href="3.0.9.html"141 ····<p·class="topless"><a·href="3.0.9.html"
141 ··························title="next·chapter">Django·3.0.9·release·notes</a></p>142 ··························title="järgmine·jaotis">Django·3.0.9·release·notes</a></p>
142 ··</div>143 ··</div>
143 <search·id="searchbox"·style="display:·none"·role="search">144 <search·id="searchbox"·style="display:·none"·role="search">
144 ··<h3·id="searchlabel">Quick·search</h3>145 ··<h3·id="searchlabel">Kiirotsing</h3>
145 ····<div·class="searchformwrapper">146 ····<div·class="searchformwrapper">
146 ····<form·class="search"·action="../search.html"·method="get">147 ····<form·class="search"·action="../search.html"·method="get">
147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>148 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
148 ······<input·type="submit"·value="Go"·/>149 ······<input·type="submit"·value="Otsi"·/>
149 ····</form>150 ····</form>
150 ····</div>151 ····</div>
151 </search>152 </search>
152 <script>document.getElementById('searchbox').style.display·=·"block"</script>153 <script>document.getElementById('searchbox').style.display·=·"block"</script>
153 ········</div>154 ········</div>
154 ······</div>155 ······</div>
155 ··············<h3>Last·update:</h3>156 ··············<h3>Last·update:</h3>
156 ··············<p·class="topless">Nov·05,·2024</p>157 ··············<p·class="topless">nov·05,·2024</p>
157 ··········</div>158 ··········</div>
158 ········159 ········
159 ······160 ······
160 ····</div>161 ····</div>
  
161 ····<div·id="ft">162 ····<div·id="ft">
162 ······<div·class="nav">163 ······<div·class="nav">
3.26 KB
html2text {}
Max HTML report size reached
6.13 KB
./usr/share/doc/python-django-doc/html/releases/3.0.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.10·release·notes"·href="3.0.10.html"·/>15 ····<link·rel="next"·title="Django·3.0.10·release·notes"·href="3.0.10.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.12·release·notes"·href="3.0.12.html"·/>16 ····<link·rel="prev"·title="Django·3.0.12·release·notes"·href="3.0.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·3.0.11·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·3.0.11·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="3.0.12.html"116 ····<p·class="topless"><a·href="3.0.12.html"
116 ··························title="previous·chapter">Django·3.0.12·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·3.0.12·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="3.0.10.html"121 ····<p·class="topless"><a·href="3.0.10.html"
121 ··························title="next·chapter">Django·3.0.10·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·3.0.10·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.0 KB
html2text {}
Max HTML report size reached
8.54 KB
./usr/share/doc/python-django-doc/html/releases/3.0.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.11·release·notes"·href="3.0.11.html"·/>15 ····<link·rel="next"·title="Django·3.0.11·release·notes"·href="3.0.11.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.13·release·notes"·href="3.0.13.html"·/>16 ····<link·rel="prev"·title="Django·3.0.13·release·notes"·href="3.0.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.0.12">79 ··········<div·class="yui-g"·id="releases-3.0.12">
79 ············80 ············
80 ··<section·id="s-django-3-0-12-release-notes">81 ··<section·id="s-django-3-0-12-release-notes">
81 <span·id="django-3-0-12-release-notes"></span><h1>Django·3.0.12·release·notes<a·class="headerlink"·href="#django-3-0-12-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-0-12-release-notes"></span><h1>Django·3.0.12·release·notes<a·class="headerlink"·href="#django-3-0-12-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2021</em></p>83 <p><em>February·1,·2021</em></p>
83 <p>Django·3.0.12·fixes·a·security·issue·with·severity·low·in·3.0.11.</p>84 <p>Django·3.0.12·fixes·a·security·issue·with·severity·low·in·3.0.11.</p>
84 <section·id="s-cve-2021-3281-potential-directory-traversal-via-archive-extract">85 <section·id="s-cve-2021-3281-potential-directory-traversal-via-archive-extract">
85 <span·id="cve-2021-3281-potential-directory-traversal-via-archive-extract"></span><h2>CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code><a·class="headerlink"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-3281-potential-directory-traversal-via-archive-extract"></span><h2>CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code><a·class="headerlink"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.archive.extract()</span></code>·function,·used·by87 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.archive.extract()</span></code>·function,·used·by
87 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startapp-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startapp</span>·<span·class="pre">--template</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startproject-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startproject</span>·<span·class="pre">--template</span></code></a>,·allowed88 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startapp-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startapp</span>·<span·class="pre">--template</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startproject-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startproject</span>·<span·class="pre">--template</span></code></a>,·allowed
88 directory-traversal·via·an·archive·with·absolute·paths·or·relative·paths·with89 directory-traversal·via·an·archive·with·absolute·paths·or·relative·paths·with
89 dot·segments.</p>90 dot·segments.</p>
90 </section>91 </section>
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·3.0.12·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·3.0.12·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract">CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code></a></li>108 <li><a·class="reference·internal"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract">CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code></a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="3.0.13.html"115 ····<p·class="topless"><a·href="3.0.13.html"
115 ··························title="previous·chapter">Django·3.0.13·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·3.0.13·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="3.0.11.html"120 ····<p·class="topless"><a·href="3.0.11.html"
120 ··························title="next·chapter">Django·3.0.11·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·3.0.11·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
2.54 KB
html2text {}
Max HTML report size reached
8.9 KB
./usr/share/doc/python-django-doc/html/releases/3.0.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.12·release·notes"·href="3.0.12.html"·/>15 ····<link·rel="next"·title="Django·3.0.12·release·notes"·href="3.0.12.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.14·release·notes"·href="3.0.14.html"·/>16 ····<link·rel="prev"·title="Django·3.0.14·release·notes"·href="3.0.14.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-django-3-0-13-release-notes">81 ··<section·id="s-django-3-0-13-release-notes">
81 <span·id="django-3-0-13-release-notes"></span><h1>Django·3.0.13·release·notes<a·class="headerlink"·href="#django-3-0-13-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-0-13-release-notes"></span><h1>Django·3.0.13·release·notes<a·class="headerlink"·href="#django-3-0-13-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·19,·2021</em></p>83 <p><em>February·19,·2021</em></p>
83 <p>Django·3.0.13·fixes·a·security·issue·in·3.0.12.</p>84 <p>Django·3.0.13·fixes·a·security·issue·in·3.0.12.</p>
84 <section·id="s-cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">85 <section·id="s-cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">
85 <span·id="cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"></span><h2>CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code><a·class="headerlink"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"></span><h2>CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code><a·class="headerlink"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"·title="Link·to·this·heading">¶</a></h2>
86 <p>Django·contains·a·copy·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.parse_qsl"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.parse_qsl()</span></code></a>·which·was·added·to87 <p>Django·contains·a·copy·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.parse_qsl"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.parse_qsl()</span></code></a>·which·was·added·to
87 backport·some·security·fixes.·A·further·security·fix·has·been·issued·recently88 backport·some·security·fixes.·A·further·security·fix·has·been·issued·recently
88 such·that·<code·class="docutils·literal·notranslate"><span·class="pre">parse_qsl()</span></code>·no·longer·allows·using·<code·class="docutils·literal·notranslate"><span·class="pre">;</span></code>·as·a·query·parameter89 such·that·<code·class="docutils·literal·notranslate"><span·class="pre">parse_qsl()</span></code>·no·longer·allows·using·<code·class="docutils·literal·notranslate"><span·class="pre">;</span></code>·as·a·query·parameter
89 separator·by·default.·Django·now·includes·this·fix.·See·<a·class="extlink-bpo·reference·external"·href="https://bugs.python.org/issue?&#64;action=redirect&amp;bpo=42967">bpo-42967</a>·for90 separator·by·default.·Django·now·includes·this·fix.·See·<a·class="extlink-bpo·reference·external"·href="https://bugs.python.org/issue?&#64;action=redirect&amp;bpo=42967">bpo-42967</a>·for
90 further·details.</p>91 further·details.</p>
91 </section>92 </section>
92 </section>93 </section>
  
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·3.0.13·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·3.0.13·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code></a></li>109 <li><a·class="reference·internal"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code></a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="3.0.14.html"116 ····<p·class="topless"><a·href="3.0.14.html"
116 ··························title="previous·chapter">Django·3.0.14·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·3.0.14·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="3.0.12.html"121 ····<p·class="topless"><a·href="3.0.12.html"
121 ··························title="next·chapter">Django·3.0.12·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·3.0.12·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.61 KB
html2text {}
Max HTML report size reached
7.78 KB
./usr/share/doc/python-django-doc/html/releases/3.0.14.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.14·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.14·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.13·release·notes"·href="3.0.13.html"·/>15 ····<link·rel="next"·title="Django·3.0.13·release·notes"·href="3.0.13.html"·/>
15 ····<link·rel="prev"·title="Django·3.1·release·notes"·href="3.1.html"·/>16 ····<link·rel="prev"·title="Django·3.1·release·notes"·href="3.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.0.14">79 ··········<div·class="yui-g"·id="releases-3.0.14">
79 ············80 ············
80 ··<section·id="s-django-3-0-14-release-notes">81 ··<section·id="s-django-3-0-14-release-notes">
81 <span·id="django-3-0-14-release-notes"></span><h1>Django·3.0.14·release·notes<a·class="headerlink"·href="#django-3-0-14-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-0-14-release-notes"></span><h1>Django·3.0.14·release·notes<a·class="headerlink"·href="#django-3-0-14-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·6,·2021</em></p>83 <p><em>April·6,·2021</em></p>
83 <p>Django·3.0.14·fixes·a·security·issue·with·severity·low·in·3.0.13.</p>84 <p>Django·3.0.14·fixes·a·security·issue·with·severity·low·in·3.0.13.</p>
84 <section·id="s-cve-2021-28658-potential-directory-traversal-via-uploaded-files">85 <section·id="s-cve-2021-28658-potential-directory-traversal-via-uploaded-files">
85 <span·id="cve-2021-28658-potential-directory-traversal-via-uploaded-files"></span><h2>CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files<a·class="headerlink"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-28658-potential-directory-traversal-via-uploaded-files"></span><h2>CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files<a·class="headerlink"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files"·title="Link·to·this·heading">¶</a></h2>
86 <p><code·class="docutils·literal·notranslate"><span·class="pre">MultiPartParser</span></code>·allowed·directory-traversal·via·uploaded·files·with87 <p><code·class="docutils·literal·notranslate"><span·class="pre">MultiPartParser</span></code>·allowed·directory-traversal·via·uploaded·files·with
87 suitably·crafted·file·names.</p>88 suitably·crafted·file·names.</p>
88 <p>Built-in·upload·handlers·were·not·affected·by·this·vulnerability.</p>89 <p>Built-in·upload·handlers·were·not·affected·by·this·vulnerability.</p>
89 </section>90 </section>
90 </section>91 </section>
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·3.0.14·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·3.0.14·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files">CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files</a></li>107 <li><a·class="reference·internal"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files">CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files</a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="3.1.html"114 ····<p·class="topless"><a·href="3.1.html"
114 ··························title="previous·chapter">Django·3.1·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·3.1·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="3.0.13.html"119 ····<p·class="topless"><a·href="3.0.13.html"
119 ··························title="next·chapter">Django·3.0.13·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·3.0.13·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
2.39 KB
html2text {}
Max HTML report size reached
6.53 KB
./usr/share/doc/python-django-doc/html/releases/3.0.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.1·release·notes"·href="3.0.1.html"·/>15 ····<link·rel="next"·title="Django·3.0.1·release·notes"·href="3.0.1.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.3·release·notes"·href="3.0.3.html"·/>16 ····<link·rel="prev"·title="Django·3.0.3·release·notes"·href="3.0.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 105, 47 lines modifiedOffset 106, 47 lines modified
105 ······106 ······
106 ········107 ········
107 ··········<div·class="yui-b"·id="sidebar">108 ··········<div·class="yui-b"·id="sidebar">
108 ············109 ············
109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
110 ········<div·class="sphinxsidebarwrapper">111 ········<div·class="sphinxsidebarwrapper">
111 ··<div>112 ··<div>
112 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>113 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
113 ····<ul>114 ····<ul>
114 <li><a·class="reference·internal"·href="#">Django·3.0.2·release·notes</a><ul>115 <li><a·class="reference·internal"·href="#">Django·3.0.2·release·notes</a><ul>
115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="3.0.3.html"123 ····<p·class="topless"><a·href="3.0.3.html"
123 ··························title="previous·chapter">Django·3.0.3·release·notes</a></p>124 ··························title="eelmine·jaotis">Django·3.0.3·release·notes</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="3.0.1.html"128 ····<p·class="topless"><a·href="3.0.1.html"
128 ··························title="next·chapter">Django·3.0.1·release·notes</a></p>129 ··························title="järgmine·jaotis">Django·3.0.1·release·notes</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
2.41 KB
html2text {}
Max HTML report size reached
7.22 KB
./usr/share/doc/python-django-doc/html/releases/3.0.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.2·release·notes"·href="3.0.2.html"·/>15 ····<link·rel="next"·title="Django·3.0.2·release·notes"·href="3.0.2.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.4·release·notes"·href="3.0.4.html"·/>16 ····<link·rel="prev"·title="Django·3.0.4·release·notes"·href="3.0.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 123, 48 lines modifiedOffset 124, 48 lines modified
123 ······124 ······
124 ········125 ········
125 ··········<div·class="yui-b"·id="sidebar">126 ··········<div·class="yui-b"·id="sidebar">
126 ············127 ············
127 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">128 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
128 ········<div·class="sphinxsidebarwrapper">129 ········<div·class="sphinxsidebarwrapper">
129 ··<div>130 ··<div>
130 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>131 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
131 ····<ul>132 ····<ul>
132 <li><a·class="reference·internal"·href="#">Django·3.0.3·release·notes</a><ul>133 <li><a·class="reference·internal"·href="#">Django·3.0.3·release·notes</a><ul>
133 <li><a·class="reference·internal"·href="#cve-2020-7471-potential-sql-injection-via-stringagg-delimiter">CVE-2020-7471:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">StringAgg(delimiter)</span></code></a></li>134 <li><a·class="reference·internal"·href="#cve-2020-7471-potential-sql-injection-via-stringagg-delimiter">CVE-2020-7471:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">StringAgg(delimiter)</span></code></a></li>
134 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>135 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
135 </ul>136 </ul>
136 </li>137 </li>
137 </ul>138 </ul>
  
138 ··</div>139 ··</div>
139 ··<div>140 ··<div>
140 ····<h4>Previous·topic</h4>141 ····<h4>Eelmine·teema</h4>
141 ····<p·class="topless"><a·href="3.0.4.html"142 ····<p·class="topless"><a·href="3.0.4.html"
142 ··························title="previous·chapter">Django·3.0.4·release·notes</a></p>143 ··························title="eelmine·jaotis">Django·3.0.4·release·notes</a></p>
143 ··</div>144 ··</div>
144 ··<div>145 ··<div>
145 ····<h4>Next·topic</h4>146 ····<h4>Järgmine·teema</h4>
146 ····<p·class="topless"><a·href="3.0.2.html"147 ····<p·class="topless"><a·href="3.0.2.html"
147 ··························title="next·chapter">Django·3.0.2·release·notes</a></p>148 ··························title="järgmine·jaotis">Django·3.0.2·release·notes</a></p>
148 ··</div>149 ··</div>
149 <search·id="searchbox"·style="display:·none"·role="search">150 <search·id="searchbox"·style="display:·none"·role="search">
150 ··<h3·id="searchlabel">Quick·search</h3>151 ··<h3·id="searchlabel">Kiirotsing</h3>
151 ····<div·class="searchformwrapper">152 ····<div·class="searchformwrapper">
152 ····<form·class="search"·action="../search.html"·method="get">153 ····<form·class="search"·action="../search.html"·method="get">
153 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
154 ······<input·type="submit"·value="Go"·/>155 ······<input·type="submit"·value="Otsi"·/>
155 ····</form>156 ····</form>
156 ····</div>157 ····</div>
157 </search>158 </search>
158 <script>document.getElementById('searchbox').style.display·=·"block"</script>159 <script>document.getElementById('searchbox').style.display·=·"block"</script>
159 ········</div>160 ········</div>
160 ······</div>161 ······</div>
161 ··············<h3>Last·update:</h3>162 ··············<h3>Last·update:</h3>
162 ··············<p·class="topless">Nov·05,·2024</p>163 ··············<p·class="topless">nov·05,·2024</p>
163 ··········</div>164 ··········</div>
164 ········165 ········
165 ······166 ······
166 ····</div>167 ····</div>
  
167 ····<div·id="ft">168 ····<div·id="ft">
168 ······<div·class="nav">169 ······<div·class="nav">
2.86 KB
html2text {}
Max HTML report size reached
7.35 KB
./usr/share/doc/python-django-doc/html/releases/3.0.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.3·release·notes"·href="3.0.3.html"·/>15 ····<link·rel="next"·title="Django·3.0.3·release·notes"·href="3.0.3.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.5·release·notes"·href="3.0.5.html"·/>16 ····<link·rel="prev"·title="Django·3.0.5·release·notes"·href="3.0.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 116, 48 lines modifiedOffset 117, 48 lines modified
116 ······117 ······
117 ········118 ········
118 ··········<div·class="yui-b"·id="sidebar">119 ··········<div·class="yui-b"·id="sidebar">
119 ············120 ············
120 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
121 ········<div·class="sphinxsidebarwrapper">122 ········<div·class="sphinxsidebarwrapper">
122 ··<div>123 ··<div>
123 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>124 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
124 ····<ul>125 ····<ul>
125 <li><a·class="reference·internal"·href="#">Django·3.0.4·release·notes</a><ul>126 <li><a·class="reference·internal"·href="#">Django·3.0.4·release·notes</a><ul>
126 <li><a·class="reference·internal"·href="#cve-2020-9402-potential-sql-injection-via-tolerance-parameter-in-gis-functions-and-aggregates-on-oracle">CVE-2020-9402:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">tolerance</span></code>·parameter·in·GIS·functions·and·aggregates·on·Oracle</a></li>127 <li><a·class="reference·internal"·href="#cve-2020-9402-potential-sql-injection-via-tolerance-parameter-in-gis-functions-and-aggregates-on-oracle">CVE-2020-9402:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">tolerance</span></code>·parameter·in·GIS·functions·and·aggregates·on·Oracle</a></li>
127 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>128 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
128 </ul>129 </ul>
129 </li>130 </li>
130 </ul>131 </ul>
  
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Previous·topic</h4>134 ····<h4>Eelmine·teema</h4>
134 ····<p·class="topless"><a·href="3.0.5.html"135 ····<p·class="topless"><a·href="3.0.5.html"
135 ··························title="previous·chapter">Django·3.0.5·release·notes</a></p>136 ··························title="eelmine·jaotis">Django·3.0.5·release·notes</a></p>
136 ··</div>137 ··</div>
137 ··<div>138 ··<div>
138 ····<h4>Next·topic</h4>139 ····<h4>Järgmine·teema</h4>
139 ····<p·class="topless"><a·href="3.0.3.html"140 ····<p·class="topless"><a·href="3.0.3.html"
140 ··························title="next·chapter">Django·3.0.3·release·notes</a></p>141 ··························title="järgmine·jaotis">Django·3.0.3·release·notes</a></p>
141 ··</div>142 ··</div>
142 <search·id="searchbox"·style="display:·none"·role="search">143 <search·id="searchbox"·style="display:·none"·role="search">
143 ··<h3·id="searchlabel">Quick·search</h3>144 ··<h3·id="searchlabel">Kiirotsing</h3>
144 ····<div·class="searchformwrapper">145 ····<div·class="searchformwrapper">
145 ····<form·class="search"·action="../search.html"·method="get">146 ····<form·class="search"·action="../search.html"·method="get">
146 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
147 ······<input·type="submit"·value="Go"·/>148 ······<input·type="submit"·value="Otsi"·/>
148 ····</form>149 ····</form>
149 ····</div>150 ····</div>
150 </search>151 </search>
151 <script>document.getElementById('searchbox').style.display·=·"block"</script>152 <script>document.getElementById('searchbox').style.display·=·"block"</script>
152 ········</div>153 ········</div>
153 ······</div>154 ······</div>
154 ··············<h3>Last·update:</h3>155 ··············<h3>Last·update:</h3>
155 ··············<p·class="topless">Nov·05,·2024</p>156 ··············<p·class="topless">nov·05,·2024</p>
156 ··········</div>157 ··········</div>
157 ········158 ········
158 ······159 ······
159 ····</div>160 ····</div>
  
160 ····<div·id="ft">161 ····<div·id="ft">
161 ······<div·class="nav">162 ······<div·class="nav">
2.9 KB
html2text {}
Max HTML report size reached
6.28 KB
./usr/share/doc/python-django-doc/html/releases/3.0.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.4·release·notes"·href="3.0.4.html"·/>15 ····<link·rel="next"·title="Django·3.0.4·release·notes"·href="3.0.4.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.6·release·notes"·href="3.0.6.html"·/>16 ····<link·rel="prev"·title="Django·3.0.6·release·notes"·href="3.0.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 100, 47 lines modifiedOffset 101, 47 lines modified
100 ······101 ······
101 ········102 ········
102 ··········<div·class="yui-b"·id="sidebar">103 ··········<div·class="yui-b"·id="sidebar">
103 ············104 ············
104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
105 ········<div·class="sphinxsidebarwrapper">106 ········<div·class="sphinxsidebarwrapper">
106 ··<div>107 ··<div>
107 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>108 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
108 ····<ul>109 ····<ul>
109 <li><a·class="reference·internal"·href="#">Django·3.0.5·release·notes</a><ul>110 <li><a·class="reference·internal"·href="#">Django·3.0.5·release·notes</a><ul>
110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>111 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
111 </ul>112 </ul>
112 </li>113 </li>
113 </ul>114 </ul>
  
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Previous·topic</h4>117 ····<h4>Eelmine·teema</h4>
117 ····<p·class="topless"><a·href="3.0.6.html"118 ····<p·class="topless"><a·href="3.0.6.html"
118 ··························title="previous·chapter">Django·3.0.6·release·notes</a></p>119 ··························title="eelmine·jaotis">Django·3.0.6·release·notes</a></p>
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Next·topic</h4>122 ····<h4>Järgmine·teema</h4>
122 ····<p·class="topless"><a·href="3.0.4.html"123 ····<p·class="topless"><a·href="3.0.4.html"
123 ··························title="next·chapter">Django·3.0.4·release·notes</a></p>124 ··························title="järgmine·jaotis">Django·3.0.4·release·notes</a></p>
124 ··</div>125 ··</div>
125 <search·id="searchbox"·style="display:·none"·role="search">126 <search·id="searchbox"·style="display:·none"·role="search">
126 ··<h3·id="searchlabel">Quick·search</h3>127 ··<h3·id="searchlabel">Kiirotsing</h3>
127 ····<div·class="searchformwrapper">128 ····<div·class="searchformwrapper">
128 ····<form·class="search"·action="../search.html"·method="get">129 ····<form·class="search"·action="../search.html"·method="get">
129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
130 ······<input·type="submit"·value="Go"·/>131 ······<input·type="submit"·value="Otsi"·/>
131 ····</form>132 ····</form>
132 ····</div>133 ····</div>
133 </search>134 </search>
134 <script>document.getElementById('searchbox').style.display·=·"block"</script>135 <script>document.getElementById('searchbox').style.display·=·"block"</script>
135 ········</div>136 ········</div>
136 ······</div>137 ······</div>
137 ··············<h3>Last·update:</h3>138 ··············<h3>Last·update:</h3>
138 ··············<p·class="topless">Nov·05,·2024</p>139 ··············<p·class="topless">nov·05,·2024</p>
139 ··········</div>140 ··········</div>
140 ········141 ········
141 ······142 ······
142 ····</div>143 ····</div>
  
143 ····<div·id="ft">144 ····<div·id="ft">
144 ······<div·class="nav">145 ······<div·class="nav">
2.16 KB
html2text {}
Max HTML report size reached
6.12 KB
./usr/share/doc/python-django-doc/html/releases/3.0.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.5·release·notes"·href="3.0.5.html"·/>15 ····<link·rel="next"·title="Django·3.0.5·release·notes"·href="3.0.5.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.7·release·notes"·href="3.0.7.html"·/>16 ····<link·rel="prev"·title="Django·3.0.7·release·notes"·href="3.0.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·3.0.6·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·3.0.6·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="3.0.7.html"116 ····<p·class="topless"><a·href="3.0.7.html"
116 ··························title="previous·chapter">Django·3.0.7·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·3.0.7·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="3.0.5.html"121 ····<p·class="topless"><a·href="3.0.5.html"
121 ··························title="next·chapter">Django·3.0.5·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·3.0.5·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.0 KB
html2text {}
Max HTML report size reached
7.4 KB
./usr/share/doc/python-django-doc/html/releases/3.0.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.6·release·notes"·href="3.0.6.html"·/>15 ····<link·rel="next"·title="Django·3.0.6·release·notes"·href="3.0.6.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.8·release·notes"·href="3.0.8.html"·/>16 ····<link·rel="prev"·title="Django·3.0.8·release·notes"·href="3.0.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 126, 49 lines modifiedOffset 127, 49 lines modified
126 ······127 ······
127 ········128 ········
128 ··········<div·class="yui-b"·id="sidebar">129 ··········<div·class="yui-b"·id="sidebar">
129 ············130 ············
130 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">131 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
131 ········<div·class="sphinxsidebarwrapper">132 ········<div·class="sphinxsidebarwrapper">
132 ··<div>133 ··<div>
133 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>134 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
134 ····<ul>135 ····<ul>
135 <li><a·class="reference·internal"·href="#">Django·3.0.7·release·notes</a><ul>136 <li><a·class="reference·internal"·href="#">Django·3.0.7·release·notes</a><ul>
136 <li><a·class="reference·internal"·href="#cve-2020-13254-potential-data-leakage-via-malformed-memcached-keys">CVE-2020-13254:·Potential·data·leakage·via·malformed·memcached·keys</a></li>137 <li><a·class="reference·internal"·href="#cve-2020-13254-potential-data-leakage-via-malformed-memcached-keys">CVE-2020-13254:·Potential·data·leakage·via·malformed·memcached·keys</a></li>
137 <li><a·class="reference·internal"·href="#cve-2020-13596-possible-xss-via-admin-foreignkeyrawidwidget">CVE-2020-13596:·Possible·XSS·via·admin·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKeyRawIdWidget</span></code></a></li>138 <li><a·class="reference·internal"·href="#cve-2020-13596-possible-xss-via-admin-foreignkeyrawidwidget">CVE-2020-13596:·Possible·XSS·via·admin·<code·class="docutils·literal·notranslate"><span·class="pre">ForeignKeyRawIdWidget</span></code></a></li>
138 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>139 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
139 </ul>140 </ul>
140 </li>141 </li>
141 </ul>142 </ul>
  
142 ··</div>143 ··</div>
143 ··<div>144 ··<div>
144 ····<h4>Previous·topic</h4>145 ····<h4>Eelmine·teema</h4>
145 ····<p·class="topless"><a·href="3.0.8.html"146 ····<p·class="topless"><a·href="3.0.8.html"
146 ··························title="previous·chapter">Django·3.0.8·release·notes</a></p>147 ··························title="eelmine·jaotis">Django·3.0.8·release·notes</a></p>
147 ··</div>148 ··</div>
148 ··<div>149 ··<div>
149 ····<h4>Next·topic</h4>150 ····<h4>Järgmine·teema</h4>
150 ····<p·class="topless"><a·href="3.0.6.html"151 ····<p·class="topless"><a·href="3.0.6.html"
151 ··························title="next·chapter">Django·3.0.6·release·notes</a></p>152 ··························title="järgmine·jaotis">Django·3.0.6·release·notes</a></p>
152 ··</div>153 ··</div>
153 <search·id="searchbox"·style="display:·none"·role="search">154 <search·id="searchbox"·style="display:·none"·role="search">
154 ··<h3·id="searchlabel">Quick·search</h3>155 ··<h3·id="searchlabel">Kiirotsing</h3>
155 ····<div·class="searchformwrapper">156 ····<div·class="searchformwrapper">
156 ····<form·class="search"·action="../search.html"·method="get">157 ····<form·class="search"·action="../search.html"·method="get">
157 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>158 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
158 ······<input·type="submit"·value="Go"·/>159 ······<input·type="submit"·value="Otsi"·/>
159 ····</form>160 ····</form>
160 ····</div>161 ····</div>
161 </search>162 </search>
162 <script>document.getElementById('searchbox').style.display·=·"block"</script>163 <script>document.getElementById('searchbox').style.display·=·"block"</script>
163 ········</div>164 ········</div>
164 ······</div>165 ······</div>
165 ··············<h3>Last·update:</h3>166 ··············<h3>Last·update:</h3>
166 ··············<p·class="topless">Nov·05,·2024</p>167 ··············<p·class="topless">nov·05,·2024</p>
167 ··········</div>168 ··········</div>
168 ········169 ········
169 ······170 ······
170 ····</div>171 ····</div>
  
171 ····<div·id="ft">172 ····<div·id="ft">
172 ······<div·class="nav">173 ······<div·class="nav">
2.86 KB
html2text {}
Max HTML report size reached
6.45 KB
./usr/share/doc/python-django-doc/html/releases/3.0.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.7·release·notes"·href="3.0.7.html"·/>15 ····<link·rel="next"·title="Django·3.0.7·release·notes"·href="3.0.7.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.9·release·notes"·href="3.0.9.html"·/>16 ····<link·rel="prev"·title="Django·3.0.9·release·notes"·href="3.0.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 106, 47 lines modifiedOffset 107, 47 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·3.0.8·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·3.0.8·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="3.0.9.html"124 ····<p·class="topless"><a·href="3.0.9.html"
124 ··························title="previous·chapter">Django·3.0.9·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·3.0.9·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="3.0.7.html"129 ····<p·class="topless"><a·href="3.0.7.html"
129 ··························title="next·chapter">Django·3.0.7·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·3.0.7·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
2.34 KB
html2text {}
Max HTML report size reached
6.25 KB
./usr/share/doc/python-django-doc/html/releases/3.0.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.8·release·notes"·href="3.0.8.html"·/>15 ····<link·rel="next"·title="Django·3.0.8·release·notes"·href="3.0.8.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.10·release·notes"·href="3.0.10.html"·/>16 ····<link·rel="prev"·title="Django·3.0.10·release·notes"·href="3.0.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·3.0.9·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·3.0.9·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="3.0.10.html"117 ····<p·class="topless"><a·href="3.0.10.html"
117 ··························title="previous·chapter">Django·3.0.10·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·3.0.10·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="3.0.8.html"122 ····<p·class="topless"><a·href="3.0.8.html"
122 ··························title="next·chapter">Django·3.0.8·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·3.0.8·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.13 KB
html2text {}
Max HTML report size reached
50.9 KB
./usr/share/doc/python-django-doc/html/releases/3.0.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.0·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.0·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·2.2.28·release·notes"·href="2.2.28.html"·/>15 ····<link·rel="next"·title="Django·2.2.28·release·notes"·href="2.2.28.html"·/>
15 ····<link·rel="prev"·title="Django·3.0.1·release·notes"·href="3.0.1.html"·/>16 ····<link·rel="prev"·title="Django·3.0.1·release·notes"·href="3.0.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 122, 15 lines modifiedOffset 123, 15 lines modified
122 are·not·yet·supported.·You·can,·however,·use·ASGI·middleware·around·Django’s123 are·not·yet·supported.·You·can,·however,·use·ASGI·middleware·around·Django’s
123 application,·allowing·you·to·combine·Django·with·other·ASGI·frameworks.</p>124 application,·allowing·you·to·combine·Django·with·other·ASGI·frameworks.</p>
124 <p>There·is·no·need·to·switch·your·applications·over·unless·you·want·to·start125 <p>There·is·no·need·to·switch·your·applications·over·unless·you·want·to·start
125 experimenting·with·asynchronous·code,·but·we·have126 experimenting·with·asynchronous·code,·but·we·have
126 <a·class="reference·internal"·href="../howto/deployment/asgi/index.html"><span·class="doc">documentation·on·deploying·with·ASGI</span></a>·if127 <a·class="reference·internal"·href="../howto/deployment/asgi/index.html"><span·class="doc">documentation·on·deploying·with·ASGI</span></a>·if
127 you·want·to·learn·more.</p>128 you·want·to·learn·more.</p>
128 <p>Note·that·as·a·side-effect·of·this·change,·Django·is·now·aware·of·asynchronous129 <p>Note·that·as·a·side-effect·of·this·change,·Django·is·now·aware·of·asynchronous
129 event·loops·and·will·block·you·calling·code·marked·as·async·unsafe·-·such·as130 event·loops·and·will·block·you·calling·code·marked·as·async·unsafe·-·such·as
130 ORM·operations·-·from·an·asynchronous·context.·If·you·were·using·Django·from131 ORM·operations·-·from·an·asynchronous·context.·If·you·were·using·Django·from
131 async·code·before,·this·may·trigger·if·you·were·doing·it·incorrectly.·If·you132 async·code·before,·this·may·trigger·if·you·were·doing·it·incorrectly.·If·you
132 see·a·<code·class="docutils·literal·notranslate"><span·class="pre">SynchronousOnlyOperation</span></code>·error,·then·closely·examine·your·code·and133 see·a·<code·class="docutils·literal·notranslate"><span·class="pre">SynchronousOnlyOperation</span></code>·error,·then·closely·examine·your·code·and
133 move·any·database·operations·to·be·in·a·synchronous·child·thread.</p>134 move·any·database·operations·to·be·in·a·synchronous·child·thread.</p>
134 </section>135 </section>
135 <section·id="s-exclusion-constraints-on-postgresql">136 <section·id="s-exclusion-constraints-on-postgresql">
136 <span·id="exclusion-constraints-on-postgresql"></span><h3>Exclusion·constraints·on·PostgreSQL<a·class="headerlink"·href="#exclusion-constraints-on-postgresql"·title="Link·to·this·heading">¶</a></h3>137 <span·id="exclusion-constraints-on-postgresql"></span><h3>Exclusion·constraints·on·PostgreSQL<a·class="headerlink"·href="#exclusion-constraints-on-postgresql"·title="Link·to·this·heading">¶</a></h3>
Offset 200, 17 lines modifiedOffset 201, 17 lines modified
200 <ul·class="simple">201 <ul·class="simple">
201 <li><p>Allowed·MySQL·spatial·lookup·functions·to·operate·on·real·geometries.202 <li><p>Allowed·MySQL·spatial·lookup·functions·to·operate·on·real·geometries.
202 Previous·support·was·limited·to·bounding·boxes.</p></li>203 Previous·support·was·limited·to·bounding·boxes.</p></li>
203 <li><p>Added·the·<a·class="reference·internal"·href="../ref/contrib/gis/functions.html#django.contrib.gis.db.models.functions.GeometryDistance"·title="django.contrib.gis.db.models.functions.GeometryDistance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeometryDistance</span></code></a>204 <li><p>Added·the·<a·class="reference·internal"·href="../ref/contrib/gis/functions.html#django.contrib.gis.db.models.functions.GeometryDistance"·title="django.contrib.gis.db.models.functions.GeometryDistance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeometryDistance</span></code></a>
204 function,·supported·on·PostGIS.</p></li>205 function,·supported·on·PostGIS.</p></li>
205 <li><p>Added·support·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">furlong</span></code>·unit·in206 <li><p>Added·support·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">furlong</span></code>·unit·in
206 <a·class="reference·internal"·href="../ref/contrib/gis/measure.html#django.contrib.gis.measure.Distance"·title="django.contrib.gis.measure.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>.</p></li>207 <a·class="reference·internal"·href="../ref/contrib/gis/measure.html#django.contrib.gis.measure.Distance"·title="django.contrib.gis.measure.Distance"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Distance</span></code></a>.</p></li>
207 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#std-setting-GEOIP_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">GEOIP_PATH</span></code></a>·setting·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>208 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#std-setting-GEOIP_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">GEOIP_PATH</span></code></a>·setting·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>
208 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2"·title="django.contrib.gis.geoip2.GeoIP2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeoIP2</span></code></a>·class·now·accepts209 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2"·title="django.contrib.gis.geoip2.GeoIP2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeoIP2</span></code></a>·class·now·accepts
209 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>·<code·class="docutils·literal·notranslate"><span·class="pre">path</span></code>.</p></li>210 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>·<code·class="docutils·literal·notranslate"><span·class="pre">path</span></code>.</p></li>
210 </ul>211 </ul>
211 </section>212 </section>
212 <section·id="s-django-contrib-postgres">213 <section·id="s-django-contrib-postgres">
213 <span·id="django-contrib-postgres"></span><h4><a·class="reference·internal"·href="../ref/contrib/postgres/index.html#module-django.contrib.postgres"·title="django.contrib.postgres:·PostgreSQL-specific·fields·and·features"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a><a·class="headerlink"·href="#django-contrib-postgres"·title="Link·to·this·heading">¶</a></h4>214 <span·id="django-contrib-postgres"></span><h4><a·class="reference·internal"·href="../ref/contrib/postgres/index.html#module-django.contrib.postgres"·title="django.contrib.postgres:·PostgreSQL-specific·fields·and·features"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a><a·class="headerlink"·href="#django-contrib-postgres"·title="Link·to·this·heading">¶</a></h4>
214 <ul·class="simple">215 <ul·class="simple">
215 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/postgres/fields.html#django.contrib.postgres.fields.RangeOperators"·title="django.contrib.postgres.fields.RangeOperators"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RangeOperators</span></code></a>·helps·to216 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/postgres/fields.html#django.contrib.postgres.fields.RangeOperators"·title="django.contrib.postgres.fields.RangeOperators"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RangeOperators</span></code></a>·helps·to
216 avoid·typos·in·SQL·operators·that·can·be·used·together·with217 avoid·typos·in·SQL·operators·that·can·be·used·together·with
Offset 320, 44 lines modifiedOffset 321, 44 lines modified
320 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>.</p></li>321 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>.</p></li>
321 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·attributes·of·<a·class="reference·internal"·href="../ref/models/constraints.html#django.db.models.CheckConstraint"·title="django.db.models.CheckConstraint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CheckConstraint</span></code></a>,322 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·attributes·of·<a·class="reference·internal"·href="../ref/models/constraints.html#django.db.models.CheckConstraint"·title="django.db.models.CheckConstraint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CheckConstraint</span></code></a>,
322 <a·class="reference·internal"·href="../ref/models/constraints.html#django.db.models.UniqueConstraint"·title="django.db.models.UniqueConstraint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UniqueConstraint</span></code></a>,·and323 <a·class="reference·internal"·href="../ref/models/constraints.html#django.db.models.UniqueConstraint"·title="django.db.models.UniqueConstraint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UniqueConstraint</span></code></a>,·and
323 <a·class="reference·internal"·href="../ref/models/indexes.html#django.db.models.Index"·title="django.db.models.Index"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Index</span></code></a>·now·support·app·label·and·class324 <a·class="reference·internal"·href="../ref/models/indexes.html#django.db.models.Index"·title="django.db.models.Index"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Index</span></code></a>·now·support·app·label·and·class
324 interpolation·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">'%(app_label)s'</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">'%(class)s'</span></code>·placeholders.</p></li>325 interpolation·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">'%(app_label)s'</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">'%(class)s'</span></code>·placeholders.</p></li>
325 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.descriptor_class"·title="django.db.models.Field.descriptor_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Field.descriptor_class</span></code></a>·attribute·allows·model·fields·to326 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field.descriptor_class"·title="django.db.models.Field.descriptor_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Field.descriptor_class</span></code></a>·attribute·allows·model·fields·to
326 customize·the·get·and·set·behavior·by·overriding·their327 customize·the·get·and·set·behavior·by·overriding·their
327 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/datamodel.html#descriptors"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">descriptors</span></a>.</p></li>328 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/datamodel.html#descriptors"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">descriptors</span></a>.</p></li>
328 <li><p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.Avg"·title="django.db.models.Avg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Avg</span></code></a>·and·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.Sum"·title="django.db.models.Sum"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sum</span></code></a>·now·support329 <li><p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.Avg"·title="django.db.models.Avg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Avg</span></code></a>·and·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.Sum"·title="django.db.models.Sum"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Sum</span></code></a>·now·support
329 the·<code·class="docutils·literal·notranslate"><span·class="pre">distinct</span></code>·argument.</p></li>330 the·<code·class="docutils·literal·notranslate"><span·class="pre">distinct</span></code>·argument.</p></li>
330 <li><p>Added·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.SmallAutoField"·title="django.db.models.SmallAutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SmallAutoField</span></code></a>·which·acts·much·like·an331 <li><p>Added·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.SmallAutoField"·title="django.db.models.SmallAutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SmallAutoField</span></code></a>·which·acts·much·like·an
331 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.AutoField"·title="django.db.models.AutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AutoField</span></code></a>·except·that·it·only·allows·values·under332 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.AutoField"·title="django.db.models.AutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AutoField</span></code></a>·except·that·it·only·allows·values·under
332 a·certain·(database-dependent)·limit.·Values·from·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">32767</span></code>·are·safe333 a·certain·(database-dependent)·limit.·Values·from·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">32767</span></code>·are·safe
333 in·all·databases·supported·by·Django.</p></li>334 in·all·databases·supported·by·Django.</p></li>
334 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.AutoField"·title="django.db.models.AutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AutoField</span></code></a>,335 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.AutoField"·title="django.db.models.AutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AutoField</span></code></a>,
335 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.BigAutoField"·title="django.db.models.BigAutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BigAutoField</span></code></a>,·and336 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.BigAutoField"·title="django.db.models.BigAutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BigAutoField</span></code></a>,·and
336 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.SmallAutoField"·title="django.db.models.SmallAutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SmallAutoField</span></code></a>·now·inherit·from337 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.SmallAutoField"·title="django.db.models.SmallAutoField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SmallAutoField</span></code></a>·now·inherit·from
337 <code·class="docutils·literal·notranslate"><span·class="pre">IntegerField</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">BigIntegerField</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">SmallIntegerField</span></code>·respectively.338 <code·class="docutils·literal·notranslate"><span·class="pre">IntegerField</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">BigIntegerField</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">SmallIntegerField</span></code>·respectively.
338 System·checks·and·validators·are·now·also·properly·inherited.</p></li>339 System·checks·and·validators·are·now·also·properly·inherited.</p></li>
339 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.FileField.upload_to"·title="django.db.models.FileField.upload_to"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">FileField.upload_to</span></code></a>·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>340 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.FileField.upload_to"·title="django.db.models.FileField.upload_to"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">FileField.upload_to</span></code></a>·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>
340 <li><p><a·class="reference·internal"·href="../ref/models/constraints.html#django.db.models.CheckConstraint"·title="django.db.models.CheckConstraint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CheckConstraint</span></code></a>·is·now·supported·on·MySQL·8.0.16+.</p></li>341 <li><p><a·class="reference·internal"·href="../ref/models/constraints.html#django.db.models.CheckConstraint"·title="django.db.models.CheckConstraint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CheckConstraint</span></code></a>·is·now·supported·on·MySQL·8.0.16+.</p></li>
341 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">allows_group_by_selected_pks_on_model()</span></code>·method·of342 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">allows_group_by_selected_pks_on_model()</span></code>·method·of
342 <code·class="docutils·literal·notranslate"><span·class="pre">django.db.backends.base.BaseDatabaseFeatures</span></code>·allows·optimization·of343 <code·class="docutils·literal·notranslate"><span·class="pre">django.db.backends.base.BaseDatabaseFeatures</span></code>·allows·optimization·of
343 <code·class="docutils·literal·notranslate"><span·class="pre">GROUP</span>·<span·class="pre">BY</span></code>·clauses·to·require·only·the·selected·models·primary·keys.·By344 <code·class="docutils·literal·notranslate"><span·class="pre">GROUP</span>·<span·class="pre">BY</span></code>·clauses·to·require·only·the·selected·models·primary·keys.·By
344 default,·it’s·supported·only·for·managed·models·on·PostgreSQL.</p>345 default,·it’s·supported·only·for·managed·models·on·PostgreSQL.</p>
345 <p>To·enable·the·<code·class="docutils·literal·notranslate"><span·class="pre">GROUP</span>·<span·class="pre">BY</span></code>·primary·key-only·optimization·for·unmanaged346 <p>To·enable·the·<code·class="docutils·literal·notranslate"><span·class="pre">GROUP</span>·<span·class="pre">BY</span></code>·primary·key-only·optimization·for·unmanaged
346 models,·you·have·to·subclass·the·PostgreSQL·database·engine,·overriding·the347 models,·you·have·to·subclass·the·PostgreSQL·database·engine,·overriding·the
347 features·class·<code·class="docutils·literal·notranslate"><span·class="pre">allows_group_by_selected_pks_on_model()</span></code>·method·as·you348 features·class·<code·class="docutils·literal·notranslate"><span·class="pre">allows_group_by_selected_pks_on_model()</span></code>·method·as·you
348 require.·See·<a·class="reference·internal"·href="../ref/databases.html#subclassing-database-backends"><span·class="std·std-ref">Subclassing·the·built-in·database·backends</span></a>·for·an·example.</p>349 require.·See·<a·class="reference·internal"·href="../ref/databases.html#subclassing-database-backends"><span·class="std·std-ref">Subclassing·the·built-in·database·backends</span></a>·for·an·example.</p>
349 </li>350 </li>
350 </ul>351 </ul>
351 </section>352 </section>
352 <section·id="s-requests-and-responses">353 <section·id="s-requests-and-responses">
353 <span·id="requests-and-responses"></span><h4>Requests·and·Responses<a·class="headerlink"·href="#requests-and-responses"·title="Link·to·this·heading">¶</a></h4>354 <span·id="requests-and-responses"></span><h4>Requests·and·Responses<a·class="headerlink"·href="#requests-and-responses"·title="Link·to·this·heading">¶</a></h4>
354 <ul·class="simple">355 <ul·class="simple">
355 <li><p>Allowed·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·to·be·initialized·with356 <li><p>Allowed·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·to·be·initialized·with
356 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#memoryview"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">memoryview</span></code></a>·content.</p></li>357 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#memoryview"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">memoryview</span></code></a>·content.</p></li>
357 <li><p>For·use·in,·for·example,·Django·templates,·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.headers"·title="django.http.HttpRequest.headers"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">HttpRequest.headers</span></code></a>·now358 <li><p>For·use·in,·for·example,·Django·templates,·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.headers"·title="django.http.HttpRequest.headers"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">HttpRequest.headers</span></code></a>·now
358 allows·lookups·using·underscores·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">user_agent</span></code>)·in·place·of·hyphens.</p></li>359 allows·lookups·using·underscores·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">user_agent</span></code>)·in·place·of·hyphens.</p></li>
359 </ul>360 </ul>
360 </section>361 </section>
361 <section·id="s-security">362 <section·id="s-security">
362 <span·id="s-whats-new-security-3-0"></span><span·id="security"></span><span·id="whats-new-security-3-0"></span><h4>Security<a·class="headerlink"·href="#security"·title="Link·to·this·heading">¶</a></h4>363 <span·id="s-whats-new-security-3-0"></span><span·id="security"></span><span·id="whats-new-security-3-0"></span><h4>Security<a·class="headerlink"·href="#security"·title="Link·to·this·heading">¶</a></h4>
363 <ul·class="simple">364 <ul·class="simple">
Offset 426, 16 lines modifiedOffset 427, 16 lines modified
426 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseIntrospection.get_field_type()</span></code>·may·no·longer·return·tuples.</p></li>427 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseIntrospection.get_field_type()</span></code>·may·no·longer·return·tuples.</p></li>
427 <li><p>If·the·database·can·create·foreign·keys·in·the·same·SQL·statement·that·adds·a428 <li><p>If·the·database·can·create·foreign·keys·in·the·same·SQL·statement·that·adds·a
428 field,·add·<code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor.sql_create_column_inline_fk</span></code>·with·the·appropriate429 field,·add·<code·class="docutils·literal·notranslate"><span·class="pre">SchemaEditor.sql_create_column_inline_fk</span></code>·with·the·appropriate
429 SQL;·otherwise,·set·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.can_create_inline_fk</span>·<span·class="pre">=</span>·<span·class="pre">False</span></code>.</p></li>430 SQL;·otherwise,·set·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.can_create_inline_fk</span>·<span·class="pre">=</span>·<span·class="pre">False</span></code>.</p></li>
430 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.can_return_id_from_insert</span></code>·and431 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.can_return_id_from_insert</span></code>·and
431 <code·class="docutils·literal·notranslate"><span·class="pre">can_return_ids_from_bulk_insert</span></code>·are·renamed·to432 <code·class="docutils·literal·notranslate"><span·class="pre">can_return_ids_from_bulk_insert</span></code>·are·renamed·to
432 <code·class="docutils·literal·notranslate"><span·class="pre">can_return_columns_from_insert</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">can_return_rows_from_bulk_insert</span></code>.</p></li>433 <code·class="docutils·literal·notranslate"><span·class="pre">can_return_columns_from_insert</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">can_return_rows_from_bulk_insert</span></code>.</p></li>
433 <li><p>Database·functions·now·handle·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timezone</span></code></a>·formats·when·created434 <li><p>Database·functions·now·handle·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timezone</span></code></a>·formats·when·created
Max diff block lines reached; 24055/42871 bytes (56.11%) of diff not shown.
8.92 KB
html2text {}
Max HTML report size reached
7.74 KB
./usr/share/doc/python-django-doc/html/releases/3.1.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1·release·notes"·href="3.1.html"·/>15 ····<link·rel="next"·title="Django·3.1·release·notes"·href="3.1.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.2·release·notes"·href="3.1.2.html"·/>16 ····<link·rel="prev"·title="Django·3.1.2·release·notes"·href="3.1.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 153, 49 lines modifiedOffset 154, 49 lines modified
153 ······154 ······
154 ········155 ········
155 ··········<div·class="yui-b"·id="sidebar">156 ··········<div·class="yui-b"·id="sidebar">
156 ············157 ············
157 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">158 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
158 ········<div·class="sphinxsidebarwrapper">159 ········<div·class="sphinxsidebarwrapper">
159 ··<div>160 ··<div>
160 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>161 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
161 ····<ul>162 ····<ul>
162 <li><a·class="reference·internal"·href="#">Django·3.1.1·release·notes</a><ul>163 <li><a·class="reference·internal"·href="#">Django·3.1.1·release·notes</a><ul>
163 <li><a·class="reference·internal"·href="#cve-2020-24583-incorrect-permissions-on-intermediate-level-directories-on-python-3-7">CVE-2020-24583:·Incorrect·permissions·on·intermediate-level·directories·on·Python·3.7+</a></li>164 <li><a·class="reference·internal"·href="#cve-2020-24583-incorrect-permissions-on-intermediate-level-directories-on-python-3-7">CVE-2020-24583:·Incorrect·permissions·on·intermediate-level·directories·on·Python·3.7+</a></li>
164 <li><a·class="reference·internal"·href="#cve-2020-24584-permission-escalation-in-intermediate-level-directories-of-the-file-system-cache-on-python-3-7">CVE-2020-24584:·Permission·escalation·in·intermediate-level·directories·of·the·file·system·cache·on·Python·3.7+</a></li>165 <li><a·class="reference·internal"·href="#cve-2020-24584-permission-escalation-in-intermediate-level-directories-of-the-file-system-cache-on-python-3-7">CVE-2020-24584:·Permission·escalation·in·intermediate-level·directories·of·the·file·system·cache·on·Python·3.7+</a></li>
165 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>166 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
166 </ul>167 </ul>
167 </li>168 </li>
168 </ul>169 </ul>
  
169 ··</div>170 ··</div>
170 ··<div>171 ··<div>
171 ····<h4>Previous·topic</h4>172 ····<h4>Eelmine·teema</h4>
172 ····<p·class="topless"><a·href="3.1.2.html"173 ····<p·class="topless"><a·href="3.1.2.html"
173 ··························title="previous·chapter">Django·3.1.2·release·notes</a></p>174 ··························title="eelmine·jaotis">Django·3.1.2·release·notes</a></p>
174 ··</div>175 ··</div>
175 ··<div>176 ··<div>
176 ····<h4>Next·topic</h4>177 ····<h4>Järgmine·teema</h4>
177 ····<p·class="topless"><a·href="3.1.html"178 ····<p·class="topless"><a·href="3.1.html"
178 ··························title="next·chapter">Django·3.1·release·notes</a></p>179 ··························title="järgmine·jaotis">Django·3.1·release·notes</a></p>
179 ··</div>180 ··</div>
180 <search·id="searchbox"·style="display:·none"·role="search">181 <search·id="searchbox"·style="display:·none"·role="search">
181 ··<h3·id="searchlabel">Quick·search</h3>182 ··<h3·id="searchlabel">Kiirotsing</h3>
182 ····<div·class="searchformwrapper">183 ····<div·class="searchformwrapper">
183 ····<form·class="search"·action="../search.html"·method="get">184 ····<form·class="search"·action="../search.html"·method="get">
184 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>185 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
185 ······<input·type="submit"·value="Go"·/>186 ······<input·type="submit"·value="Otsi"·/>
186 ····</form>187 ····</form>
187 ····</div>188 ····</div>
188 </search>189 </search>
189 <script>document.getElementById('searchbox').style.display·=·"block"</script>190 <script>document.getElementById('searchbox').style.display·=·"block"</script>
190 ········</div>191 ········</div>
191 ······</div>192 ······</div>
192 ··············<h3>Last·update:</h3>193 ··············<h3>Last·update:</h3>
193 ··············<p·class="topless">Nov·05,·2024</p>194 ··············<p·class="topless">nov·05,·2024</p>
194 ··········</div>195 ··········</div>
195 ········196 ········
196 ······197 ······
197 ····</div>198 ····</div>
  
198 ····<div·id="ft">199 ····<div·id="ft">
199 ······<div·class="nav">200 ······<div·class="nav">
3.14 KB
html2text {}
Max HTML report size reached
7.21 KB
./usr/share/doc/python-django-doc/html/releases/3.1.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.9·release·notes"·href="3.1.9.html"·/>15 ····<link·rel="next"·title="Django·3.1.9·release·notes"·href="3.1.9.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.11·release·notes"·href="3.1.11.html"·/>16 ····<link·rel="prev"·title="Django·3.1.11·release·notes"·href="3.1.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·3.1.10·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·3.1.10·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#cve-2021-32052-header-injection-possibility-since-urlvalidator-accepted-newlines-in-input-on-python-3-9-5">CVE-2021-32052:·Header·injection·possibility·since·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·accepted·newlines·in·input·on·Python·3.9.5+</a></li>113 <li><a·class="reference·internal"·href="#cve-2021-32052-header-injection-possibility-since-urlvalidator-accepted-newlines-in-input-on-python-3-9-5">CVE-2021-32052:·Header·injection·possibility·since·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·accepted·newlines·in·input·on·Python·3.9.5+</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="3.1.11.html"120 ····<p·class="topless"><a·href="3.1.11.html"
120 ··························title="previous·chapter">Django·3.1.11·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·3.1.11·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="3.1.9.html"125 ····<p·class="topless"><a·href="3.1.9.html"
125 ··························title="next·chapter">Django·3.1.9·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·3.1.9·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.82 KB
html2text {}
Max HTML report size reached
6.16 KB
./usr/share/doc/python-django-doc/html/releases/3.1.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.10·release·notes"·href="3.1.10.html"·/>15 ····<link·rel="next"·title="Django·3.1.10·release·notes"·href="3.1.10.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.12·release·notes"·href="3.1.12.html"·/>16 ····<link·rel="prev"·title="Django·3.1.12·release·notes"·href="3.1.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·3.1.11·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·3.1.11·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="3.1.12.html"117 ····<p·class="topless"><a·href="3.1.12.html"
117 ··························title="previous·chapter">Django·3.1.12·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·3.1.12·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="3.1.10.html"122 ····<p·class="topless"><a·href="3.1.10.html"
122 ··························title="next·chapter">Django·3.1.10·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·3.1.10·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.03 KB
html2text {}
Max HTML report size reached
8.08 KB
./usr/share/doc/python-django-doc/html/releases/3.1.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.11·release·notes"·href="3.1.11.html"·/>15 ····<link·rel="next"·title="Django·3.1.11·release·notes"·href="3.1.11.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.13·release·notes"·href="3.1.13.html"·/>16 ····<link·rel="prev"·title="Django·3.1.13·release·notes"·href="3.1.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 111, 48 lines modifiedOffset 112, 48 lines modified
111 ······112 ······
112 ········113 ········
113 ··········<div·class="yui-b"·id="sidebar">114 ··········<div·class="yui-b"·id="sidebar">
114 ············115 ············
115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
116 ········<div·class="sphinxsidebarwrapper">117 ········<div·class="sphinxsidebarwrapper">
117 ··<div>118 ··<div>
118 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>119 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
119 ····<ul>120 ····<ul>
120 <li><a·class="reference·internal"·href="#">Django·3.1.12·release·notes</a><ul>121 <li><a·class="reference·internal"·href="#">Django·3.1.12·release·notes</a><ul>
121 <li><a·class="reference·internal"·href="#cve-2021-33203-potential-directory-traversal-via-admindocs">CVE-2021-33203:·Potential·directory·traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">admindocs</span></code></a></li>122 <li><a·class="reference·internal"·href="#cve-2021-33203-potential-directory-traversal-via-admindocs">CVE-2021-33203:·Potential·directory·traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">admindocs</span></code></a></li>
122 <li><a·class="reference·internal"·href="#cve-2021-33571-possible-indeterminate-ssrf-rfi-and-lfi-attacks-since-validators-accepted-leading-zeros-in-ipv4-addresses">CVE-2021-33571:·Possible·indeterminate·SSRF,·RFI,·and·LFI·attacks·since·validators·accepted·leading·zeros·in·IPv4·addresses</a></li>123 <li><a·class="reference·internal"·href="#cve-2021-33571-possible-indeterminate-ssrf-rfi-and-lfi-attacks-since-validators-accepted-leading-zeros-in-ipv4-addresses">CVE-2021-33571:·Possible·indeterminate·SSRF,·RFI,·and·LFI·attacks·since·validators·accepted·leading·zeros·in·IPv4·addresses</a></li>
123 </ul>124 </ul>
124 </li>125 </li>
125 </ul>126 </ul>
  
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Previous·topic</h4>129 ····<h4>Eelmine·teema</h4>
129 ····<p·class="topless"><a·href="3.1.13.html"130 ····<p·class="topless"><a·href="3.1.13.html"
130 ··························title="previous·chapter">Django·3.1.13·release·notes</a></p>131 ··························title="eelmine·jaotis">Django·3.1.13·release·notes</a></p>
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Next·topic</h4>134 ····<h4>Järgmine·teema</h4>
134 ····<p·class="topless"><a·href="3.1.11.html"135 ····<p·class="topless"><a·href="3.1.11.html"
135 ··························title="next·chapter">Django·3.1.11·release·notes</a></p>136 ··························title="järgmine·jaotis">Django·3.1.11·release·notes</a></p>
136 ··</div>137 ··</div>
137 <search·id="searchbox"·style="display:·none"·role="search">138 <search·id="searchbox"·style="display:·none"·role="search">
138 ··<h3·id="searchlabel">Quick·search</h3>139 ··<h3·id="searchlabel">Kiirotsing</h3>
139 ····<div·class="searchformwrapper">140 ····<div·class="searchformwrapper">
140 ····<form·class="search"·action="../search.html"·method="get">141 ····<form·class="search"·action="../search.html"·method="get">
141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
142 ······<input·type="submit"·value="Go"·/>143 ······<input·type="submit"·value="Otsi"·/>
143 ····</form>144 ····</form>
144 ····</div>145 ····</div>
145 </search>146 </search>
146 <script>document.getElementById('searchbox').style.display·=·"block"</script>147 <script>document.getElementById('searchbox').style.display·=·"block"</script>
147 ········</div>148 ········</div>
148 ······</div>149 ······</div>
149 ··············<h3>Last·update:</h3>150 ··············<h3>Last·update:</h3>
150 ··············<p·class="topless">Nov·05,·2024</p>151 ··············<p·class="topless">nov·05,·2024</p>
151 ··········</div>152 ··········</div>
152 ········153 ········
153 ······154 ······
154 ····</div>155 ····</div>
  
155 ····<div·id="ft">156 ····<div·id="ft">
156 ······<div·class="nav">157 ······<div·class="nav">
3.49 KB
html2text {}
Max HTML report size reached
8.65 KB
./usr/share/doc/python-django-doc/html/releases/3.1.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.12·release·notes"·href="3.1.12.html"·/>15 ····<link·rel="next"·title="Django·3.1.12·release·notes"·href="3.1.12.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.14·release·notes"·href="3.1.14.html"·/>16 ····<link·rel="prev"·title="Django·3.1.14·release·notes"·href="3.1.14.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.1.13">79 ··········<div·class="yui-g"·id="releases-3.1.13">
79 ············80 ············
80 ··<section·id="s-django-3-1-13-release-notes">81 ··<section·id="s-django-3-1-13-release-notes">
81 <span·id="django-3-1-13-release-notes"></span><h1>Django·3.1.13·release·notes<a·class="headerlink"·href="#django-3-1-13-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-1-13-release-notes"></span><h1>Django·3.1.13·release·notes<a·class="headerlink"·href="#django-3-1-13-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>July·1,·2021</em></p>83 <p><em>July·1,·2021</em></p>
83 <p>Django·3.1.13·fixes·a·security·issue·with·severity·high·in·3.1.12.</p>84 <p>Django·3.1.13·fixes·a·security·issue·with·severity·high·in·3.1.12.</p>
84 <section·id="s-cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input">85 <section·id="s-cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input">
85 <span·id="cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input"></span><h2>CVE-2021-35042:·Potential·SQL·injection·via·unsanitized·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·input<a·class="headerlink"·href="#cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input"></span><h2>CVE-2021-35042:·Potential·SQL·injection·via·unsanitized·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·input<a·class="headerlink"·href="#cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input"·title="Link·to·this·heading">¶</a></h2>
86 <p>Unsanitized·user·input·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·could·bypass·intended87 <p>Unsanitized·user·input·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·could·bypass·intended
87 column·reference·validation·in·path·marked·for·deprecation·resulting·in·a88 column·reference·validation·in·path·marked·for·deprecation·resulting·in·a
88 potential·SQL·injection·even·if·a·deprecation·warning·is·emitted.</p>89 potential·SQL·injection·even·if·a·deprecation·warning·is·emitted.</p>
89 <p>As·a·mitigation·the·strict·column·reference·validation·was·restored·for·the90 <p>As·a·mitigation·the·strict·column·reference·validation·was·restored·for·the
90 duration·of·the·deprecation·period.·This·regression·appeared·in·3.1·as·a·side91 duration·of·the·deprecation·period.·This·regression·appeared·in·3.1·as·a·side
Offset 101, 47 lines modifiedOffset 102, 47 lines modified
101 ······102 ······
102 ········103 ········
103 ··········<div·class="yui-b"·id="sidebar">104 ··········<div·class="yui-b"·id="sidebar">
104 ············105 ············
105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
106 ········<div·class="sphinxsidebarwrapper">107 ········<div·class="sphinxsidebarwrapper">
107 ··<div>108 ··<div>
108 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>109 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
109 ····<ul>110 ····<ul>
110 <li><a·class="reference·internal"·href="#">Django·3.1.13·release·notes</a><ul>111 <li><a·class="reference·internal"·href="#">Django·3.1.13·release·notes</a><ul>
111 <li><a·class="reference·internal"·href="#cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input">CVE-2021-35042:·Potential·SQL·injection·via·unsanitized·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·input</a></li>112 <li><a·class="reference·internal"·href="#cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input">CVE-2021-35042:·Potential·SQL·injection·via·unsanitized·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·input</a></li>
112 </ul>113 </ul>
113 </li>114 </li>
114 </ul>115 </ul>
  
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Previous·topic</h4>118 ····<h4>Eelmine·teema</h4>
118 ····<p·class="topless"><a·href="3.1.14.html"119 ····<p·class="topless"><a·href="3.1.14.html"
119 ··························title="previous·chapter">Django·3.1.14·release·notes</a></p>120 ··························title="eelmine·jaotis">Django·3.1.14·release·notes</a></p>
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Next·topic</h4>123 ····<h4>Järgmine·teema</h4>
123 ····<p·class="topless"><a·href="3.1.12.html"124 ····<p·class="topless"><a·href="3.1.12.html"
124 ··························title="next·chapter">Django·3.1.12·release·notes</a></p>125 ··························title="järgmine·jaotis">Django·3.1.12·release·notes</a></p>
125 ··</div>126 ··</div>
126 <search·id="searchbox"·style="display:·none"·role="search">127 <search·id="searchbox"·style="display:·none"·role="search">
127 ··<h3·id="searchlabel">Quick·search</h3>128 ··<h3·id="searchlabel">Kiirotsing</h3>
128 ····<div·class="searchformwrapper">129 ····<div·class="searchformwrapper">
129 ····<form·class="search"·action="../search.html"·method="get">130 ····<form·class="search"·action="../search.html"·method="get">
130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
131 ······<input·type="submit"·value="Go"·/>132 ······<input·type="submit"·value="Otsi"·/>
132 ····</form>133 ····</form>
133 ····</div>134 ····</div>
134 </search>135 </search>
135 <script>document.getElementById('searchbox').style.display·=·"block"</script>136 <script>document.getElementById('searchbox').style.display·=·"block"</script>
136 ········</div>137 ········</div>
137 ······</div>138 ······</div>
138 ··············<h3>Last·update:</h3>139 ··············<h3>Last·update:</h3>
139 ··············<p·class="topless">Nov·05,·2024</p>140 ··············<p·class="topless">nov·05,·2024</p>
140 ··········</div>141 ··········</div>
141 ········142 ········
142 ······143 ······
143 ····</div>144 ····</div>
  
144 ····<div·id="ft">145 ····<div·id="ft">
145 ······<div·class="nav">146 ······<div·class="nav">
2.83 KB
html2text {}
Max HTML report size reached
7.8 KB
./usr/share/doc/python-django-doc/html/releases/3.1.14.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.14·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.14·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.13·release·notes"·href="3.1.13.html"·/>15 ····<link·rel="next"·title="Django·3.1.13·release·notes"·href="3.1.13.html"·/>
15 ····<link·rel="prev"·title="Django·3.2·release·notes"·href="3.2.html"·/>16 ····<link·rel="prev"·title="Django·3.2·release·notes"·href="3.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.1.14">79 ··········<div·class="yui-g"·id="releases-3.1.14">
79 ············80 ············
80 ··<section·id="s-django-3-1-14-release-notes">81 ··<section·id="s-django-3-1-14-release-notes">
81 <span·id="django-3-1-14-release-notes"></span><h1>Django·3.1.14·release·notes<a·class="headerlink"·href="#django-3-1-14-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-1-14-release-notes"></span><h1>Django·3.1.14·release·notes<a·class="headerlink"·href="#django-3-1-14-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>December·7,·2021</em></p>83 <p><em>December·7,·2021</em></p>
83 <p>Django·3.1.14·fixes·a·security·issue·with·severity·low·in·3.1.13.</p>84 <p>Django·3.1.14·fixes·a·security·issue·with·severity·low·in·3.1.13.</p>
84 <section·id="s-cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">85 <section·id="s-cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">
85 <span·id="cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"></span><h2>CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths<a·class="headerlink"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"></span><h2>CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths<a·class="headerlink"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"·title="Link·to·this·heading">¶</a></h2>
86 <p>HTTP·requests·for·URLs·with·trailing·newlines·could·bypass·an·upstream·access87 <p>HTTP·requests·for·URLs·with·trailing·newlines·could·bypass·an·upstream·access
87 control·based·on·URL·paths.</p>88 control·based·on·URL·paths.</p>
88 </section>89 </section>
89 </section>90 </section>
  
Offset 95, 47 lines modifiedOffset 96, 47 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>103 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
103 ····<ul>104 ····<ul>
104 <li><a·class="reference·internal"·href="#">Django·3.1.14·release·notes</a><ul>105 <li><a·class="reference·internal"·href="#">Django·3.1.14·release·notes</a><ul>
105 <li><a·class="reference·internal"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths</a></li>106 <li><a·class="reference·internal"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths</a></li>
106 </ul>107 </ul>
107 </li>108 </li>
108 </ul>109 </ul>
  
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="3.2.html"113 ····<p·class="topless"><a·href="3.2.html"
113 ··························title="previous·chapter">Django·3.2·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·3.2·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="3.1.13.html"118 ····<p·class="topless"><a·href="3.1.13.html"
118 ··························title="next·chapter">Django·3.1.13·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·3.1.13·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.44 KB
html2text {}
Max HTML report size reached
6.56 KB
./usr/share/doc/python-django-doc/html/releases/3.1.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.1·release·notes"·href="3.1.1.html"·/>15 ····<link·rel="next"·title="Django·3.1.1·release·notes"·href="3.1.1.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.3·release·notes"·href="3.1.3.html"·/>16 ····<link·rel="prev"·title="Django·3.1.3·release·notes"·href="3.1.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 110, 47 lines modifiedOffset 111, 47 lines modified
110 ······111 ······
111 ········112 ········
112 ··········<div·class="yui-b"·id="sidebar">113 ··········<div·class="yui-b"·id="sidebar">
113 ············114 ············
114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
115 ········<div·class="sphinxsidebarwrapper">116 ········<div·class="sphinxsidebarwrapper">
116 ··<div>117 ··<div>
117 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>118 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
118 ····<ul>119 ····<ul>
119 <li><a·class="reference·internal"·href="#">Django·3.1.2·release·notes</a><ul>120 <li><a·class="reference·internal"·href="#">Django·3.1.2·release·notes</a><ul>
120 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>121 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="3.1.3.html"128 ····<p·class="topless"><a·href="3.1.3.html"
128 ··························title="previous·chapter">Django·3.1.3·release·notes</a></p>129 ··························title="eelmine·jaotis">Django·3.1.3·release·notes</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="3.1.1.html"133 ····<p·class="topless"><a·href="3.1.1.html"
133 ··························title="next·chapter">Django·3.1.1·release·notes</a></p>134 ··························title="järgmine·jaotis">Django·3.1.1·release·notes</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../search.html"·method="get">139 ····<form·class="search"·action="../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
2.44 KB
html2text {}
Max HTML report size reached
9.18 KB
./usr/share/doc/python-django-doc/html/releases/3.1.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.2·release·notes"·href="3.1.2.html"·/>15 ····<link·rel="next"·title="Django·3.1.2·release·notes"·href="3.1.2.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.4·release·notes"·href="3.1.4.html"·/>16 ····<link·rel="prev"·title="Django·3.1.4·release·notes"·href="3.1.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 15 lines modifiedOffset 108, 15 lines modified
107 when·adding·an108 when·adding·an
108 <a·class="reference·internal"·href="../ref/contrib/postgres/constraints.html#django.contrib.postgres.constraints.ExclusionConstraint"·title="django.contrib.postgres.constraints.ExclusionConstraint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ExclusionConstraint</span></code></a>·with·key109 <a·class="reference·internal"·href="../ref/contrib/postgres/constraints.html#django.contrib.postgres.constraints.ExclusionConstraint"·title="django.contrib.postgres.constraints.ExclusionConstraint"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ExclusionConstraint</span></code></a>·with·key
109 transforms·for·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.JSONField"·title="django.db.models.JSONField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">JSONField</span></code></a>·in·<code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code>110 transforms·for·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.JSONField"·title="django.db.models.JSONField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">JSONField</span></code></a>·in·<code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code>
110 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32096">#32096</a>).</p></li>111 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32096">#32096</a>).</p></li>
111 <li><p>Fixed·a·regression·in·Django·3.1·where112 <li><p>Fixed·a·regression·in·Django·3.1·where
112 <a·class="reference·internal"·href="../ref/exceptions.html#django.db.models.ProtectedError"·title="django.db.models.ProtectedError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ProtectedError.protected_objects</span></code></a>·and113 <a·class="reference·internal"·href="../ref/exceptions.html#django.db.models.ProtectedError"·title="django.db.models.ProtectedError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ProtectedError.protected_objects</span></code></a>·and
113 <a·class="reference·internal"·href="../ref/exceptions.html#django.db.models.RestrictedError"·title="django.db.models.RestrictedError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">RestrictedError.restricted_objects</span></code></a>114 <a·class="reference·internal"·href="../ref/exceptions.html#django.db.models.RestrictedError"·title="django.db.models.RestrictedError"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">RestrictedError.restricted_objects</span></code></a>
114 attributes·returned·iterators·instead·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#set"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">set</span></code></a>·of·objects115 attributes·returned·iterators·instead·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#set"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">set</span></code></a>·of·objects
115 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32107">#32107</a>).</p></li>116 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32107">#32107</a>).</p></li>
116 <li><p>Fixed·a·regression·in·Django·3.1.2·that·caused·incorrect·form·input·layout·on117 <li><p>Fixed·a·regression·in·Django·3.1.2·that·caused·incorrect·form·input·layout·on
117 small·screens·in·the·admin·change·form·view·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32069">#32069</a>).</p></li>118 small·screens·in·the·admin·change·form·view·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32069">#32069</a>).</p></li>
118 <li><p>Fixed·a·regression·in·Django·3.1·that·invalidated·pre-Django·3.1·password119 <li><p>Fixed·a·regression·in·Django·3.1·that·invalidated·pre-Django·3.1·password
119 reset·tokens·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32130">#32130</a>).</p></li>120 reset·tokens·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32130">#32130</a>).</p></li>
120 <li><p>Added·support·for·<code·class="docutils·literal·notranslate"><span·class="pre">asgiref</span></code>·3.3·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32128">#32128</a>).</p></li>121 <li><p>Added·support·for·<code·class="docutils·literal·notranslate"><span·class="pre">asgiref</span></code>·3.3·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/32128">#32128</a>).</p></li>
121 <li><p>Fixed·a·regression·in·Django·3.1·that·caused·incorrect·textarea·layout·on122 <li><p>Fixed·a·regression·in·Django·3.1·that·caused·incorrect·textarea·layout·on
Offset 134, 47 lines modifiedOffset 135, 47 lines modified
134 ······135 ······
135 ········136 ········
136 ··········<div·class="yui-b"·id="sidebar">137 ··········<div·class="yui-b"·id="sidebar">
137 ············138 ············
138 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">139 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
139 ········<div·class="sphinxsidebarwrapper">140 ········<div·class="sphinxsidebarwrapper">
140 ··<div>141 ··<div>
141 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>142 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
142 ····<ul>143 ····<ul>
143 <li><a·class="reference·internal"·href="#">Django·3.1.3·release·notes</a><ul>144 <li><a·class="reference·internal"·href="#">Django·3.1.3·release·notes</a><ul>
144 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>145 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
145 </ul>146 </ul>
146 </li>147 </li>
147 </ul>148 </ul>
  
148 ··</div>149 ··</div>
149 ··<div>150 ··<div>
150 ····<h4>Previous·topic</h4>151 ····<h4>Eelmine·teema</h4>
151 ····<p·class="topless"><a·href="3.1.4.html"152 ····<p·class="topless"><a·href="3.1.4.html"
152 ··························title="previous·chapter">Django·3.1.4·release·notes</a></p>153 ··························title="eelmine·jaotis">Django·3.1.4·release·notes</a></p>
153 ··</div>154 ··</div>
154 ··<div>155 ··<div>
155 ····<h4>Next·topic</h4>156 ····<h4>Järgmine·teema</h4>
156 ····<p·class="topless"><a·href="3.1.2.html"157 ····<p·class="topless"><a·href="3.1.2.html"
157 ··························title="next·chapter">Django·3.1.2·release·notes</a></p>158 ··························title="järgmine·jaotis">Django·3.1.2·release·notes</a></p>
158 ··</div>159 ··</div>
159 <search·id="searchbox"·style="display:·none"·role="search">160 <search·id="searchbox"·style="display:·none"·role="search">
160 ··<h3·id="searchlabel">Quick·search</h3>161 ··<h3·id="searchlabel">Kiirotsing</h3>
161 ····<div·class="searchformwrapper">162 ····<div·class="searchformwrapper">
162 ····<form·class="search"·action="../search.html"·method="get">163 ····<form·class="search"·action="../search.html"·method="get">
163 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>164 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
164 ······<input·type="submit"·value="Go"·/>165 ······<input·type="submit"·value="Otsi"·/>
165 ····</form>166 ····</form>
166 ····</div>167 ····</div>
167 </search>168 </search>
168 <script>document.getElementById('searchbox').style.display·=·"block"</script>169 <script>document.getElementById('searchbox').style.display·=·"block"</script>
169 ········</div>170 ········</div>
170 ······</div>171 ······</div>
171 ··············<h3>Last·update:</h3>172 ··············<h3>Last·update:</h3>
172 ··············<p·class="topless">Nov·05,·2024</p>173 ··············<p·class="topless">nov·05,·2024</p>
173 ··········</div>174 ··········</div>
174 ········175 ········
175 ······176 ······
176 ····</div>177 ····</div>
  
177 ····<div·id="ft">178 ····<div·id="ft">
178 ······<div·class="nav">179 ······<div·class="nav">
2.29 KB
html2text {}
Max HTML report size reached
6.51 KB
./usr/share/doc/python-django-doc/html/releases/3.1.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.3·release·notes"·href="3.1.3.html"·/>15 ····<link·rel="next"·title="Django·3.1.3·release·notes"·href="3.1.3.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.5·release·notes"·href="3.1.5.html"·/>16 ····<link·rel="prev"·title="Django·3.1.5·release·notes"·href="3.1.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 112, 47 lines modifiedOffset 113, 47 lines modified
112 ······113 ······
113 ········114 ········
114 ··········<div·class="yui-b"·id="sidebar">115 ··········<div·class="yui-b"·id="sidebar">
115 ············116 ············
116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
117 ········<div·class="sphinxsidebarwrapper">118 ········<div·class="sphinxsidebarwrapper">
118 ··<div>119 ··<div>
119 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>120 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
120 ····<ul>121 ····<ul>
121 <li><a·class="reference·internal"·href="#">Django·3.1.4·release·notes</a><ul>122 <li><a·class="reference·internal"·href="#">Django·3.1.4·release·notes</a><ul>
122 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>123 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
123 </ul>124 </ul>
124 </li>125 </li>
125 </ul>126 </ul>
  
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Previous·topic</h4>129 ····<h4>Eelmine·teema</h4>
129 ····<p·class="topless"><a·href="3.1.5.html"130 ····<p·class="topless"><a·href="3.1.5.html"
130 ··························title="previous·chapter">Django·3.1.5·release·notes</a></p>131 ··························title="eelmine·jaotis">Django·3.1.5·release·notes</a></p>
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Next·topic</h4>134 ····<h4>Järgmine·teema</h4>
134 ····<p·class="topless"><a·href="3.1.3.html"135 ····<p·class="topless"><a·href="3.1.3.html"
135 ··························title="next·chapter">Django·3.1.3·release·notes</a></p>136 ··························title="järgmine·jaotis">Django·3.1.3·release·notes</a></p>
136 ··</div>137 ··</div>
137 <search·id="searchbox"·style="display:·none"·role="search">138 <search·id="searchbox"·style="display:·none"·role="search">
138 ··<h3·id="searchlabel">Quick·search</h3>139 ··<h3·id="searchlabel">Kiirotsing</h3>
139 ····<div·class="searchformwrapper">140 ····<div·class="searchformwrapper">
140 ····<form·class="search"·action="../search.html"·method="get">141 ····<form·class="search"·action="../search.html"·method="get">
141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
142 ······<input·type="submit"·value="Go"·/>143 ······<input·type="submit"·value="Otsi"·/>
143 ····</form>144 ····</form>
144 ····</div>145 ····</div>
145 </search>146 </search>
146 <script>document.getElementById('searchbox').style.display·=·"block"</script>147 <script>document.getElementById('searchbox').style.display·=·"block"</script>
147 ········</div>148 ········</div>
148 ······</div>149 ······</div>
149 ··············<h3>Last·update:</h3>150 ··············<h3>Last·update:</h3>
150 ··············<p·class="topless">Nov·05,·2024</p>151 ··············<p·class="topless">nov·05,·2024</p>
151 ··········</div>152 ··········</div>
152 ········153 ········
153 ······154 ······
154 ····</div>155 ····</div>
  
155 ····<div·id="ft">156 ····<div·id="ft">
156 ······<div·class="nav">157 ······<div·class="nav">
2.39 KB
html2text {}
Max HTML report size reached
6.54 KB
./usr/share/doc/python-django-doc/html/releases/3.1.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.4·release·notes"·href="3.1.4.html"·/>15 ····<link·rel="next"·title="Django·3.1.4·release·notes"·href="3.1.4.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.6·release·notes"·href="3.1.6.html"·/>16 ····<link·rel="prev"·title="Django·3.1.6·release·notes"·href="3.1.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 106, 47 lines modifiedOffset 107, 47 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·3.1.5·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·3.1.5·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="3.1.6.html"124 ····<p·class="topless"><a·href="3.1.6.html"
124 ··························title="previous·chapter">Django·3.1.6·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·3.1.6·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="3.1.4.html"129 ····<p·class="topless"><a·href="3.1.4.html"
129 ··························title="next·chapter">Django·3.1.4·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·3.1.4·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
2.43 KB
html2text {}
Max HTML report size reached
8.84 KB
./usr/share/doc/python-django-doc/html/releases/3.1.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.5·release·notes"·href="3.1.5.html"·/>15 ····<link·rel="next"·title="Django·3.1.5·release·notes"·href="3.1.5.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.7·release·notes"·href="3.1.7.html"·/>16 ····<link·rel="prev"·title="Django·3.1.7·release·notes"·href="3.1.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.1.6">79 ··········<div·class="yui-g"·id="releases-3.1.6">
79 ············80 ············
80 ··<section·id="s-django-3-1-6-release-notes">81 ··<section·id="s-django-3-1-6-release-notes">
81 <span·id="django-3-1-6-release-notes"></span><h1>Django·3.1.6·release·notes<a·class="headerlink"·href="#django-3-1-6-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-1-6-release-notes"></span><h1>Django·3.1.6·release·notes<a·class="headerlink"·href="#django-3-1-6-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2021</em></p>83 <p><em>February·1,·2021</em></p>
83 <p>Django·3.1.6·fixes·a·security·issue·with·severity·low·and·a·bug·in·3.1.5.</p>84 <p>Django·3.1.6·fixes·a·security·issue·with·severity·low·and·a·bug·in·3.1.5.</p>
84 <section·id="s-cve-2021-3281-potential-directory-traversal-via-archive-extract">85 <section·id="s-cve-2021-3281-potential-directory-traversal-via-archive-extract">
85 <span·id="cve-2021-3281-potential-directory-traversal-via-archive-extract"></span><h2>CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code><a·class="headerlink"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-3281-potential-directory-traversal-via-archive-extract"></span><h2>CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code><a·class="headerlink"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.archive.extract()</span></code>·function,·used·by87 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.archive.extract()</span></code>·function,·used·by
87 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startapp-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startapp</span>·<span·class="pre">--template</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startproject-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startproject</span>·<span·class="pre">--template</span></code></a>,·allowed88 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startapp-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startapp</span>·<span·class="pre">--template</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startproject-template"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startproject</span>·<span·class="pre">--template</span></code></a>,·allowed
88 directory-traversal·via·an·archive·with·absolute·paths·or·relative·paths·with89 directory-traversal·via·an·archive·with·absolute·paths·or·relative·paths·with
89 dot·segments.</p>90 dot·segments.</p>
90 </section>91 </section>
Offset 104, 48 lines modifiedOffset 105, 48 lines modified
104 ······105 ······
105 ········106 ········
106 ··········<div·class="yui-b"·id="sidebar">107 ··········<div·class="yui-b"·id="sidebar">
107 ············108 ············
108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
109 ········<div·class="sphinxsidebarwrapper">110 ········<div·class="sphinxsidebarwrapper">
110 ··<div>111 ··<div>
111 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>112 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
112 ····<ul>113 ····<ul>
113 <li><a·class="reference·internal"·href="#">Django·3.1.6·release·notes</a><ul>114 <li><a·class="reference·internal"·href="#">Django·3.1.6·release·notes</a><ul>
114 <li><a·class="reference·internal"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract">CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code></a></li>115 <li><a·class="reference·internal"·href="#cve-2021-3281-potential-directory-traversal-via-archive-extract">CVE-2021-3281:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">archive.extract()</span></code></a></li>
115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="3.1.7.html"123 ····<p·class="topless"><a·href="3.1.7.html"
123 ··························title="previous·chapter">Django·3.1.7·release·notes</a></p>124 ··························title="eelmine·jaotis">Django·3.1.7·release·notes</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="3.1.5.html"128 ····<p·class="topless"><a·href="3.1.5.html"
128 ··························title="next·chapter">Django·3.1.5·release·notes</a></p>129 ··························title="järgmine·jaotis">Django·3.1.5·release·notes</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
2.77 KB
html2text {}
Max HTML report size reached
9.35 KB
./usr/share/doc/python-django-doc/html/releases/3.1.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.6·release·notes"·href="3.1.6.html"·/>15 ····<link·rel="next"·title="Django·3.1.6·release·notes"·href="3.1.6.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.8·release·notes"·href="3.1.8.html"·/>16 ····<link·rel="prev"·title="Django·3.1.8·release·notes"·href="3.1.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-django-3-1-7-release-notes">81 ··<section·id="s-django-3-1-7-release-notes">
81 <span·id="django-3-1-7-release-notes"></span><h1>Django·3.1.7·release·notes<a·class="headerlink"·href="#django-3-1-7-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-1-7-release-notes"></span><h1>Django·3.1.7·release·notes<a·class="headerlink"·href="#django-3-1-7-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·19,·2021</em></p>83 <p><em>February·19,·2021</em></p>
83 <p>Django·3.1.7·fixes·a·security·issue·and·a·bug·in·3.1.6.</p>84 <p>Django·3.1.7·fixes·a·security·issue·and·a·bug·in·3.1.6.</p>
84 <section·id="s-cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">85 <section·id="s-cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">
85 <span·id="cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"></span><h2>CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code><a·class="headerlink"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"></span><h2>CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code><a·class="headerlink"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl"·title="Link·to·this·heading">¶</a></h2>
86 <p>Django·contains·a·copy·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.parse_qsl"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.parse_qsl()</span></code></a>·which·was·added·to87 <p>Django·contains·a·copy·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.parse.html#urllib.parse.parse_qsl"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">urllib.parse.parse_qsl()</span></code></a>·which·was·added·to
87 backport·some·security·fixes.·A·further·security·fix·has·been·issued·recently88 backport·some·security·fixes.·A·further·security·fix·has·been·issued·recently
88 such·that·<code·class="docutils·literal·notranslate"><span·class="pre">parse_qsl()</span></code>·no·longer·allows·using·<code·class="docutils·literal·notranslate"><span·class="pre">;</span></code>·as·a·query·parameter89 such·that·<code·class="docutils·literal·notranslate"><span·class="pre">parse_qsl()</span></code>·no·longer·allows·using·<code·class="docutils·literal·notranslate"><span·class="pre">;</span></code>·as·a·query·parameter
89 separator·by·default.·Django·now·includes·this·fix.·See·<a·class="extlink-bpo·reference·external"·href="https://bugs.python.org/issue?&#64;action=redirect&amp;bpo=42967">bpo-42967</a>·for90 separator·by·default.·Django·now·includes·this·fix.·See·<a·class="extlink-bpo·reference·external"·href="https://bugs.python.org/issue?&#64;action=redirect&amp;bpo=42967">bpo-42967</a>·for
90 further·details.</p>91 further·details.</p>
91 </section>92 </section>
92 <section·id="s-bugfixes">93 <section·id="s-bugfixes">
93 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>94 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
Offset 106, 48 lines modifiedOffset 107, 48 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·3.1.7·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·3.1.7·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code></a></li>117 <li><a·class="reference·internal"·href="#cve-2021-23336-web-cache-poisoning-via-django-utils-http-limited-parse-qsl">CVE-2021-23336:·Web·cache·poisoning·via·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.http.limited_parse_qsl()</span></code></a></li>
117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="3.1.8.html"125 ····<p·class="topless"><a·href="3.1.8.html"
125 ··························title="previous·chapter">Django·3.1.8·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·3.1.8·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="3.1.6.html"130 ····<p·class="topless"><a·href="3.1.6.html"
130 ··························title="next·chapter">Django·3.1.6·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·3.1.6·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
2.86 KB
html2text {}
Max HTML report size reached
8.18 KB
./usr/share/doc/python-django-doc/html/releases/3.1.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.7·release·notes"·href="3.1.7.html"·/>15 ····<link·rel="next"·title="Django·3.1.7·release·notes"·href="3.1.7.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.9·release·notes"·href="3.1.9.html"·/>16 ····<link·rel="prev"·title="Django·3.1.9·release·notes"·href="3.1.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.1.8">79 ··········<div·class="yui-g"·id="releases-3.1.8">
79 ············80 ············
80 ··<section·id="s-django-3-1-8-release-notes">81 ··<section·id="s-django-3-1-8-release-notes">
81 <span·id="django-3-1-8-release-notes"></span><h1>Django·3.1.8·release·notes<a·class="headerlink"·href="#django-3-1-8-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-1-8-release-notes"></span><h1>Django·3.1.8·release·notes<a·class="headerlink"·href="#django-3-1-8-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·6,·2021</em></p>83 <p><em>April·6,·2021</em></p>
83 <p>Django·3.1.8·fixes·a·security·issue·with·severity·low·and·a·bug·in·3.1.7.</p>84 <p>Django·3.1.8·fixes·a·security·issue·with·severity·low·and·a·bug·in·3.1.7.</p>
84 <section·id="s-cve-2021-28658-potential-directory-traversal-via-uploaded-files">85 <section·id="s-cve-2021-28658-potential-directory-traversal-via-uploaded-files">
85 <span·id="cve-2021-28658-potential-directory-traversal-via-uploaded-files"></span><h2>CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files<a·class="headerlink"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-28658-potential-directory-traversal-via-uploaded-files"></span><h2>CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files<a·class="headerlink"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files"·title="Link·to·this·heading">¶</a></h2>
86 <p><code·class="docutils·literal·notranslate"><span·class="pre">MultiPartParser</span></code>·allowed·directory-traversal·via·uploaded·files·with87 <p><code·class="docutils·literal·notranslate"><span·class="pre">MultiPartParser</span></code>·allowed·directory-traversal·via·uploaded·files·with
87 suitably·crafted·file·names.</p>88 suitably·crafted·file·names.</p>
88 <p>Built-in·upload·handlers·were·not·affected·by·this·vulnerability.</p>89 <p>Built-in·upload·handlers·were·not·affected·by·this·vulnerability.</p>
89 </section>90 </section>
90 <section·id="s-bugfixes">91 <section·id="s-bugfixes">
Offset 104, 48 lines modifiedOffset 105, 48 lines modified
104 ······105 ······
105 ········106 ········
106 ··········<div·class="yui-b"·id="sidebar">107 ··········<div·class="yui-b"·id="sidebar">
107 ············108 ············
108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
109 ········<div·class="sphinxsidebarwrapper">110 ········<div·class="sphinxsidebarwrapper">
110 ··<div>111 ··<div>
111 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>112 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
112 ····<ul>113 ····<ul>
113 <li><a·class="reference·internal"·href="#">Django·3.1.8·release·notes</a><ul>114 <li><a·class="reference·internal"·href="#">Django·3.1.8·release·notes</a><ul>
114 <li><a·class="reference·internal"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files">CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files</a></li>115 <li><a·class="reference·internal"·href="#cve-2021-28658-potential-directory-traversal-via-uploaded-files">CVE-2021-28658:·Potential·directory-traversal·via·uploaded·files</a></li>
115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="3.1.9.html"123 ····<p·class="topless"><a·href="3.1.9.html"
123 ··························title="previous·chapter">Django·3.1.9·release·notes</a></p>124 ··························title="eelmine·jaotis">Django·3.1.9·release·notes</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="3.1.7.html"128 ····<p·class="topless"><a·href="3.1.7.html"
128 ··························title="next·chapter">Django·3.1.7·release·notes</a></p>129 ··························title="järgmine·jaotis">Django·3.1.7·release·notes</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
2.69 KB
html2text {}
Max HTML report size reached
6.57 KB
./usr/share/doc/python-django-doc/html/releases/3.1.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.8·release·notes"·href="3.1.8.html"·/>15 ····<link·rel="next"·title="Django·3.1.8·release·notes"·href="3.1.8.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.10·release·notes"·href="3.1.10.html"·/>16 ····<link·rel="prev"·title="Django·3.1.10·release·notes"·href="3.1.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·3.1.9·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·3.1.9·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#cve-2021-31542-potential-directory-traversal-via-uploaded-files">CVE-2021-31542:·Potential·directory-traversal·via·uploaded·files</a></li>108 <li><a·class="reference·internal"·href="#cve-2021-31542-potential-directory-traversal-via-uploaded-files">CVE-2021-31542:·Potential·directory-traversal·via·uploaded·files</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="3.1.10.html"115 ····<p·class="topless"><a·href="3.1.10.html"
115 ··························title="previous·chapter">Django·3.1.10·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·3.1.10·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="3.1.8.html"120 ····<p·class="topless"><a·href="3.1.8.html"
120 ··························title="next·chapter">Django·3.1.8·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·3.1.8·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
2.34 KB
html2text {}
Max HTML report size reached
22.7 KB
./usr/share/doc/python-django-doc/html/releases/3.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.0.14·release·notes"·href="3.0.14.html"·/>15 ····<link·rel="next"·title="Django·3.0.14·release·notes"·href="3.0.14.html"·/>
15 ····<link·rel="prev"·title="Django·3.1.1·release·notes"·href="3.1.1.html"·/>16 ····<link·rel="prev"·title="Django·3.1.1·release·notes"·href="3.1.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 291, 15 lines modifiedOffset 292, 15 lines modified
291 value·to·explicitly·state·that·the·cookie·is·sent·with·all·same-site·and292 value·to·explicitly·state·that·the·cookie·is·sent·with·all·same-site·and
292 cross-site·requests.</p></li>293 cross-site·requests.</p></li>
293 </ul>294 </ul>
294 </section>295 </section>
295 <section·id="s-django-contrib-staticfiles">296 <section·id="s-django-contrib-staticfiles">
296 <span·id="django-contrib-staticfiles"></span><h4><a·class="reference·internal"·href="../ref/contrib/staticfiles.html#module-django.contrib.staticfiles"·title="django.contrib.staticfiles:·An·app·for·handling·static·files."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code></a><a·class="headerlink"·href="#django-contrib-staticfiles"·title="Link·to·this·heading">¶</a></h4>297 <span·id="django-contrib-staticfiles"></span><h4><a·class="reference·internal"·href="../ref/contrib/staticfiles.html#module-django.contrib.staticfiles"·title="django.contrib.staticfiles:·An·app·for·handling·static·files."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.staticfiles</span></code></a><a·class="headerlink"·href="#django-contrib-staticfiles"·title="Link·to·this·heading">¶</a></h4>
297 <ul·class="simple">298 <ul·class="simple">
298 <li><p>The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-STATICFILES_DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_DIRS</span></code></a>·setting·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>299 <li><p>The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-STATICFILES_DIRS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_DIRS</span></code></a>·setting·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>
299 </ul>300 </ul>
300 </section>301 </section>
301 <section·id="s-cache">302 <section·id="s-cache">
302 <span·id="cache"></span><h4>Cache<a·class="headerlink"·href="#cache"·title="Link·to·this·heading">¶</a></h4>303 <span·id="cache"></span><h4>Cache<a·class="headerlink"·href="#cache"·title="Link·to·this·heading">¶</a></h4>
303 <ul·class="simple">304 <ul·class="simple">
304 <li><p>The·<a·class="reference·internal"·href="../topics/http/decorators.html#django.views.decorators.cache.cache_control"·title="django.views.decorators.cache.cache_control"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">cache_control()</span></code></a>·decorator·and305 <li><p>The·<a·class="reference·internal"·href="../topics/http/decorators.html#django.views.decorators.cache.cache_control"·title="django.views.decorators.cache.cache_control"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">cache_control()</span></code></a>·decorator·and
305 <a·class="reference·internal"·href="../ref/utils.html#django.utils.cache.patch_cache_control"·title="django.utils.cache.patch_cache_control"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">patch_cache_control()</span></code></a>·method·now·support·multiple306 <a·class="reference·internal"·href="../ref/utils.html#django.utils.cache.patch_cache_control"·title="django.utils.cache.patch_cache_control"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">patch_cache_control()</span></code></a>·method·now·support·multiple
Offset 316, 15 lines modifiedOffset 317, 15 lines modified
316 value·to·explicitly·state·that·the·cookie·is·sent·with·all·same-site·and317 value·to·explicitly·state·that·the·cookie·is·sent·with·all·same-site·and
317 cross-site·requests.</p></li>318 cross-site·requests.</p></li>
318 </ul>319 </ul>
319 </section>320 </section>
320 <section·id="s-email">321 <section·id="s-email">
321 <span·id="email"></span><h4>Email<a·class="headerlink"·href="#email"·title="Link·to·this·heading">¶</a></h4>322 <span·id="email"></span><h4>Email<a·class="headerlink"·href="#email"·title="Link·to·this·heading">¶</a></h4>
322 <ul·class="simple">323 <ul·class="simple">
323 <li><p>The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_FILE_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_FILE_PATH</span></code></a>·setting,·used·by·the·<a·class="reference·internal"·href="../topics/email.html#topic-email-file-backend"><span·class="std·std-ref">file·email·backend</span></a>,·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>324 <li><p>The·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_FILE_PATH"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_FILE_PATH</span></code></a>·setting,·used·by·the·<a·class="reference·internal"·href="../topics/email.html#topic-email-file-backend"><span·class="std·std-ref">file·email·backend</span></a>,·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>
324 </ul>325 </ul>
325 </section>326 </section>
326 <section·id="s-error-reporting">327 <section·id="s-error-reporting">
327 <span·id="error-reporting"></span><h4>Error·Reporting<a·class="headerlink"·href="#error-reporting"·title="Link·to·this·heading">¶</a></h4>328 <span·id="error-reporting"></span><h4>Error·Reporting<a·class="headerlink"·href="#error-reporting"·title="Link·to·this·heading">¶</a></h4>
328 <ul·class="simple">329 <ul·class="simple">
329 <li><p><a·class="reference·internal"·href="../howto/error-reporting.html#django.views.debug.SafeExceptionReporterFilter"·title="django.views.debug.SafeExceptionReporterFilter"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.debug.SafeExceptionReporterFilter</span></code></a>·now·filters·sensitive330 <li><p><a·class="reference·internal"·href="../howto/error-reporting.html#django.views.debug.SafeExceptionReporterFilter"·title="django.views.debug.SafeExceptionReporterFilter"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.debug.SafeExceptionReporterFilter</span></code></a>·now·filters·sensitive
330 values·from·<code·class="docutils·literal·notranslate"><span·class="pre">request.META</span></code>·in·exception·reports.</p></li>331 values·from·<code·class="docutils·literal·notranslate"><span·class="pre">request.META</span></code>·in·exception·reports.</p></li>
Offset 339, 15 lines modifiedOffset 340, 15 lines modified
339 <a·class="reference·internal"·href="../howto/error-reporting.html#django.views.debug.ExceptionReporter"·title="django.views.debug.ExceptionReporter"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.debug.ExceptionReporter</span></code></a>·subclass·to·customize·exception340 <a·class="reference·internal"·href="../howto/error-reporting.html#django.views.debug.ExceptionReporter"·title="django.views.debug.ExceptionReporter"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.views.debug.ExceptionReporter</span></code></a>·subclass·to·customize·exception
340 report·generation.·See·<a·class="reference·internal"·href="../howto/error-reporting.html#custom-error-reports"><span·class="std·std-ref">Custom·error·reports</span></a>·for·details.</p></li>341 report·generation.·See·<a·class="reference·internal"·href="../howto/error-reporting.html#custom-error-reports"><span·class="std·std-ref">Custom·error·reports</span></a>·for·details.</p></li>
341 </ul>342 </ul>
342 </section>343 </section>
343 <section·id="s-file-storage">344 <section·id="s-file-storage">
344 <span·id="file-storage"></span><h4>File·Storage<a·class="headerlink"·href="#file-storage"·title="Link·to·this·heading">¶</a></h4>345 <span·id="file-storage"></span><h4>File·Storage<a·class="headerlink"·href="#file-storage"·title="Link·to·this·heading">¶</a></h4>
345 <ul·class="simple">346 <ul·class="simple">
346 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">FileSystemStorage.save()</span></code>·method·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>347 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">FileSystemStorage.save()</span></code>·method·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>
347 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.FileField"·title="django.db.models.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>·and348 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.FileField"·title="django.db.models.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>·and
348 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ImageField"·title="django.db.models.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ImageField</span></code></a>·now·accept·a·callable·for·<code·class="docutils·literal·notranslate"><span·class="pre">storage</span></code>.349 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ImageField"·title="django.db.models.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ImageField</span></code></a>·now·accept·a·callable·for·<code·class="docutils·literal·notranslate"><span·class="pre">storage</span></code>.
349 This·allows·you·to·modify·the·used·storage·at·runtime,·selecting·different350 This·allows·you·to·modify·the·used·storage·at·runtime,·selecting·different
350 storages·for·different·environments,·for·example.</p></li>351 storages·for·different·environments,·for·example.</p></li>
351 </ul>352 </ul>
352 </section>353 </section>
353 <section·id="s-forms">354 <section·id="s-forms">
Offset 432, 15 lines modifiedOffset 433, 15 lines modified
432 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/expressions.html#django.db.models.F"·title="django.db.models.F"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">F</span></code></a>·expression·<code·class="docutils·literal·notranslate"><span·class="pre">bitxor()</span></code>·method·allows433 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/expressions.html#django.db.models.F"·title="django.db.models.F"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">F</span></code></a>·expression·<code·class="docutils·literal·notranslate"><span·class="pre">bitxor()</span></code>·method·allows
433 <a·class="reference·internal"·href="../topics/db/queries.html#using-f-expressions-in-filters"><span·class="std·std-ref">bitwise·XOR·operation</span></a>.</p></li>434 <a·class="reference·internal"·href="../topics/db/queries.html#using-f-expressions-in-filters"><span·class="std·std-ref">bitwise·XOR·operation</span></a>.</p></li>
434 <li><p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.bulk_create"·title="django.db.models.query.QuerySet.bulk_create"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.bulk_create()</span></code></a>·now·sets·the·primary·key·on·objects·when·using435 <li><p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.bulk_create"·title="django.db.models.query.QuerySet.bulk_create"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.bulk_create()</span></code></a>·now·sets·the·primary·key·on·objects·when·using
435 MariaDB·10.5+.</p></li>436 MariaDB·10.5+.</p></li>
436 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseOperations.sql_flush()</span></code>·method·now·generates·more·efficient437 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseOperations.sql_flush()</span></code>·method·now·generates·more·efficient
437 SQL·on·MySQL·by·using·<code·class="docutils·literal·notranslate"><span·class="pre">DELETE</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">TRUNCATE</span></code>·statements·for438 SQL·on·MySQL·by·using·<code·class="docutils·literal·notranslate"><span·class="pre">DELETE</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">TRUNCATE</span></code>·statements·for
438 tables·which·don’t·require·resetting·sequences.</p></li>439 tables·which·don’t·require·resetting·sequences.</p></li>
439 <li><p>SQLite·functions·are·now·marked·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/sqlite3.html#sqlite3.Connection.create_function"·title="(in·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">deterministic</span></code></a>·on·Python·3.8+.·This·allows·using·them440 <li><p>SQLite·functions·are·now·marked·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/sqlite3.html#sqlite3.Connection.create_function"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">deterministic</span></code></a>·on·Python·3.8+.·This·allows·using·them
440 in·check·constraints·and·partial·indexes.</p></li>441 in·check·constraints·and·partial·indexes.</p></li>
441 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/constraints.html#django.db.models.UniqueConstraint.deferrable"·title="django.db.models.UniqueConstraint.deferrable"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">UniqueConstraint.deferrable</span></code></a>·attribute·allows·creating442 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/constraints.html#django.db.models.UniqueConstraint.deferrable"·title="django.db.models.UniqueConstraint.deferrable"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">UniqueConstraint.deferrable</span></code></a>·attribute·allows·creating
442 deferrable·unique·constraints.</p></li>443 deferrable·unique·constraints.</p></li>
443 </ul>444 </ul>
444 </section>445 </section>
445 <section·id="s-pagination">446 <section·id="s-pagination">
446 <span·id="pagination"></span><h4>Pagination<a·class="headerlink"·href="#pagination"·title="Link·to·this·heading">¶</a></h4>447 <span·id="pagination"></span><h4>Pagination<a·class="headerlink"·href="#pagination"·title="Link·to·this·heading">¶</a></h4>
Offset 517, 30 lines modifiedOffset 518, 30 lines modified
517 <code·class="docutils·literal·notranslate"><span·class="pre">ValueError</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">to_url()</span></code>·to·indicate·no·match·when·reversing·URLs.</p></li>518 <code·class="docutils·literal·notranslate"><span·class="pre">ValueError</span></code>·in·<code·class="docutils·literal·notranslate"><span·class="pre">to_url()</span></code>·to·indicate·no·match·when·reversing·URLs.</p></li>
518 </ul>519 </ul>
519 </section>520 </section>
520 <section·id="s-utilities">521 <section·id="s-utilities">
521 <span·id="utilities"></span><h4>Utilities<a·class="headerlink"·href="#utilities"·title="Link·to·this·heading">¶</a></h4>522 <span·id="utilities"></span><h4>Utilities<a·class="headerlink"·href="#utilities"·title="Link·to·this·heading">¶</a></h4>
522 <ul·class="simple">523 <ul·class="simple">
523 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.encoding.filepath_to_uri"·title="django.utils.encoding.filepath_to_uri"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">filepath_to_uri()</span></code></a>·now·supports524 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.encoding.filepath_to_uri"·title="django.utils.encoding.filepath_to_uri"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">filepath_to_uri()</span></code></a>·now·supports
524 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>525 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>
525 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.dateparse.parse_duration"·title="django.utils.dateparse.parse_duration"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">parse_duration()</span></code></a>·now·supports·comma·separators526 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.dateparse.parse_duration"·title="django.utils.dateparse.parse_duration"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">parse_duration()</span></code></a>·now·supports·comma·separators
526 for·decimal·fractions·in·the·ISO·8601·format.</p></li>527 for·decimal·fractions·in·the·ISO·8601·format.</p></li>
527 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.dateparse.parse_datetime"·title="django.utils.dateparse.parse_datetime"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">parse_datetime()</span></code></a>,528 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.dateparse.parse_datetime"·title="django.utils.dateparse.parse_datetime"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">parse_datetime()</span></code></a>,
528 <a·class="reference·internal"·href="../ref/utils.html#django.utils.dateparse.parse_duration"·title="django.utils.dateparse.parse_duration"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">parse_duration()</span></code></a>,·and529 <a·class="reference·internal"·href="../ref/utils.html#django.utils.dateparse.parse_duration"·title="django.utils.dateparse.parse_duration"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">parse_duration()</span></code></a>,·and
529 <a·class="reference·internal"·href="../ref/utils.html#django.utils.dateparse.parse_time"·title="django.utils.dateparse.parse_time"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">parse_time()</span></code></a>·now·support·comma·separators·for530 <a·class="reference·internal"·href="../ref/utils.html#django.utils.dateparse.parse_time"·title="django.utils.dateparse.parse_time"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">parse_time()</span></code></a>·now·support·comma·separators·for
530 milliseconds.</p></li>531 milliseconds.</p></li>
531 </ul>532 </ul>
532 </section>533 </section>
533 <section·id="s-miscellaneous">534 <section·id="s-miscellaneous">
534 <span·id="miscellaneous"></span><h4>Miscellaneous<a·class="headerlink"·href="#miscellaneous"·title="Link·to·this·heading">¶</a></h4>535 <span·id="miscellaneous"></span><h4>Miscellaneous<a·class="headerlink"·href="#miscellaneous"·title="Link·to·this·heading">¶</a></h4>
535 <ul·class="simple">536 <ul·class="simple">
536 <li><p>The·SQLite·backend·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">NAME</span></code>537 <li><p>The·SQLite·backend·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">NAME</span></code>
537 setting.</p></li>538 setting.</p></li>
538 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>·generated·by·the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-startproject"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startproject</span></code></a>·command·now·uses539 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>·generated·by·the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-startproject"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startproject</span></code></a>·command·now·uses
539 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>·instead·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/os.path.html#module-os.path"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">os.path</span></code></a>·for·building·filesystem540 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>·instead·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/os.path.html#module-os.path"·title=[·...·truncated·by·diffoscope;·len:·11,·SHA:·10f906a1c6c0c7e7b432f954358b7cbfb2b8fe515730ea7f330fac50cbe55645·...·]·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">os.path</span></code></a>·for·building·filesystem
Max diff block lines reached; 3019/19379 bytes (15.58%) of diff not shown.
3.62 KB
html2text {}
Max HTML report size reached
7.05 KB
./usr/share/doc/python-django-doc/html/releases/3.2.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2·release·notes"·href="3.2.html"·/>15 ····<link·rel="next"·title="Django·3.2·release·notes"·href="3.2.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.2·release·notes"·href="3.2.2.html"·/>16 ····<link·rel="prev"·title="Django·3.2.2·release·notes"·href="3.2.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 149, 48 lines modifiedOffset 150, 48 lines modified
149 ······150 ······
150 ········151 ········
151 ··········<div·class="yui-b"·id="sidebar">152 ··········<div·class="yui-b"·id="sidebar">
152 ············153 ············
153 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">154 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
154 ········<div·class="sphinxsidebarwrapper">155 ········<div·class="sphinxsidebarwrapper">
155 ··<div>156 ··<div>
156 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>157 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
157 ····<ul>158 ····<ul>
158 <li><a·class="reference·internal"·href="#">Django·3.2.1·release·notes</a><ul>159 <li><a·class="reference·internal"·href="#">Django·3.2.1·release·notes</a><ul>
159 <li><a·class="reference·internal"·href="#cve-2021-31542-potential-directory-traversal-via-uploaded-files">CVE-2021-31542:·Potential·directory-traversal·via·uploaded·files</a></li>160 <li><a·class="reference·internal"·href="#cve-2021-31542-potential-directory-traversal-via-uploaded-files">CVE-2021-31542:·Potential·directory-traversal·via·uploaded·files</a></li>
160 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>161 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
161 </ul>162 </ul>
162 </li>163 </li>
163 </ul>164 </ul>
  
164 ··</div>165 ··</div>
165 ··<div>166 ··<div>
166 ····<h4>Previous·topic</h4>167 ····<h4>Eelmine·teema</h4>
167 ····<p·class="topless"><a·href="3.2.2.html"168 ····<p·class="topless"><a·href="3.2.2.html"
168 ··························title="previous·chapter">Django·3.2.2·release·notes</a></p>169 ··························title="eelmine·jaotis">Django·3.2.2·release·notes</a></p>
169 ··</div>170 ··</div>
170 ··<div>171 ··<div>
171 ····<h4>Next·topic</h4>172 ····<h4>Järgmine·teema</h4>
172 ····<p·class="topless"><a·href="3.2.html"173 ····<p·class="topless"><a·href="3.2.html"
173 ··························title="next·chapter">Django·3.2·release·notes</a></p>174 ··························title="järgmine·jaotis">Django·3.2·release·notes</a></p>
174 ··</div>175 ··</div>
175 <search·id="searchbox"·style="display:·none"·role="search">176 <search·id="searchbox"·style="display:·none"·role="search">
176 ··<h3·id="searchlabel">Quick·search</h3>177 ··<h3·id="searchlabel">Kiirotsing</h3>
177 ····<div·class="searchformwrapper">178 ····<div·class="searchformwrapper">
178 ····<form·class="search"·action="../search.html"·method="get">179 ····<form·class="search"·action="../search.html"·method="get">
179 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>180 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
180 ······<input·type="submit"·value="Go"·/>181 ······<input·type="submit"·value="Otsi"·/>
181 ····</form>182 ····</form>
182 ····</div>183 ····</div>
183 </search>184 </search>
184 <script>document.getElementById('searchbox').style.display·=·"block"</script>185 <script>document.getElementById('searchbox').style.display·=·"block"</script>
185 ········</div>186 ········</div>
186 ······</div>187 ······</div>
187 ··············<h3>Last·update:</h3>188 ··············<h3>Last·update:</h3>
188 ··············<p·class="topless">Nov·05,·2024</p>189 ··············<p·class="topless">nov·05,·2024</p>
189 ··········</div>190 ··········</div>
190 ········191 ········
191 ······192 ······
192 ····</div>193 ····</div>
  
193 ····<div·id="ft">194 ····<div·id="ft">
194 ······<div·class="nav">195 ······<div·class="nav">
2.76 KB
html2text {}
Max HTML report size reached
8.31 KB
./usr/share/doc/python-django-doc/html/releases/3.2.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.9·release·notes"·href="3.2.9.html"·/>15 ····<link·rel="next"·title="Django·3.2.9·release·notes"·href="3.2.9.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.11·release·notes"·href="3.2.11.html"·/>16 ····<link·rel="prev"·title="Django·3.2.11·release·notes"·href="3.2.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.10">79 ··········<div·class="yui-g"·id="releases-3.2.10">
79 ············80 ············
80 ··<section·id="s-django-3-2-10-release-notes">81 ··<section·id="s-django-3-2-10-release-notes">
81 <span·id="django-3-2-10-release-notes"></span><h1>Django·3.2.10·release·notes<a·class="headerlink"·href="#django-3-2-10-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-10-release-notes"></span><h1>Django·3.2.10·release·notes<a·class="headerlink"·href="#django-3-2-10-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>December·7,·2021</em></p>83 <p><em>December·7,·2021</em></p>
83 <p>Django·3.2.10·fixes·a·security·issue·with·severity·low·and·a·bug·in·3.2.9.</p>84 <p>Django·3.2.10·fixes·a·security·issue·with·severity·low·and·a·bug·in·3.2.9.</p>
84 <section·id="s-cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">85 <section·id="s-cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">
85 <span·id="cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"></span><h2>CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths<a·class="headerlink"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"></span><h2>CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths<a·class="headerlink"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths"·title="Link·to·this·heading">¶</a></h2>
86 <p>HTTP·requests·for·URLs·with·trailing·newlines·could·bypass·an·upstream·access87 <p>HTTP·requests·for·URLs·with·trailing·newlines·could·bypass·an·upstream·access
87 control·based·on·URL·paths.</p>88 control·based·on·URL·paths.</p>
88 </section>89 </section>
89 <section·id="s-bugfixes">90 <section·id="s-bugfixes">
90 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>91 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
Offset 103, 48 lines modifiedOffset 104, 48 lines modified
103 ······104 ······
104 ········105 ········
105 ··········<div·class="yui-b"·id="sidebar">106 ··········<div·class="yui-b"·id="sidebar">
106 ············107 ············
107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
108 ········<div·class="sphinxsidebarwrapper">109 ········<div·class="sphinxsidebarwrapper">
109 ··<div>110 ··<div>
110 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>111 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
111 ····<ul>112 ····<ul>
112 <li><a·class="reference·internal"·href="#">Django·3.2.10·release·notes</a><ul>113 <li><a·class="reference·internal"·href="#">Django·3.2.10·release·notes</a><ul>
113 <li><a·class="reference·internal"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths</a></li>114 <li><a·class="reference·internal"·href="#cve-2021-44420-potential-bypass-of-an-upstream-access-control-based-on-url-paths">CVE-2021-44420:·Potential·bypass·of·an·upstream·access·control·based·on·URL·paths</a></li>
114 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
115 </ul>116 </ul>
116 </li>117 </li>
117 </ul>118 </ul>
  
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Previous·topic</h4>121 ····<h4>Eelmine·teema</h4>
121 ····<p·class="topless"><a·href="3.2.11.html"122 ····<p·class="topless"><a·href="3.2.11.html"
122 ··························title="previous·chapter">Django·3.2.11·release·notes</a></p>123 ··························title="eelmine·jaotis">Django·3.2.11·release·notes</a></p>
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Next·topic</h4>126 ····<h4>Järgmine·teema</h4>
126 ····<p·class="topless"><a·href="3.2.9.html"127 ····<p·class="topless"><a·href="3.2.9.html"
127 ··························title="next·chapter">Django·3.2.9·release·notes</a></p>128 ··························title="järgmine·jaotis">Django·3.2.9·release·notes</a></p>
128 ··</div>129 ··</div>
129 <search·id="searchbox"·style="display:·none"·role="search">130 <search·id="searchbox"·style="display:·none"·role="search">
130 ··<h3·id="searchlabel">Quick·search</h3>131 ··<h3·id="searchlabel">Kiirotsing</h3>
131 ····<div·class="searchformwrapper">132 ····<div·class="searchformwrapper">
132 ····<form·class="search"·action="../search.html"·method="get">133 ····<form·class="search"·action="../search.html"·method="get">
133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
134 ······<input·type="submit"·value="Go"·/>135 ······<input·type="submit"·value="Otsi"·/>
135 ····</form>136 ····</form>
136 ····</div>137 ····</div>
137 </search>138 </search>
138 <script>document.getElementById('searchbox').style.display·=·"block"</script>139 <script>document.getElementById('searchbox').style.display·=·"block"</script>
139 ········</div>140 ········</div>
140 ······</div>141 ······</div>
141 ··············<h3>Last·update:</h3>142 ··············<h3>Last·update:</h3>
142 ··············<p·class="topless">Nov·05,·2024</p>143 ··············<p·class="topless">nov·05,·2024</p>
143 ··········</div>144 ··········</div>
144 ········145 ········
145 ······146 ······
146 ····</div>147 ····</div>
  
147 ····<div·id="ft">148 ····<div·id="ft">
148 ······<div·class="nav">149 ······<div·class="nav">
2.72 KB
html2text {}
Max HTML report size reached
14.9 KB
./usr/share/doc/python-django-doc/html/releases/3.2.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.10·release·notes"·href="3.2.10.html"·/>15 ····<link·rel="next"·title="Django·3.2.10·release·notes"·href="3.2.10.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.12·release·notes"·href="3.2.12.html"·/>16 ····<link·rel="prev"·title="Django·3.2.12·release·notes"·href="3.2.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 91 lines modifiedOffset 77, 91 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.11">79 ··········<div·class="yui-g"·id="releases-3.2.11">
79 ············80 ············
80 ··<section·id="s-django-3-2-11-release-notes">81 ··<section·id="s-django-3-2-11-release-notes">
81 <span·id="django-3-2-11-release-notes"></span><h1>Django·3.2.11·release·notes<a·class="headerlink"·href="#django-3-2-11-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-11-release-notes"></span><h1>Django·3.2.11·release·notes<a·class="headerlink"·href="#django-3-2-11-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>January·4,·2022</em></p>83 <p><em>January·4,·2022</em></p>
83 <p>Django·3.2.11·fixes·one·security·issue·with·severity·medium·and·two·security84 <p>Django·3.2.11·fixes·one·security·issue·with·severity·medium·and·two·security
84 issues·with·severity·low·in·3.2.10.</p>85 issues·with·severity·low·in·3.2.10.</p>
85 <section·id="s-cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">86 <section·id="s-cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">
86 <span·id="cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"></span><h2>CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code><a·class="headerlink"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"></span><h2>CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code><a·class="headerlink"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../topics/auth/passwords.html#django.contrib.auth.password_validation.UserAttributeSimilarityValidator"·title="django.contrib.auth.password_validation.UserAttributeSimilarityValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a>·incurred·significant·overhead88 <p><a·class="reference·internal"·href="../topics/auth/passwords.html#django.contrib.auth.password_validation.UserAttributeSimilarityValidator"·title="django.contrib.auth.password_validation.UserAttributeSimilarityValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a>·incurred·significant·overhead
88 evaluating·submitted·password·that·were·artificially·large·in·relative·to·the89 evaluating·submitted·password·that·were·artificially·large·in·relative·to·the
89 comparison·values.·On·the·assumption·that·access·to·user·registration·was90 comparison·values.·On·the·assumption·that·access·to·user·registration·was
90 unrestricted·this·provided·a·potential·vector·for·a·denial-of-service·attack.</p>91 unrestricted·this·provided·a·potential·vector·for·a·denial-of-service·attack.</p>
91 <p>In·order·to·mitigate·this·issue,·relatively·long·values·are·now·ignored·by92 <p>In·order·to·mitigate·this·issue,·relatively·long·values·are·now·ignored·by
92 <code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code>.</p>93 <code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code>.</p>
93 <p>This·issue·has·severity·medium·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>94 <p>This·issue·has·severity·medium·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>
94 </section>95 </section>
95 <section·id="s-cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">96 <section·id="s-cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">
96 <span·id="cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"></span><h2>CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter<a·class="headerlink"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"·title="Link·to·this·heading">¶</a></h2>97 <span·id="cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"></span><h2>CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter<a·class="headerlink"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"·title="Link·to·this·heading">¶</a></h2>
97 <p>Due·to·leveraging·the·Django·Template·Language’s·variable·resolution·logic,·the98 <p>Due·to·leveraging·the·Django·Template·Language’s·variable·resolution·logic,·the
98 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-dictsort"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">dictsort</span></code></a>·template·filter·was·potentially·vulnerable·to·information99 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-dictsort"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">dictsort</span></code></a>·template·filter·was·potentially·vulnerable·to·information
99 disclosure·or·unintended·method·calls,·if·passed·a·suitably·crafted·key.</p>100 disclosure·or·unintended·method·calls,·if·passed·a·suitably·crafted·key.</p>
100 <p>In·order·to·avoid·this·possibility,·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·now·works·with·a·restricted101 <p>In·order·to·avoid·this·possibility,·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·now·works·with·a·restricted
101 resolution·logic,·that·will·not·call·methods,·nor·allow·indexing·on102 resolution·logic,·that·will·not·call·methods,·nor·allow·indexing·on
102 dictionaries.</p>103 dictionaries.</p>
103 <p>As·a·reminder,·all·untrusted·user·input·should·be·validated·before·use.</p>104 <p>As·a·reminder,·all·untrusted·user·input·should·be·validated·before·use.</p>
104 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>105 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>
105 </section>106 </section>
106 <section·id="s-cve-2021-45452-potential-directory-traversal-via-storage-save">107 <section·id="s-cve-2021-45452-potential-directory-traversal-via-storage-save">
107 <span·id="cve-2021-45452-potential-directory-traversal-via-storage-save"></span><h2>CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code><a·class="headerlink"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save"·title="Link·to·this·heading">¶</a></h2>108 <span·id="cve-2021-45452-potential-directory-traversal-via-storage-save"></span><h2>CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code><a·class="headerlink"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save"·title="Link·to·this·heading">¶</a></h2>
108 <p><code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code>·allowed·directory-traversal·if·directly·passed·suitably109 <p><code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code>·allowed·directory-traversal·if·directly·passed·suitably
109 crafted·file·names.</p>110 crafted·file·names.</p>
110 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>111 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>
111 </section>112 </section>
112 </section>113 </section>
  
  
113 ··········</div>114 ··········</div>
114 ········</div>115 ········</div>
115 ······</div>116 ······</div>
116 ······117 ······
117 ········118 ········
118 ··········<div·class="yui-b"·id="sidebar">119 ··········<div·class="yui-b"·id="sidebar">
119 ············120 ············
120 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
121 ········<div·class="sphinxsidebarwrapper">122 ········<div·class="sphinxsidebarwrapper">
122 ··<div>123 ··<div>
123 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>124 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
124 ····<ul>125 ····<ul>
125 <li><a·class="reference·internal"·href="#">Django·3.2.11·release·notes</a><ul>126 <li><a·class="reference·internal"·href="#">Django·3.2.11·release·notes</a><ul>
126 <li><a·class="reference·internal"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a></li>127 <li><a·class="reference·internal"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a></li>
127 <li><a·class="reference·internal"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter</a></li>128 <li><a·class="reference·internal"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter</a></li>
128 <li><a·class="reference·internal"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save">CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>129 <li><a·class="reference·internal"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save">CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>
129 </ul>130 </ul>
130 </li>131 </li>
131 </ul>132 </ul>
  
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Previous·topic</h4>135 ····<h4>Eelmine·teema</h4>
135 ····<p·class="topless"><a·href="3.2.12.html"136 ····<p·class="topless"><a·href="3.2.12.html"
136 ··························title="previous·chapter">Django·3.2.12·release·notes</a></p>137 ··························title="eelmine·jaotis">Django·3.2.12·release·notes</a></p>
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Next·topic</h4>140 ····<h4>Järgmine·teema</h4>
140 ····<p·class="topless"><a·href="3.2.10.html"141 ····<p·class="topless"><a·href="3.2.10.html"
141 ··························title="next·chapter">Django·3.2.10·release·notes</a></p>142 ··························title="järgmine·jaotis">Django·3.2.10·release·notes</a></p>
142 ··</div>143 ··</div>
143 <search·id="searchbox"·style="display:·none"·role="search">144 <search·id="searchbox"·style="display:·none"·role="search">
144 ··<h3·id="searchlabel">Quick·search</h3>145 ··<h3·id="searchlabel">Kiirotsing</h3>
145 ····<div·class="searchformwrapper">146 ····<div·class="searchformwrapper">
146 ····<form·class="search"·action="../search.html"·method="get">147 ····<form·class="search"·action="../search.html"·method="get">
147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>148 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
148 ······<input·type="submit"·value="Go"·/>149 ······<input·type="submit"·value="Otsi"·/>
149 ····</form>150 ····</form>
150 ····</div>151 ····</div>
151 </search>152 </search>
152 <script>document.getElementById('searchbox').style.display·=·"block"</script>153 <script>document.getElementById('searchbox').style.display·=·"block"</script>
153 ········</div>154 ········</div>
154 ······</div>155 ······</div>
155 ··············<h3>Last·update:</h3>156 ··············<h3>Last·update:</h3>
156 ··············<p·class="topless">Nov·05,·2024</p>157 ··············<p·class="topless">nov·05,·2024</p>
157 ··········</div>158 ··········</div>
158 ········159 ········
159 ······160 ······
Max diff block lines reached; 46/9973 bytes (0.46%) of diff not shown.
5.06 KB
html2text {}
Max HTML report size reached
9.36 KB
./usr/share/doc/python-django-doc/html/releases/3.2.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.11·release·notes"·href="3.2.11.html"·/>15 ····<link·rel="next"·title="Django·3.2.11·release·notes"·href="3.2.11.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.13·release·notes"·href="3.2.13.html"·/>16 ····<link·rel="prev"·title="Django·3.2.13·release·notes"·href="3.2.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.12">79 ··········<div·class="yui-g"·id="releases-3.2.12">
79 ············80 ············
80 ··<section·id="s-django-3-2-12-release-notes">81 ··<section·id="s-django-3-2-12-release-notes">
81 <span·id="django-3-2-12-release-notes"></span><h1>Django·3.2.12·release·notes<a·class="headerlink"·href="#django-3-2-12-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-12-release-notes"></span><h1>Django·3.2.12·release·notes<a·class="headerlink"·href="#django-3-2-12-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2022</em></p>83 <p><em>February·1,·2022</em></p>
83 <p>Django·3.2.12·fixes·two·security·issues·with·severity·medium·in·3.2.11.</p>84 <p>Django·3.2.12·fixes·two·security·issues·with·severity·medium·in·3.2.11.</p>
84 <section·id="s-cve-2022-22818-possible-xss-via-debug-template-tag">85 <section·id="s-cve-2022-22818-possible-xss-via-debug-template-tag">
85 <span·id="cve-2022-22818-possible-xss-via-debug-template-tag"></span><h2>CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag<a·class="headerlink"·href="#cve-2022-22818-possible-xss-via-debug-template-tag"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2022-22818-possible-xss-via-debug-template-tag"></span><h2>CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag<a·class="headerlink"·href="#cve-2022-22818-possible-xss-via-debug-template-tag"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag·didn’t·properly·encode·the·current·context,87 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag·didn’t·properly·encode·the·current·context,
87 posing·an·XSS·attack·vector.</p>88 posing·an·XSS·attack·vector.</p>
88 <p>In·order·to·avoid·this·vulnerability,·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·no·longer·outputs89 <p>In·order·to·avoid·this·vulnerability,·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·no·longer·outputs
89 information·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·and·it·ensures·all·context90 information·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·and·it·ensures·all·context
90 variables·are·correctly·escaped·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>91 variables·are·correctly·escaped·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">DEBUG</span></code>·setting·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>
Offset 103, 48 lines modifiedOffset 104, 48 lines modified
103 ······104 ······
104 ········105 ········
105 ··········<div·class="yui-b"·id="sidebar">106 ··········<div·class="yui-b"·id="sidebar">
106 ············107 ············
107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
108 ········<div·class="sphinxsidebarwrapper">109 ········<div·class="sphinxsidebarwrapper">
109 ··<div>110 ··<div>
110 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>111 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
111 ····<ul>112 ····<ul>
112 <li><a·class="reference·internal"·href="#">Django·3.2.12·release·notes</a><ul>113 <li><a·class="reference·internal"·href="#">Django·3.2.12·release·notes</a><ul>
113 <li><a·class="reference·internal"·href="#cve-2022-22818-possible-xss-via-debug-template-tag">CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag</a></li>114 <li><a·class="reference·internal"·href="#cve-2022-22818-possible-xss-via-debug-template-tag">CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag</a></li>
114 <li><a·class="reference·internal"·href="#cve-2022-23833-denial-of-service-possibility-in-file-uploads">CVE-2022-23833:·Denial-of-service·possibility·in·file·uploads</a></li>115 <li><a·class="reference·internal"·href="#cve-2022-23833-denial-of-service-possibility-in-file-uploads">CVE-2022-23833:·Denial-of-service·possibility·in·file·uploads</a></li>
115 </ul>116 </ul>
116 </li>117 </li>
117 </ul>118 </ul>
  
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Previous·topic</h4>121 ····<h4>Eelmine·teema</h4>
121 ····<p·class="topless"><a·href="3.2.13.html"122 ····<p·class="topless"><a·href="3.2.13.html"
122 ··························title="previous·chapter">Django·3.2.13·release·notes</a></p>123 ··························title="eelmine·jaotis">Django·3.2.13·release·notes</a></p>
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Next·topic</h4>126 ····<h4>Järgmine·teema</h4>
126 ····<p·class="topless"><a·href="3.2.11.html"127 ····<p·class="topless"><a·href="3.2.11.html"
127 ··························title="next·chapter">Django·3.2.11·release·notes</a></p>128 ··························title="järgmine·jaotis">Django·3.2.11·release·notes</a></p>
128 ··</div>129 ··</div>
129 <search·id="searchbox"·style="display:·none"·role="search">130 <search·id="searchbox"·style="display:·none"·role="search">
130 ··<h3·id="searchlabel">Quick·search</h3>131 ··<h3·id="searchlabel">Kiirotsing</h3>
131 ····<div·class="searchformwrapper">132 ····<div·class="searchformwrapper">
132 ····<form·class="search"·action="../search.html"·method="get">133 ····<form·class="search"·action="../search.html"·method="get">
133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
134 ······<input·type="submit"·value="Go"·/>135 ······<input·type="submit"·value="Otsi"·/>
135 ····</form>136 ····</form>
136 ····</div>137 ····</div>
137 </search>138 </search>
138 <script>document.getElementById('searchbox').style.display·=·"block"</script>139 <script>document.getElementById('searchbox').style.display·=·"block"</script>
139 ········</div>140 ········</div>
140 ······</div>141 ······</div>
141 ··············<h3>Last·update:</h3>142 ··············<h3>Last·update:</h3>
142 ··············<p·class="topless">Nov·05,·2024</p>143 ··············<p·class="topless">nov·05,·2024</p>
143 ··········</div>144 ··········</div>
144 ········145 ········
145 ······146 ······
146 ····</div>147 ····</div>
  
147 ····<div·id="ft">148 ····<div·id="ft">
148 ······<div·class="nav">149 ······<div·class="nav">
3.0 KB
html2text {}
Max HTML report size reached
10.8 KB
./usr/share/doc/python-django-doc/html/releases/3.2.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.12·release·notes"·href="3.2.12.html"·/>15 ····<link·rel="next"·title="Django·3.2.12·release·notes"·href="3.2.12.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.14·release·notes"·href="3.2.14.html"·/>16 ····<link·rel="prev"·title="Django·3.2.14·release·notes"·href="3.2.14.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.13">79 ··········<div·class="yui-g"·id="releases-3.2.13">
79 ············80 ············
80 ··<section·id="s-django-3-2-13-release-notes">81 ··<section·id="s-django-3-2-13-release-notes">
81 <span·id="django-3-2-13-release-notes"></span><h1>Django·3.2.13·release·notes<a·class="headerlink"·href="#django-3-2-13-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-13-release-notes"></span><h1>Django·3.2.13·release·notes<a·class="headerlink"·href="#django-3-2-13-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·11,·2022</em></p>83 <p><em>April·11,·2022</em></p>
83 <p>Django·3.2.13·fixes·two·security·issues·with·severity·high·in84 <p>Django·3.2.13·fixes·two·security·issues·with·severity·high·in
84 3.2.12·and·a·regression·in·3.2.4.</p>85 3.2.12·and·a·regression·in·3.2.4.</p>
85 <section·id="s-cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">86 <section·id="s-cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">
86 <span·id="cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"></span><h2>CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code><a·class="headerlink"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"></span><h2>CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code><a·class="headerlink"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.annotate"·title="django.db.models.query.QuerySet.annotate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.aggregate"·title="django.db.models.query.QuerySet.aggregate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">aggregate()</span></code></a>,·and88 <p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.annotate"·title="django.db.models.query.QuerySet.annotate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.aggregate"·title="django.db.models.query.QuerySet.aggregate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">aggregate()</span></code></a>,·and
88 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.extra"·title="django.db.models.query.QuerySet.extra"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">extra()</span></code></a>·methods·were·subject·to·SQL·injection·in·column89 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.extra"·title="django.db.models.query.QuerySet.extra"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">extra()</span></code></a>·methods·were·subject·to·SQL·injection·in·column
89 aliases,·using·a·suitably·crafted·dictionary,·with·dictionary·expansion,·as·the90 aliases,·using·a·suitably·crafted·dictionary,·with·dictionary·expansion,·as·the
90 <code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>·passed·to·these·methods.</p>91 <code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>·passed·to·these·methods.</p>
Offset 112, 49 lines modifiedOffset 113, 49 lines modified
112 ······113 ······
113 ········114 ········
114 ··········<div·class="yui-b"·id="sidebar">115 ··········<div·class="yui-b"·id="sidebar">
115 ············116 ············
116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
117 ········<div·class="sphinxsidebarwrapper">118 ········<div·class="sphinxsidebarwrapper">
118 ··<div>119 ··<div>
119 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>120 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
120 ····<ul>121 ····<ul>
121 <li><a·class="reference·internal"·href="#">Django·3.2.13·release·notes</a><ul>122 <li><a·class="reference·internal"·href="#">Django·3.2.13·release·notes</a><ul>
122 <li><a·class="reference·internal"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code></a></li>123 <li><a·class="reference·internal"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code></a></li>
123 <li><a·class="reference·internal"·href="#cve-2022-28347-potential-sql-injection-via-queryset-explain-options-on-postgresql">CVE-2022-28347:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.explain(**options)</span></code>·on·PostgreSQL</a></li>124 <li><a·class="reference·internal"·href="#cve-2022-28347-potential-sql-injection-via-queryset-explain-options-on-postgresql">CVE-2022-28347:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.explain(**options)</span></code>·on·PostgreSQL</a></li>
124 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>125 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
125 </ul>126 </ul>
126 </li>127 </li>
127 </ul>128 </ul>
  
128 ··</div>129 ··</div>
129 ··<div>130 ··<div>
130 ····<h4>Previous·topic</h4>131 ····<h4>Eelmine·teema</h4>
131 ····<p·class="topless"><a·href="3.2.14.html"132 ····<p·class="topless"><a·href="3.2.14.html"
132 ··························title="previous·chapter">Django·3.2.14·release·notes</a></p>133 ··························title="eelmine·jaotis">Django·3.2.14·release·notes</a></p>
133 ··</div>134 ··</div>
134 ··<div>135 ··<div>
135 ····<h4>Next·topic</h4>136 ····<h4>Järgmine·teema</h4>
136 ····<p·class="topless"><a·href="3.2.12.html"137 ····<p·class="topless"><a·href="3.2.12.html"
137 ··························title="next·chapter">Django·3.2.12·release·notes</a></p>138 ··························title="järgmine·jaotis">Django·3.2.12·release·notes</a></p>
138 ··</div>139 ··</div>
139 <search·id="searchbox"·style="display:·none"·role="search">140 <search·id="searchbox"·style="display:·none"·role="search">
140 ··<h3·id="searchlabel">Quick·search</h3>141 ··<h3·id="searchlabel">Kiirotsing</h3>
141 ····<div·class="searchformwrapper">142 ····<div·class="searchformwrapper">
142 ····<form·class="search"·action="../search.html"·method="get">143 ····<form·class="search"·action="../search.html"·method="get">
143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>144 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
144 ······<input·type="submit"·value="Go"·/>145 ······<input·type="submit"·value="Otsi"·/>
145 ····</form>146 ····</form>
146 ····</div>147 ····</div>
147 </search>148 </search>
148 <script>document.getElementById('searchbox').style.display·=·"block"</script>149 <script>document.getElementById('searchbox').style.display·=·"block"</script>
149 ········</div>150 ········</div>
150 ······</div>151 ······</div>
151 ··············<h3>Last·update:</h3>152 ··············<h3>Last·update:</h3>
152 ··············<p·class="topless">Nov·05,·2024</p>153 ··············<p·class="topless">nov·05,·2024</p>
153 ··········</div>154 ··········</div>
154 ········155 ········
155 ······156 ······
156 ····</div>157 ····</div>
  
157 ····<div·id="ft">158 ····<div·id="ft">
158 ······<div·class="nav">159 ······<div·class="nav">
3.71 KB
html2text {}
Max HTML report size reached
9.06 KB
./usr/share/doc/python-django-doc/html/releases/3.2.14.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.14·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.14·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.13·release·notes"·href="3.2.13.html"·/>15 ····<link·rel="next"·title="Django·3.2.13·release·notes"·href="3.2.13.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.15·release·notes"·href="3.2.15.html"·/>16 ····<link·rel="prev"·title="Django·3.2.15·release·notes"·href="3.2.15.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.14">79 ··········<div·class="yui-g"·id="releases-3.2.14">
79 ············80 ············
80 ··<section·id="s-django-3-2-14-release-notes">81 ··<section·id="s-django-3-2-14-release-notes">
81 <span·id="django-3-2-14-release-notes"></span><h1>Django·3.2.14·release·notes<a·class="headerlink"·href="#django-3-2-14-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-14-release-notes"></span><h1>Django·3.2.14·release·notes<a·class="headerlink"·href="#django-3-2-14-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>July·4,·2022</em></p>83 <p><em>July·4,·2022</em></p>
83 <p>Django·3.2.14·fixes·a·security·issue·with·severity·high·in·3.2.13.</p>84 <p>Django·3.2.14·fixes·a·security·issue·with·severity·high·in·3.2.13.</p>
84 <section·id="s-cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments">85 <section·id="s-cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments">
85 <span·id="cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments"></span><h2>CVE-2022-34265:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">Trunc(kind)</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Extract(lookup_name)</span></code>·arguments<a·class="headerlink"·href="#cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments"></span><h2>CVE-2022-34265:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">Trunc(kind)</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Extract(lookup_name)</span></code>·arguments<a·class="headerlink"·href="#cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments"·title="Link·to·this·heading">¶</a></h2>
86 <p><a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Trunc"·title="django.db.models.functions.Trunc"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Trunc()</span></code></a>·and87 <p><a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Trunc"·title="django.db.models.functions.Trunc"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Trunc()</span></code></a>·and
87 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Extract"·title="django.db.models.functions.Extract"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Extract()</span></code></a>·database·functions·were88 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Extract"·title="django.db.models.functions.Extract"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Extract()</span></code></a>·database·functions·were
88 subject·to·SQL·injection·if·untrusted·data·was·used·as·a89 subject·to·SQL·injection·if·untrusted·data·was·used·as·a
89 <code·class="docutils·literal·notranslate"><span·class="pre">kind</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">lookup_name</span></code>·value.</p>90 <code·class="docutils·literal·notranslate"><span·class="pre">kind</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">lookup_name</span></code>·value.</p>
90 <p>Applications·that·constrain·the·lookup·name·and·kind·choice·to·a·known·safe91 <p>Applications·that·constrain·the·lookup·name·and·kind·choice·to·a·known·safe
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·3.2.14·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·3.2.14·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments">CVE-2022-34265:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">Trunc(kind)</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Extract(lookup_name)</span></code>·arguments</a></li>110 <li><a·class="reference·internal"·href="#cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments">CVE-2022-34265:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">Trunc(kind)</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Extract(lookup_name)</span></code>·arguments</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="3.2.15.html"117 ····<p·class="topless"><a·href="3.2.15.html"
117 ··························title="previous·chapter">Django·3.2.15·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·3.2.15·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="3.2.13.html"122 ····<p·class="topless"><a·href="3.2.13.html"
122 ··························title="next·chapter">Django·3.2.13·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·3.2.13·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.65 KB
html2text {}
Max HTML report size reached
8.61 KB
./usr/share/doc/python-django-doc/html/releases/3.2.15.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.15·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.15·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.14·release·notes"·href="3.2.14.html"·/>15 ····<link·rel="next"·title="Django·3.2.14·release·notes"·href="3.2.14.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.16·release·notes"·href="3.2.16.html"·/>16 ····<link·rel="prev"·title="Django·3.2.16·release·notes"·href="3.2.16.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.15">79 ··········<div·class="yui-g"·id="releases-3.2.15">
79 ············80 ············
80 ··<section·id="s-django-3-2-15-release-notes">81 ··<section·id="s-django-3-2-15-release-notes">
81 <span·id="django-3-2-15-release-notes"></span><h1>Django·3.2.15·release·notes<a·class="headerlink"·href="#django-3-2-15-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-15-release-notes"></span><h1>Django·3.2.15·release·notes<a·class="headerlink"·href="#django-3-2-15-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>August·3,·2022</em></p>83 <p><em>August·3,·2022</em></p>
83 <p>Django·3.2.15·fixes·a·security·issue·with·severity·high·in·3.2.14.</p>84 <p>Django·3.2.15·fixes·a·security·issue·with·severity·high·in·3.2.14.</p>
84 <section·id="s-cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse">85 <section·id="s-cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse">
85 <span·id="cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse"></span><h2>CVE-2022-36359:·Potential·reflected·file·download·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code><a·class="headerlink"·href="#cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse"></span><h2>CVE-2022-36359:·Potential·reflected·file·download·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code><a·class="headerlink"·href="#cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse"·title="Link·to·this·heading">¶</a></h2>
86 <p>An·application·may·have·been·vulnerable·to·a·reflected·file·download·(RFD)87 <p>An·application·may·have·been·vulnerable·to·a·reflected·file·download·(RFD)
87 attack·that·sets·the·Content-Disposition·header·of·a88 attack·that·sets·the·Content-Disposition·header·of·a
88 <a·class="reference·internal"·href="../ref/request-response.html#django.http.FileResponse"·title="django.http.FileResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a>·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·was·derived·from89 <a·class="reference·internal"·href="../ref/request-response.html#django.http.FileResponse"·title="django.http.FileResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a>·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·was·derived·from
89 user-supplied·input.·The·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·is·now·escaped·to·avoid·this·possibility.</p>90 user-supplied·input.·The·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·is·now·escaped·to·avoid·this·possibility.</p>
90 </section>91 </section>
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·3.2.15·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·3.2.15·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse">CVE-2022-36359:·Potential·reflected·file·download·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a></li>108 <li><a·class="reference·internal"·href="#cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse">CVE-2022-36359:·Potential·reflected·file·download·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="3.2.16.html"115 ····<p·class="topless"><a·href="3.2.16.html"
115 ··························title="previous·chapter">Django·3.2.16·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·3.2.16·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="3.2.14.html"120 ····<p·class="topless"><a·href="3.2.14.html"
120 ··························title="next·chapter">Django·3.2.14·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·3.2.14·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
2.61 KB
html2text {}
Max HTML report size reached
7.85 KB
./usr/share/doc/python-django-doc/html/releases/3.2.16.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.16·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.16·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.15·release·notes"·href="3.2.15.html"·/>15 ····<link·rel="next"·title="Django·3.2.15·release·notes"·href="3.2.15.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.17·release·notes"·href="3.2.17.html"·/>16 ····<link·rel="prev"·title="Django·3.2.17·release·notes"·href="3.2.17.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.16">79 ··········<div·class="yui-g"·id="releases-3.2.16">
79 ············80 ············
80 ··<section·id="s-django-3-2-16-release-notes">81 ··<section·id="s-django-3-2-16-release-notes">
81 <span·id="django-3-2-16-release-notes"></span><h1>Django·3.2.16·release·notes<a·class="headerlink"·href="#django-3-2-16-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-16-release-notes"></span><h1>Django·3.2.16·release·notes<a·class="headerlink"·href="#django-3-2-16-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>October·4,·2022</em></p>83 <p><em>October·4,·2022</em></p>
83 <p>Django·3.2.16·fixes·a·security·issue·with·severity·medium·in·3.2.15.</p>84 <p>Django·3.2.16·fixes·a·security·issue·with·severity·medium·in·3.2.15.</p>
84 <section·id="s-cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">85 <section·id="s-cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">
85 <span·id="cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"></span><h2>CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs<a·class="headerlink"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"></span><h2>CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs<a·class="headerlink"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"·title="Link·to·this·heading">¶</a></h2>
86 <p>Internationalized·URLs·were·subject·to·potential·denial·of·service·attack·via87 <p>Internationalized·URLs·were·subject·to·potential·denial·of·service·attack·via
87 the·locale·parameter.</p>88 the·locale·parameter.</p>
88 </section>89 </section>
89 </section>90 </section>
  
Offset 95, 47 lines modifiedOffset 96, 47 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>103 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
103 ····<ul>104 ····<ul>
104 <li><a·class="reference·internal"·href="#">Django·3.2.16·release·notes</a><ul>105 <li><a·class="reference·internal"·href="#">Django·3.2.16·release·notes</a><ul>
105 <li><a·class="reference·internal"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs</a></li>106 <li><a·class="reference·internal"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs</a></li>
106 </ul>107 </ul>
107 </li>108 </li>
108 </ul>109 </ul>
  
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="3.2.17.html"113 ····<p·class="topless"><a·href="3.2.17.html"
113 ··························title="previous·chapter">Django·3.2.17·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·3.2.17·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="3.2.15.html"118 ····<p·class="topless"><a·href="3.2.15.html"
118 ··························title="next·chapter">Django·3.2.15·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·3.2.15·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.47 KB
html2text {}
Max HTML report size reached
8.41 KB
./usr/share/doc/python-django-doc/html/releases/3.2.17.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.17·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.17·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.16·release·notes"·href="3.2.16.html"·/>15 ····<link·rel="next"·title="Django·3.2.16·release·notes"·href="3.2.16.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.18·release·notes"·href="3.2.18.html"·/>16 ····<link·rel="prev"·title="Django·3.2.18·release·notes"·href="3.2.18.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.17">79 ··········<div·class="yui-g"·id="releases-3.2.17">
79 ············80 ············
80 ··<section·id="s-django-3-2-17-release-notes">81 ··<section·id="s-django-3-2-17-release-notes">
81 <span·id="django-3-2-17-release-notes"></span><h1>Django·3.2.17·release·notes<a·class="headerlink"·href="#django-3-2-17-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-17-release-notes"></span><h1>Django·3.2.17·release·notes<a·class="headerlink"·href="#django-3-2-17-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2023</em></p>83 <p><em>February·1,·2023</em></p>
83 <p>Django·3.2.17·fixes·a·security·issue·with·severity·moderate·in·3.2.16.</p>84 <p>Django·3.2.17·fixes·a·security·issue·with·severity·moderate·in·3.2.16.</p>
84 <section·id="s-cve-2023-23969-potential-denial-of-service-via-accept-language-headers">85 <section·id="s-cve-2023-23969-potential-denial-of-service-via-accept-language-headers">
85 <span·id="cve-2023-23969-potential-denial-of-service-via-accept-language-headers"></span><h2>CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers<a·class="headerlink"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-23969-potential-denial-of-service-via-accept-language-headers"></span><h2>CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers<a·class="headerlink"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·parsed·values·of·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers·are·cached·in·order·to·avoid87 <p>The·parsed·values·of·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers·are·cached·in·order·to·avoid
87 repetitive·parsing.·This·leads·to·a·potential·denial-of-service·vector·via88 repetitive·parsing.·This·leads·to·a·potential·denial-of-service·vector·via
88 excessive·memory·usage·if·large·header·values·are·sent.</p>89 excessive·memory·usage·if·large·header·values·are·sent.</p>
89 <p>In·order·to·avoid·this·vulnerability,·the·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·header·is·now90 <p>In·order·to·avoid·this·vulnerability,·the·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·header·is·now
90 parsed·up·to·a·maximum·length.</p>91 parsed·up·to·a·maximum·length.</p>
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·3.2.17·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·3.2.17·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers">CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers</a></li>109 <li><a·class="reference·internal"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers">CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="3.2.18.html"116 ····<p·class="topless"><a·href="3.2.18.html"
116 ··························title="previous·chapter">Django·3.2.18·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·3.2.18·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="3.2.16.html"121 ····<p·class="topless"><a·href="3.2.16.html"
121 ··························title="next·chapter">Django·3.2.16·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·3.2.16·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.61 KB
html2text {}
Max HTML report size reached
8.3 KB
./usr/share/doc/python-django-doc/html/releases/3.2.18.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.18·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.18·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.17·release·notes"·href="3.2.17.html"·/>15 ····<link·rel="next"·title="Django·3.2.17·release·notes"·href="3.2.17.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.19·release·notes"·href="3.2.19.html"·/>16 ····<link·rel="prev"·title="Django·3.2.19·release·notes"·href="3.2.19.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.18">79 ··········<div·class="yui-g"·id="releases-3.2.18">
79 ············80 ············
80 ··<section·id="s-django-3-2-18-release-notes">81 ··<section·id="s-django-3-2-18-release-notes">
81 <span·id="django-3-2-18-release-notes"></span><h1>Django·3.2.18·release·notes<a·class="headerlink"·href="#django-3-2-18-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-18-release-notes"></span><h1>Django·3.2.18·release·notes<a·class="headerlink"·href="#django-3-2-18-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·14,·2023</em></p>83 <p><em>February·14,·2023</em></p>
83 <p>Django·3.2.18·fixes·a·security·issue·with·severity·moderate·in·3.2.17.</p>84 <p>Django·3.2.18·fixes·a·security·issue·with·severity·moderate·in·3.2.17.</p>
84 <section·id="s-cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">85 <section·id="s-cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">
85 <span·id="cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"></span><h2>CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads<a·class="headerlink"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"></span><h2>CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads<a·class="headerlink"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"·title="Link·to·this·heading">¶</a></h2>
86 <p>Passing·certain·inputs·to·multipart·forms·could·result·in·too·many·open·files87 <p>Passing·certain·inputs·to·multipart·forms·could·result·in·too·many·open·files
87 or·memory·exhaustion,·and·provided·a·potential·vector·for·a·denial-of-service88 or·memory·exhaustion,·and·provided·a·potential·vector·for·a·denial-of-service
88 attack.</p>89 attack.</p>
89 <p>The·number·of·files·parts·parsed·is·now·limited·via·the·new90 <p>The·number·of·files·parts·parsed·is·now·limited·via·the·new
90 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DATA_UPLOAD_MAX_NUMBER_FILES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATA_UPLOAD_MAX_NUMBER_FILES</span></code></a>·setting.</p>91 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DATA_UPLOAD_MAX_NUMBER_FILES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATA_UPLOAD_MAX_NUMBER_FILES</span></code></a>·setting.</p>
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·3.2.18·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·3.2.18·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads</a></li>109 <li><a·class="reference·internal"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="3.2.19.html"116 ····<p·class="topless"><a·href="3.2.19.html"
116 ··························title="previous·chapter">Django·3.2.19·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·3.2.19·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="3.2.17.html"121 ····<p·class="topless"><a·href="3.2.17.html"
121 ··························title="next·chapter">Django·3.2.17·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·3.2.17·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.63 KB
html2text {}
Max HTML report size reached
9.6 KB
./usr/share/doc/python-django-doc/html/releases/3.2.19.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.19·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.19·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.18·release·notes"·href="3.2.18.html"·/>15 ····<link·rel="next"·title="Django·3.2.18·release·notes"·href="3.2.18.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.20·release·notes"·href="3.2.20.html"·/>16 ····<link·rel="prev"·title="Django·3.2.20·release·notes"·href="3.2.20.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.19">79 ··········<div·class="yui-g"·id="releases-3.2.19">
79 ············80 ············
80 ··<section·id="s-django-3-2-19-release-notes">81 ··<section·id="s-django-3-2-19-release-notes">
81 <span·id="django-3-2-19-release-notes"></span><h1>Django·3.2.19·release·notes<a·class="headerlink"·href="#django-3-2-19-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-19-release-notes"></span><h1>Django·3.2.19·release·notes<a·class="headerlink"·href="#django-3-2-19-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>May·3,·2023</em></p>83 <p><em>May·3,·2023</em></p>
83 <p>Django·3.2.19·fixes·a·security·issue·with·severity·low·in·3.2.18.</p>84 <p>Django·3.2.19·fixes·a·security·issue·with·severity·low·in·3.2.18.</p>
84 <section·id="s-cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">85 <section·id="s-cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">
85 <span·id="cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"></span><h2>CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field<a·class="headerlink"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"></span><h2>CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field<a·class="headerlink"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"·title="Link·to·this·heading">¶</a></h2>
86 <p>Uploading·multiple·files·using·one·form·field·has·never·been·supported·by87 <p>Uploading·multiple·files·using·one·form·field·has·never·been·supported·by
87 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.FileField</span></code></a>·or·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.ImageField"·title="django.forms.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.ImageField</span></code></a>·as·only·the·last88 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.FileField</span></code></a>·or·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.ImageField"·title="django.forms.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.ImageField</span></code></a>·as·only·the·last
88 uploaded·file·was·validated.·Unfortunately,·<a·class="reference·internal"·href="../topics/http/file-uploads.html#uploading-multiple-files"><span·class="std·std-ref">Uploading·multiple·files</span></a>89 uploaded·file·was·validated.·Unfortunately,·<a·class="reference·internal"·href="../topics/http/file-uploads.html#uploading-multiple-files"><span·class="std·std-ref">Uploading·multiple·files</span></a>
89 topic·suggested·otherwise.</p>90 topic·suggested·otherwise.</p>
90 <p>In·order·to·avoid·the·vulnerability,·<a·class="reference·internal"·href="../ref/forms/widgets.html#django.forms.ClearableFileInput"·title="django.forms.ClearableFileInput"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ClearableFileInput</span></code></a>91 <p>In·order·to·avoid·the·vulnerability,·<a·class="reference·internal"·href="../ref/forms/widgets.html#django.forms.ClearableFileInput"·title="django.forms.ClearableFileInput"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ClearableFileInput</span></code></a>
Offset 103, 47 lines modifiedOffset 104, 47 lines modified
103 ······104 ······
104 ········105 ········
105 ··········<div·class="yui-b"·id="sidebar">106 ··········<div·class="yui-b"·id="sidebar">
106 ············107 ············
107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
108 ········<div·class="sphinxsidebarwrapper">109 ········<div·class="sphinxsidebarwrapper">
109 ··<div>110 ··<div>
110 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>111 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
111 ····<ul>112 ····<ul>
112 <li><a·class="reference·internal"·href="#">Django·3.2.19·release·notes</a><ul>113 <li><a·class="reference·internal"·href="#">Django·3.2.19·release·notes</a><ul>
113 <li><a·class="reference·internal"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field</a></li>114 <li><a·class="reference·internal"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field</a></li>
114 </ul>115 </ul>
115 </li>116 </li>
116 </ul>117 </ul>
  
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Previous·topic</h4>120 ····<h4>Eelmine·teema</h4>
120 ····<p·class="topless"><a·href="3.2.20.html"121 ····<p·class="topless"><a·href="3.2.20.html"
121 ··························title="previous·chapter">Django·3.2.20·release·notes</a></p>122 ··························title="eelmine·jaotis">Django·3.2.20·release·notes</a></p>
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Next·topic</h4>125 ····<h4>Järgmine·teema</h4>
125 ····<p·class="topless"><a·href="3.2.18.html"126 ····<p·class="topless"><a·href="3.2.18.html"
126 ··························title="next·chapter">Django·3.2.18·release·notes</a></p>127 ··························title="järgmine·jaotis">Django·3.2.18·release·notes</a></p>
127 ··</div>128 ··</div>
128 <search·id="searchbox"·style="display:·none"·role="search">129 <search·id="searchbox"·style="display:·none"·role="search">
129 ··<h3·id="searchlabel">Quick·search</h3>130 ··<h3·id="searchlabel">Kiirotsing</h3>
130 ····<div·class="searchformwrapper">131 ····<div·class="searchformwrapper">
131 ····<form·class="search"·action="../search.html"·method="get">132 ····<form·class="search"·action="../search.html"·method="get">
132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
133 ······<input·type="submit"·value="Go"·/>134 ······<input·type="submit"·value="Otsi"·/>
134 ····</form>135 ····</form>
135 ····</div>136 ····</div>
136 </search>137 </search>
137 <script>document.getElementById('searchbox').style.display·=·"block"</script>138 <script>document.getElementById('searchbox').style.display·=·"block"</script>
138 ········</div>139 ········</div>
139 ······</div>140 ······</div>
140 ··············<h3>Last·update:</h3>141 ··············<h3>Last·update:</h3>
141 ··············<p·class="topless">Nov·05,·2024</p>142 ··············<p·class="topless">nov·05,·2024</p>
142 ··········</div>143 ··········</div>
143 ········144 ········
144 ······145 ······
145 ····</div>146 ····</div>
  
146 ····<div·id="ft">147 ····<div·id="ft">
147 ······<div·class="nav">148 ······<div·class="nav">
3.21 KB
html2text {}
Max HTML report size reached
7.33 KB
./usr/share/doc/python-django-doc/html/releases/3.2.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.1·release·notes"·href="3.2.1.html"·/>15 ····<link·rel="next"·title="Django·3.2.1·release·notes"·href="3.2.1.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.3·release·notes"·href="3.2.3.html"·/>16 ····<link·rel="prev"·title="Django·3.2.3·release·notes"·href="3.2.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 110, 48 lines modifiedOffset 111, 48 lines modified
110 ······111 ······
111 ········112 ········
112 ··········<div·class="yui-b"·id="sidebar">113 ··········<div·class="yui-b"·id="sidebar">
113 ············114 ············
114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
115 ········<div·class="sphinxsidebarwrapper">116 ········<div·class="sphinxsidebarwrapper">
116 ··<div>117 ··<div>
117 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>118 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
118 ····<ul>119 ····<ul>
119 <li><a·class="reference·internal"·href="#">Django·3.2.2·release·notes</a><ul>120 <li><a·class="reference·internal"·href="#">Django·3.2.2·release·notes</a><ul>
120 <li><a·class="reference·internal"·href="#cve-2021-32052-header-injection-possibility-since-urlvalidator-accepted-newlines-in-input-on-python-3-9-5">CVE-2021-32052:·Header·injection·possibility·since·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·accepted·newlines·in·input·on·Python·3.9.5+</a></li>121 <li><a·class="reference·internal"·href="#cve-2021-32052-header-injection-possibility-since-urlvalidator-accepted-newlines-in-input-on-python-3-9-5">CVE-2021-32052:·Header·injection·possibility·since·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·accepted·newlines·in·input·on·Python·3.9.5+</a></li>
121 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>122 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
122 </ul>123 </ul>
123 </li>124 </li>
124 </ul>125 </ul>
  
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Previous·topic</h4>128 ····<h4>Eelmine·teema</h4>
128 ····<p·class="topless"><a·href="3.2.3.html"129 ····<p·class="topless"><a·href="3.2.3.html"
129 ··························title="previous·chapter">Django·3.2.3·release·notes</a></p>130 ··························title="eelmine·jaotis">Django·3.2.3·release·notes</a></p>
130 ··</div>131 ··</div>
131 ··<div>132 ··<div>
132 ····<h4>Next·topic</h4>133 ····<h4>Järgmine·teema</h4>
133 ····<p·class="topless"><a·href="3.2.1.html"134 ····<p·class="topless"><a·href="3.2.1.html"
134 ··························title="next·chapter">Django·3.2.1·release·notes</a></p>135 ··························title="järgmine·jaotis">Django·3.2.1·release·notes</a></p>
135 ··</div>136 ··</div>
136 <search·id="searchbox"·style="display:·none"·role="search">137 <search·id="searchbox"·style="display:·none"·role="search">
137 ··<h3·id="searchlabel">Quick·search</h3>138 ··<h3·id="searchlabel">Kiirotsing</h3>
138 ····<div·class="searchformwrapper">139 ····<div·class="searchformwrapper">
139 ····<form·class="search"·action="../search.html"·method="get">140 ····<form·class="search"·action="../search.html"·method="get">
140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>141 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
141 ······<input·type="submit"·value="Go"·/>142 ······<input·type="submit"·value="Otsi"·/>
142 ····</form>143 ····</form>
143 ····</div>144 ····</div>
144 </search>145 </search>
145 <script>document.getElementById('searchbox').style.display·=·"block"</script>146 <script>document.getElementById('searchbox').style.display·=·"block"</script>
146 ········</div>147 ········</div>
147 ······</div>148 ······</div>
148 ··············<h3>Last·update:</h3>149 ··············<h3>Last·update:</h3>
149 ··············<p·class="topless">Nov·05,·2024</p>150 ··············<p·class="topless">nov·05,·2024</p>
150 ··········</div>151 ··········</div>
151 ········152 ········
152 ······153 ······
153 ····</div>154 ····</div>
  
154 ····<div·id="ft">155 ····<div·id="ft">
155 ······<div·class="nav">156 ······<div·class="nav">
2.88 KB
html2text {}
Max HTML report size reached
8.69 KB
./usr/share/doc/python-django-doc/html/releases/3.2.20.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.20·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.20·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.19·release·notes"·href="3.2.19.html"·/>15 ····<link·rel="next"·title="Django·3.2.19·release·notes"·href="3.2.19.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.21·release·notes"·href="3.2.21.html"·/>16 ····<link·rel="prev"·title="Django·3.2.21·release·notes"·href="3.2.21.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.20">79 ··········<div·class="yui-g"·id="releases-3.2.20">
79 ············80 ············
80 ··<section·id="s-django-3-2-20-release-notes">81 ··<section·id="s-django-3-2-20-release-notes">
81 <span·id="django-3-2-20-release-notes"></span><h1>Django·3.2.20·release·notes<a·class="headerlink"·href="#django-3-2-20-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-20-release-notes"></span><h1>Django·3.2.20·release·notes<a·class="headerlink"·href="#django-3-2-20-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>July·3,·2023</em></p>83 <p><em>July·3,·2023</em></p>
83 <p>Django·3.2.20·fixes·a·security·issue·with·severity·moderate·in·3.2.19.</p>84 <p>Django·3.2.20·fixes·a·security·issue·with·severity·moderate·in·3.2.19.</p>
84 <section·id="s-cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">85 <section·id="s-cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">
85 <span·id="cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"></span><h2>CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code><a·class="headerlink"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"></span><h2>CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code><a·class="headerlink"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"·title="Link·to·this·heading">¶</a></h2>
86 <p><code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·were·subject·to·potential·regular87 <p><code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·were·subject·to·potential·regular
87 expression·denial·of·service·attack·via·a·very·large·number·of·domain·name88 expression·denial·of·service·attack·via·a·very·large·number·of·domain·name
88 labels·of·emails·and·URLs.</p>89 labels·of·emails·and·URLs.</p>
89 </section>90 </section>
90 </section>91 </section>
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·3.2.20·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·3.2.20·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a></li>107 <li><a·class="reference·internal"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="3.2.21.html"114 ····<p·class="topless"><a·href="3.2.21.html"
114 ··························title="previous·chapter">Django·3.2.21·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·3.2.21·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="3.2.19.html"119 ····<p·class="topless"><a·href="3.2.19.html"
119 ··························title="next·chapter">Django·3.2.19·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·3.2.19·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
2.66 KB
html2text {}
Max HTML report size reached
8.32 KB
./usr/share/doc/python-django-doc/html/releases/3.2.21.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.21·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.21·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.20·release·notes"·href="3.2.20.html"·/>15 ····<link·rel="next"·title="Django·3.2.20·release·notes"·href="3.2.20.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.22·release·notes"·href="3.2.22.html"·/>16 ····<link·rel="prev"·title="Django·3.2.22·release·notes"·href="3.2.22.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.21">79 ··········<div·class="yui-g"·id="releases-3.2.21">
79 ············80 ············
80 ··<section·id="s-django-3-2-21-release-notes">81 ··<section·id="s-django-3-2-21-release-notes">
81 <span·id="django-3-2-21-release-notes"></span><h1>Django·3.2.21·release·notes<a·class="headerlink"·href="#django-3-2-21-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-21-release-notes"></span><h1>Django·3.2.21·release·notes<a·class="headerlink"·href="#django-3-2-21-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>September·4,·2023</em></p>83 <p><em>September·4,·2023</em></p>
83 <p>Django·3.2.21·fixes·a·security·issue·with·severity·moderate·in·3.2.20.</p>84 <p>Django·3.2.21·fixes·a·security·issue·with·severity·moderate·in·3.2.20.</p>
84 <section·id="s-cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">85 <section·id="s-cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">
85 <span·id="cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"></span><h2>CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code><a·class="headerlink"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"></span><h2>CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code><a·class="headerlink"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"·title="Link·to·this·heading">¶</a></h2>
86 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code>·was·subject·to·potential·denial·of87 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code>·was·subject·to·potential·denial·of
87 service·attack·via·certain·inputs·with·a·very·large·number·of·Unicode88 service·attack·via·certain·inputs·with·a·very·large·number·of·Unicode
88 characters.</p>89 characters.</p>
89 </section>90 </section>
90 </section>91 </section>
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·3.2.21·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·3.2.21·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>107 <li><a·class="reference·internal"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="3.2.22.html"114 ····<p·class="topless"><a·href="3.2.22.html"
114 ··························title="previous·chapter">Django·3.2.22·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·3.2.22·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="3.2.20.html"119 ····<p·class="topless"><a·href="3.2.20.html"
119 ··························title="next·chapter">Django·3.2.20·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·3.2.20·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
2.59 KB
html2text {}
Max HTML report size reached
9.3 KB
./usr/share/doc/python-django-doc/html/releases/3.2.22.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.22·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.22·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.21·release·notes"·href="3.2.21.html"·/>15 ····<link·rel="next"·title="Django·3.2.21·release·notes"·href="3.2.21.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.23·release·notes"·href="3.2.23.html"·/>16 ····<link·rel="prev"·title="Django·3.2.23·release·notes"·href="3.2.23.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.22">79 ··········<div·class="yui-g"·id="releases-3.2.22">
79 ············80 ············
80 ··<section·id="s-django-3-2-22-release-notes">81 ··<section·id="s-django-3-2-22-release-notes">
81 <span·id="django-3-2-22-release-notes"></span><h1>Django·3.2.22·release·notes<a·class="headerlink"·href="#django-3-2-22-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-22-release-notes"></span><h1>Django·3.2.22·release·notes<a·class="headerlink"·href="#django-3-2-22-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>October·4,·2023</em></p>83 <p><em>October·4,·2023</em></p>
83 <p>Django·3.2.22·fixes·a·security·issue·with·severity·moderate·in·3.2.21.</p>84 <p>Django·3.2.22·fixes·a·security·issue·with·severity·moderate·in·3.2.21.</p>
84 <section·id="s-cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">85 <section·id="s-cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">
85 <span·id="cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"></span><h2>CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code><a·class="headerlink"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"></span><h2>CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code><a·class="headerlink"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"·title="Link·to·this·heading">¶</a></h2>
86 <p>Following·the·fix·for·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>,·the·regular·expressions·used·in·the87 <p>Following·the·fix·for·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>,·the·regular·expressions·used·in·the
87 implementation·of·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">chars()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">words()</span></code>88 implementation·of·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">chars()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">words()</span></code>
88 methods·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·were·revised·and·improved.·However,·these·regular89 methods·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·were·revised·and·improved.·However,·these·regular
89 expressions·still·exhibited·linear·backtracking·complexity,·so·when·given·a90 expressions·still·exhibited·linear·backtracking·complexity,·so·when·given·a
90 very·long,·potentially·malformed·HTML·input,·the·evaluation·would·still·be91 very·long,·potentially·malformed·HTML·input,·the·evaluation·would·still·be
Offset 105, 47 lines modifiedOffset 106, 47 lines modified
105 ······106 ······
106 ········107 ········
107 ··········<div·class="yui-b"·id="sidebar">108 ··········<div·class="yui-b"·id="sidebar">
108 ············109 ············
109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
110 ········<div·class="sphinxsidebarwrapper">111 ········<div·class="sphinxsidebarwrapper">
111 ··<div>112 ··<div>
112 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>113 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
113 ····<ul>114 ····<ul>
114 <li><a·class="reference·internal"·href="#">Django·3.2.22·release·notes</a><ul>115 <li><a·class="reference·internal"·href="#">Django·3.2.22·release·notes</a><ul>
115 <li><a·class="reference·internal"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>116 <li><a·class="reference·internal"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="3.2.23.html"123 ····<p·class="topless"><a·href="3.2.23.html"
123 ··························title="previous·chapter">Django·3.2.23·release·notes</a></p>124 ··························title="eelmine·jaotis">Django·3.2.23·release·notes</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="3.2.21.html"128 ····<p·class="topless"><a·href="3.2.21.html"
128 ··························title="next·chapter">Django·3.2.21·release·notes</a></p>129 ··························title="järgmine·jaotis">Django·3.2.21·release·notes</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
3.18 KB
html2text {}
Max HTML report size reached
9.31 KB
./usr/share/doc/python-django-doc/html/releases/3.2.23.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.23·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.23·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.22·release·notes"·href="3.2.22.html"·/>15 ····<link·rel="next"·title="Django·3.2.22·release·notes"·href="3.2.22.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.24·release·notes"·href="3.2.24.html"·/>16 ····<link·rel="prev"·title="Django·3.2.24·release·notes"·href="3.2.24.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 18 lines modifiedOffset 77, 18 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.23">79 ··········<div·class="yui-g"·id="releases-3.2.23">
79 ············80 ············
80 ··<section·id="s-django-3-2-23-release-notes">81 ··<section·id="s-django-3-2-23-release-notes">
81 <span·id="django-3-2-23-release-notes"></span><h1>Django·3.2.23·release·notes<a·class="headerlink"·href="#django-3-2-23-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-23-release-notes"></span><h1>Django·3.2.23·release·notes<a·class="headerlink"·href="#django-3-2-23-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>November·1,·2023</em></p>83 <p><em>November·1,·2023</em></p>
83 <p>Django·3.2.23·fixes·a·security·issue·with·severity·moderate·in·3.2.22.</p>84 <p>Django·3.2.23·fixes·a·security·issue·with·severity·moderate·in·3.2.22.</p>
84 <section·id="s-cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">85 <section·id="s-cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">
85 <span·id="cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"></span><h2>CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows<a·class="headerlink"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"></span><h2>CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows<a·class="headerlink"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unicodedata.html#unicodedata.normalize"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">NFKC</span>·<span·class="pre">normalization</span></code></a>·is·slow·on87 <p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unicodedata.html#unicodedata.normalize"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">NFKC</span>·<span·class="pre">normalization</span></code></a>·is·slow·on
87 Windows.·As·a·consequence,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.forms.UsernameField</span></code>·was88 Windows.·As·a·consequence,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.forms.UsernameField</span></code>·was
88 subject·to·a·potential·denial·of·service·attack·via·certain·inputs·with·a·very89 subject·to·a·potential·denial·of·service·attack·via·certain·inputs·with·a·very
89 large·number·of·Unicode·characters.</p>90 large·number·of·Unicode·characters.</p>
90 <p>In·order·to·avoid·the·vulnerability,·invalid·values·longer·than91 <p>In·order·to·avoid·the·vulnerability,·invalid·values·longer·than
91 <code·class="docutils·literal·notranslate"><span·class="pre">UsernameField.max_length</span></code>·are·no·longer·normalized,·since·they·cannot·pass92 <code·class="docutils·literal·notranslate"><span·class="pre">UsernameField.max_length</span></code>·are·no·longer·normalized,·since·they·cannot·pass
92 validation·anyway.</p>93 validation·anyway.</p>
93 </section>94 </section>
Offset 100, 47 lines modifiedOffset 101, 47 lines modified
100 ······101 ······
101 ········102 ········
102 ··········<div·class="yui-b"·id="sidebar">103 ··········<div·class="yui-b"·id="sidebar">
103 ············104 ············
104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
105 ········<div·class="sphinxsidebarwrapper">106 ········<div·class="sphinxsidebarwrapper">
106 ··<div>107 ··<div>
107 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>108 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
108 ····<ul>109 ····<ul>
109 <li><a·class="reference·internal"·href="#">Django·3.2.23·release·notes</a><ul>110 <li><a·class="reference·internal"·href="#">Django·3.2.23·release·notes</a><ul>
110 <li><a·class="reference·internal"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows</a></li>111 <li><a·class="reference·internal"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows</a></li>
111 </ul>112 </ul>
112 </li>113 </li>
113 </ul>114 </ul>
  
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Previous·topic</h4>117 ····<h4>Eelmine·teema</h4>
117 ····<p·class="topless"><a·href="3.2.24.html"118 ····<p·class="topless"><a·href="3.2.24.html"
118 ··························title="previous·chapter">Django·3.2.24·release·notes</a></p>119 ··························title="eelmine·jaotis">Django·3.2.24·release·notes</a></p>
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Next·topic</h4>122 ····<h4>Järgmine·teema</h4>
122 ····<p·class="topless"><a·href="3.2.22.html"123 ····<p·class="topless"><a·href="3.2.22.html"
123 ··························title="next·chapter">Django·3.2.22·release·notes</a></p>124 ··························title="järgmine·jaotis">Django·3.2.22·release·notes</a></p>
124 ··</div>125 ··</div>
125 <search·id="searchbox"·style="display:·none"·role="search">126 <search·id="searchbox"·style="display:·none"·role="search">
126 ··<h3·id="searchlabel">Quick·search</h3>127 ··<h3·id="searchlabel">Kiirotsing</h3>
127 ····<div·class="searchformwrapper">128 ····<div·class="searchformwrapper">
128 ····<form·class="search"·action="../search.html"·method="get">129 ····<form·class="search"·action="../search.html"·method="get">
129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
130 ······<input·type="submit"·value="Go"·/>131 ······<input·type="submit"·value="Otsi"·/>
131 ····</form>132 ····</form>
132 ····</div>133 ····</div>
133 </search>134 </search>
134 <script>document.getElementById('searchbox').style.display·=·"block"</script>135 <script>document.getElementById('searchbox').style.display·=·"block"</script>
135 ········</div>136 ········</div>
136 ······</div>137 ······</div>
137 ··············<h3>Last·update:</h3>138 ··············<h3>Last·update:</h3>
138 ··············<p·class="topless">Nov·05,·2024</p>139 ··············<p·class="topless">nov·05,·2024</p>
139 ··········</div>140 ··········</div>
140 ········141 ········
141 ······142 ······
142 ····</div>143 ····</div>
  
143 ····<div·id="ft">144 ····<div·id="ft">
144 ······<div·class="nav">145 ······<div·class="nav">
2.79 KB
html2text {}
Max HTML report size reached
7.97 KB
./usr/share/doc/python-django-doc/html/releases/3.2.24.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.24·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.24·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.23·release·notes"·href="3.2.23.html"·/>15 ····<link·rel="next"·title="Django·3.2.23·release·notes"·href="3.2.23.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.25·release·notes"·href="3.2.25.html"·/>16 ····<link·rel="prev"·title="Django·3.2.25·release·notes"·href="3.2.25.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.24">79 ··········<div·class="yui-g"·id="releases-3.2.24">
79 ············80 ············
80 ··<section·id="s-django-3-2-24-release-notes">81 ··<section·id="s-django-3-2-24-release-notes">
81 <span·id="django-3-2-24-release-notes"></span><h1>Django·3.2.24·release·notes<a·class="headerlink"·href="#django-3-2-24-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-24-release-notes"></span><h1>Django·3.2.24·release·notes<a·class="headerlink"·href="#django-3-2-24-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·6,·2024</em></p>83 <p><em>February·6,·2024</em></p>
83 <p>Django·3.2.24·fixes·a·security·issue·with·severity·moderate·in·3.2.23.</p>84 <p>Django·3.2.24·fixes·a·security·issue·with·severity·moderate·in·3.2.23.</p>
84 <section·id="s-cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">85 <section·id="s-cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">
85 <span·id="cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"></span><h2>CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter<a·class="headerlink"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"></span><h2>CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter<a·class="headerlink"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter·was·subject·to·a·potential·denial-of-service87 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter·was·subject·to·a·potential·denial-of-service
87 attack·when·used·with·very·long·strings.</p>88 attack·when·used·with·very·long·strings.</p>
88 </section>89 </section>
89 </section>90 </section>
  
Offset 95, 47 lines modifiedOffset 96, 47 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>103 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
103 ····<ul>104 ····<ul>
104 <li><a·class="reference·internal"·href="#">Django·3.2.24·release·notes</a><ul>105 <li><a·class="reference·internal"·href="#">Django·3.2.24·release·notes</a><ul>
105 <li><a·class="reference·internal"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter</a></li>106 <li><a·class="reference·internal"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter</a></li>
106 </ul>107 </ul>
107 </li>108 </li>
108 </ul>109 </ul>
  
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="3.2.25.html"113 ····<p·class="topless"><a·href="3.2.25.html"
113 ··························title="previous·chapter">Django·3.2.25·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·3.2.25·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="3.2.23.html"118 ····<p·class="topless"><a·href="3.2.23.html"
118 ··························title="next·chapter">Django·3.2.23·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·3.2.23·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.42 KB
html2text {}
Max HTML report size reached
9.46 KB
./usr/share/doc/python-django-doc/html/releases/3.2.25.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.25·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.25·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.24·release·notes"·href="3.2.24.html"·/>15 ····<link·rel="next"·title="Django·3.2.24·release·notes"·href="3.2.24.html"·/>
15 ····<link·rel="prev"·title="Django·4.0·release·notes"·href="4.0.html"·/>16 ····<link·rel="prev"·title="Django·4.0·release·notes"·href="4.0.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.25">79 ··········<div·class="yui-g"·id="releases-3.2.25">
79 ············80 ············
80 ··<section·id="s-django-3-2-25-release-notes">81 ··<section·id="s-django-3-2-25-release-notes">
81 <span·id="django-3-2-25-release-notes"></span><h1>Django·3.2.25·release·notes<a·class="headerlink"·href="#django-3-2-25-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-25-release-notes"></span><h1>Django·3.2.25·release·notes<a·class="headerlink"·href="#django-3-2-25-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>March·4,·2024</em></p>83 <p><em>March·4,·2024</em></p>
83 <p>Django·3.2.25·fixes·a·security·issue·with·severity·moderate·and·a·regression84 <p>Django·3.2.25·fixes·a·security·issue·with·severity·moderate·and·a·regression
84 in·3.2.24.</p>85 in·3.2.24.</p>
85 <section·id="s-cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">86 <section·id="s-cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">
86 <span·id="cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"></span><h2>CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code><a·class="headerlink"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"></span><h2>CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code><a·class="headerlink"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"·title="Link·to·this·heading">¶</a></h2>
87 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code>·method·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·and88 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code>·method·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·and
88 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatewords_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code></a>·template·filter·were·subject·to·a·potential89 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatewords_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code></a>·template·filter·were·subject·to·a·potential
89 regular·expression·denial-of-service·attack·using·a·suitably·crafted·string90 regular·expression·denial-of-service·attack·using·a·suitably·crafted·string
90 (follow·up·to·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>·and·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2023-43665">CVE-2023-43665</a>).</p>91 (follow·up·to·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>·and·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2023-43665">CVE-2023-43665</a>).</p>
Offset 105, 48 lines modifiedOffset 106, 48 lines modified
105 ······106 ······
106 ········107 ········
107 ··········<div·class="yui-b"·id="sidebar">108 ··········<div·class="yui-b"·id="sidebar">
108 ············109 ············
109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
110 ········<div·class="sphinxsidebarwrapper">111 ········<div·class="sphinxsidebarwrapper">
111 ··<div>112 ··<div>
112 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>113 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
113 ····<ul>114 ····<ul>
114 <li><a·class="reference·internal"·href="#">Django·3.2.25·release·notes</a><ul>115 <li><a·class="reference·internal"·href="#">Django·3.2.25·release·notes</a><ul>
115 <li><a·class="reference·internal"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code></a></li>116 <li><a·class="reference·internal"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code></a></li>
116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="4.0.html"124 ····<p·class="topless"><a·href="4.0.html"
124 ··························title="previous·chapter">Django·4.0·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·4.0·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="3.2.24.html"129 ····<p·class="topless"><a·href="3.2.24.html"
129 ··························title="next·chapter">Django·3.2.24·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·3.2.24·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
3.09 KB
html2text {}
Max HTML report size reached
6.34 KB
./usr/share/doc/python-django-doc/html/releases/3.2.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.2·release·notes"·href="3.2.2.html"·/>15 ····<link·rel="next"·title="Django·3.2.2·release·notes"·href="3.2.2.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.4·release·notes"·href="3.2.4.html"·/>16 ····<link·rel="prev"·title="Django·3.2.4·release·notes"·href="3.2.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·3.2.3·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·3.2.3·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="3.2.4.html"120 ····<p·class="topless"><a·href="3.2.4.html"
120 ··························title="previous·chapter">Django·3.2.4·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·3.2.4·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="3.2.2.html"125 ····<p·class="topless"><a·href="3.2.2.html"
125 ··························title="next·chapter">Django·3.2.2·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·3.2.2·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.23 KB
html2text {}
Max HTML report size reached
7.77 KB
./usr/share/doc/python-django-doc/html/releases/3.2.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.3·release·notes"·href="3.2.3.html"·/>15 ····<link·rel="next"·title="Django·3.2.3·release·notes"·href="3.2.3.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.5·release·notes"·href="3.2.5.html"·/>16 ····<link·rel="prev"·title="Django·3.2.5·release·notes"·href="3.2.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 132, 49 lines modifiedOffset 133, 49 lines modified
132 ······133 ······
133 ········134 ········
134 ··········<div·class="yui-b"·id="sidebar">135 ··········<div·class="yui-b"·id="sidebar">
135 ············136 ············
136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">137 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
137 ········<div·class="sphinxsidebarwrapper">138 ········<div·class="sphinxsidebarwrapper">
138 ··<div>139 ··<div>
139 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>140 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
140 ····<ul>141 ····<ul>
141 <li><a·class="reference·internal"·href="#">Django·3.2.4·release·notes</a><ul>142 <li><a·class="reference·internal"·href="#">Django·3.2.4·release·notes</a><ul>
142 <li><a·class="reference·internal"·href="#cve-2021-33203-potential-directory-traversal-via-admindocs">CVE-2021-33203:·Potential·directory·traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">admindocs</span></code></a></li>143 <li><a·class="reference·internal"·href="#cve-2021-33203-potential-directory-traversal-via-admindocs">CVE-2021-33203:·Potential·directory·traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">admindocs</span></code></a></li>
143 <li><a·class="reference·internal"·href="#cve-2021-33571-possible-indeterminate-ssrf-rfi-and-lfi-attacks-since-validators-accepted-leading-zeros-in-ipv4-addresses">CVE-2021-33571:·Possible·indeterminate·SSRF,·RFI,·and·LFI·attacks·since·validators·accepted·leading·zeros·in·IPv4·addresses</a></li>144 <li><a·class="reference·internal"·href="#cve-2021-33571-possible-indeterminate-ssrf-rfi-and-lfi-attacks-since-validators-accepted-leading-zeros-in-ipv4-addresses">CVE-2021-33571:·Possible·indeterminate·SSRF,·RFI,·and·LFI·attacks·since·validators·accepted·leading·zeros·in·IPv4·addresses</a></li>
144 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>145 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
145 </ul>146 </ul>
146 </li>147 </li>
147 </ul>148 </ul>
  
148 ··</div>149 ··</div>
149 ··<div>150 ··<div>
150 ····<h4>Previous·topic</h4>151 ····<h4>Eelmine·teema</h4>
151 ····<p·class="topless"><a·href="3.2.5.html"152 ····<p·class="topless"><a·href="3.2.5.html"
152 ··························title="previous·chapter">Django·3.2.5·release·notes</a></p>153 ··························title="eelmine·jaotis">Django·3.2.5·release·notes</a></p>
153 ··</div>154 ··</div>
154 ··<div>155 ··<div>
155 ····<h4>Next·topic</h4>156 ····<h4>Järgmine·teema</h4>
156 ····<p·class="topless"><a·href="3.2.3.html"157 ····<p·class="topless"><a·href="3.2.3.html"
157 ··························title="next·chapter">Django·3.2.3·release·notes</a></p>158 ··························title="järgmine·jaotis">Django·3.2.3·release·notes</a></p>
158 ··</div>159 ··</div>
159 <search·id="searchbox"·style="display:·none"·role="search">160 <search·id="searchbox"·style="display:·none"·role="search">
160 ··<h3·id="searchlabel">Quick·search</h3>161 ··<h3·id="searchlabel">Kiirotsing</h3>
161 ····<div·class="searchformwrapper">162 ····<div·class="searchformwrapper">
162 ····<form·class="search"·action="../search.html"·method="get">163 ····<form·class="search"·action="../search.html"·method="get">
163 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>164 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
164 ······<input·type="submit"·value="Go"·/>165 ······<input·type="submit"·value="Otsi"·/>
165 ····</form>166 ····</form>
166 ····</div>167 ····</div>
167 </search>168 </search>
168 <script>document.getElementById('searchbox').style.display·=·"block"</script>169 <script>document.getElementById('searchbox').style.display·=·"block"</script>
169 ········</div>170 ········</div>
170 ······</div>171 ······</div>
171 ··············<h3>Last·update:</h3>172 ··············<h3>Last·update:</h3>
172 ··············<p·class="topless">Nov·05,·2024</p>173 ··············<p·class="topless">nov·05,·2024</p>
173 ··········</div>174 ··········</div>
174 ········175 ········
175 ······176 ······
176 ····</div>177 ····</div>
  
177 ····<div·id="ft">178 ····<div·id="ft">
178 ······<div·class="nav">179 ······<div·class="nav">
3.12 KB
html2text {}
Max HTML report size reached
9.07 KB
./usr/share/doc/python-django-doc/html/releases/3.2.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.4·release·notes"·href="3.2.4.html"·/>15 ····<link·rel="next"·title="Django·3.2.4·release·notes"·href="3.2.4.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.6·release·notes"·href="3.2.6.html"·/>16 ····<link·rel="prev"·title="Django·3.2.6·release·notes"·href="3.2.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-3.2.5">79 ··········<div·class="yui-g"·id="releases-3.2.5">
79 ············80 ············
80 ··<section·id="s-django-3-2-5-release-notes">81 ··<section·id="s-django-3-2-5-release-notes">
81 <span·id="django-3-2-5-release-notes"></span><h1>Django·3.2.5·release·notes<a·class="headerlink"·href="#django-3-2-5-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-3-2-5-release-notes"></span><h1>Django·3.2.5·release·notes<a·class="headerlink"·href="#django-3-2-5-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>July·1,·2021</em></p>83 <p><em>July·1,·2021</em></p>
83 <p>Django·3.2.5·fixes·a·security·issue·with·severity·high·and·several·bugs·in84 <p>Django·3.2.5·fixes·a·security·issue·with·severity·high·and·several·bugs·in
84 3.2.4.·Also,·the·latest·string·translations·from·Transifex·are·incorporated.</p>85 3.2.4.·Also,·the·latest·string·translations·from·Transifex·are·incorporated.</p>
85 <section·id="s-cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input">86 <section·id="s-cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input">
86 <span·id="cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input"></span><h2>CVE-2021-35042:·Potential·SQL·injection·via·unsanitized·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·input<a·class="headerlink"·href="#cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input"></span><h2>CVE-2021-35042:·Potential·SQL·injection·via·unsanitized·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·input<a·class="headerlink"·href="#cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input"·title="Link·to·this·heading">¶</a></h2>
87 <p>Unsanitized·user·input·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·could·bypass·intended88 <p>Unsanitized·user·input·passed·to·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·could·bypass·intended
88 column·reference·validation·in·path·marked·for·deprecation·resulting·in·a89 column·reference·validation·in·path·marked·for·deprecation·resulting·in·a
89 potential·SQL·injection·even·if·a·deprecation·warning·is·emitted.</p>90 potential·SQL·injection·even·if·a·deprecation·warning·is·emitted.</p>
90 <p>As·a·mitigation·the·strict·column·reference·validation·was·restored·for·the91 <p>As·a·mitigation·the·strict·column·reference·validation·was·restored·for·the
Offset 118, 48 lines modifiedOffset 119, 48 lines modified
118 ······119 ······
119 ········120 ········
120 ··········<div·class="yui-b"·id="sidebar">121 ··········<div·class="yui-b"·id="sidebar">
121 ············122 ············
122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">123 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
123 ········<div·class="sphinxsidebarwrapper">124 ········<div·class="sphinxsidebarwrapper">
124 ··<div>125 ··<div>
125 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>126 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
126 ····<ul>127 ····<ul>
127 <li><a·class="reference·internal"·href="#">Django·3.2.5·release·notes</a><ul>128 <li><a·class="reference·internal"·href="#">Django·3.2.5·release·notes</a><ul>
128 <li><a·class="reference·internal"·href="#cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input">CVE-2021-35042:·Potential·SQL·injection·via·unsanitized·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·input</a></li>129 <li><a·class="reference·internal"·href="#cve-2021-35042-potential-sql-injection-via-unsanitized-queryset-order-by-input">CVE-2021-35042:·Potential·SQL·injection·via·unsanitized·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.order_by()</span></code>·input</a></li>
129 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>130 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
130 </ul>131 </ul>
131 </li>132 </li>
132 </ul>133 </ul>
  
133 ··</div>134 ··</div>
134 ··<div>135 ··<div>
135 ····<h4>Previous·topic</h4>136 ····<h4>Eelmine·teema</h4>
136 ····<p·class="topless"><a·href="3.2.6.html"137 ····<p·class="topless"><a·href="3.2.6.html"
137 ··························title="previous·chapter">Django·3.2.6·release·notes</a></p>138 ··························title="eelmine·jaotis">Django·3.2.6·release·notes</a></p>
138 ··</div>139 ··</div>
139 ··<div>140 ··<div>
140 ····<h4>Next·topic</h4>141 ····<h4>Järgmine·teema</h4>
141 ····<p·class="topless"><a·href="3.2.4.html"142 ····<p·class="topless"><a·href="3.2.4.html"
142 ··························title="next·chapter">Django·3.2.4·release·notes</a></p>143 ··························title="järgmine·jaotis">Django·3.2.4·release·notes</a></p>
143 ··</div>144 ··</div>
144 <search·id="searchbox"·style="display:·none"·role="search">145 <search·id="searchbox"·style="display:·none"·role="search">
145 ··<h3·id="searchlabel">Quick·search</h3>146 ··<h3·id="searchlabel">Kiirotsing</h3>
146 ····<div·class="searchformwrapper">147 ····<div·class="searchformwrapper">
147 ····<form·class="search"·action="../search.html"·method="get">148 ····<form·class="search"·action="../search.html"·method="get">
148 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>149 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
149 ······<input·type="submit"·value="Go"·/>150 ······<input·type="submit"·value="Otsi"·/>
150 ····</form>151 ····</form>
151 ····</div>152 ····</div>
152 </search>153 </search>
153 <script>document.getElementById('searchbox').style.display·=·"block"</script>154 <script>document.getElementById('searchbox').style.display·=·"block"</script>
154 ········</div>155 ········</div>
155 ······</div>156 ······</div>
156 ··············<h3>Last·update:</h3>157 ··············<h3>Last·update:</h3>
157 ··············<p·class="topless">Nov·05,·2024</p>158 ··············<p·class="topless">nov·05,·2024</p>
158 ··········</div>159 ··········</div>
159 ········160 ········
160 ······161 ······
161 ····</div>162 ····</div>
  
162 ····<div·id="ft">163 ····<div·id="ft">
163 ······<div·class="nav">164 ······<div·class="nav">
3.19 KB
html2text {}
Max HTML report size reached
6.31 KB
./usr/share/doc/python-django-doc/html/releases/3.2.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.5·release·notes"·href="3.2.5.html"·/>15 ····<link·rel="next"·title="Django·3.2.5·release·notes"·href="3.2.5.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.7·release·notes"·href="3.2.7.html"·/>16 ····<link·rel="prev"·title="Django·3.2.7·release·notes"·href="3.2.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 101, 47 lines modifiedOffset 102, 47 lines modified
101 ······102 ······
102 ········103 ········
103 ··········<div·class="yui-b"·id="sidebar">104 ··········<div·class="yui-b"·id="sidebar">
104 ············105 ············
105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
106 ········<div·class="sphinxsidebarwrapper">107 ········<div·class="sphinxsidebarwrapper">
107 ··<div>108 ··<div>
108 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>109 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
109 ····<ul>110 ····<ul>
110 <li><a·class="reference·internal"·href="#">Django·3.2.6·release·notes</a><ul>111 <li><a·class="reference·internal"·href="#">Django·3.2.6·release·notes</a><ul>
111 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
112 </ul>113 </ul>
113 </li>114 </li>
114 </ul>115 </ul>
  
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Previous·topic</h4>118 ····<h4>Eelmine·teema</h4>
118 ····<p·class="topless"><a·href="3.2.7.html"119 ····<p·class="topless"><a·href="3.2.7.html"
119 ··························title="previous·chapter">Django·3.2.7·release·notes</a></p>120 ··························title="eelmine·jaotis">Django·3.2.7·release·notes</a></p>
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Next·topic</h4>123 ····<h4>Järgmine·teema</h4>
123 ····<p·class="topless"><a·href="3.2.5.html"124 ····<p·class="topless"><a·href="3.2.5.html"
124 ··························title="next·chapter">Django·3.2.5·release·notes</a></p>125 ··························title="järgmine·jaotis">Django·3.2.5·release·notes</a></p>
125 ··</div>126 ··</div>
126 <search·id="searchbox"·style="display:·none"·role="search">127 <search·id="searchbox"·style="display:·none"·role="search">
127 ··<h3·id="searchlabel">Quick·search</h3>128 ··<h3·id="searchlabel">Kiirotsing</h3>
128 ····<div·class="searchformwrapper">129 ····<div·class="searchformwrapper">
129 ····<form·class="search"·action="../search.html"·method="get">130 ····<form·class="search"·action="../search.html"·method="get">
130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
131 ······<input·type="submit"·value="Go"·/>132 ······<input·type="submit"·value="Otsi"·/>
132 ····</form>133 ····</form>
133 ····</div>134 ····</div>
134 </search>135 </search>
135 <script>document.getElementById('searchbox').style.display·=·"block"</script>136 <script>document.getElementById('searchbox').style.display·=·"block"</script>
136 ········</div>137 ········</div>
137 ······</div>138 ······</div>
138 ··············<h3>Last·update:</h3>139 ··············<h3>Last·update:</h3>
139 ··············<p·class="topless">Nov·05,·2024</p>140 ··············<p·class="topless">nov·05,·2024</p>
140 ··········</div>141 ··········</div>
141 ········142 ········
142 ······143 ······
143 ····</div>144 ····</div>
  
144 ····<div·id="ft">145 ····<div·id="ft">
145 ······<div·class="nav">146 ······<div·class="nav">
2.19 KB
html2text {}
Max HTML report size reached
6.07 KB
./usr/share/doc/python-django-doc/html/releases/3.2.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.6·release·notes"·href="3.2.6.html"·/>15 ····<link·rel="next"·title="Django·3.2.6·release·notes"·href="3.2.6.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.8·release·notes"·href="3.2.8.html"·/>16 ····<link·rel="prev"·title="Django·3.2.8·release·notes"·href="3.2.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·3.2.7·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·3.2.7·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="3.2.8.html"115 ····<p·class="topless"><a·href="3.2.8.html"
115 ··························title="previous·chapter">Django·3.2.8·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·3.2.8·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="3.2.6.html"120 ····<p·class="topless"><a·href="3.2.6.html"
120 ··························title="next·chapter">Django·3.2.6·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·3.2.6·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.95 KB
html2text {}
Max HTML report size reached
6.26 KB
./usr/share/doc/python-django-doc/html/releases/3.2.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.7·release·notes"·href="3.2.7.html"·/>15 ····<link·rel="next"·title="Django·3.2.7·release·notes"·href="3.2.7.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.9·release·notes"·href="3.2.9.html"·/>16 ····<link·rel="prev"·title="Django·3.2.9·release·notes"·href="3.2.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 100, 47 lines modifiedOffset 101, 47 lines modified
100 ······101 ······
101 ········102 ········
102 ··········<div·class="yui-b"·id="sidebar">103 ··········<div·class="yui-b"·id="sidebar">
103 ············104 ············
104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
105 ········<div·class="sphinxsidebarwrapper">106 ········<div·class="sphinxsidebarwrapper">
106 ··<div>107 ··<div>
107 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>108 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
108 ····<ul>109 ····<ul>
109 <li><a·class="reference·internal"·href="#">Django·3.2.8·release·notes</a><ul>110 <li><a·class="reference·internal"·href="#">Django·3.2.8·release·notes</a><ul>
110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>111 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
111 </ul>112 </ul>
112 </li>113 </li>
113 </ul>114 </ul>
  
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Previous·topic</h4>117 ····<h4>Eelmine·teema</h4>
117 ····<p·class="topless"><a·href="3.2.9.html"118 ····<p·class="topless"><a·href="3.2.9.html"
118 ··························title="previous·chapter">Django·3.2.9·release·notes</a></p>119 ··························title="eelmine·jaotis">Django·3.2.9·release·notes</a></p>
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Next·topic</h4>122 ····<h4>Järgmine·teema</h4>
122 ····<p·class="topless"><a·href="3.2.7.html"123 ····<p·class="topless"><a·href="3.2.7.html"
123 ··························title="next·chapter">Django·3.2.7·release·notes</a></p>124 ··························title="järgmine·jaotis">Django·3.2.7·release·notes</a></p>
124 ··</div>125 ··</div>
125 <search·id="searchbox"·style="display:·none"·role="search">126 <search·id="searchbox"·style="display:·none"·role="search">
126 ··<h3·id="searchlabel">Quick·search</h3>127 ··<h3·id="searchlabel">Kiirotsing</h3>
127 ····<div·class="searchformwrapper">128 ····<div·class="searchformwrapper">
128 ····<form·class="search"·action="../search.html"·method="get">129 ····<form·class="search"·action="../search.html"·method="get">
129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
130 ······<input·type="submit"·value="Go"·/>131 ······<input·type="submit"·value="Otsi"·/>
131 ····</form>132 ····</form>
132 ····</div>133 ····</div>
133 </search>134 </search>
134 <script>document.getElementById('searchbox').style.display·=·"block"</script>135 <script>document.getElementById('searchbox').style.display·=·"block"</script>
135 ········</div>136 ········</div>
136 ······</div>137 ······</div>
137 ··············<h3>Last·update:</h3>138 ··············<h3>Last·update:</h3>
138 ··············<p·class="topless">Nov·05,·2024</p>139 ··············<p·class="topless">nov·05,·2024</p>
139 ··········</div>140 ··········</div>
140 ········141 ········
141 ······142 ······
142 ····</div>143 ····</div>
  
143 ····<div·id="ft">144 ····<div·id="ft">
144 ······<div·class="nav">145 ······<div·class="nav">
2.14 KB
html2text {}
Max HTML report size reached
6.12 KB
./usr/share/doc/python-django-doc/html/releases/3.2.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.8·release·notes"·href="3.2.8.html"·/>15 ····<link·rel="next"·title="Django·3.2.8·release·notes"·href="3.2.8.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.10·release·notes"·href="3.2.10.html"·/>16 ····<link·rel="prev"·title="Django·3.2.10·release·notes"·href="3.2.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·3.2.9·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·3.2.9·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="3.2.10.html"115 ····<p·class="topless"><a·href="3.2.10.html"
115 ··························title="previous·chapter">Django·3.2.10·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·3.2.10·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="3.2.8.html"120 ····<p·class="topless"><a·href="3.2.8.html"
120 ··························title="next·chapter">Django·3.2.8·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·3.2.8·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
2.0 KB
html2text {}
Max HTML report size reached
38.1 KB
./usr/share/doc/python-django-doc/html/releases/3.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·3.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·3.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.1.14·release·notes"·href="3.1.14.html"·/>15 ····<link·rel="next"·title="Django·3.1.14·release·notes"·href="3.1.14.html"·/>
15 ····<link·rel="prev"·title="Django·3.2.1·release·notes"·href="3.2.1.html"·/>16 ····<link·rel="prev"·title="Django·3.2.1·release·notes"·href="3.2.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 274, 17 lines modifiedOffset 275, 17 lines modified
274 </section>275 </section>
275 <section·id="s-django-contrib-gis">276 <section·id="s-django-contrib-gis">
276 <span·id="django-contrib-gis"></span><h4><a·class="reference·internal"·href="../ref/contrib/gis/index.html#module-django.contrib.gis"·title="django.contrib.gis:·Geographic·Information·System·(GIS)·extensions·for·Django"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.gis</span></code></a><a·class="headerlink"·href="#django-contrib-gis"·title="Link·to·this·heading">¶</a></h4>277 <span·id="django-contrib-gis"></span><h4><a·class="reference·internal"·href="../ref/contrib/gis/index.html#module-django.contrib.gis"·title="django.contrib.gis:·Geographic·Information·System·(GIS)·extensions·for·Django"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.gis</span></code></a><a·class="headerlink"·href="#django-contrib-gis"·title="Link·to·this·heading">¶</a></h4>
277 <ul·class="simple">278 <ul·class="simple">
278 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/gdal.html#django.contrib.gis.gdal.GDALRaster.transform"·title="django.contrib.gis.gdal.GDALRaster.transform"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">GDALRaster.transform()</span></code></a>·method·now·supports279 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/gdal.html#django.contrib.gis.gdal.GDALRaster.transform"·title="django.contrib.gis.gdal.GDALRaster.transform"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">GDALRaster.transform()</span></code></a>·method·now·supports
279 <a·class="reference·internal"·href="../ref/contrib/gis/gdal.html#django.contrib.gis.gdal.SpatialReference"·title="django.contrib.gis.gdal.SpatialReference"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SpatialReference</span></code></a>.</p></li>280 <a·class="reference·internal"·href="../ref/contrib/gis/gdal.html#django.contrib.gis.gdal.SpatialReference"·title="django.contrib.gis.gdal.SpatialReference"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SpatialReference</span></code></a>.</p></li>
280 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/gdal.html#django.contrib.gis.gdal.DataSource"·title="django.contrib.gis.gdal.DataSource"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DataSource</span></code></a>·class·now·supports281 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/gdal.html#django.contrib.gis.gdal.DataSource"·title="django.contrib.gis.gdal.DataSource"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DataSource</span></code></a>·class·now·supports
281 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>282 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>
282 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/layermapping.html#django.contrib.gis.utils.LayerMapping"·title="django.contrib.gis.utils.LayerMapping"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code></a>·class·now·supports283 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/layermapping.html#django.contrib.gis.utils.LayerMapping"·title="django.contrib.gis.utils.LayerMapping"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LayerMapping</span></code></a>·class·now·supports
283 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>284 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>
284 </ul>285 </ul>
285 </section>286 </section>
286 <section·id="s-django-contrib-postgres">287 <section·id="s-django-contrib-postgres">
287 <span·id="django-contrib-postgres"></span><h4><a·class="reference·internal"·href="../ref/contrib/postgres/index.html#module-django.contrib.postgres"·title="django.contrib.postgres:·PostgreSQL-specific·fields·and·features"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a><a·class="headerlink"·href="#django-contrib-postgres"·title="Link·to·this·heading">¶</a></h4>288 <span·id="django-contrib-postgres"></span><h4><a·class="reference·internal"·href="../ref/contrib/postgres/index.html#module-django.contrib.postgres"·title="django.contrib.postgres:·PostgreSQL-specific·fields·and·features"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a><a·class="headerlink"·href="#django-contrib-postgres"·title="Link·to·this·heading">¶</a></h4>
288 <ul·class="simple">289 <ul·class="simple">
289 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/postgres/constraints.html#django.contrib.postgres.constraints.ExclusionConstraint.include"·title="django.contrib.postgres.constraints.ExclusionConstraint.include"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ExclusionConstraint.include</span></code></a>·attribute·allows·creating290 <li><p>The·new·<a·class="reference·internal"·href="../ref/contrib/postgres/constraints.html#django.contrib.postgres.constraints.ExclusionConstraint.include"·title="django.contrib.postgres.constraints.ExclusionConstraint.include"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ExclusionConstraint.include</span></code></a>·attribute·allows·creating
290 covering·exclusion·constraints·on·PostgreSQL·12+.</p></li>291 covering·exclusion·constraints·on·PostgreSQL·12+.</p></li>
Offset 408, 15 lines modifiedOffset 409, 15 lines modified
408 <section·id="s-migrations">409 <section·id="s-migrations">
409 <span·id="migrations"></span><h4>Migrations<a·class="headerlink"·href="#migrations"·title="Link·to·this·heading">¶</a></h4>410 <span·id="migrations"></span><h4>Migrations<a·class="headerlink"·href="#migrations"·title="Link·to·this·heading">¶</a></h4>
410 <ul·class="simple">411 <ul·class="simple">
411 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">Operation.migration_name_fragment</span></code>·property·allows·providing·a412 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">Operation.migration_name_fragment</span></code>·property·allows·providing·a
412 filename·fragment·that·will·be·used·to·name·a·migration·containing·only·that413 filename·fragment·that·will·be·used·to·name·a·migration·containing·only·that
413 operation.</p></li>414 operation.</p></li>
414 <li><p>Migrations·now·support·serialization·of·pure·and·concrete·path·objects·from415 <li><p>Migrations·now·support·serialization·of·pure·and·concrete·path·objects·from
415 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#module-pathlib"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pathlib</span></code></a>,·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/os.html#os.PathLike"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">os.PathLike</span></code></a>·instances.</p></li>416 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#module-pathlib"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pathlib</span></code></a>,·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/os.html#os.PathLike"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">os.PathLike</span></code></a>·instances.</p></li>
416 </ul>417 </ul>
417 </section>418 </section>
418 <section·id="s-models">419 <section·id="s-models">
419 <span·id="models"></span><h4>Models<a·class="headerlink"·href="#models"·title="Link·to·this·heading">¶</a></h4>420 <span·id="models"></span><h4>Models<a·class="headerlink"·href="#models"·title="Link·to·this·heading">¶</a></h4>
420 <ul·class="simple">421 <ul·class="simple">
421 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">no_key</span></code>·parameter·for·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.select_for_update"·title="django.db.models.query.QuerySet.select_for_update"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.select_for_update()</span></code></a>,422 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">no_key</span></code>·parameter·for·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.select_for_update"·title="django.db.models.query.QuerySet.select_for_update"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.select_for_update()</span></code></a>,
422 supported·on·PostgreSQL,·allows·acquiring·weaker·locks·that·don’t·block·the423 supported·on·PostgreSQL,·allows·acquiring·weaker·locks·that·don’t·block·the
Offset 433, 19 lines modifiedOffset 434, 19 lines modified
433 <li><p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.FilteredRelation"·title="django.db.models.FilteredRelation"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FilteredRelation()</span></code></a>·now·supports434 <li><p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.FilteredRelation"·title="django.db.models.FilteredRelation"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FilteredRelation()</span></code></a>·now·supports
434 nested·relations.</p></li>435 nested·relations.</p></li>
435 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">of</span></code>·argument·of·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.select_for_update"·title="django.db.models.query.QuerySet.select_for_update"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.select_for_update()</span></code></a>·is·now·allowed436 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">of</span></code>·argument·of·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.select_for_update"·title="django.db.models.query.QuerySet.select_for_update"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.select_for_update()</span></code></a>·is·now·allowed
436 on·MySQL·8.0.1+.</p></li>437 on·MySQL·8.0.1+.</p></li>
437 <li><p><a·class="reference·internal"·href="../ref/models/expressions.html#django.db.models.Value"·title="django.db.models.Value"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Value()</span></code></a>·expression·now438 <li><p><a·class="reference·internal"·href="../ref/models/expressions.html#django.db.models.Value"·title="django.db.models.Value"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Value()</span></code></a>·expression·now
438 automatically·resolves·its·<code·class="docutils·literal·notranslate"><span·class="pre">output_field</span></code>·to·the·appropriate439 automatically·resolves·its·<code·class="docutils·literal·notranslate"><span·class="pre">output_field</span></code>·to·the·appropriate
439 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field"·title="django.db.models.Field"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Field</span></code></a>·subclass·based·on·the·type·of440 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.Field"·title="django.db.models.Field"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Field</span></code></a>·subclass·based·on·the·type·of
440 its·provided·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·for·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#bool"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">bool</span></code></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#bytes"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">bytes</span></code></a>,441 its·provided·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·for·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#bool"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">bool</span></code></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#bytes"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">bytes</span></code></a>,
441 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#float"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">float</span></code></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#int"·title="(in·Python·v3.12)"><code·class="[·...·truncated·by·diffoscope;·len:·193,·SHA:·f6258d3b199df64fc055387742d1f25f92f9c53888be639f24db1fb10f647d5e·...·]·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">str</span></code></a>,442 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#float"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">float</span></code></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#int"·title="(projektis·Python·v3.12)"[·...·truncated·by·diffoscope;·len:·214,·SHA:·bb7402a364260cc94fdeeaf08a69bb41571ae53b748a769acde2b3b020c09fd4·...·]·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">str</span></code></a>,
442 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.date"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.date</span></code></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.datetime</span></code></a>,443 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.date"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.date</span></code></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(pro[·...·truncated·by·diffoscope;·len:·6,·SHA:·a8dfc97d35f59e5f1f3eccf750455c72a55f2eb132669af9d45822e9a9414832·...·]·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.datetime</span></code></a>,
443 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.time"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.time</span></code></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timedelta</span></code></a>,444 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.time"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.time</span></code></a>,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(pr[·...·truncated·by·diffoscope;·len:·7,·SHA:·cd014d963b35854323acbad13298eeebabf4f7c7a7f4193f8448f9d9e40dd0ad·...·]·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timedelta</span></code></a>,
444 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/decimal.html#decimal.Decimal"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">decimal.Decimal</span></code></a>,·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/uuid.html#uuid.UUID"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">uuid.UUID</span></code></a>·instances.·As·a445 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/decimal.html#decimal.Decimal"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">decimal.Decimal</span></code></a>,·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/uuid.html#uuid.UUID"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">uuid.UUID</span></code></a>·instances.·As·a
445 consequence,·resolving·an·<code·class="docutils·literal·notranslate"><span·class="pre">output_field</span></code>·for·database·functions·and446 consequence,·resolving·an·<code·class="docutils·literal·notranslate"><span·class="pre">output_field</span></code>·for·database·functions·and
446 combined·expressions·may·now·crash·with·mixed·types·when·using·<code·class="docutils·literal·notranslate"><span·class="pre">Value()</span></code>.447 combined·expressions·may·now·crash·with·mixed·types·when·using·<code·class="docutils·literal·notranslate"><span·class="pre">Value()</span></code>.
447 You·will·need·to·explicitly·set·the·<code·class="docutils·literal·notranslate"><span·class="pre">output_field</span></code>·in·such·cases.</p></li>448 You·will·need·to·explicitly·set·the·<code·class="docutils·literal·notranslate"><span·class="pre">output_field</span></code>·in·such·cases.</p></li>
448 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.alias"·title="django.db.models.query.QuerySet.alias"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.alias()</span></code></a>·method·allows·creating·reusable·aliases·for449 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.alias"·title="django.db.models.query.QuerySet.alias"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.alias()</span></code></a>·method·allows·creating·reusable·aliases·for
449 expressions·that·don’t·need·to·be·selected·but·are·used·for·filtering,450 expressions·that·don’t·need·to·be·selected·but·are·used·for·filtering,
450 ordering,·or·as·a·part·of·complex·expressions.</p></li>451 ordering,·or·as·a·part·of·complex·expressions.</p></li>
451 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Collate"·title="django.db.models.functions.Collate"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Collate</span></code></a>·function·allows452 <li><p>The·new·<a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Collate"·title="django.db.models.functions.Collate"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Collate</span></code></a>·function·allows
Offset 541, 18 lines modifiedOffset 542, 18 lines modified
541 </ul>542 </ul>
542 </section>543 </section>
543 <section·id="s-tests">544 <section·id="s-tests">
544 <span·id="tests"></span><h4>Tests<a·class="headerlink"·href="#tests"·title="Link·to·this·heading">¶</a></h4>545 <span·id="tests"></span><h4>Tests<a·class="headerlink"·href="#tests"·title="Link·to·this·heading">¶</a></h4>
545 <ul·class="simple">546 <ul·class="simple">
546 <li><p>Objects·assigned·to·class·attributes·in·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TestCase.setUpTestData"·title="django.test.TestCase.setUpTestData"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">TestCase.setUpTestData()</span></code></a>·are547 <li><p>Objects·assigned·to·class·attributes·in·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TestCase.setUpTestData"·title="django.test.TestCase.setUpTestData"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">TestCase.setUpTestData()</span></code></a>·are
547 now·isolated·for·each·test·method.·Such·objects·are·now·required·to·support548 now·isolated·for·each·test·method.·Such·objects·are·now·required·to·support
548 creating·deep·copies·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/copy.html#copy.deepcopy"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">copy.deepcopy()</span></code></a>.·Assigning·objects·which549 creating·deep·copies·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/copy.html#copy.deepcopy"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">copy.deepcopy()</span></code></a>.·Assigning·objects·which
549 don’t·support·<code·class="docutils·literal·notranslate"><span·class="pre">deepcopy()</span></code>·is·deprecated·and·will·be·removed·in·Django·4.1.</p></li>550 don’t·support·<code·class="docutils·literal·notranslate"><span·class="pre">deepcopy()</span></code>·is·deprecated·and·will·be·removed·in·Django·4.1.</p></li>
550 <li><p><a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·now·enables551 <li><p><a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·now·enables
551 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/faulthandler.html#module-faulthandler"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">faulthandler</span></code></a>·by·default.·This·can·be·disabled·by·using·the552 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/faulthandler.html#module-faulthandler"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">faulthandler</span></code></a>·by·default.·This·can·be·disabled·by·using·the
552 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-no-faulthandler"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--no-faulthandler</span></code></a>·option.</p></li>553 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-no-faulthandler"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--no-faulthandler</span></code></a>·option.</p></li>
553 <li><p><a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·and·the554 <li><p><a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·and·the
554 <a·class="reference·internal"·href="../ref/django-admin.html#django-admin-test"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">test</span></code></a>·management·command·can·now·track·timings,·including·database555 <a·class="reference·internal"·href="../ref/django-admin.html#django-admin-test"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">test</span></code></a>·management·command·can·now·track·timings,·including·database
555 setup·and·total·run·time.·This·can·be·enabled·by·using·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-timing"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>556 setup·and·total·run·time.·This·can·be·enabled·by·using·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-timing"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>
556 <span·class="pre">--timing</span></code></a>·option.</p></li>557 <span·class="pre">--timing</span></code></a>·option.</p></li>
557 <li><p><a·class="reference·internal"·href="../topics/testing/tools.html#django.test.Client"·title="django.test.Client"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Client</span></code></a>·now·preserves·the·request·query·string·when558 <li><p><a·class="reference·internal"·href="../topics/testing/tools.html#django.test.Client"·title="django.test.Client"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Client</span></code></a>·now·preserves·the·request·query·string·when
558 following·307·and·308·redirects.</p></li>559 following·307·and·308·redirects.</p></li>
Offset 671, 16 lines modifiedOffset 672, 16 lines modified
671 <span·id="dropped-support-for-mysql-5-6"></span><h3>Dropped·support·for·MySQL·5.6<a·class="headerlink"·href="#dropped-support-for-mysql-5-6"·title="Link·to·this·heading">¶</a></h3>672 <span·id="dropped-support-for-mysql-5-6"></span><h3>Dropped·support·for·MySQL·5.6<a·class="headerlink"·href="#dropped-support-for-mysql-5-6"·title="Link·to·this·heading">¶</a></h3>
672 <p>The·end·of·upstream·support·for·MySQL·5.6·is·April·2021.·Django·3.2·supports673 <p>The·end·of·upstream·support·for·MySQL·5.6·is·April·2021.·Django·3.2·supports
673 MySQL·5.7·and·higher.</p>674 MySQL·5.7·and·higher.</p>
674 </section>675 </section>
675 <section·id="s-miscellaneous">676 <section·id="s-miscellaneous">
676 <span·id="miscellaneous"></span><h3>Miscellaneous<a·class="headerlink"·href="#miscellaneous"·title="Link·to·this·heading">¶</a></h3>677 <span·id="miscellaneous"></span><h3>Miscellaneous<a·class="headerlink"·href="#miscellaneous"·title="Link·to·this·heading">¶</a></h3>
677 <ul>678 <ul>
678 <li><p>Django·now·supports·non-<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>·time·zones,·such·as·Python·3.9+s679 <li><p>Django·now·supports·non-<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>·time·zones,·such·as·Python·3.9+s
679 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>·module·and·its·backport.</p></li>680 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>·module·and·its·backport.</p></li>
680 <li><p>The·undocumented·<code·class="docutils·literal·notranslate"><span·class="pre">SpatiaLiteOperations.proj4_version()</span></code>·method·is·renamed681 <li><p>The·undocumented·<code·class="docutils·literal·notranslate"><span·class="pre">SpatiaLiteOperations.proj4_version()</span></code>·method·is·renamed
681 to·<code·class="docutils·literal·notranslate"><span·class="pre">proj_version()</span></code>.</p></li>682 to·<code·class="docutils·literal·notranslate"><span·class="pre">proj_version()</span></code>.</p></li>
682 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.text.slugify"·title="django.utils.text.slugify"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">slugify()</span></code></a>·now·removes·leading·and·trailing·dashes683 <li><p><a·class="reference·internal"·href="../ref/utils.html#django.utils.text.slugify"·title="django.utils.text.slugify"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">slugify()</span></code></a>·now·removes·leading·and·trailing·dashes
683 and·underscores.</p></li>684 and·underscores.</p></li>
684 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/humanize.html#std-templatefilter-intcomma"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">intcomma</span></code></a>·and·<a·class="reference·internal"·href="../ref/contrib/humanize.html#std-templatefilter-intword"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">intword</span></code></a>·template·filters·no·longer685 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/humanize.html#std-templatefilter-intcomma"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">intcomma</span></code></a>·and·<a·class="reference·internal"·href="../ref/contrib/humanize.html#std-templatefilter-intword"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">intword</span></code></a>·template·filters·no·longer
Max diff block lines reached; 12066/34163 bytes (35.32%) of diff not shown.
4.64 KB
html2text {}
Max HTML report size reached
16.5 KB
./usr/share/doc/python-django-doc/html/releases/4.0.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0·release·notes"·href="4.0.html"·/>15 ····<link·rel="next"·title="Django·4.0·release·notes"·href="4.0.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.2·release·notes"·href="4.0.2.html"·/>16 ····<link·rel="prev"·title="Django·4.0.2·release·notes"·href="4.0.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 42 lines modifiedOffset 77, 42 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.0.1">79 ··········<div·class="yui-g"·id="releases-4.0.1">
79 ············80 ············
80 ··<section·id="s-django-4-0-1-release-notes">81 ··<section·id="s-django-4-0-1-release-notes">
81 <span·id="django-4-0-1-release-notes"></span><h1>Django·4.0.1·release·notes<a·class="headerlink"·href="#django-4-0-1-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-0-1-release-notes"></span><h1>Django·4.0.1·release·notes<a·class="headerlink"·href="#django-4-0-1-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>January·4,·2022</em></p>83 <p><em>January·4,·2022</em></p>
83 <p>Django·4.0.1·fixes·one·security·issue·with·severity·medium,·two·security84 <p>Django·4.0.1·fixes·one·security·issue·with·severity·medium,·two·security
84 issues·with·severity·low,·and·several·bugs·in·4.0.</p>85 issues·with·severity·low,·and·several·bugs·in·4.0.</p>
85 <section·id="s-cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">86 <section·id="s-cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">
86 <span·id="cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"></span><h2>CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code><a·class="headerlink"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"></span><h2>CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code><a·class="headerlink"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../topics/auth/passwords.html#django.contrib.auth.password_validation.UserAttributeSimilarityValidator"·title="django.contrib.auth.password_validation.UserAttributeSimilarityValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a>·incurred·significant·overhead88 <p><a·class="reference·internal"·href="../topics/auth/passwords.html#django.contrib.auth.password_validation.UserAttributeSimilarityValidator"·title="django.contrib.auth.password_validation.UserAttributeSimilarityValidator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a>·incurred·significant·overhead
88 evaluating·submitted·password·that·were·artificially·large·in·relative·to·the89 evaluating·submitted·password·that·were·artificially·large·in·relative·to·the
89 comparison·values.·On·the·assumption·that·access·to·user·registration·was90 comparison·values.·On·the·assumption·that·access·to·user·registration·was
90 unrestricted·this·provided·a·potential·vector·for·a·denial-of-service·attack.</p>91 unrestricted·this·provided·a·potential·vector·for·a·denial-of-service·attack.</p>
91 <p>In·order·to·mitigate·this·issue,·relatively·long·values·are·now·ignored·by92 <p>In·order·to·mitigate·this·issue,·relatively·long·values·are·now·ignored·by
92 <code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code>.</p>93 <code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code>.</p>
93 <p>This·issue·has·severity·medium·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>94 <p>This·issue·has·severity·medium·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>
94 </section>95 </section>
95 <section·id="s-cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">96 <section·id="s-cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">
96 <span·id="cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"></span><h2>CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter<a·class="headerlink"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"·title="Link·to·this·heading">¶</a></h2>97 <span·id="cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"></span><h2>CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter<a·class="headerlink"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter"·title="Link·to·this·heading">¶</a></h2>
97 <p>Due·to·leveraging·the·Django·Template·Language’s·variable·resolution·logic,·the98 <p>Due·to·leveraging·the·Django·Template·Language’s·variable·resolution·logic,·the
98 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-dictsort"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">dictsort</span></code></a>·template·filter·was·potentially·vulnerable·to·information99 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-dictsort"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">dictsort</span></code></a>·template·filter·was·potentially·vulnerable·to·information
99 disclosure·or·unintended·method·calls,·if·passed·a·suitably·crafted·key.</p>100 disclosure·or·unintended·method·calls,·if·passed·a·suitably·crafted·key.</p>
100 <p>In·order·to·avoid·this·possibility,·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·now·works·with·a·restricted101 <p>In·order·to·avoid·this·possibility,·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·now·works·with·a·restricted
101 resolution·logic,·that·will·not·call·methods,·nor·allow·indexing·on102 resolution·logic,·that·will·not·call·methods,·nor·allow·indexing·on
102 dictionaries.</p>103 dictionaries.</p>
103 <p>As·a·reminder,·all·untrusted·user·input·should·be·validated·before·use.</p>104 <p>As·a·reminder,·all·untrusted·user·input·should·be·validated·before·use.</p>
104 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>105 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>
105 </section>106 </section>
106 <section·id="s-cve-2021-45452-potential-directory-traversal-via-storage-save">107 <section·id="s-cve-2021-45452-potential-directory-traversal-via-storage-save">
107 <span·id="cve-2021-45452-potential-directory-traversal-via-storage-save"></span><h2>CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code><a·class="headerlink"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save"·title="Link·to·this·heading">¶</a></h2>108 <span·id="cve-2021-45452-potential-directory-traversal-via-storage-save"></span><h2>CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code><a·class="headerlink"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save"·title="Link·to·this·heading">¶</a></h2>
108 <p><code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code>·allowed·directory-traversal·if·directly·passed·suitably109 <p><code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code>·allowed·directory-traversal·if·directly·passed·suitably
109 crafted·file·names.</p>110 crafted·file·names.</p>
110 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>111 <p>This·issue·has·severity·low·according·to·the·<a·class="reference·internal"·href="../internals/security.html#security-disclosure"><span·class="std·std-ref">Django·security·policy</span></a>.</p>
111 </section>112 </section>
112 <section·id="s-bugfixes">113 <section·id="s-bugfixes">
113 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>114 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
114 <ul·class="simple">115 <ul·class="simple">
115 <li><p>Fixed·a·regression·in·Django·4.0·that·caused·a·crash·of116 <li><p>Fixed·a·regression·in·Django·4.0·that·caused·a·crash·of
116 <code·class="docutils·literal·notranslate"><span·class="pre">assertFormsetError()</span></code>·on·a·formset·named·<code·class="docutils·literal·notranslate"><span·class="pre">form</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33346">#33346</a>).</p></li>117 <code·class="docutils·literal·notranslate"><span·class="pre">assertFormsetError()</span></code>·on·a·formset·named·<code·class="docutils·literal·notranslate"><span·class="pre">form</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33346">#33346</a>).</p></li>
117 <li><p>Fixed·a·bug·in·Django·4.0·that·caused·a·crash·on·booleans·with·the118 <li><p>Fixed·a·bug·in·Django·4.0·that·caused·a·crash·on·booleans·with·the
Offset 137, 50 lines modifiedOffset 138, 50 lines modified
137 ······138 ······
138 ········139 ········
139 ··········<div·class="yui-b"·id="sidebar">140 ··········<div·class="yui-b"·id="sidebar">
140 ············141 ············
141 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">142 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
142 ········<div·class="sphinxsidebarwrapper">143 ········<div·class="sphinxsidebarwrapper">
143 ··<div>144 ··<div>
144 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>145 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
145 ····<ul>146 ····<ul>
146 <li><a·class="reference·internal"·href="#">Django·4.0.1·release·notes</a><ul>147 <li><a·class="reference·internal"·href="#">Django·4.0.1·release·notes</a><ul>
147 <li><a·class="reference·internal"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a></li>148 <li><a·class="reference·internal"·href="#cve-2021-45115-denial-of-service-possibility-in-userattributesimilarityvalidator">CVE-2021-45115:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">UserAttributeSimilarityValidator</span></code></a></li>
148 <li><a·class="reference·internal"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter</a></li>149 <li><a·class="reference·internal"·href="#cve-2021-45116-potential-information-disclosure-in-dictsort-template-filter">CVE-2021-45116:·Potential·information·disclosure·in·<code·class="docutils·literal·notranslate"><span·class="pre">dictsort</span></code>·template·filter</a></li>
149 <li><a·class="reference·internal"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save">CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>150 <li><a·class="reference·internal"·href="#cve-2021-45452-potential-directory-traversal-via-storage-save">CVE-2021-45452:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>
150 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>151 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
151 </ul>152 </ul>
152 </li>153 </li>
153 </ul>154 </ul>
  
154 ··</div>155 ··</div>
155 ··<div>156 ··<div>
156 ····<h4>Previous·topic</h4>157 ····<h4>Eelmine·teema</h4>
157 ····<p·class="topless"><a·href="4.0.2.html"158 ····<p·class="topless"><a·href="4.0.2.html"
158 ··························title="previous·chapter">Django·4.0.2·release·notes</a></p>159 ··························title="eelmine·jaotis">Django·4.0.2·release·notes</a></p>
159 ··</div>160 ··</div>
160 ··<div>161 ··<div>
161 ····<h4>Next·topic</h4>162 ····<h4>Järgmine·teema</h4>
162 ····<p·class="topless"><a·href="4.0.html"163 ····<p·class="topless"><a·href="4.0.html"
163 ··························title="next·chapter">Django·4.0·release·notes</a></p>164 ··························title="järgmine·jaotis">Django·4.0·release·notes</a></p>
164 ··</div>165 ··</div>
165 <search·id="searchbox"·style="display:·none"·role="search">166 <search·id="searchbox"·style="display:·none"·role="search">
166 ··<h3·id="searchlabel">Quick·search</h3>167 ··<h3·id="searchlabel">Kiirotsing</h3>
167 ····<div·class="searchformwrapper">168 ····<div·class="searchformwrapper">
168 ····<form·class="search"·action="../search.html"·method="get">169 ····<form·class="search"·action="../search.html"·method="get">
169 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>170 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
170 ······<input·type="submit"·value="Go"·/>171 ······<input·type="submit"·value="Otsi"·/>
171 ····</form>172 ····</form>
172 ····</div>173 ····</div>
173 </search>174 </search>
174 <script>document.getElementById('searchbox').style.display·=·"block"</script>175 <script>document.getElementById('searchbox').style.display·=·"block"</script>
175 ········</div>176 ········</div>
176 ······</div>177 ······</div>
177 ··············<h3>Last·update:</h3>178 ··············<h3>Last·update:</h3>
178 ··············<p·class="topless">Nov·05,·2024</p>179 ··············<p·class="topless">nov·05,·2024</p>
179 ··········</div>180 ··········</div>
Max diff block lines reached; 66/10616 bytes (0.62%) of diff not shown.
6.02 KB
html2text {}
Max HTML report size reached
8.27 KB
./usr/share/doc/python-django-doc/html/releases/4.0.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.9·release·notes"·href="4.0.9.html"·/>15 ····<link·rel="next"·title="Django·4.0.9·release·notes"·href="4.0.9.html"·/>
15 ····<link·rel="prev"·title="Django·4.1·release·notes"·href="4.1.html"·/>16 ····<link·rel="prev"·title="Django·4.1·release·notes"·href="4.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.0.10">79 ··········<div·class="yui-g"·id="releases-4.0.10">
79 ············80 ············
80 ··<section·id="s-django-4-0-10-release-notes">81 ··<section·id="s-django-4-0-10-release-notes">
81 <span·id="django-4-0-10-release-notes"></span><h1>Django·4.0.10·release·notes<a·class="headerlink"·href="#django-4-0-10-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-0-10-release-notes"></span><h1>Django·4.0.10·release·notes<a·class="headerlink"·href="#django-4-0-10-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·14,·2023</em></p>83 <p><em>February·14,·2023</em></p>
83 <p>Django·4.0.10·fixes·a·security·issue·with·severity·moderate·in·4.0.9.</p>84 <p>Django·4.0.10·fixes·a·security·issue·with·severity·moderate·in·4.0.9.</p>
84 <section·id="s-cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">85 <section·id="s-cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">
85 <span·id="cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"></span><h2>CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads<a·class="headerlink"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"></span><h2>CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads<a·class="headerlink"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"·title="Link·to·this·heading">¶</a></h2>
86 <p>Passing·certain·inputs·to·multipart·forms·could·result·in·too·many·open·files87 <p>Passing·certain·inputs·to·multipart·forms·could·result·in·too·many·open·files
87 or·memory·exhaustion,·and·provided·a·potential·vector·for·a·denial-of-service88 or·memory·exhaustion,·and·provided·a·potential·vector·for·a·denial-of-service
88 attack.</p>89 attack.</p>
89 <p>The·number·of·files·parts·parsed·is·now·limited·via·the·new90 <p>The·number·of·files·parts·parsed·is·now·limited·via·the·new
90 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DATA_UPLOAD_MAX_NUMBER_FILES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATA_UPLOAD_MAX_NUMBER_FILES</span></code></a>·setting.</p>91 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DATA_UPLOAD_MAX_NUMBER_FILES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATA_UPLOAD_MAX_NUMBER_FILES</span></code></a>·setting.</p>
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·4.0.10·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·4.0.10·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads</a></li>109 <li><a·class="reference·internal"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="4.1.html"116 ····<p·class="topless"><a·href="4.1.html"
116 ··························title="previous·chapter">Django·4.1·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·4.1·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="4.0.9.html"121 ····<p·class="topless"><a·href="4.0.9.html"
121 ··························title="next·chapter">Django·4.0.9·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·4.0.9·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.62 KB
html2text {}
Max HTML report size reached
9.48 KB
./usr/share/doc/python-django-doc/html/releases/4.0.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.1·release·notes"·href="4.0.1.html"·/>15 ····<link·rel="next"·title="Django·4.0.1·release·notes"·href="4.0.1.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.3·release·notes"·href="4.0.3.html"·/>16 ····<link·rel="prev"·title="Django·4.0.3·release·notes"·href="4.0.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.0.2">79 ··········<div·class="yui-g"·id="releases-4.0.2">
79 ············80 ············
80 ··<section·id="s-django-4-0-2-release-notes">81 ··<section·id="s-django-4-0-2-release-notes">
81 <span·id="django-4-0-2-release-notes"></span><h1>Django·4.0.2·release·notes<a·class="headerlink"·href="#django-4-0-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-0-2-release-notes"></span><h1>Django·4.0.2·release·notes<a·class="headerlink"·href="#django-4-0-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2022</em></p>83 <p><em>February·1,·2022</em></p>
83 <p>Django·4.0.2·fixes·two·security·issues·with·severity·medium·and·several·bugs84 <p>Django·4.0.2·fixes·two·security·issues·with·severity·medium·and·several·bugs
84 in·4.0.1.·Also,·the·latest·string·translations·from·Transifex·are·incorporated,85 in·4.0.1.·Also,·the·latest·string·translations·from·Transifex·are·incorporated,
85 with·a·special·mention·for·Bulgarian·(fully·translated).</p>86 with·a·special·mention·for·Bulgarian·(fully·translated).</p>
86 <section·id="s-cve-2022-22818-possible-xss-via-debug-template-tag">87 <section·id="s-cve-2022-22818-possible-xss-via-debug-template-tag">
87 <span·id="cve-2022-22818-possible-xss-via-debug-template-tag"></span><h2>CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag<a·class="headerlink"·href="#cve-2022-22818-possible-xss-via-debug-template-tag"·title="Link·to·this·heading">¶</a></h2>88 <span·id="cve-2022-22818-possible-xss-via-debug-template-tag"></span><h2>CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag<a·class="headerlink"·href="#cve-2022-22818-possible-xss-via-debug-template-tag"·title="Link·to·this·heading">¶</a></h2>
88 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag·didn’t·properly·encode·the·current·context,89 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag·didn’t·properly·encode·the·current·context,
89 posing·an·XSS·attack·vector.</p>90 posing·an·XSS·attack·vector.</p>
90 <p>In·order·to·avoid·this·vulnerability,·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·no·longer·outputs91 <p>In·order·to·avoid·this·vulnerability,·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·no·longer·outputs
Offset 131, 49 lines modifiedOffset 132, 49 lines modified
131 ······132 ······
132 ········133 ········
133 ··········<div·class="yui-b"·id="sidebar">134 ··········<div·class="yui-b"·id="sidebar">
134 ············135 ············
135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
136 ········<div·class="sphinxsidebarwrapper">137 ········<div·class="sphinxsidebarwrapper">
137 ··<div>138 ··<div>
138 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>139 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
139 ····<ul>140 ····<ul>
140 <li><a·class="reference·internal"·href="#">Django·4.0.2·release·notes</a><ul>141 <li><a·class="reference·internal"·href="#">Django·4.0.2·release·notes</a><ul>
141 <li><a·class="reference·internal"·href="#cve-2022-22818-possible-xss-via-debug-template-tag">CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag</a></li>142 <li><a·class="reference·internal"·href="#cve-2022-22818-possible-xss-via-debug-template-tag">CVE-2022-22818:·Possible·XSS·via·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">debug</span>·<span·class="pre">%}</span></code>·template·tag</a></li>
142 <li><a·class="reference·internal"·href="#cve-2022-23833-denial-of-service-possibility-in-file-uploads">CVE-2022-23833:·Denial-of-service·possibility·in·file·uploads</a></li>143 <li><a·class="reference·internal"·href="#cve-2022-23833-denial-of-service-possibility-in-file-uploads">CVE-2022-23833:·Denial-of-service·possibility·in·file·uploads</a></li>
143 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>144 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
144 </ul>145 </ul>
145 </li>146 </li>
146 </ul>147 </ul>
  
147 ··</div>148 ··</div>
148 ··<div>149 ··<div>
149 ····<h4>Previous·topic</h4>150 ····<h4>Eelmine·teema</h4>
150 ····<p·class="topless"><a·href="4.0.3.html"151 ····<p·class="topless"><a·href="4.0.3.html"
151 ··························title="previous·chapter">Django·4.0.3·release·notes</a></p>152 ··························title="eelmine·jaotis">Django·4.0.3·release·notes</a></p>
152 ··</div>153 ··</div>
153 ··<div>154 ··<div>
154 ····<h4>Next·topic</h4>155 ····<h4>Järgmine·teema</h4>
155 ····<p·class="topless"><a·href="4.0.1.html"156 ····<p·class="topless"><a·href="4.0.1.html"
156 ··························title="next·chapter">Django·4.0.1·release·notes</a></p>157 ··························title="järgmine·jaotis">Django·4.0.1·release·notes</a></p>
157 ··</div>158 ··</div>
158 <search·id="searchbox"·style="display:·none"·role="search">159 <search·id="searchbox"·style="display:·none"·role="search">
159 ··<h3·id="searchlabel">Quick·search</h3>160 ··<h3·id="searchlabel">Kiirotsing</h3>
160 ····<div·class="searchformwrapper">161 ····<div·class="searchformwrapper">
161 ····<form·class="search"·action="../search.html"·method="get">162 ····<form·class="search"·action="../search.html"·method="get">
162 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>163 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
163 ······<input·type="submit"·value="Go"·/>164 ······<input·type="submit"·value="Otsi"·/>
164 ····</form>165 ····</form>
165 ····</div>166 ····</div>
166 </search>167 </search>
167 <script>document.getElementById('searchbox').style.display·=·"block"</script>168 <script>document.getElementById('searchbox').style.display·=·"block"</script>
168 ········</div>169 ········</div>
169 ······</div>170 ······</div>
170 ··············<h3>Last·update:</h3>171 ··············<h3>Last·update:</h3>
171 ··············<p·class="topless">Nov·05,·2024</p>172 ··············<p·class="topless">nov·05,·2024</p>
172 ··········</div>173 ··········</div>
173 ········174 ········
174 ······175 ······
175 ····</div>176 ····</div>
  
176 ····<div·id="ft">177 ····<div·id="ft">
177 ······<div·class="nav">178 ······<div·class="nav">
3.37 KB
html2text {}
Max HTML report size reached
6.43 KB
./usr/share/doc/python-django-doc/html/releases/4.0.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.2·release·notes"·href="4.0.2.html"·/>15 ····<link·rel="next"·title="Django·4.0.2·release·notes"·href="4.0.2.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.4·release·notes"·href="4.0.4.html"·/>16 ····<link·rel="prev"·title="Django·4.0.4·release·notes"·href="4.0.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 47 lines modifiedOffset 103, 47 lines modified
102 ······103 ······
103 ········104 ········
104 ··········<div·class="yui-b"·id="sidebar">105 ··········<div·class="yui-b"·id="sidebar">
105 ············106 ············
106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
107 ········<div·class="sphinxsidebarwrapper">108 ········<div·class="sphinxsidebarwrapper">
108 ··<div>109 ··<div>
109 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>110 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
110 ····<ul>111 ····<ul>
111 <li><a·class="reference·internal"·href="#">Django·4.0.3·release·notes</a><ul>112 <li><a·class="reference·internal"·href="#">Django·4.0.3·release·notes</a><ul>
112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
113 </ul>114 </ul>
114 </li>115 </li>
115 </ul>116 </ul>
  
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Previous·topic</h4>119 ····<h4>Eelmine·teema</h4>
119 ····<p·class="topless"><a·href="4.0.4.html"120 ····<p·class="topless"><a·href="4.0.4.html"
120 ··························title="previous·chapter">Django·4.0.4·release·notes</a></p>121 ··························title="eelmine·jaotis">Django·4.0.4·release·notes</a></p>
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Next·topic</h4>124 ····<h4>Järgmine·teema</h4>
124 ····<p·class="topless"><a·href="4.0.2.html"125 ····<p·class="topless"><a·href="4.0.2.html"
125 ··························title="next·chapter">Django·4.0.2·release·notes</a></p>126 ··························title="järgmine·jaotis">Django·4.0.2·release·notes</a></p>
126 ··</div>127 ··</div>
127 <search·id="searchbox"·style="display:·none"·role="search">128 <search·id="searchbox"·style="display:·none"·role="search">
128 ··<h3·id="searchlabel">Quick·search</h3>129 ··<h3·id="searchlabel">Kiirotsing</h3>
129 ····<div·class="searchformwrapper">130 ····<div·class="searchformwrapper">
130 ····<form·class="search"·action="../search.html"·method="get">131 ····<form·class="search"·action="../search.html"·method="get">
131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
132 ······<input·type="submit"·value="Go"·/>133 ······<input·type="submit"·value="Otsi"·/>
133 ····</form>134 ····</form>
134 ····</div>135 ····</div>
135 </search>136 </search>
136 <script>document.getElementById('searchbox').style.display·=·"block"</script>137 <script>document.getElementById('searchbox').style.display·=·"block"</script>
137 ········</div>138 ········</div>
138 ······</div>139 ······</div>
139 ··············<h3>Last·update:</h3>140 ··············<h3>Last·update:</h3>
140 ··············<p·class="topless">Nov·05,·2024</p>141 ··············<p·class="topless">nov·05,·2024</p>
141 ··········</div>142 ··········</div>
142 ········143 ········
143 ······144 ······
144 ····</div>145 ····</div>
  
145 ····<div·id="ft">146 ····<div·id="ft">
146 ······<div·class="nav">147 ······<div·class="nav">
2.31 KB
html2text {}
Max HTML report size reached
10.7 KB
./usr/share/doc/python-django-doc/html/releases/4.0.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.3·release·notes"·href="4.0.3.html"·/>15 ····<link·rel="next"·title="Django·4.0.3·release·notes"·href="4.0.3.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.5·release·notes"·href="4.0.5.html"·/>16 ····<link·rel="prev"·title="Django·4.0.5·release·notes"·href="4.0.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.0.4">79 ··········<div·class="yui-g"·id="releases-4.0.4">
79 ············80 ············
80 ··<section·id="s-django-4-0-4-release-notes">81 ··<section·id="s-django-4-0-4-release-notes">
81 <span·id="django-4-0-4-release-notes"></span><h1>Django·4.0.4·release·notes<a·class="headerlink"·href="#django-4-0-4-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-0-4-release-notes"></span><h1>Django·4.0.4·release·notes<a·class="headerlink"·href="#django-4-0-4-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>April·11,·2022</em></p>83 <p><em>April·11,·2022</em></p>
83 <p>Django·4.0.4·fixes·two·security·issues·with·severity·high·and·two·bugs·in84 <p>Django·4.0.4·fixes·two·security·issues·with·severity·high·and·two·bugs·in
84 4.0.3.</p>85 4.0.3.</p>
85 <section·id="s-cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">86 <section·id="s-cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">
86 <span·id="cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"></span><h2>CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code><a·class="headerlink"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"></span><h2>CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code><a·class="headerlink"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.annotate"·title="django.db.models.query.QuerySet.annotate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.aggregate"·title="django.db.models.query.QuerySet.aggregate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">aggregate()</span></code></a>,·and88 <p><a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.annotate"·title="django.db.models.query.QuerySet.annotate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code></a>,·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.aggregate"·title="django.db.models.query.QuerySet.aggregate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">aggregate()</span></code></a>,·and
88 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.extra"·title="django.db.models.query.QuerySet.extra"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">extra()</span></code></a>·methods·were·subject·to·SQL·injection·in·column89 <a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.extra"·title="django.db.models.query.QuerySet.extra"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">extra()</span></code></a>·methods·were·subject·to·SQL·injection·in·column
89 aliases,·using·a·suitably·crafted·dictionary,·with·dictionary·expansion,·as·the90 aliases,·using·a·suitably·crafted·dictionary,·with·dictionary·expansion,·as·the
90 <code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>·passed·to·these·methods.</p>91 <code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>·passed·to·these·methods.</p>
Offset 114, 49 lines modifiedOffset 115, 49 lines modified
114 ······115 ······
115 ········116 ········
116 ··········<div·class="yui-b"·id="sidebar">117 ··········<div·class="yui-b"·id="sidebar">
117 ············118 ············
118 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">119 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
119 ········<div·class="sphinxsidebarwrapper">120 ········<div·class="sphinxsidebarwrapper">
120 ··<div>121 ··<div>
121 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>122 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
122 ····<ul>123 ····<ul>
123 <li><a·class="reference·internal"·href="#">Django·4.0.4·release·notes</a><ul>124 <li><a·class="reference·internal"·href="#">Django·4.0.4·release·notes</a><ul>
124 <li><a·class="reference·internal"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code></a></li>125 <li><a·class="reference·internal"·href="#cve-2022-28346-potential-sql-injection-in-queryset-annotate-aggregate-and-extra">CVE-2022-28346:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.annotate()</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra()</span></code></a></li>
125 <li><a·class="reference·internal"·href="#cve-2022-28347-potential-sql-injection-via-queryset-explain-options-on-postgresql">CVE-2022-28347:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.explain(**options)</span></code>·on·PostgreSQL</a></li>126 <li><a·class="reference·internal"·href="#cve-2022-28347-potential-sql-injection-via-queryset-explain-options-on-postgresql">CVE-2022-28347:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.explain(**options)</span></code>·on·PostgreSQL</a></li>
126 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>127 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
127 </ul>128 </ul>
128 </li>129 </li>
129 </ul>130 </ul>
  
130 ··</div>131 ··</div>
131 ··<div>132 ··<div>
132 ····<h4>Previous·topic</h4>133 ····<h4>Eelmine·teema</h4>
133 ····<p·class="topless"><a·href="4.0.5.html"134 ····<p·class="topless"><a·href="4.0.5.html"
134 ··························title="previous·chapter">Django·4.0.5·release·notes</a></p>135 ··························title="eelmine·jaotis">Django·4.0.5·release·notes</a></p>
135 ··</div>136 ··</div>
136 ··<div>137 ··<div>
137 ····<h4>Next·topic</h4>138 ····<h4>Järgmine·teema</h4>
138 ····<p·class="topless"><a·href="4.0.3.html"139 ····<p·class="topless"><a·href="4.0.3.html"
139 ··························title="next·chapter">Django·4.0.3·release·notes</a></p>140 ··························title="järgmine·jaotis">Django·4.0.3·release·notes</a></p>
140 ··</div>141 ··</div>
141 <search·id="searchbox"·style="display:·none"·role="search">142 <search·id="searchbox"·style="display:·none"·role="search">
142 ··<h3·id="searchlabel">Quick·search</h3>143 ··<h3·id="searchlabel">Kiirotsing</h3>
143 ····<div·class="searchformwrapper">144 ····<div·class="searchformwrapper">
144 ····<form·class="search"·action="../search.html"·method="get">145 ····<form·class="search"·action="../search.html"·method="get">
145 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>146 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
146 ······<input·type="submit"·value="Go"·/>147 ······<input·type="submit"·value="Otsi"·/>
147 ····</form>148 ····</form>
148 ····</div>149 ····</div>
149 </search>150 </search>
150 <script>document.getElementById('searchbox').style.display·=·"block"</script>151 <script>document.getElementById('searchbox').style.display·=·"block"</script>
151 ········</div>152 ········</div>
152 ······</div>153 ······</div>
153 ··············<h3>Last·update:</h3>154 ··············<h3>Last·update:</h3>
154 ··············<p·class="topless">Nov·05,·2024</p>155 ··············<p·class="topless">nov·05,·2024</p>
155 ··········</div>156 ··········</div>
156 ········157 ········
157 ······158 ······
158 ····</div>159 ····</div>
  
159 ····<div·id="ft">160 ····<div·id="ft">
160 ······<div·class="nav">161 ······<div·class="nav">
3.64 KB
html2text {}
Max HTML report size reached
6.32 KB
./usr/share/doc/python-django-doc/html/releases/4.0.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.4·release·notes"·href="4.0.4.html"·/>15 ····<link·rel="next"·title="Django·4.0.4·release·notes"·href="4.0.4.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.6·release·notes"·href="4.0.6.html"·/>16 ····<link·rel="prev"·title="Django·4.0.6·release·notes"·href="4.0.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 101, 47 lines modifiedOffset 102, 47 lines modified
101 ······102 ······
102 ········103 ········
103 ··········<div·class="yui-b"·id="sidebar">104 ··········<div·class="yui-b"·id="sidebar">
104 ············105 ············
105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
106 ········<div·class="sphinxsidebarwrapper">107 ········<div·class="sphinxsidebarwrapper">
107 ··<div>108 ··<div>
108 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>109 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
109 ····<ul>110 ····<ul>
110 <li><a·class="reference·internal"·href="#">Django·4.0.5·release·notes</a><ul>111 <li><a·class="reference·internal"·href="#">Django·4.0.5·release·notes</a><ul>
111 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>112 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
112 </ul>113 </ul>
113 </li>114 </li>
114 </ul>115 </ul>
  
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Previous·topic</h4>118 ····<h4>Eelmine·teema</h4>
118 ····<p·class="topless"><a·href="4.0.6.html"119 ····<p·class="topless"><a·href="4.0.6.html"
119 ··························title="previous·chapter">Django·4.0.6·release·notes</a></p>120 ··························title="eelmine·jaotis">Django·4.0.6·release·notes</a></p>
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Next·topic</h4>123 ····<h4>Järgmine·teema</h4>
123 ····<p·class="topless"><a·href="4.0.4.html"124 ····<p·class="topless"><a·href="4.0.4.html"
124 ··························title="next·chapter">Django·4.0.4·release·notes</a></p>125 ··························title="järgmine·jaotis">Django·4.0.4·release·notes</a></p>
125 ··</div>126 ··</div>
126 <search·id="searchbox"·style="display:·none"·role="search">127 <search·id="searchbox"·style="display:·none"·role="search">
127 ··<h3·id="searchlabel">Quick·search</h3>128 ··<h3·id="searchlabel">Kiirotsing</h3>
128 ····<div·class="searchformwrapper">129 ····<div·class="searchformwrapper">
129 ····<form·class="search"·action="../search.html"·method="get">130 ····<form·class="search"·action="../search.html"·method="get">
130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>131 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
131 ······<input·type="submit"·value="Go"·/>132 ······<input·type="submit"·value="Otsi"·/>
132 ····</form>133 ····</form>
133 ····</div>134 ····</div>
134 </search>135 </search>
135 <script>document.getElementById('searchbox').style.display·=·"block"</script>136 <script>document.getElementById('searchbox').style.display·=·"block"</script>
136 ········</div>137 ········</div>
137 ······</div>138 ······</div>
138 ··············<h3>Last·update:</h3>139 ··············<h3>Last·update:</h3>
139 ··············<p·class="topless">Nov·05,·2024</p>140 ··············<p·class="topless">nov·05,·2024</p>
140 ··········</div>141 ··········</div>
141 ········142 ········
142 ······143 ······
143 ····</div>144 ····</div>
  
144 ····<div·id="ft">145 ····<div·id="ft">
145 ······<div·class="nav">146 ······<div·class="nav">
2.2 KB
html2text {}
Max HTML report size reached
9.02 KB
./usr/share/doc/python-django-doc/html/releases/4.0.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.5·release·notes"·href="4.0.5.html"·/>15 ····<link·rel="next"·title="Django·4.0.5·release·notes"·href="4.0.5.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.7·release·notes"·href="4.0.7.html"·/>16 ····<link·rel="prev"·title="Django·4.0.7·release·notes"·href="4.0.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.0.6">79 ··········<div·class="yui-g"·id="releases-4.0.6">
79 ············80 ············
80 ··<section·id="s-django-4-0-6-release-notes">81 ··<section·id="s-django-4-0-6-release-notes">
81 <span·id="django-4-0-6-release-notes"></span><h1>Django·4.0.6·release·notes<a·class="headerlink"·href="#django-4-0-6-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-0-6-release-notes"></span><h1>Django·4.0.6·release·notes<a·class="headerlink"·href="#django-4-0-6-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>July·4,·2022</em></p>83 <p><em>July·4,·2022</em></p>
83 <p>Django·4.0.6·fixes·a·security·issue·with·severity·high·in·4.0.5.</p>84 <p>Django·4.0.6·fixes·a·security·issue·with·severity·high·in·4.0.5.</p>
84 <section·id="s-cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments">85 <section·id="s-cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments">
85 <span·id="cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments"></span><h2>CVE-2022-34265:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">Trunc(kind)</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Extract(lookup_name)</span></code>·arguments<a·class="headerlink"·href="#cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments"></span><h2>CVE-2022-34265:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">Trunc(kind)</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Extract(lookup_name)</span></code>·arguments<a·class="headerlink"·href="#cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments"·title="Link·to·this·heading">¶</a></h2>
86 <p><a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Trunc"·title="django.db.models.functions.Trunc"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Trunc()</span></code></a>·and87 <p><a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Trunc"·title="django.db.models.functions.Trunc"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Trunc()</span></code></a>·and
87 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Extract"·title="django.db.models.functions.Extract"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Extract()</span></code></a>·database·functions·were88 <a·class="reference·internal"·href="../ref/models/database-functions.html#django.db.models.functions.Extract"·title="django.db.models.functions.Extract"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Extract()</span></code></a>·database·functions·were
88 subject·to·SQL·injection·if·untrusted·data·was·used·as·a89 subject·to·SQL·injection·if·untrusted·data·was·used·as·a
89 <code·class="docutils·literal·notranslate"><span·class="pre">kind</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">lookup_name</span></code>·value.</p>90 <code·class="docutils·literal·notranslate"><span·class="pre">kind</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">lookup_name</span></code>·value.</p>
90 <p>Applications·that·constrain·the·lookup·name·and·kind·choice·to·a·known·safe91 <p>Applications·that·constrain·the·lookup·name·and·kind·choice·to·a·known·safe
Offset 99, 47 lines modifiedOffset 100, 47 lines modified
99 ······100 ······
100 ········101 ········
101 ··········<div·class="yui-b"·id="sidebar">102 ··········<div·class="yui-b"·id="sidebar">
102 ············103 ············
103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
104 ········<div·class="sphinxsidebarwrapper">105 ········<div·class="sphinxsidebarwrapper">
105 ··<div>106 ··<div>
106 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>107 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
107 ····<ul>108 ····<ul>
108 <li><a·class="reference·internal"·href="#">Django·4.0.6·release·notes</a><ul>109 <li><a·class="reference·internal"·href="#">Django·4.0.6·release·notes</a><ul>
109 <li><a·class="reference·internal"·href="#cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments">CVE-2022-34265:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">Trunc(kind)</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Extract(lookup_name)</span></code>·arguments</a></li>110 <li><a·class="reference·internal"·href="#cve-2022-34265-potential-sql-injection-via-trunc-kind-and-extract-lookup-name-arguments">CVE-2022-34265:·Potential·SQL·injection·via·<code·class="docutils·literal·notranslate"><span·class="pre">Trunc(kind)</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Extract(lookup_name)</span></code>·arguments</a></li>
110 </ul>111 </ul>
111 </li>112 </li>
112 </ul>113 </ul>
  
113 ··</div>114 ··</div>
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="4.0.7.html"117 ····<p·class="topless"><a·href="4.0.7.html"
117 ··························title="previous·chapter">Django·4.0.7·release·notes</a></p>118 ··························title="eelmine·jaotis">Django·4.0.7·release·notes</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="4.0.5.html"122 ····<p·class="topless"><a·href="4.0.5.html"
122 ··························title="next·chapter">Django·4.0.5·release·notes</a></p>123 ··························title="järgmine·jaotis">Django·4.0.5·release·notes</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../search.html"·method="get">128 ····<form·class="search"·action="../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.63 KB
html2text {}
Max HTML report size reached
8.57 KB
./usr/share/doc/python-django-doc/html/releases/4.0.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.6·release·notes"·href="4.0.6.html"·/>15 ····<link·rel="next"·title="Django·4.0.6·release·notes"·href="4.0.6.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.8·release·notes"·href="4.0.8.html"·/>16 ····<link·rel="prev"·title="Django·4.0.8·release·notes"·href="4.0.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.0.7">79 ··········<div·class="yui-g"·id="releases-4.0.7">
79 ············80 ············
80 ··<section·id="s-django-4-0-7-release-notes">81 ··<section·id="s-django-4-0-7-release-notes">
81 <span·id="django-4-0-7-release-notes"></span><h1>Django·4.0.7·release·notes<a·class="headerlink"·href="#django-4-0-7-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-0-7-release-notes"></span><h1>Django·4.0.7·release·notes<a·class="headerlink"·href="#django-4-0-7-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>August·3,·2022</em></p>83 <p><em>August·3,·2022</em></p>
83 <p>Django·4.0.7·fixes·a·security·issue·with·severity·high·in·4.0.6.</p>84 <p>Django·4.0.7·fixes·a·security·issue·with·severity·high·in·4.0.6.</p>
84 <section·id="s-cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse">85 <section·id="s-cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse">
85 <span·id="cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse"></span><h2>CVE-2022-36359:·Potential·reflected·file·download·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code><a·class="headerlink"·href="#cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse"></span><h2>CVE-2022-36359:·Potential·reflected·file·download·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code><a·class="headerlink"·href="#cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse"·title="Link·to·this·heading">¶</a></h2>
86 <p>An·application·may·have·been·vulnerable·to·a·reflected·file·download·(RFD)87 <p>An·application·may·have·been·vulnerable·to·a·reflected·file·download·(RFD)
87 attack·that·sets·the·Content-Disposition·header·of·a88 attack·that·sets·the·Content-Disposition·header·of·a
88 <a·class="reference·internal"·href="../ref/request-response.html#django.http.FileResponse"·title="django.http.FileResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a>·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·was·derived·from89 <a·class="reference·internal"·href="../ref/request-response.html#django.http.FileResponse"·title="django.http.FileResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a>·when·the·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·was·derived·from
89 user-supplied·input.·The·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·is·now·escaped·to·avoid·this·possibility.</p>90 user-supplied·input.·The·<code·class="docutils·literal·notranslate"><span·class="pre">filename</span></code>·is·now·escaped·to·avoid·this·possibility.</p>
90 </section>91 </section>
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·4.0.7·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·4.0.7·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse">CVE-2022-36359:·Potential·reflected·file·download·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a></li>108 <li><a·class="reference·internal"·href="#cve-2022-36359-potential-reflected-file-download-vulnerability-in-fileresponse">CVE-2022-36359:·Potential·reflected·file·download·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">FileResponse</span></code></a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="4.0.8.html"115 ····<p·class="topless"><a·href="4.0.8.html"
115 ··························title="previous·chapter">Django·4.0.8·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·4.0.8·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="4.0.6.html"120 ····<p·class="topless"><a·href="4.0.6.html"
120 ··························title="next·chapter">Django·4.0.6·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·4.0.6·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
2.59 KB
html2text {}
Max HTML report size reached
7.81 KB
./usr/share/doc/python-django-doc/html/releases/4.0.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.7·release·notes"·href="4.0.7.html"·/>15 ····<link·rel="next"·title="Django·4.0.7·release·notes"·href="4.0.7.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.9·release·notes"·href="4.0.9.html"·/>16 ····<link·rel="prev"·title="Django·4.0.9·release·notes"·href="4.0.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.0.8">79 ··········<div·class="yui-g"·id="releases-4.0.8">
79 ············80 ············
80 ··<section·id="s-django-4-0-8-release-notes">81 ··<section·id="s-django-4-0-8-release-notes">
81 <span·id="django-4-0-8-release-notes"></span><h1>Django·4.0.8·release·notes<a·class="headerlink"·href="#django-4-0-8-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-0-8-release-notes"></span><h1>Django·4.0.8·release·notes<a·class="headerlink"·href="#django-4-0-8-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>October·4,·2022</em></p>83 <p><em>October·4,·2022</em></p>
83 <p>Django·4.0.8·fixes·a·security·issue·with·severity·medium·in·4.0.7.</p>84 <p>Django·4.0.8·fixes·a·security·issue·with·severity·medium·in·4.0.7.</p>
84 <section·id="s-cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">85 <section·id="s-cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">
85 <span·id="cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"></span><h2>CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs<a·class="headerlink"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"></span><h2>CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs<a·class="headerlink"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"·title="Link·to·this·heading">¶</a></h2>
86 <p>Internationalized·URLs·were·subject·to·potential·denial·of·service·attack·via87 <p>Internationalized·URLs·were·subject·to·potential·denial·of·service·attack·via
87 the·locale·parameter.</p>88 the·locale·parameter.</p>
88 </section>89 </section>
89 </section>90 </section>
  
Offset 95, 47 lines modifiedOffset 96, 47 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>103 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
103 ····<ul>104 ····<ul>
104 <li><a·class="reference·internal"·href="#">Django·4.0.8·release·notes</a><ul>105 <li><a·class="reference·internal"·href="#">Django·4.0.8·release·notes</a><ul>
105 <li><a·class="reference·internal"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs</a></li>106 <li><a·class="reference·internal"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs</a></li>
106 </ul>107 </ul>
107 </li>108 </li>
108 </ul>109 </ul>
  
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="4.0.9.html"113 ····<p·class="topless"><a·href="4.0.9.html"
113 ··························title="previous·chapter">Django·4.0.9·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·4.0.9·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="4.0.7.html"118 ····<p·class="topless"><a·href="4.0.7.html"
118 ··························title="next·chapter">Django·4.0.7·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·4.0.7·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.45 KB
html2text {}
Max HTML report size reached
8.38 KB
./usr/share/doc/python-django-doc/html/releases/4.0.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.8·release·notes"·href="4.0.8.html"·/>15 ····<link·rel="next"·title="Django·4.0.8·release·notes"·href="4.0.8.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.10·release·notes"·href="4.0.10.html"·/>16 ····<link·rel="prev"·title="Django·4.0.10·release·notes"·href="4.0.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.0.9">79 ··········<div·class="yui-g"·id="releases-4.0.9">
79 ············80 ············
80 ··<section·id="s-django-4-0-9-release-notes">81 ··<section·id="s-django-4-0-9-release-notes">
81 <span·id="django-4-0-9-release-notes"></span><h1>Django·4.0.9·release·notes<a·class="headerlink"·href="#django-4-0-9-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-0-9-release-notes"></span><h1>Django·4.0.9·release·notes<a·class="headerlink"·href="#django-4-0-9-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2023</em></p>83 <p><em>February·1,·2023</em></p>
83 <p>Django·4.0.9·fixes·a·security·issue·with·severity·moderate·in·4.0.8.</p>84 <p>Django·4.0.9·fixes·a·security·issue·with·severity·moderate·in·4.0.8.</p>
84 <section·id="s-cve-2023-23969-potential-denial-of-service-via-accept-language-headers">85 <section·id="s-cve-2023-23969-potential-denial-of-service-via-accept-language-headers">
85 <span·id="cve-2023-23969-potential-denial-of-service-via-accept-language-headers"></span><h2>CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers<a·class="headerlink"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-23969-potential-denial-of-service-via-accept-language-headers"></span><h2>CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers<a·class="headerlink"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·parsed·values·of·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers·are·cached·in·order·to·avoid87 <p>The·parsed·values·of·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers·are·cached·in·order·to·avoid
87 repetitive·parsing.·This·leads·to·a·potential·denial-of-service·vector·via88 repetitive·parsing.·This·leads·to·a·potential·denial-of-service·vector·via
88 excessive·memory·usage·if·large·header·values·are·sent.</p>89 excessive·memory·usage·if·large·header·values·are·sent.</p>
89 <p>In·order·to·avoid·this·vulnerability,·the·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·header·is·now90 <p>In·order·to·avoid·this·vulnerability,·the·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·header·is·now
90 parsed·up·to·a·maximum·length.</p>91 parsed·up·to·a·maximum·length.</p>
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·4.0.9·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·4.0.9·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers">CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers</a></li>109 <li><a·class="reference·internal"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers">CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="4.0.10.html"116 ····<p·class="topless"><a·href="4.0.10.html"
116 ··························title="previous·chapter">Django·4.0.10·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·4.0.10·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="4.0.8.html"121 ····<p·class="topless"><a·href="4.0.8.html"
121 ··························title="next·chapter">Django·4.0.8·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·4.0.8·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.6 KB
html2text {}
Max HTML report size reached
23.4 KB
./usr/share/doc/python-django-doc/html/releases/4.0.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.0·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.0·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·3.2.25·release·notes"·href="3.2.25.html"·/>15 ····<link·rel="next"·title="Django·3.2.25·release·notes"·href="3.2.25.html"·/>
15 ····<link·rel="prev"·title="Django·4.0.1·release·notes"·href="4.0.1.html"·/>16 ····<link·rel="prev"·title="Django·4.0.1·release·notes"·href="4.0.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 93, 21 lines modifiedOffset 94, 21 lines modified
93 officially·support·the·latest·release·of·each·series.</p>94 officially·support·the·latest·release·of·each·series.</p>
94 <p>The·Django·3.2.x·series·is·the·last·to·support·Python·3.6·and·3.7.</p>95 <p>The·Django·3.2.x·series·is·the·last·to·support·Python·3.6·and·3.7.</p>
95 </section>96 </section>
96 <section·id="s-what-s-new-in-django-4-0">97 <section·id="s-what-s-new-in-django-4-0">
97 <span·id="s-whats-new-4-0"></span><span·id="what-s-new-in-django-4-0"></span><span·id="whats-new-4-0"></span><h2>What’s·new·in·Django·4.0<a·class="headerlink"·href="#what-s-new-in-django-4-0"·title="Link·to·this·heading">¶</a></h2>98 <span·id="s-whats-new-4-0"></span><span·id="what-s-new-in-django-4-0"></span><span·id="whats-new-4-0"></span><h2>What’s·new·in·Django·4.0<a·class="headerlink"·href="#what-s-new-in-django-4-0"·title="Link·to·this·heading">¶</a></h2>
98 <section·id="s-zoneinfo-default-timezone-implementation">99 <section·id="s-zoneinfo-default-timezone-implementation">
99 <span·id="zoneinfo-default-timezone-implementation"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code>·default·timezone·implementation<a·class="headerlink"·href="#zoneinfo-default-timezone-implementation"·title="Link·to·this·heading">¶</a></h3>100 <span·id="zoneinfo-default-timezone-implementation"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code>·default·timezone·implementation<a·class="headerlink"·href="#zoneinfo-default-timezone-implementation"·title="Link·to·this·heading">¶</a></h3>
100 <p>The·Python·standard·library’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>·is·now·the·default·timezone101 <p>The·Python·standard·library’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>·is·now·the·default·timezone
101 implementation·in·Django.</p>102 implementation·in·Django.</p>
102 <p>This·is·the·next·step·in·the·migration·from·using·<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>·to·using103 <p>This·is·the·next·step·in·the·migration·from·using·<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>·to·using
103 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>.·Django·3.2·allowed·the·use·of·non-<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>·time·zones.·Django104 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>.·Django·3.2·allowed·the·use·of·non-<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>·time·zones.·Django
104 4.0·makes·<code·class="docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code>·the·default·implementation.·Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>·is·now105 4.0·makes·<code·class="docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code>·the·default·implementation.·Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>·is·now
105 deprecated·and·will·be·removed·in·Django·5.0.</p>106 deprecated·and·will·be·removed·in·Django·5.0.</p>
106 <p><a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>·is·part·of·the·Python·standard·library·from·Python·3.9.·The107 <p><a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>·is·part·of·the·Python·standard·library·from·Python·3.9.·The
107 <code·class="docutils·literal·notranslate"><span·class="pre">backports.zoneinfo</span></code>·package·is·automatically·installed·alongside·Django·if108 <code·class="docutils·literal·notranslate"><span·class="pre">backports.zoneinfo</span></code>·package·is·automatically·installed·alongside·Django·if
108 you·are·using·Python·3.8.</p>109 you·are·using·Python·3.8.</p>
109 <p>The·move·to·<code·class="docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code>·should·be·largely·transparent.·Selection·of·the110 <p>The·move·to·<code·class="docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code>·should·be·largely·transparent.·Selection·of·the
110 current·timezone,·conversion·of·datetime·instances·to·the·current·timezone·in111 current·timezone,·conversion·of·datetime·instances·to·the·current·timezone·in
111 forms·and·templates,·as·well·as·operations·on·aware·datetimes·in·UTC·are112 forms·and·templates,·as·well·as·operations·on·aware·datetimes·in·UTC·are
112 unaffected.</p>113 unaffected.</p>
113 <p>However,·if·you·are·working·with·non-UTC·time·zones,·and·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>114 <p>However,·if·you·are·working·with·non-UTC·time·zones,·and·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">pytz</span></code>
Offset 326, 15 lines modifiedOffset 327, 15 lines modified
326 </section>327 </section>
327 <section·id="s-management-commands">328 <section·id="s-management-commands">
328 <span·id="management-commands"></span><h4>Management·Commands<a·class="headerlink"·href="#management-commands"·title="Link·to·this·heading">¶</a></h4>329 <span·id="management-commands"></span><h4>Management·Commands<a·class="headerlink"·href="#management-commands"·title="Link·to·this·heading">¶</a></h4>
329 <ul·class="simple">330 <ul·class="simple">
330 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-runserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">runserver</span></code></a>·management·command·now·supports·the331 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-runserver"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">runserver</span></code></a>·management·command·now·supports·the
331 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-skip-checks"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">--skip-checks</span></code></a>·option.</p></li>332 <a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-skip-checks"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">--skip-checks</span></code></a>·option.</p></li>
332 <li><p>On·PostgreSQL,·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-dbshell"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dbshell</span></code></a>·now·supports·specifying·a·password·file.</p></li>333 <li><p>On·PostgreSQL,·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-dbshell"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dbshell</span></code></a>·now·supports·specifying·a·password·file.</p></li>
333 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-shell"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">shell</span></code></a>·command·now·respects·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/sys.html#sys.__interactivehook__"·title="(in·Python·v3.12)"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">sys.__interactivehook__</span></code></a>334 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-shell"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">shell</span></code></a>·command·now·respects·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/sys.html#sys.__interactivehook__"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">sys.__interactivehook__</span></code></a>
334 at·startup.·This·allows·loading·shell·history·between·interactive·sessions.335 at·startup.·This·allows·loading·shell·history·between·interactive·sessions.
335 As·a·consequence,·<code·class="docutils·literal·notranslate"><span·class="pre">readline</span></code>·is·no·longer·loaded·if·running·in·<em>isolated</em>336 As·a·consequence,·<code·class="docutils·literal·notranslate"><span·class="pre">readline</span></code>·is·no·longer·loaded·if·running·in·<em>isolated</em>
336 mode.</p></li>337 mode.</p></li>
337 <li><p>The·new·<a·class="reference·internal"·href="../howto/custom-management-commands.html#django.core.management.BaseCommand.suppressed_base_arguments"·title="django.core.management.BaseCommand.suppressed_base_arguments"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">BaseCommand.suppressed_base_arguments</span></code></a>·attribute338 <li><p>The·new·<a·class="reference·internal"·href="../howto/custom-management-commands.html#django.core.management.BaseCommand.suppressed_base_arguments"·title="django.core.management.BaseCommand.suppressed_base_arguments"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">BaseCommand.suppressed_base_arguments</span></code></a>·attribute
338 allows·suppressing·unsupported·default·command·options·in·the·help·output.</p></li>339 allows·suppressing·unsupported·default·command·options·in·the·help·output.</p></li>
339 <li><p>The·new·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startapp-exclude"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startapp</span>·<span·class="pre">--exclude</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startproject-exclude"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startproject</span>·<span·class="pre">--exclude</span></code></a>340 <li><p>The·new·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startapp-exclude"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startapp</span>·<span·class="pre">--exclude</span></code></a>·and·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-startproject-exclude"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">startproject</span>·<span·class="pre">--exclude</span></code></a>
340 options·allow·excluding·directories·from·the·template.</p></li>341 options·allow·excluding·directories·from·the·template.</p></li>
Offset 378, 15 lines modifiedOffset 379, 15 lines modified
378 </section>379 </section>
379 <section·id="s-signals">380 <section·id="s-signals">
380 <span·id="signals"></span><h4>Signals<a·class="headerlink"·href="#signals"·title="Link·to·this·heading">¶</a></h4>381 <span·id="signals"></span><h4>Signals<a·class="headerlink"·href="#signals"·title="Link·to·this·heading">¶</a></h4>
381 <ul·class="simple">382 <ul·class="simple">
382 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">stdout</span></code>·argument·for·<a·class="reference·internal"·href="../ref/signals.html#django.db.models.signals.pre_migrate"·title="django.db.models.signals.pre_migrate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">pre_migrate()</span></code></a>383 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">stdout</span></code>·argument·for·<a·class="reference·internal"·href="../ref/signals.html#django.db.models.signals.pre_migrate"·title="django.db.models.signals.pre_migrate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">pre_migrate()</span></code></a>
383 and·<a·class="reference·internal"·href="../ref/signals.html#django.db.models.signals.post_migrate"·title="django.db.models.signals.post_migrate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">post_migrate()</span></code></a>·signals·allows·redirecting384 and·<a·class="reference·internal"·href="../ref/signals.html#django.db.models.signals.post_migrate"·title="django.db.models.signals.post_migrate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">post_migrate()</span></code></a>·signals·allows·redirecting
384 output·to·a·stream-like·object.·It·should·be·preferred·over385 output·to·a·stream-like·object.·It·should·be·preferred·over
385 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/sys.html#sys.stdout"·title="(in·Python·v3.12)"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">sys.stdout</span></code></a>·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#print"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">print()</span></code></a>·when·emitting·verbose·output·in386 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/sys.html#sys.stdout"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">sys.stdout</span></code></a>·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#print"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">print()</span></code></a>·when·emitting·verbose·output·in
386 order·to·allow·proper·capture·when·testing.</p></li>387 order·to·allow·proper·capture·when·testing.</p></li>
387 </ul>388 </ul>
388 </section>389 </section>
389 <section·id="s-templates">390 <section·id="s-templates">
390 <span·id="templates"></span><h4>Templates<a·class="headerlink"·href="#templates"·title="Link·to·this·heading">¶</a></h4>391 <span·id="templates"></span><h4>Templates<a·class="headerlink"·href="#templates"·title="Link·to·this·heading">¶</a></h4>
391 <ul·class="simple">392 <ul·class="simple">
392 <li><p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-floatformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">floatformat</span></code></a>·template·filter·now·allows·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">u</span></code>·suffix·to393 <li><p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-floatformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">floatformat</span></code></a>·template·filter·now·allows·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">u</span></code>·suffix·to
Offset 399, 15 lines modifiedOffset 400, 15 lines modified
399 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">serialized_aliases</span></code>·argument·of400 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">serialized_aliases</span></code>·argument·of
400 <a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.utils.setup_databases"·title="django.test.utils.setup_databases"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.test.utils.setup_databases()</span></code></a>·determines·which401 <a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.utils.setup_databases"·title="django.test.utils.setup_databases"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.test.utils.setup_databases()</span></code></a>·determines·which
401 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DATABASES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASES</span></code></a>·aliases·test·databases·should·have·their·state402 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DATABASES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASES</span></code></a>·aliases·test·databases·should·have·their·state
402 serialized·to·allow·usage·of·the403 serialized·to·allow·usage·of·the
403 <a·class="reference·internal"·href="../topics/testing/overview.html#test-case-serialized-rollback"><span·class="std·std-ref">serialized_rollback</span></a>·feature.</p></li>404 <a·class="reference·internal"·href="../topics/testing/overview.html#test-case-serialized-rollback"><span·class="std·std-ref">serialized_rollback</span></a>·feature.</p></li>
404 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-buffer"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--buffer</span></code></a>·option·now·supports·parallel·tests.</p></li>405 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-buffer"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--buffer</span></code></a>·option·now·supports·parallel·tests.</p></li>
405 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">logger</span></code>·argument·to·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>406 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">logger</span></code>·argument·to·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>
406 allows·a·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logger"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">logger</span></a>·to·be·used·for·logging.</p></li>407 allows·a·Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logger"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">logger</span></a>·to·be·used·for·logging.</p></li>
407 <li><p>The·new·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner.log"·title="django.test.runner.DiscoverRunner.log"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DiscoverRunner.log()</span></code></a>·method·provides·a·way·to·log·messages408 <li><p>The·new·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner.log"·title="django.test.runner.DiscoverRunner.log"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">DiscoverRunner.log()</span></code></a>·method·provides·a·way·to·log·messages
408 that·uses·the·<code·class="docutils·literal·notranslate"><span·class="pre">DiscoverRunner.logger</span></code>,·or·prints·to·the·console·if·not·set.</p></li>409 that·uses·the·<code·class="docutils·literal·notranslate"><span·class="pre">DiscoverRunner.logger</span></code>,·or·prints·to·the·console·if·not·set.</p></li>
409 <li><p><a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·can·now·execute·tests·in·a·random410 <li><p><a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·can·now·execute·tests·in·a·random
410 order·using·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-shuffle"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--shuffle</span></code></a>·option.</p></li>411 order·using·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-shuffle"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--shuffle</span></code></a>·option.</p></li>
411 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-parallel"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--parallel</span></code></a>·option·now·supports·the·value·<code·class="docutils·literal·notranslate"><span·class="pre">auto</span></code>·to·run412 <li><p>The·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-test-parallel"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">test</span>·<span·class="pre">--parallel</span></code></a>·option·now·supports·the·value·<code·class="docutils·literal·notranslate"><span·class="pre">auto</span></code>·to·run
412 one·test·process·for·each·processor·core.</p></li>413 one·test·process·for·each·processor·core.</p></li>
413 <li><p><a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TestCase.captureOnCommitCallbacks"·title="django.test.TestCase.captureOnCommitCallbacks"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">TestCase.captureOnCommitCallbacks()</span></code></a>·now·captures·new·callbacks·added414 <li><p><a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TestCase.captureOnCommitCallbacks"·title="django.test.TestCase.captureOnCommitCallbacks"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">TestCase.captureOnCommitCallbacks()</span></code></a>·now·captures·new·callbacks·added
Offset 572, 15 lines modifiedOffset 573, 15 lines modified
572 <li><p>The·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-floatformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">floatformat</span></code></a>·template·filter·no·longer·depends·on·the573 <li><p>The·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-floatformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">floatformat</span></code></a>·template·filter·no·longer·depends·on·the
573 <code·class="docutils·literal·notranslate"><span·class="pre">USE_L10N</span></code>·setting·and·always·returns·localized·output.·Use·the·<code·class="docutils·literal·notranslate"><span·class="pre">u</span></code>574 <code·class="docutils·literal·notranslate"><span·class="pre">USE_L10N</span></code>·setting·and·always·returns·localized·output.·Use·the·<code·class="docutils·literal·notranslate"><span·class="pre">u</span></code>
574 suffix·to·disable·localization.</p></li>575 suffix·to·disable·localization.</p></li>
575 <li><p>The·default·value·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">USE_L10N</span></code>·setting·is·changed·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·See·the576 <li><p>The·default·value·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">USE_L10N</span></code>·setting·is·changed·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·See·the
576 <a·class="reference·internal"·href="#use-l10n-deprecation"><span·class="std·std-ref">Localization·section</span></a>·above·for·more·details.</p></li>577 <a·class="reference·internal"·href="#use-l10n-deprecation"><span·class="std·std-ref">Localization·section</span></a>·above·for·more·details.</p></li>
577 <li><p>As·part·of·the·<a·class="reference·internal"·href="#whats-new-4-0"><span·class="std·std-ref">move·to·zoneinfo</span></a>,578 <li><p>As·part·of·the·<a·class="reference·internal"·href="#whats-new-4-0"><span·class="std·std-ref">move·to·zoneinfo</span></a>,
578 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.timezone.utc</span></code>·is·changed·to·alias579 <code·class="docutils·literal·notranslate"><span·class="pre">django.utils.timezone.utc</span></code>·is·changed·to·alias
579 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone.utc"·title="(in·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">datetime.timezone.utc</span></code></a>.</p></li>580 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone.utc"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">datetime.timezone.utc</span></code></a>.</p></li>
580 <li><p>The·minimum·supported·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">asgiref</span></code>·is·increased·from·3.3.2·to581 <li><p>The·minimum·supported·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">asgiref</span></code>·is·increased·from·3.3.2·to
581 3.4.1.</p></li>582 3.4.1.</p></li>
582 </ul>583 </ul>
583 </section>584 </section>
584 </section>585 </section>
585 <section·id="s-features-deprecated-in-4-0">586 <section·id="s-features-deprecated-in-4-0">
586 <span·id="s-deprecated-features-4-0"></span><span·id="features-deprecated-in-4-0"></span><span·id="deprecated-features-4-0"></span><h2>Features·deprecated·in·4.0<a·class="headerlink"·href="#features-deprecated-in-4-0"·title="Link·to·this·heading">¶</a></h2>587 <span·id="s-deprecated-features-4-0"></span><span·id="features-deprecated-in-4-0"></span><span·id="deprecated-features-4-0"></span><h2>Features·deprecated·in·4.0<a·class="headerlink"·href="#features-deprecated-in-4-0"·title="Link·to·this·heading">¶</a></h2>
Offset 721, 15 lines modifiedOffset 722, 15 lines modified
721 ······722 ······
Max diff block lines reached; 2671/20337 bytes (13.13%) of diff not shown.
3.47 KB
html2text {}
Max HTML report size reached
10.7 KB
./usr/share/doc/python-django-doc/html/releases/4.1.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1·release·notes"·href="4.1.html"·/>15 ····<link·rel="next"·title="Django·4.1·release·notes"·href="4.1.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.2·release·notes"·href="4.1.2.html"·/>16 ····<link·rel="prev"·title="Django·4.1.2·release·notes"·href="4.1.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 16 lines modifiedOffset 89, 16 lines modified
88 is·not·installed·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33886">#33886</a>).</p></li>89 is·not·installed·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33886">#33886</a>).</p></li>
89 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·a·crash·of·admin’s·autocomplete90 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·a·crash·of·admin’s·autocomplete
90 widgets·when·translations·are·deactivated·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33888">#33888</a>).</p></li>91 widgets·when·translations·are·deactivated·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33888">#33888</a>).</p></li>
91 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·a·crash·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">test</span></code>92 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·a·crash·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">test</span></code>
92 management·command·when·running·in·parallel·and·<code·class="docutils·literal·notranslate"><span·class="pre">multiprocessing</span></code>·start93 management·command·when·running·in·parallel·and·<code·class="docutils·literal·notranslate"><span·class="pre">multiprocessing</span></code>·start
93 method·is·<code·class="docutils·literal·notranslate"><span·class="pre">spawn</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33891">#33891</a>).</p></li>94 method·is·<code·class="docutils·literal·notranslate"><span·class="pre">spawn</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33891">#33891</a>).</p></li>
94 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·an·incorrect·redirection·to·the95 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·an·incorrect·redirection·to·the
95 admin·changelist·view·when·using·<em>Save·and·continue·editing</em>·and·<em>Save·and96 admin·changelist·view·when·using·<em>Save·and·continue·editing</em>·and·<em>Save·and
96 add·another</em>·options·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33893">#33893</a>).</p></li>97 add·another</em>·options·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33893">#33893</a>).</p></li>
97 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·a·crash·of98 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·a·crash·of
98 <a·class="reference·internal"·href="../ref/models/expressions.html#django.db.models.expressions.Window"·title="django.db.models.expressions.Window"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Window</span></code></a>·expressions·with99 <a·class="reference·internal"·href="../ref/models/expressions.html#django.db.models.expressions.Window"·title="django.db.models.expressions.Window"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Window</span></code></a>·expressions·with
99 <a·class="reference·internal"·href="../ref/contrib/postgres/aggregates.html#django.contrib.postgres.aggregates.ArrayAgg"·title="django.contrib.postgres.aggregates.ArrayAgg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ArrayAgg</span></code></a>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33898">#33898</a>).</p></li>100 <a·class="reference·internal"·href="../ref/contrib/postgres/aggregates.html#django.contrib.postgres.aggregates.ArrayAgg"·title="django.contrib.postgres.aggregates.ArrayAgg"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ArrayAgg</span></code></a>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33898">#33898</a>).</p></li>
100 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·a·migration·crash·on·SQLite101 <li><p>Fixed·a·regression·in·Django·4.1·that·caused·a·migration·crash·on·SQLite
101 3.35.5+·when·removing·an·indexed·field·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33899">#33899</a>).</p></li>102 3.35.5+·when·removing·an·indexed·field·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33899">#33899</a>).</p></li>
102 <li><p>Fixed·a·bug·in·Django·4.1·that·caused·a·crash·of·model·validation·on103 <li><p>Fixed·a·bug·in·Django·4.1·that·caused·a·crash·of·model·validation·on
103 <code·class="docutils·literal·notranslate"><span·class="pre">UniqueConstraint()</span></code>·with·field·names·in·<code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33902">#33902</a>).</p></li>104 <code·class="docutils·literal·notranslate"><span·class="pre">UniqueConstraint()</span></code>·with·field·names·in·<code·class="docutils·literal·notranslate"><span·class="pre">expressions</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/33902">#33902</a>).</p></li>
Offset 131, 47 lines modifiedOffset 132, 47 lines modified
131 ······132 ······
132 ········133 ········
133 ··········<div·class="yui-b"·id="sidebar">134 ··········<div·class="yui-b"·id="sidebar">
134 ············135 ············
135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
136 ········<div·class="sphinxsidebarwrapper">137 ········<div·class="sphinxsidebarwrapper">
137 ··<div>138 ··<div>
138 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>139 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
139 ····<ul>140 ····<ul>
140 <li><a·class="reference·internal"·href="#">Django·4.1.1·release·notes</a><ul>141 <li><a·class="reference·internal"·href="#">Django·4.1.1·release·notes</a><ul>
141 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>142 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
142 </ul>143 </ul>
143 </li>144 </li>
144 </ul>145 </ul>
  
145 ··</div>146 ··</div>
146 ··<div>147 ··<div>
147 ····<h4>Previous·topic</h4>148 ····<h4>Eelmine·teema</h4>
148 ····<p·class="topless"><a·href="4.1.2.html"149 ····<p·class="topless"><a·href="4.1.2.html"
149 ··························title="previous·chapter">Django·4.1.2·release·notes</a></p>150 ··························title="eelmine·jaotis">Django·4.1.2·release·notes</a></p>
150 ··</div>151 ··</div>
151 ··<div>152 ··<div>
152 ····<h4>Next·topic</h4>153 ····<h4>Järgmine·teema</h4>
153 ····<p·class="topless"><a·href="4.1.html"154 ····<p·class="topless"><a·href="4.1.html"
154 ··························title="next·chapter">Django·4.1·release·notes</a></p>155 ··························title="järgmine·jaotis">Django·4.1·release·notes</a></p>
155 ··</div>156 ··</div>
156 <search·id="searchbox"·style="display:·none"·role="search">157 <search·id="searchbox"·style="display:·none"·role="search">
157 ··<h3·id="searchlabel">Quick·search</h3>158 ··<h3·id="searchlabel">Kiirotsing</h3>
158 ····<div·class="searchformwrapper">159 ····<div·class="searchformwrapper">
159 ····<form·class="search"·action="../search.html"·method="get">160 ····<form·class="search"·action="../search.html"·method="get">
160 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
161 ······<input·type="submit"·value="Go"·/>162 ······<input·type="submit"·value="Otsi"·/>
162 ····</form>163 ····</form>
163 ····</div>164 ····</div>
164 </search>165 </search>
165 <script>document.getElementById('searchbox').style.display·=·"block"</script>166 <script>document.getElementById('searchbox').style.display·=·"block"</script>
166 ········</div>167 ········</div>
167 ······</div>168 ······</div>
168 ··············<h3>Last·update:</h3>169 ··············<h3>Last·update:</h3>
169 ··············<p·class="topless">Nov·05,·2024</p>170 ··············<p·class="topless">nov·05,·2024</p>
170 ··········</div>171 ··········</div>
171 ········172 ········
172 ······173 ······
173 ····</div>174 ····</div>
  
174 ····<div·id="ft">175 ····<div·id="ft">
175 ······<div·class="nav">176 ······<div·class="nav">
3.82 KB
html2text {}
Max HTML report size reached
8.68 KB
./usr/share/doc/python-django-doc/html/releases/4.1.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.9·release·notes"·href="4.1.9.html"·/>15 ····<link·rel="next"·title="Django·4.1.9·release·notes"·href="4.1.9.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.11·release·notes"·href="4.1.11.html"·/>16 ····<link·rel="prev"·title="Django·4.1.11·release·notes"·href="4.1.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.1.10">79 ··········<div·class="yui-g"·id="releases-4.1.10">
79 ············80 ············
80 ··<section·id="s-django-4-1-10-release-notes">81 ··<section·id="s-django-4-1-10-release-notes">
81 <span·id="django-4-1-10-release-notes"></span><h1>Django·4.1.10·release·notes<a·class="headerlink"·href="#django-4-1-10-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-1-10-release-notes"></span><h1>Django·4.1.10·release·notes<a·class="headerlink"·href="#django-4-1-10-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>July·3,·2023</em></p>83 <p><em>July·3,·2023</em></p>
83 <p>Django·4.1.10·fixes·a·security·issue·with·severity·moderate·in·4.1.9.</p>84 <p>Django·4.1.10·fixes·a·security·issue·with·severity·moderate·in·4.1.9.</p>
84 <section·id="s-cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">85 <section·id="s-cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">
85 <span·id="cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"></span><h2>CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code><a·class="headerlink"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"></span><h2>CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code><a·class="headerlink"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"·title="Link·to·this·heading">¶</a></h2>
86 <p><code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·were·subject·to·potential·regular87 <p><code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·were·subject·to·potential·regular
87 expression·denial·of·service·attack·via·a·very·large·number·of·domain·name88 expression·denial·of·service·attack·via·a·very·large·number·of·domain·name
88 labels·of·emails·and·URLs.</p>89 labels·of·emails·and·URLs.</p>
89 </section>90 </section>
90 </section>91 </section>
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·4.1.10·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·4.1.10·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a></li>107 <li><a·class="reference·internal"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="4.1.11.html"114 ····<p·class="topless"><a·href="4.1.11.html"
114 ··························title="previous·chapter">Django·4.1.11·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·4.1.11·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="4.1.9.html"119 ····<p·class="topless"><a·href="4.1.9.html"
119 ··························title="next·chapter">Django·4.1.9·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·4.1.9·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
2.66 KB
html2text {}
Max HTML report size reached
8.32 KB
./usr/share/doc/python-django-doc/html/releases/4.1.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.10·release·notes"·href="4.1.10.html"·/>15 ····<link·rel="next"·title="Django·4.1.10·release·notes"·href="4.1.10.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.12·release·notes"·href="4.1.12.html"·/>16 ····<link·rel="prev"·title="Django·4.1.12·release·notes"·href="4.1.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.1.11">79 ··········<div·class="yui-g"·id="releases-4.1.11">
79 ············80 ············
80 ··<section·id="s-django-4-1-11-release-notes">81 ··<section·id="s-django-4-1-11-release-notes">
81 <span·id="django-4-1-11-release-notes"></span><h1>Django·4.1.11·release·notes<a·class="headerlink"·href="#django-4-1-11-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-1-11-release-notes"></span><h1>Django·4.1.11·release·notes<a·class="headerlink"·href="#django-4-1-11-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>September·4,·2023</em></p>83 <p><em>September·4,·2023</em></p>
83 <p>Django·4.1.11·fixes·a·security·issue·with·severity·moderate·in·4.1.10.</p>84 <p>Django·4.1.11·fixes·a·security·issue·with·severity·moderate·in·4.1.10.</p>
84 <section·id="s-cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">85 <section·id="s-cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">
85 <span·id="cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"></span><h2>CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code><a·class="headerlink"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"></span><h2>CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code><a·class="headerlink"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"·title="Link·to·this·heading">¶</a></h2>
86 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code>·was·subject·to·potential·denial·of87 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code>·was·subject·to·potential·denial·of
87 service·attack·via·certain·inputs·with·a·very·large·number·of·Unicode88 service·attack·via·certain·inputs·with·a·very·large·number·of·Unicode
88 characters.</p>89 characters.</p>
89 </section>90 </section>
90 </section>91 </section>
Offset 96, 47 lines modifiedOffset 97, 47 lines modified
96 ······97 ······
97 ········98 ········
98 ··········<div·class="yui-b"·id="sidebar">99 ··········<div·class="yui-b"·id="sidebar">
99 ············100 ············
100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
101 ········<div·class="sphinxsidebarwrapper">102 ········<div·class="sphinxsidebarwrapper">
102 ··<div>103 ··<div>
103 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>104 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
104 ····<ul>105 ····<ul>
105 <li><a·class="reference·internal"·href="#">Django·4.1.11·release·notes</a><ul>106 <li><a·class="reference·internal"·href="#">Django·4.1.11·release·notes</a><ul>
106 <li><a·class="reference·internal"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>107 <li><a·class="reference·internal"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>
107 </ul>108 </ul>
108 </li>109 </li>
109 </ul>110 </ul>
  
110 ··</div>111 ··</div>
111 ··<div>112 ··<div>
112 ····<h4>Previous·topic</h4>113 ····<h4>Eelmine·teema</h4>
113 ····<p·class="topless"><a·href="4.1.12.html"114 ····<p·class="topless"><a·href="4.1.12.html"
114 ··························title="previous·chapter">Django·4.1.12·release·notes</a></p>115 ··························title="eelmine·jaotis">Django·4.1.12·release·notes</a></p>
115 ··</div>116 ··</div>
116 ··<div>117 ··<div>
117 ····<h4>Next·topic</h4>118 ····<h4>Järgmine·teema</h4>
118 ····<p·class="topless"><a·href="4.1.10.html"119 ····<p·class="topless"><a·href="4.1.10.html"
119 ··························title="next·chapter">Django·4.1.10·release·notes</a></p>120 ··························title="järgmine·jaotis">Django·4.1.10·release·notes</a></p>
120 ··</div>121 ··</div>
121 <search·id="searchbox"·style="display:·none"·role="search">122 <search·id="searchbox"·style="display:·none"·role="search">
122 ··<h3·id="searchlabel">Quick·search</h3>123 ··<h3·id="searchlabel">Kiirotsing</h3>
123 ····<div·class="searchformwrapper">124 ····<div·class="searchformwrapper">
124 ····<form·class="search"·action="../search.html"·method="get">125 ····<form·class="search"·action="../search.html"·method="get">
125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
126 ······<input·type="submit"·value="Go"·/>127 ······<input·type="submit"·value="Otsi"·/>
127 ····</form>128 ····</form>
128 ····</div>129 ····</div>
129 </search>130 </search>
130 <script>document.getElementById('searchbox').style.display·=·"block"</script>131 <script>document.getElementById('searchbox').style.display·=·"block"</script>
131 ········</div>132 ········</div>
132 ······</div>133 ······</div>
133 ··············<h3>Last·update:</h3>134 ··············<h3>Last·update:</h3>
134 ··············<p·class="topless">Nov·05,·2024</p>135 ··············<p·class="topless">nov·05,·2024</p>
135 ··········</div>136 ··········</div>
136 ········137 ········
137 ······138 ······
138 ····</div>139 ····</div>
  
139 ····<div·id="ft">140 ····<div·id="ft">
140 ······<div·class="nav">141 ······<div·class="nav">
2.59 KB
html2text {}
Max HTML report size reached
9.3 KB
./usr/share/doc/python-django-doc/html/releases/4.1.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.11·release·notes"·href="4.1.11.html"·/>15 ····<link·rel="next"·title="Django·4.1.11·release·notes"·href="4.1.11.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.13·release·notes"·href="4.1.13.html"·/>16 ····<link·rel="prev"·title="Django·4.1.13·release·notes"·href="4.1.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.1.12">79 ··········<div·class="yui-g"·id="releases-4.1.12">
79 ············80 ············
80 ··<section·id="s-django-4-1-12-release-notes">81 ··<section·id="s-django-4-1-12-release-notes">
81 <span·id="django-4-1-12-release-notes"></span><h1>Django·4.1.12·release·notes<a·class="headerlink"·href="#django-4-1-12-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-1-12-release-notes"></span><h1>Django·4.1.12·release·notes<a·class="headerlink"·href="#django-4-1-12-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>October·4,·2023</em></p>83 <p><em>October·4,·2023</em></p>
83 <p>Django·4.1.12·fixes·a·security·issue·with·severity·moderate·in·4.1.11.</p>84 <p>Django·4.1.12·fixes·a·security·issue·with·severity·moderate·in·4.1.11.</p>
84 <section·id="s-cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">85 <section·id="s-cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">
85 <span·id="cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"></span><h2>CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code><a·class="headerlink"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"></span><h2>CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code><a·class="headerlink"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"·title="Link·to·this·heading">¶</a></h2>
86 <p>Following·the·fix·for·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>,·the·regular·expressions·used·in·the87 <p>Following·the·fix·for·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>,·the·regular·expressions·used·in·the
87 implementation·of·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">chars()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">words()</span></code>88 implementation·of·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">chars()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">words()</span></code>
88 methods·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·were·revised·and·improved.·However,·these·regular89 methods·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·were·revised·and·improved.·However,·these·regular
89 expressions·still·exhibited·linear·backtracking·complexity,·so·when·given·a90 expressions·still·exhibited·linear·backtracking·complexity,·so·when·given·a
90 very·long,·potentially·malformed·HTML·input,·the·evaluation·would·still·be91 very·long,·potentially·malformed·HTML·input,·the·evaluation·would·still·be
Offset 105, 47 lines modifiedOffset 106, 47 lines modified
105 ······106 ······
106 ········107 ········
107 ··········<div·class="yui-b"·id="sidebar">108 ··········<div·class="yui-b"·id="sidebar">
108 ············109 ············
109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
110 ········<div·class="sphinxsidebarwrapper">111 ········<div·class="sphinxsidebarwrapper">
111 ··<div>112 ··<div>
112 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>113 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
113 ····<ul>114 ····<ul>
114 <li><a·class="reference·internal"·href="#">Django·4.1.12·release·notes</a><ul>115 <li><a·class="reference·internal"·href="#">Django·4.1.12·release·notes</a><ul>
115 <li><a·class="reference·internal"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>116 <li><a·class="reference·internal"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>
116 </ul>117 </ul>
117 </li>118 </li>
118 </ul>119 </ul>
  
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Previous·topic</h4>122 ····<h4>Eelmine·teema</h4>
122 ····<p·class="topless"><a·href="4.1.13.html"123 ····<p·class="topless"><a·href="4.1.13.html"
123 ··························title="previous·chapter">Django·4.1.13·release·notes</a></p>124 ··························title="eelmine·jaotis">Django·4.1.13·release·notes</a></p>
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Next·topic</h4>127 ····<h4>Järgmine·teema</h4>
127 ····<p·class="topless"><a·href="4.1.11.html"128 ····<p·class="topless"><a·href="4.1.11.html"
128 ··························title="next·chapter">Django·4.1.11·release·notes</a></p>129 ··························title="järgmine·jaotis">Django·4.1.11·release·notes</a></p>
129 ··</div>130 ··</div>
130 <search·id="searchbox"·style="display:·none"·role="search">131 <search·id="searchbox"·style="display:·none"·role="search">
131 ··<h3·id="searchlabel">Quick·search</h3>132 ··<h3·id="searchlabel">Kiirotsing</h3>
132 ····<div·class="searchformwrapper">133 ····<div·class="searchformwrapper">
133 ····<form·class="search"·action="../search.html"·method="get">134 ····<form·class="search"·action="../search.html"·method="get">
134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
135 ······<input·type="submit"·value="Go"·/>136 ······<input·type="submit"·value="Otsi"·/>
136 ····</form>137 ····</form>
137 ····</div>138 ····</div>
138 </search>139 </search>
139 <script>document.getElementById('searchbox').style.display·=·"block"</script>140 <script>document.getElementById('searchbox').style.display·=·"block"</script>
140 ········</div>141 ········</div>
141 ······</div>142 ······</div>
142 ··············<h3>Last·update:</h3>143 ··············<h3>Last·update:</h3>
143 ··············<p·class="topless">Nov·05,·2024</p>144 ··············<p·class="topless">nov·05,·2024</p>
144 ··········</div>145 ··········</div>
145 ········146 ········
146 ······147 ······
147 ····</div>148 ····</div>
  
148 ····<div·id="ft">149 ····<div·id="ft">
149 ······<div·class="nav">150 ······<div·class="nav">
3.18 KB
html2text {}
Max HTML report size reached
9.29 KB
./usr/share/doc/python-django-doc/html/releases/4.1.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.12·release·notes"·href="4.1.12.html"·/>15 ····<link·rel="next"·title="Django·4.1.12·release·notes"·href="4.1.12.html"·/>
15 ····<link·rel="prev"·title="Django·4.2·release·notes"·href="4.2.html"·/>16 ····<link·rel="prev"·title="Django·4.2·release·notes"·href="4.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 18 lines modifiedOffset 77, 18 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.1.13">79 ··········<div·class="yui-g"·id="releases-4.1.13">
79 ············80 ············
80 ··<section·id="s-django-4-1-13-release-notes">81 ··<section·id="s-django-4-1-13-release-notes">
81 <span·id="django-4-1-13-release-notes"></span><h1>Django·4.1.13·release·notes<a·class="headerlink"·href="#django-4-1-13-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-1-13-release-notes"></span><h1>Django·4.1.13·release·notes<a·class="headerlink"·href="#django-4-1-13-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>November·1,·2023</em></p>83 <p><em>November·1,·2023</em></p>
83 <p>Django·4.1.13·fixes·a·security·issue·with·severity·moderate·in·4.1.12.</p>84 <p>Django·4.1.13·fixes·a·security·issue·with·severity·moderate·in·4.1.12.</p>
84 <section·id="s-cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">85 <section·id="s-cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">
85 <span·id="cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"></span><h2>CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows<a·class="headerlink"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"></span><h2>CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows<a·class="headerlink"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unicodedata.html#unicodedata.normalize"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">NFKC</span>·<span·class="pre">normalization</span></code></a>·is·slow·on87 <p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unicodedata.html#unicodedata.normalize"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">NFKC</span>·<span·class="pre">normalization</span></code></a>·is·slow·on
87 Windows.·As·a·consequence,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.forms.UsernameField</span></code>·was88 Windows.·As·a·consequence,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.forms.UsernameField</span></code>·was
88 subject·to·a·potential·denial·of·service·attack·via·certain·inputs·with·a·very89 subject·to·a·potential·denial·of·service·attack·via·certain·inputs·with·a·very
89 large·number·of·Unicode·characters.</p>90 large·number·of·Unicode·characters.</p>
90 <p>In·order·to·avoid·the·vulnerability,·invalid·values·longer·than91 <p>In·order·to·avoid·the·vulnerability,·invalid·values·longer·than
91 <code·class="docutils·literal·notranslate"><span·class="pre">UsernameField.max_length</span></code>·are·no·longer·normalized,·since·they·cannot·pass92 <code·class="docutils·literal·notranslate"><span·class="pre">UsernameField.max_length</span></code>·are·no·longer·normalized,·since·they·cannot·pass
92 validation·anyway.</p>93 validation·anyway.</p>
93 </section>94 </section>
Offset 100, 47 lines modifiedOffset 101, 47 lines modified
100 ······101 ······
101 ········102 ········
102 ··········<div·class="yui-b"·id="sidebar">103 ··········<div·class="yui-b"·id="sidebar">
103 ············104 ············
104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
105 ········<div·class="sphinxsidebarwrapper">106 ········<div·class="sphinxsidebarwrapper">
106 ··<div>107 ··<div>
107 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>108 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
108 ····<ul>109 ····<ul>
109 <li><a·class="reference·internal"·href="#">Django·4.1.13·release·notes</a><ul>110 <li><a·class="reference·internal"·href="#">Django·4.1.13·release·notes</a><ul>
110 <li><a·class="reference·internal"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows</a></li>111 <li><a·class="reference·internal"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows</a></li>
111 </ul>112 </ul>
112 </li>113 </li>
113 </ul>114 </ul>
  
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Previous·topic</h4>117 ····<h4>Eelmine·teema</h4>
117 ····<p·class="topless"><a·href="4.2.html"118 ····<p·class="topless"><a·href="4.2.html"
118 ··························title="previous·chapter">Django·4.2·release·notes</a></p>119 ··························title="eelmine·jaotis">Django·4.2·release·notes</a></p>
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Next·topic</h4>122 ····<h4>Järgmine·teema</h4>
122 ····<p·class="topless"><a·href="4.1.12.html"123 ····<p·class="topless"><a·href="4.1.12.html"
123 ··························title="next·chapter">Django·4.1.12·release·notes</a></p>124 ··························title="järgmine·jaotis">Django·4.1.12·release·notes</a></p>
124 ··</div>125 ··</div>
125 <search·id="searchbox"·style="display:·none"·role="search">126 <search·id="searchbox"·style="display:·none"·role="search">
126 ··<h3·id="searchlabel">Quick·search</h3>127 ··<h3·id="searchlabel">Kiirotsing</h3>
127 ····<div·class="searchformwrapper">128 ····<div·class="searchformwrapper">
128 ····<form·class="search"·action="../search.html"·method="get">129 ····<form·class="search"·action="../search.html"·method="get">
129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
130 ······<input·type="submit"·value="Go"·/>131 ······<input·type="submit"·value="Otsi"·/>
131 ····</form>132 ····</form>
132 ····</div>133 ····</div>
133 </search>134 </search>
134 <script>document.getElementById('searchbox').style.display·=·"block"</script>135 <script>document.getElementById('searchbox').style.display·=·"block"</script>
135 ········</div>136 ········</div>
136 ······</div>137 ······</div>
137 ··············<h3>Last·update:</h3>138 ··············<h3>Last·update:</h3>
138 ··············<p·class="topless">Nov·05,·2024</p>139 ··············<p·class="topless">nov·05,·2024</p>
139 ··········</div>140 ··········</div>
140 ········141 ········
141 ······142 ······
142 ····</div>143 ····</div>
  
143 ····<div·id="ft">144 ····<div·id="ft">
144 ······<div·class="nav">145 ······<div·class="nav">
2.78 KB
html2text {}
Max HTML report size reached
8.56 KB
./usr/share/doc/python-django-doc/html/releases/4.1.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.1·release·notes"·href="4.1.1.html"·/>15 ····<link·rel="next"·title="Django·4.1.1·release·notes"·href="4.1.1.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.3·release·notes"·href="4.1.3.html"·/>16 ····<link·rel="prev"·title="Django·4.1.3·release·notes"·href="4.1.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.1.2">79 ··········<div·class="yui-g"·id="releases-4.1.2">
79 ············80 ············
80 ··<section·id="s-django-4-1-2-release-notes">81 ··<section·id="s-django-4-1-2-release-notes">
81 <span·id="django-4-1-2-release-notes"></span><h1>Django·4.1.2·release·notes<a·class="headerlink"·href="#django-4-1-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-1-2-release-notes"></span><h1>Django·4.1.2·release·notes<a·class="headerlink"·href="#django-4-1-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>October·4,·2022</em></p>83 <p><em>October·4,·2022</em></p>
83 <p>Django·4.1.2·fixes·a·security·issue·with·severity·medium·and·several·bugs·in84 <p>Django·4.1.2·fixes·a·security·issue·with·severity·medium·and·several·bugs·in
84 4.1.1.</p>85 4.1.1.</p>
85 <section·id="s-cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">86 <section·id="s-cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">
86 <span·id="cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"></span><h2>CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs<a·class="headerlink"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"></span><h2>CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs<a·class="headerlink"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls"·title="Link·to·this·heading">¶</a></h2>
87 <p>Internationalized·URLs·were·subject·to·potential·denial·of·service·attack·via88 <p>Internationalized·URLs·were·subject·to·potential·denial·of·service·attack·via
88 the·locale·parameter.</p>89 the·locale·parameter.</p>
89 </section>90 </section>
90 <section·id="s-bugfixes">91 <section·id="s-bugfixes">
Offset 131, 48 lines modifiedOffset 132, 48 lines modified
131 ······132 ······
132 ········133 ········
133 ··········<div·class="yui-b"·id="sidebar">134 ··········<div·class="yui-b"·id="sidebar">
134 ············135 ············
135 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
136 ········<div·class="sphinxsidebarwrapper">137 ········<div·class="sphinxsidebarwrapper">
137 ··<div>138 ··<div>
138 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>139 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
139 ····<ul>140 ····<ul>
140 <li><a·class="reference·internal"·href="#">Django·4.1.2·release·notes</a><ul>141 <li><a·class="reference·internal"·href="#">Django·4.1.2·release·notes</a><ul>
141 <li><a·class="reference·internal"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs</a></li>142 <li><a·class="reference·internal"·href="#cve-2022-41323-potential-denial-of-service-vulnerability-in-internationalized-urls">CVE-2022-41323:·Potential·denial-of-service·vulnerability·in·internationalized·URLs</a></li>
142 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>143 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
143 </ul>144 </ul>
144 </li>145 </li>
145 </ul>146 </ul>
  
146 ··</div>147 ··</div>
147 ··<div>148 ··<div>
148 ····<h4>Previous·topic</h4>149 ····<h4>Eelmine·teema</h4>
149 ····<p·class="topless"><a·href="4.1.3.html"150 ····<p·class="topless"><a·href="4.1.3.html"
150 ··························title="previous·chapter">Django·4.1.3·release·notes</a></p>151 ··························title="eelmine·jaotis">Django·4.1.3·release·notes</a></p>
151 ··</div>152 ··</div>
152 ··<div>153 ··<div>
153 ····<h4>Next·topic</h4>154 ····<h4>Järgmine·teema</h4>
154 ····<p·class="topless"><a·href="4.1.1.html"155 ····<p·class="topless"><a·href="4.1.1.html"
155 ··························title="next·chapter">Django·4.1.1·release·notes</a></p>156 ··························title="järgmine·jaotis">Django·4.1.1·release·notes</a></p>
156 ··</div>157 ··</div>
157 <search·id="searchbox"·style="display:·none"·role="search">158 <search·id="searchbox"·style="display:·none"·role="search">
158 ··<h3·id="searchlabel">Quick·search</h3>159 ··<h3·id="searchlabel">Kiirotsing</h3>
159 ····<div·class="searchformwrapper">160 ····<div·class="searchformwrapper">
160 ····<form·class="search"·action="../search.html"·method="get">161 ····<form·class="search"·action="../search.html"·method="get">
161 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>162 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
162 ······<input·type="submit"·value="Go"·/>163 ······<input·type="submit"·value="Otsi"·/>
163 ····</form>164 ····</form>
164 ····</div>165 ····</div>
165 </search>166 </search>
166 <script>document.getElementById('searchbox').style.display·=·"block"</script>167 <script>document.getElementById('searchbox').style.display·=·"block"</script>
167 ········</div>168 ········</div>
168 ······</div>169 ······</div>
169 ··············<h3>Last·update:</h3>170 ··············<h3>Last·update:</h3>
170 ··············<p·class="topless">Nov·05,·2024</p>171 ··············<p·class="topless">nov·05,·2024</p>
171 ··········</div>172 ··········</div>
172 ········173 ········
173 ······174 ······
174 ····</div>175 ····</div>
  
175 ····<div·id="ft">176 ····<div·id="ft">
176 ······<div·class="nav">177 ······<div·class="nav">
3.1 KB
html2text {}
Max HTML report size reached
6.19 KB
./usr/share/doc/python-django-doc/html/releases/4.1.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.2·release·notes"·href="4.1.2.html"·/>15 ····<link·rel="next"·title="Django·4.1.2·release·notes"·href="4.1.2.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.4·release·notes"·href="4.1.4.html"·/>16 ····<link·rel="prev"·title="Django·4.1.4·release·notes"·href="4.1.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·4.1.3·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·4.1.3·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="4.1.4.html"116 ····<p·class="topless"><a·href="4.1.4.html"
116 ··························title="previous·chapter">Django·4.1.4·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·4.1.4·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="4.1.2.html"121 ····<p·class="topless"><a·href="4.1.2.html"
121 ··························title="next·chapter">Django·4.1.2·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·4.1.2·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.08 KB
html2text {}
Max HTML report size reached
6.48 KB
./usr/share/doc/python-django-doc/html/releases/4.1.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.3·release·notes"·href="4.1.3.html"·/>15 ····<link·rel="next"·title="Django·4.1.3·release·notes"·href="4.1.3.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.5·release·notes"·href="4.1.5.html"·/>16 ····<link·rel="prev"·title="Django·4.1.5·release·notes"·href="4.1.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 108, 47 lines modifiedOffset 109, 47 lines modified
108 ······109 ······
109 ········110 ········
110 ··········<div·class="yui-b"·id="sidebar">111 ··········<div·class="yui-b"·id="sidebar">
111 ············112 ············
112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
113 ········<div·class="sphinxsidebarwrapper">114 ········<div·class="sphinxsidebarwrapper">
114 ··<div>115 ··<div>
115 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>116 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
116 ····<ul>117 ····<ul>
117 <li><a·class="reference·internal"·href="#">Django·4.1.4·release·notes</a><ul>118 <li><a·class="reference·internal"·href="#">Django·4.1.4·release·notes</a><ul>
118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>119 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
119 </ul>120 </ul>
120 </li>121 </li>
121 </ul>122 </ul>
  
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Previous·topic</h4>125 ····<h4>Eelmine·teema</h4>
125 ····<p·class="topless"><a·href="4.1.5.html"126 ····<p·class="topless"><a·href="4.1.5.html"
126 ··························title="previous·chapter">Django·4.1.5·release·notes</a></p>127 ··························title="eelmine·jaotis">Django·4.1.5·release·notes</a></p>
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Next·topic</h4>130 ····<h4>Järgmine·teema</h4>
130 ····<p·class="topless"><a·href="4.1.3.html"131 ····<p·class="topless"><a·href="4.1.3.html"
131 ··························title="next·chapter">Django·4.1.3·release·notes</a></p>132 ··························title="järgmine·jaotis">Django·4.1.3·release·notes</a></p>
132 ··</div>133 ··</div>
133 <search·id="searchbox"·style="display:·none"·role="search">134 <search·id="searchbox"·style="display:·none"·role="search">
134 ··<h3·id="searchlabel">Quick·search</h3>135 ··<h3·id="searchlabel">Kiirotsing</h3>
135 ····<div·class="searchformwrapper">136 ····<div·class="searchformwrapper">
136 ····<form·class="search"·action="../search.html"·method="get">137 ····<form·class="search"·action="../search.html"·method="get">
137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
138 ······<input·type="submit"·value="Go"·/>139 ······<input·type="submit"·value="Otsi"·/>
139 ····</form>140 ····</form>
140 ····</div>141 ····</div>
141 </search>142 </search>
142 <script>document.getElementById('searchbox').style.display·=·"block"</script>143 <script>document.getElementById('searchbox').style.display·=·"block"</script>
143 ········</div>144 ········</div>
144 ······</div>145 ······</div>
145 ··············<h3>Last·update:</h3>146 ··············<h3>Last·update:</h3>
146 ··············<p·class="topless">Nov·05,·2024</p>147 ··············<p·class="topless">nov·05,·2024</p>
147 ··········</div>148 ··········</div>
148 ········149 ········
149 ······150 ······
150 ····</div>151 ····</div>
  
151 ····<div·id="ft">152 ····<div·id="ft">
152 ······<div·class="nav">153 ······<div·class="nav">
2.36 KB
html2text {}
Max HTML report size reached
6.18 KB
./usr/share/doc/python-django-doc/html/releases/4.1.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.4·release·notes"·href="4.1.4.html"·/>15 ····<link·rel="next"·title="Django·4.1.4·release·notes"·href="4.1.4.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.6·release·notes"·href="4.1.6.html"·/>16 ····<link·rel="prev"·title="Django·4.1.6·release·notes"·href="4.1.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 100, 47 lines modifiedOffset 101, 47 lines modified
100 ······101 ······
101 ········102 ········
102 ··········<div·class="yui-b"·id="sidebar">103 ··········<div·class="yui-b"·id="sidebar">
103 ············104 ············
104 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
105 ········<div·class="sphinxsidebarwrapper">106 ········<div·class="sphinxsidebarwrapper">
106 ··<div>107 ··<div>
107 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>108 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
108 ····<ul>109 ····<ul>
109 <li><a·class="reference·internal"·href="#">Django·4.1.5·release·notes</a><ul>110 <li><a·class="reference·internal"·href="#">Django·4.1.5·release·notes</a><ul>
110 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>111 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
111 </ul>112 </ul>
112 </li>113 </li>
113 </ul>114 </ul>
  
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Previous·topic</h4>117 ····<h4>Eelmine·teema</h4>
117 ····<p·class="topless"><a·href="4.1.6.html"118 ····<p·class="topless"><a·href="4.1.6.html"
118 ··························title="previous·chapter">Django·4.1.6·release·notes</a></p>119 ··························title="eelmine·jaotis">Django·4.1.6·release·notes</a></p>
119 ··</div>120 ··</div>
120 ··<div>121 ··<div>
121 ····<h4>Next·topic</h4>122 ····<h4>Järgmine·teema</h4>
122 ····<p·class="topless"><a·href="4.1.4.html"123 ····<p·class="topless"><a·href="4.1.4.html"
123 ··························title="next·chapter">Django·4.1.4·release·notes</a></p>124 ··························title="järgmine·jaotis">Django·4.1.4·release·notes</a></p>
124 ··</div>125 ··</div>
125 <search·id="searchbox"·style="display:·none"·role="search">126 <search·id="searchbox"·style="display:·none"·role="search">
126 ··<h3·id="searchlabel">Quick·search</h3>127 ··<h3·id="searchlabel">Kiirotsing</h3>
127 ····<div·class="searchformwrapper">128 ····<div·class="searchformwrapper">
128 ····<form·class="search"·action="../search.html"·method="get">129 ····<form·class="search"·action="../search.html"·method="get">
129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>130 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
130 ······<input·type="submit"·value="Go"·/>131 ······<input·type="submit"·value="Otsi"·/>
131 ····</form>132 ····</form>
132 ····</div>133 ····</div>
133 </search>134 </search>
134 <script>document.getElementById('searchbox').style.display·=·"block"</script>135 <script>document.getElementById('searchbox').style.display·=·"block"</script>
135 ········</div>136 ········</div>
136 ······</div>137 ······</div>
137 ··············<h3>Last·update:</h3>138 ··············<h3>Last·update:</h3>
138 ··············<p·class="topless">Nov·05,·2024</p>139 ··············<p·class="topless">nov·05,·2024</p>
139 ··········</div>140 ··········</div>
140 ········141 ········
141 ······142 ······
142 ····</div>143 ····</div>
  
143 ····<div·id="ft">144 ····<div·id="ft">
144 ······<div·class="nav">145 ······<div·class="nav">
2.06 KB
html2text {}
Max HTML report size reached
8.67 KB
./usr/share/doc/python-django-doc/html/releases/4.1.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.5·release·notes"·href="4.1.5.html"·/>15 ····<link·rel="next"·title="Django·4.1.5·release·notes"·href="4.1.5.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.7·release·notes"·href="4.1.7.html"·/>16 ····<link·rel="prev"·title="Django·4.1.7·release·notes"·href="4.1.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.1.6">79 ··········<div·class="yui-g"·id="releases-4.1.6">
79 ············80 ············
80 ··<section·id="s-django-4-1-6-release-notes">81 ··<section·id="s-django-4-1-6-release-notes">
81 <span·id="django-4-1-6-release-notes"></span><h1>Django·4.1.6·release·notes<a·class="headerlink"·href="#django-4-1-6-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-1-6-release-notes"></span><h1>Django·4.1.6·release·notes<a·class="headerlink"·href="#django-4-1-6-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·1,·2023</em></p>83 <p><em>February·1,·2023</em></p>
83 <p>Django·4.1.6·fixes·a·security·issue·with·severity·moderate·and·a·bug·in84 <p>Django·4.1.6·fixes·a·security·issue·with·severity·moderate·and·a·bug·in
84 4.1.5.</p>85 4.1.5.</p>
85 <section·id="s-cve-2023-23969-potential-denial-of-service-via-accept-language-headers">86 <section·id="s-cve-2023-23969-potential-denial-of-service-via-accept-language-headers">
86 <span·id="cve-2023-23969-potential-denial-of-service-via-accept-language-headers"></span><h2>CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers<a·class="headerlink"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2023-23969-potential-denial-of-service-via-accept-language-headers"></span><h2>CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers<a·class="headerlink"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers"·title="Link·to·this·heading">¶</a></h2>
87 <p>The·parsed·values·of·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers·are·cached·in·order·to·avoid88 <p>The·parsed·values·of·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers·are·cached·in·order·to·avoid
88 repetitive·parsing.·This·leads·to·a·potential·denial-of-service·vector·via89 repetitive·parsing.·This·leads·to·a·potential·denial-of-service·vector·via
89 excessive·memory·usage·if·large·header·values·are·sent.</p>90 excessive·memory·usage·if·large·header·values·are·sent.</p>
90 <p>In·order·to·avoid·this·vulnerability,·the·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·header·is·now91 <p>In·order·to·avoid·this·vulnerability,·the·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·header·is·now
Offset 106, 48 lines modifiedOffset 107, 48 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·4.1.6·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·4.1.6·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers">CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers</a></li>117 <li><a·class="reference·internal"·href="#cve-2023-23969-potential-denial-of-service-via-accept-language-headers">CVE-2023-23969:·Potential·denial-of-service·via·<code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·headers</a></li>
117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="4.1.7.html"125 ····<p·class="topless"><a·href="4.1.7.html"
125 ··························title="previous·chapter">Django·4.1.7·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·4.1.7·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="4.1.5.html"130 ····<p·class="topless"><a·href="4.1.5.html"
130 ··························title="next·chapter">Django·4.1.5·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·4.1.5·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
2.85 KB
html2text {}
Max HTML report size reached
8.35 KB
./usr/share/doc/python-django-doc/html/releases/4.1.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.6·release·notes"·href="4.1.6.html"·/>15 ····<link·rel="next"·title="Django·4.1.6·release·notes"·href="4.1.6.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.8·release·notes"·href="4.1.8.html"·/>16 ····<link·rel="prev"·title="Django·4.1.8·release·notes"·href="4.1.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.1.7">79 ··········<div·class="yui-g"·id="releases-4.1.7">
79 ············80 ············
80 ··<section·id="s-django-4-1-7-release-notes">81 ··<section·id="s-django-4-1-7-release-notes">
81 <span·id="django-4-1-7-release-notes"></span><h1>Django·4.1.7·release·notes<a·class="headerlink"·href="#django-4-1-7-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-1-7-release-notes"></span><h1>Django·4.1.7·release·notes<a·class="headerlink"·href="#django-4-1-7-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·14,·2023</em></p>83 <p><em>February·14,·2023</em></p>
83 <p>Django·4.1.7·fixes·a·security·issue·with·severity·moderate·and·a·bug·in84 <p>Django·4.1.7·fixes·a·security·issue·with·severity·moderate·and·a·bug·in
84 4.1.6.</p>85 4.1.6.</p>
85 <section·id="s-cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">86 <section·id="s-cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">
86 <span·id="cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"></span><h2>CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads<a·class="headerlink"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"></span><h2>CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads<a·class="headerlink"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads"·title="Link·to·this·heading">¶</a></h2>
87 <p>Passing·certain·inputs·to·multipart·forms·could·result·in·too·many·open·files88 <p>Passing·certain·inputs·to·multipart·forms·could·result·in·too·many·open·files
88 or·memory·exhaustion,·and·provided·a·potential·vector·for·a·denial-of-service89 or·memory·exhaustion,·and·provided·a·potential·vector·for·a·denial-of-service
89 attack.</p>90 attack.</p>
90 <p>The·number·of·files·parts·parsed·is·now·limited·via·the·new91 <p>The·number·of·files·parts·parsed·is·now·limited·via·the·new
Offset 106, 48 lines modifiedOffset 107, 48 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·4.1.7·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·4.1.7·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads</a></li>117 <li><a·class="reference·internal"·href="#cve-2023-24580-potential-denial-of-service-vulnerability-in-file-uploads">CVE-2023-24580:·Potential·denial-of-service·vulnerability·in·file·uploads</a></li>
117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="4.1.8.html"125 ····<p·class="topless"><a·href="4.1.8.html"
125 ··························title="previous·chapter">Django·4.1.8·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·4.1.8·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="4.1.6.html"130 ····<p·class="topless"><a·href="4.1.6.html"
130 ··························title="next·chapter">Django·4.1.6·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·4.1.6·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
2.86 KB
html2text {}
Max HTML report size reached
6.07 KB
./usr/share/doc/python-django-doc/html/releases/4.1.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.7·release·notes"·href="4.1.7.html"·/>15 ····<link·rel="next"·title="Django·4.1.7·release·notes"·href="4.1.7.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.9·release·notes"·href="4.1.9.html"·/>16 ····<link·rel="prev"·title="Django·4.1.9·release·notes"·href="4.1.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·4.1.8·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·4.1.8·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="4.1.9.html"115 ····<p·class="topless"><a·href="4.1.9.html"
115 ··························title="previous·chapter">Django·4.1.9·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·4.1.9·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="4.1.7.html"120 ····<p·class="topless"><a·href="4.1.7.html"
120 ··························title="next·chapter">Django·4.1.7·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·4.1.7·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.95 KB
html2text {}
Max HTML report size reached
9.57 KB
./usr/share/doc/python-django-doc/html/releases/4.1.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.8·release·notes"·href="4.1.8.html"·/>15 ····<link·rel="next"·title="Django·4.1.8·release·notes"·href="4.1.8.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.10·release·notes"·href="4.1.10.html"·/>16 ····<link·rel="prev"·title="Django·4.1.10·release·notes"·href="4.1.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.1.9">79 ··········<div·class="yui-g"·id="releases-4.1.9">
79 ············80 ············
80 ··<section·id="s-django-4-1-9-release-notes">81 ··<section·id="s-django-4-1-9-release-notes">
81 <span·id="django-4-1-9-release-notes"></span><h1>Django·4.1.9·release·notes<a·class="headerlink"·href="#django-4-1-9-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-1-9-release-notes"></span><h1>Django·4.1.9·release·notes<a·class="headerlink"·href="#django-4-1-9-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>May·3,·2023</em></p>83 <p><em>May·3,·2023</em></p>
83 <p>Django·4.1.9·fixes·a·security·issue·with·severity·low·in·4.1.8.</p>84 <p>Django·4.1.9·fixes·a·security·issue·with·severity·low·in·4.1.8.</p>
84 <section·id="s-cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">85 <section·id="s-cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">
85 <span·id="cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"></span><h2>CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field<a·class="headerlink"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"></span><h2>CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field<a·class="headerlink"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"·title="Link·to·this·heading">¶</a></h2>
86 <p>Uploading·multiple·files·using·one·form·field·has·never·been·supported·by87 <p>Uploading·multiple·files·using·one·form·field·has·never·been·supported·by
87 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.FileField</span></code></a>·or·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.ImageField"·title="django.forms.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.ImageField</span></code></a>·as·only·the·last88 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.FileField</span></code></a>·or·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.ImageField"·title="django.forms.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.ImageField</span></code></a>·as·only·the·last
88 uploaded·file·was·validated.·Unfortunately,·<a·class="reference·internal"·href="../topics/http/file-uploads.html#uploading-multiple-files"><span·class="std·std-ref">Uploading·multiple·files</span></a>89 uploaded·file·was·validated.·Unfortunately,·<a·class="reference·internal"·href="../topics/http/file-uploads.html#uploading-multiple-files"><span·class="std·std-ref">Uploading·multiple·files</span></a>
89 topic·suggested·otherwise.</p>90 topic·suggested·otherwise.</p>
90 <p>In·order·to·avoid·the·vulnerability,·<a·class="reference·internal"·href="../ref/forms/widgets.html#django.forms.ClearableFileInput"·title="django.forms.ClearableFileInput"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ClearableFileInput</span></code></a>91 <p>In·order·to·avoid·the·vulnerability,·<a·class="reference·internal"·href="../ref/forms/widgets.html#django.forms.ClearableFileInput"·title="django.forms.ClearableFileInput"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ClearableFileInput</span></code></a>
Offset 103, 47 lines modifiedOffset 104, 47 lines modified
103 ······104 ······
104 ········105 ········
105 ··········<div·class="yui-b"·id="sidebar">106 ··········<div·class="yui-b"·id="sidebar">
106 ············107 ············
107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
108 ········<div·class="sphinxsidebarwrapper">109 ········<div·class="sphinxsidebarwrapper">
109 ··<div>110 ··<div>
110 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>111 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
111 ····<ul>112 ····<ul>
112 <li><a·class="reference·internal"·href="#">Django·4.1.9·release·notes</a><ul>113 <li><a·class="reference·internal"·href="#">Django·4.1.9·release·notes</a><ul>
113 <li><a·class="reference·internal"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field</a></li>114 <li><a·class="reference·internal"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field</a></li>
114 </ul>115 </ul>
115 </li>116 </li>
116 </ul>117 </ul>
  
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Previous·topic</h4>120 ····<h4>Eelmine·teema</h4>
120 ····<p·class="topless"><a·href="4.1.10.html"121 ····<p·class="topless"><a·href="4.1.10.html"
121 ··························title="previous·chapter">Django·4.1.10·release·notes</a></p>122 ··························title="eelmine·jaotis">Django·4.1.10·release·notes</a></p>
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Next·topic</h4>125 ····<h4>Järgmine·teema</h4>
125 ····<p·class="topless"><a·href="4.1.8.html"126 ····<p·class="topless"><a·href="4.1.8.html"
126 ··························title="next·chapter">Django·4.1.8·release·notes</a></p>127 ··························title="järgmine·jaotis">Django·4.1.8·release·notes</a></p>
127 ··</div>128 ··</div>
128 <search·id="searchbox"·style="display:·none"·role="search">129 <search·id="searchbox"·style="display:·none"·role="search">
129 ··<h3·id="searchlabel">Quick·search</h3>130 ··<h3·id="searchlabel">Kiirotsing</h3>
130 ····<div·class="searchformwrapper">131 ····<div·class="searchformwrapper">
131 ····<form·class="search"·action="../search.html"·method="get">132 ····<form·class="search"·action="../search.html"·method="get">
132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
133 ······<input·type="submit"·value="Go"·/>134 ······<input·type="submit"·value="Otsi"·/>
134 ····</form>135 ····</form>
135 ····</div>136 ····</div>
136 </search>137 </search>
137 <script>document.getElementById('searchbox').style.display·=·"block"</script>138 <script>document.getElementById('searchbox').style.display·=·"block"</script>
138 ········</div>139 ········</div>
139 ······</div>140 ······</div>
140 ··············<h3>Last·update:</h3>141 ··············<h3>Last·update:</h3>
141 ··············<p·class="topless">Nov·05,·2024</p>142 ··············<p·class="topless">nov·05,·2024</p>
142 ··········</div>143 ··········</div>
143 ········144 ········
144 ······145 ······
145 ····</div>146 ····</div>
  
146 ····<div·id="ft">147 ····<div·id="ft">
147 ······<div·class="nav">148 ······<div·class="nav">
3.2 KB
html2text {}
Max HTML report size reached
22.0 KB
./usr/share/doc/python-django-doc/html/releases/4.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.0.10·release·notes"·href="4.0.10.html"·/>15 ····<link·rel="next"·title="Django·4.0.10·release·notes"·href="4.0.10.html"·/>
15 ····<link·rel="prev"·title="Django·4.1.1·release·notes"·href="4.1.1.html"·/>16 ····<link·rel="prev"·title="Django·4.1.1·release·notes"·href="4.1.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 237, 15 lines modifiedOffset 238, 15 lines modified
237 </ul>238 </ul>
238 </section>239 </section>
239 <section·id="s-database-backends">240 <section·id="s-database-backends">
240 <span·id="database-backends"></span><h4>Database·backends<a·class="headerlink"·href="#database-backends"·title="Link·to·this·heading">¶</a></h4>241 <span·id="database-backends"></span><h4>Database·backends<a·class="headerlink"·href="#database-backends"·title="Link·to·this·heading">¶</a></h4>
241 <ul·class="simple">242 <ul·class="simple">
242 <li><p>Third-party·database·backends·can·now·specify·the·minimum·required·version·of243 <li><p>Third-party·database·backends·can·now·specify·the·minimum·required·version·of
243 the·database·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.minimum_database_version</span></code>244 the·database·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">DatabaseFeatures.minimum_database_version</span></code>
244 attribute·which·is·a·tuple·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">(10,</span>·<span·class="pre">0)</span></code>·means·10.0).·If·a·minimum245 attribute·which·is·a·tuple·(e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">(10,</span>·<span·class="pre">0)</span></code>·means·10.0).·If·a·minimum
245 version·is·specified,·backends·must·also·implement246 version·is·specified,·backends·must·also·implement
246 <code·class="docutils·literal·notranslate"><span·class="pre">DatabaseWrapper.get_database_version()</span></code>,·which·returns·a·tuple·of·the247 <code·class="docutils·literal·notranslate"><span·class="pre">DatabaseWrapper.get_database_version()</span></code>,·which·returns·a·tuple·of·the
247 current·database·version.·The·backend’s248 current·database·version.·The·backend’s
248 <code·class="docutils·literal·notranslate"><span·class="pre">DatabaseWrapper.init_connection_state()</span></code>·method·must·call·<code·class="docutils·literal·notranslate"><span·class="pre">super()</span></code>·in249 <code·class="docutils·literal·notranslate"><span·class="pre">DatabaseWrapper.init_connection_state()</span></code>·method·must·call·<code·class="docutils·literal·notranslate"><span·class="pre">super()</span></code>·in
249 order·for·the·check·to·run.</p></li>250 order·for·the·check·to·run.</p></li>
250 </ul>251 </ul>
251 </section>252 </section>
Offset 388, 15 lines modifiedOffset 389, 15 lines modified
388 <li><p>On·PostgreSQL,·<code·class="docutils·literal·notranslate"><span·class="pre">AutoField</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">BigAutoField</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">SmallAutoField</span></code>·are389 <li><p>On·PostgreSQL,·<code·class="docutils·literal·notranslate"><span·class="pre">AutoField</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">BigAutoField</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">SmallAutoField</span></code>·are
389 now·created·as·identity·columns·rather·than·serial·columns·with·sequences.</p></li>390 now·created·as·identity·columns·rather·than·serial·columns·with·sequences.</p></li>
390 </ul>391 </ul>
391 </section>392 </section>
392 <section·id="s-requests-and-responses">393 <section·id="s-requests-and-responses">
393 <span·id="requests-and-responses"></span><h4>Requests·and·Responses<a·class="headerlink"·href="#requests-and-responses"·title="Link·to·this·heading">¶</a></h4>394 <span·id="requests-and-responses"></span><h4>Requests·and·Responses<a·class="headerlink"·href="#requests-and-responses"·title="Link·to·this·heading">¶</a></h4>
394 <ul·class="simple">395 <ul·class="simple">
395 <li><p><a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse.set_cookie"·title="django.http.HttpResponse.set_cookie"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">HttpResponse.set_cookie()</span></code></a>·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>396 <li><p><a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse.set_cookie"·title="django.http.HttpResponse.set_cookie"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">HttpResponse.set_cookie()</span></code></a>·now·supports·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>
396 objects·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·argument.</p></li>397 objects·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·argument.</p></li>
397 </ul>398 </ul>
398 </section>399 </section>
399 <section·id="s-security">400 <section·id="s-security">
400 <span·id="security"></span><h4>Security<a·class="headerlink"·href="#security"·title="Link·to·this·heading">¶</a></h4>401 <span·id="security"></span><h4>Security<a·class="headerlink"·href="#security"·title="Link·to·this·heading">¶</a></h4>
401 <ul·class="simple">402 <ul·class="simple">
402 <li><p>The·new·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SECRET_KEY_FALLBACKS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY_FALLBACKS</span></code></a>·setting·allows·providing·a·list·of403 <li><p>The·new·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SECRET_KEY_FALLBACKS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY_FALLBACKS</span></code></a>·setting·allows·providing·a·list·of
Offset 425, 15 lines modifiedOffset 426, 15 lines modified
425 </ul>426 </ul>
426 </section>427 </section>
427 <section·id="s-tests">428 <section·id="s-tests">
428 <span·id="tests"></span><h4>Tests<a·class="headerlink"·href="#tests"·title="Link·to·this·heading">¶</a></h4>429 <span·id="tests"></span><h4>Tests<a·class="headerlink"·href="#tests"·title="Link·to·this·heading">¶</a></h4>
429 <ul·class="simple">430 <ul·class="simple">
430 <li><p>The·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·now·supports·running·tests·in·parallel·on431 <li><p>The·<a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·now·supports·running·tests·in·parallel·on
431 macOS,·Windows,·and·any·other·systems·where·the·default432 macOS,·Windows,·and·any·other·systems·where·the·default
432 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/multiprocessing.html#module-multiprocessing"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">multiprocessing</span></code></a>·start·method·is·<code·class="docutils·literal·notranslate"><span·class="pre">spawn</span></code>.</p></li>433 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/multiprocessing.html#module-multiprocessing"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">multiprocessing</span></code></a>·start·method·is·<code·class="docutils·literal·notranslate"><span·class="pre">spawn</span></code>.</p></li>
433 <li><p>A·nested·atomic·block·marked·as·durable·in·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TestCase"·title="django.test.TestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.TestCase</span></code></a>·now434 <li><p>A·nested·atomic·block·marked·as·durable·in·<a·class="reference·internal"·href="../topics/testing/tools.html#django.test.TestCase"·title="django.test.TestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.TestCase</span></code></a>·now
434 raises·a·<code·class="docutils·literal·notranslate"><span·class="pre">RuntimeError</span></code>,·the·same·as·outside·of·tests.</p></li>435 raises·a·<code·class="docutils·literal·notranslate"><span·class="pre">RuntimeError</span></code>,·the·same·as·outside·of·tests.</p></li>
435 <li><p><a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertFormError"·title="django.test.SimpleTestCase.assertFormError"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">SimpleTestCase.assertFormError()</span></code></a>·and436 <li><p><a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertFormError"·title="django.test.SimpleTestCase.assertFormError"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">SimpleTestCase.assertFormError()</span></code></a>·and
436 <a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertFormSetError"·title="django.test.SimpleTestCase.assertFormSetError"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertFormsetError()</span></code></a>437 <a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertFormSetError"·title="django.test.SimpleTestCase.assertFormSetError"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertFormsetError()</span></code></a>
437 now·support·passing·a·form/formset·object·directly.</p></li>438 now·support·passing·a·form/formset·object·directly.</p></li>
438 </ul>439 </ul>
439 </section>440 </section>
Offset 548, 15 lines modifiedOffset 549, 15 lines modified
548 <li><p>Related·managers·for·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>,549 <li><p>Related·managers·for·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>,
549 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>,·and550 <a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>,·and
550 <a·class="reference·internal"·href="../ref/contrib/contenttypes.html#django.contrib.contenttypes.fields.GenericRelation"·title="django.contrib.contenttypes.fields.GenericRelation"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GenericRelation</span></code></a>·are·now·cached551 <a·class="reference·internal"·href="../ref/contrib/contenttypes.html#django.contrib.contenttypes.fields.GenericRelation"·title="django.contrib.contenttypes.fields.GenericRelation"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GenericRelation</span></code></a>·are·now·cached
551 on·the·<a·class="reference·internal"·href="../ref/models/instances.html#django.db.models.Model"·title="django.db.models.Model"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Model</span></code></a>·instance·to·which·they·belong.·<em>This552 on·the·<a·class="reference·internal"·href="../ref/models/instances.html#django.db.models.Model"·title="django.db.models.Model"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Model</span></code></a>·instance·to·which·they·belong.·<em>This
552 change·was·reverted·in·Django·4.1.2.</em></p></li>553 change·was·reverted·in·Django·4.1.2.</em></p></li>
553 <li><p><a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·now·returns·a·non-zero·error·code554 <li><p><a·class="reference·internal"·href="../topics/testing/advanced.html#django.test.runner.DiscoverRunner"·title="django.test.runner.DiscoverRunner"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code></a>·now·returns·a·non-zero·error·code
554 for·unexpected·successes·from·tests·marked·with555 for·unexpected·successes·from·tests·marked·with
555 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.expectedFailure"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">unittest.expectedFailure()</span></code></a>.</p></li>556 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.expectedFailure"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">unittest.expectedFailure()</span></code></a>.</p></li>
556 <li><p><a·class="reference·internal"·href="../ref/middleware.html#django.middleware.csrf.CsrfViewMiddleware"·title="django.middleware.csrf.CsrfViewMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code></a>·no·longer·masks·the·CSRF557 <li><p><a·class="reference·internal"·href="../ref/middleware.html#django.middleware.csrf.CsrfViewMiddleware"·title="django.middleware.csrf.CsrfViewMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code></a>·no·longer·masks·the·CSRF
557 cookie·like·it·does·the·CSRF·token·in·the·DOM.</p></li>558 cookie·like·it·does·the·CSRF·token·in·the·DOM.</p></li>
558 <li><p><a·class="reference·internal"·href="../ref/middleware.html#django.middleware.csrf.CsrfViewMiddleware"·title="django.middleware.csrf.CsrfViewMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code></a>·now·uses559 <li><p><a·class="reference·internal"·href="../ref/middleware.html#django.middleware.csrf.CsrfViewMiddleware"·title="django.middleware.csrf.CsrfViewMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code></a>·now·uses
559 <code·class="docutils·literal·notranslate"><span·class="pre">request.META['CSRF_COOKIE']</span></code>·for·storing·the·unmasked·CSRF·secret·rather560 <code·class="docutils·literal·notranslate"><span·class="pre">request.META['CSRF_COOKIE']</span></code>·for·storing·the·unmasked·CSRF·secret·rather
560 than·a·masked·version.·This·is·an·undocumented,·private·API.</p></li>561 than·a·masked·version.·This·is·an·undocumented,·private·API.</p></li>
561 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.actions"·title="django.contrib.admin.ModelAdmin.actions"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.actions</span></code></a>·and562 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.actions"·title="django.contrib.admin.ModelAdmin.actions"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">ModelAdmin.actions</span></code></a>·and
562 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.inlines"·title="django.contrib.admin.ModelAdmin.inlines"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">inlines</span></code></a>·attributes·now·default·to·an563 <a·class="reference·internal"·href="../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.inlines"·title="django.contrib.admin.ModelAdmin.inlines"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">inlines</span></code></a>·attributes·now·default·to·an
Offset 677, 16 lines modifiedOffset 678, 16 lines modified
677 versions,·no·prefetching·was·done.·Providing·a·value·for·<code·class="docutils·literal·notranslate"><span·class="pre">chunk_size</span></code>678 versions,·no·prefetching·was·done.·Providing·a·value·for·<code·class="docutils·literal·notranslate"><span·class="pre">chunk_size</span></code>
678 signifies·that·the·additional·query·per·chunk·needed·to·prefetch·is·desired.</p></li>679 signifies·that·the·additional·query·per·chunk·needed·to·prefetch·is·desired.</p></li>
679 <li><p>Passing·unsaved·model·instances·to·related·filters·is·deprecated.·In·Django680 <li><p>Passing·unsaved·model·instances·to·related·filters·is·deprecated.·In·Django
680 5.0,·the·exception·will·be·raised.</p></li>681 5.0,·the·exception·will·be·raised.</p></li>
681 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">created=True</span></code>·is·added·to·the·signature·of682 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">created=True</span></code>·is·added·to·the·signature·of
682 <a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.backends.RemoteUserBackend.configure_user"·title="django.contrib.auth.backends.RemoteUserBackend.configure_user"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">RemoteUserBackend.configure_user()</span></code></a>.·Support··for·<code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserBackend</span></code>683 <a·class="reference·internal"·href="../ref/contrib/auth.html#django.contrib.auth.backends.RemoteUserBackend.configure_user"·title="django.contrib.auth.backends.RemoteUserBackend.configure_user"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">RemoteUserBackend.configure_user()</span></code></a>.·Support··for·<code·class="docutils·literal·notranslate"><span·class="pre">RemoteUserBackend</span></code>
683 subclasses·that·do·not·accept·this·argument·is·deprecated.</p></li>684 subclasses·that·do·not·accept·this·argument·is·deprecated.</p></li>
684 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.timezone.utc</span></code>·alias·to·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone.utc"·title="(in·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">datetime.timezone.utc</span></code></a>·is685 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.timezone.utc</span></code>·alias·to·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone.utc"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">datetime.timezone.utc</span></code></a>·is
685 deprecated.·Use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone.utc"·title="(in·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">datetime.timezone.utc</span></code></a>·directly.</p></li>686 deprecated.·Use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timezone.utc"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">datetime.timezone.utc</span></code></a>·directly.</p></li>
686 <li><p>Passing·a·response·object·and·a·form/formset·name·to687 <li><p>Passing·a·response·object·and·a·form/formset·name·to
687 <code·class="docutils·literal·notranslate"><span·class="pre">SimpleTestCase.assertFormError()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">assertFormsetError()</span></code>·is688 <code·class="docutils·literal·notranslate"><span·class="pre">SimpleTestCase.assertFormError()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">assertFormsetError()</span></code>·is
688 deprecated.·Use:</p>689 deprecated.·Use:</p>
689 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">assertFormError</span><span·class="p">(</span><span·class="n">response</span><span·class="o">.</span><span·class="n">context</span><span·class="p">[</span><span·class="s2">&quot;form_name&quot;</span><span·class="p">],</span>·<span·class="o">...</span><span·class="p">)</span>690 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">assertFormError</span><span·class="p">(</span><span·class="n">response</span><span·class="o">.</span><span·class="n">context</span><span·class="p">[</span><span·class="s2">&quot;form_name&quot;</span><span·class="p">],</span>·<span·class="o">...</span><span·class="p">)</span>
690 <span·class="n">assertFormsetError</span><span·class="p">(</span><span·class="n">response</span><span·class="o">.</span><span·class="n">context</span><span·class="p">[</span><span·class="s2">&quot;formset_name&quot;</span><span·class="p">],</span>·<span·class="o">...</span><span·class="p">)</span>691 <span·class="n">assertFormsetError</span><span·class="p">(</span><span·class="n">response</span><span·class="o">.</span><span·class="n">context</span><span·class="p">[</span><span·class="s2">&quot;formset_name&quot;</span><span·class="p">],</span>·<span·class="o">...</span><span·class="p">)</span>
691 </pre></div>692 </pre></div>
692 </div>693 </div>
Offset 737, 15 lines modifiedOffset 738, 15 lines modified
737 ······738 ······
738 ········739 ········
739 ··········<div·class="yui-b"·id="sidebar">740 ··········<div·class="yui-b"·id="sidebar">
740 ············741 ············
741 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">742 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
742 ········<div·class="sphinxsidebarwrapper">743 ········<div·class="sphinxsidebarwrapper">
Max diff block lines reached; 2345/17566 bytes (13.35%) of diff not shown.
4.74 KB
html2text {}
Max HTML report size reached
9.53 KB
./usr/share/doc/python-django-doc/html/releases/4.2.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2·release·notes"·href="4.2.html"·/>15 ····<link·rel="next"·title="Django·4.2·release·notes"·href="4.2.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.2·release·notes"·href="4.2.2.html"·/>16 ····<link·rel="prev"·title="Django·4.2.2·release·notes"·href="4.2.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.1">79 ··········<div·class="yui-g"·id="releases-4.2.1">
79 ············80 ············
80 ··<section·id="s-django-4-2-1-release-notes">81 ··<section·id="s-django-4-2-1-release-notes">
81 <span·id="django-4-2-1-release-notes"></span><h1>Django·4.2.1·release·notes<a·class="headerlink"·href="#django-4-2-1-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-1-release-notes"></span><h1>Django·4.2.1·release·notes<a·class="headerlink"·href="#django-4-2-1-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>May·3,·2023</em></p>83 <p><em>May·3,·2023</em></p>
83 <p>Django·4.2.1·fixes·a·security·issue·with·severity·low·and·several·bugs·in84 <p>Django·4.2.1·fixes·a·security·issue·with·severity·low·and·several·bugs·in
84 4.2.</p>85 4.2.</p>
85 <section·id="s-cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">86 <section·id="s-cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">
86 <span·id="cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"></span><h2>CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field<a·class="headerlink"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"></span><h2>CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field<a·class="headerlink"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field"·title="Link·to·this·heading">¶</a></h2>
87 <p>Uploading·multiple·files·using·one·form·field·has·never·been·supported·by88 <p>Uploading·multiple·files·using·one·form·field·has·never·been·supported·by
88 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.FileField</span></code></a>·or·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.ImageField"·title="django.forms.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.ImageField</span></code></a>·as·only·the·last89 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.FileField</span></code></a>·or·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.ImageField"·title="django.forms.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">forms.ImageField</span></code></a>·as·only·the·last
89 uploaded·file·was·validated.·Unfortunately,·<a·class="reference·internal"·href="../topics/http/file-uploads.html#uploading-multiple-files"><span·class="std·std-ref">Uploading·multiple·files</span></a>90 uploaded·file·was·validated.·Unfortunately,·<a·class="reference·internal"·href="../topics/http/file-uploads.html#uploading-multiple-files"><span·class="std·std-ref">Uploading·multiple·files</span></a>
90 topic·suggested·otherwise.</p>91 topic·suggested·otherwise.</p>
Offset 145, 48 lines modifiedOffset 146, 48 lines modified
145 ······146 ······
146 ········147 ········
147 ··········<div·class="yui-b"·id="sidebar">148 ··········<div·class="yui-b"·id="sidebar">
148 ············149 ············
149 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">150 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
150 ········<div·class="sphinxsidebarwrapper">151 ········<div·class="sphinxsidebarwrapper">
151 ··<div>152 ··<div>
152 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>153 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
153 ····<ul>154 ····<ul>
154 <li><a·class="reference·internal"·href="#">Django·4.2.1·release·notes</a><ul>155 <li><a·class="reference·internal"·href="#">Django·4.2.1·release·notes</a><ul>
155 <li><a·class="reference·internal"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field</a></li>156 <li><a·class="reference·internal"·href="#cve-2023-31047-potential-bypass-of-validation-when-uploading-multiple-files-using-one-form-field">CVE-2023-31047:·Potential·bypass·of·validation·when·uploading·multiple·files·using·one·form·field</a></li>
156 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>157 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
157 </ul>158 </ul>
158 </li>159 </li>
159 </ul>160 </ul>
  
160 ··</div>161 ··</div>
161 ··<div>162 ··<div>
162 ····<h4>Previous·topic</h4>163 ····<h4>Eelmine·teema</h4>
163 ····<p·class="topless"><a·href="4.2.2.html"164 ····<p·class="topless"><a·href="4.2.2.html"
164 ··························title="previous·chapter">Django·4.2.2·release·notes</a></p>165 ··························title="eelmine·jaotis">Django·4.2.2·release·notes</a></p>
165 ··</div>166 ··</div>
166 ··<div>167 ··<div>
167 ····<h4>Next·topic</h4>168 ····<h4>Järgmine·teema</h4>
168 ····<p·class="topless"><a·href="4.2.html"169 ····<p·class="topless"><a·href="4.2.html"
169 ··························title="next·chapter">Django·4.2·release·notes</a></p>170 ··························title="järgmine·jaotis">Django·4.2·release·notes</a></p>
170 ··</div>171 ··</div>
171 <search·id="searchbox"·style="display:·none"·role="search">172 <search·id="searchbox"·style="display:·none"·role="search">
172 ··<h3·id="searchlabel">Quick·search</h3>173 ··<h3·id="searchlabel">Kiirotsing</h3>
173 ····<div·class="searchformwrapper">174 ····<div·class="searchformwrapper">
174 ····<form·class="search"·action="../search.html"·method="get">175 ····<form·class="search"·action="../search.html"·method="get">
175 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>176 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
176 ······<input·type="submit"·value="Go"·/>177 ······<input·type="submit"·value="Otsi"·/>
177 ····</form>178 ····</form>
178 ····</div>179 ····</div>
179 </search>180 </search>
180 <script>document.getElementById('searchbox').style.display·=·"block"</script>181 <script>document.getElementById('searchbox').style.display·=·"block"</script>
181 ········</div>182 ········</div>
182 ······</div>183 ······</div>
183 ··············<h3>Last·update:</h3>184 ··············<h3>Last·update:</h3>
184 ··············<p·class="topless">Nov·05,·2024</p>185 ··············<p·class="topless">nov·05,·2024</p>
185 ··········</div>186 ··········</div>
186 ········187 ········
187 ······188 ······
188 ····</div>189 ····</div>
  
189 ····<div·id="ft">190 ····<div·id="ft">
190 ······<div·class="nav">191 ······<div·class="nav">
3.37 KB
html2text {}
Max HTML report size reached
7.96 KB
./usr/share/doc/python-django-doc/html/releases/4.2.10.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.10·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.10·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.9·release·notes"·href="4.2.9.html"·/>15 ····<link·rel="next"·title="Django·4.2.9·release·notes"·href="4.2.9.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.11·release·notes"·href="4.2.11.html"·/>16 ····<link·rel="prev"·title="Django·4.2.11·release·notes"·href="4.2.11.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.10">79 ··········<div·class="yui-g"·id="releases-4.2.10">
79 ············80 ············
80 ··<section·id="s-django-4-2-10-release-notes">81 ··<section·id="s-django-4-2-10-release-notes">
81 <span·id="django-4-2-10-release-notes"></span><h1>Django·4.2.10·release·notes<a·class="headerlink"·href="#django-4-2-10-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-10-release-notes"></span><h1>Django·4.2.10·release·notes<a·class="headerlink"·href="#django-4-2-10-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·6,·2024</em></p>83 <p><em>February·6,·2024</em></p>
83 <p>Django·4.2.10·fixes·a·security·issue·with·severity·moderate·in·4.2.9.</p>84 <p>Django·4.2.10·fixes·a·security·issue·with·severity·moderate·in·4.2.9.</p>
84 <section·id="s-cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">85 <section·id="s-cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">
85 <span·id="cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"></span><h2>CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter<a·class="headerlink"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"·title="Link·to·this·heading">¶</a></h2>86 <span·id="cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"></span><h2>CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter<a·class="headerlink"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"·title="Link·to·this·heading">¶</a></h2>
86 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter·was·subject·to·a·potential·denial-of-service87 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter·was·subject·to·a·potential·denial-of-service
87 attack·when·used·with·very·long·strings.</p>88 attack·when·used·with·very·long·strings.</p>
88 </section>89 </section>
89 </section>90 </section>
  
Offset 95, 47 lines modifiedOffset 96, 47 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>103 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
103 ····<ul>104 ····<ul>
104 <li><a·class="reference·internal"·href="#">Django·4.2.10·release·notes</a><ul>105 <li><a·class="reference·internal"·href="#">Django·4.2.10·release·notes</a><ul>
105 <li><a·class="reference·internal"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter</a></li>106 <li><a·class="reference·internal"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter</a></li>
106 </ul>107 </ul>
107 </li>108 </li>
108 </ul>109 </ul>
  
109 ··</div>110 ··</div>
110 ··<div>111 ··<div>
111 ····<h4>Previous·topic</h4>112 ····<h4>Eelmine·teema</h4>
112 ····<p·class="topless"><a·href="4.2.11.html"113 ····<p·class="topless"><a·href="4.2.11.html"
113 ··························title="previous·chapter">Django·4.2.11·release·notes</a></p>114 ··························title="eelmine·jaotis">Django·4.2.11·release·notes</a></p>
114 ··</div>115 ··</div>
115 ··<div>116 ··<div>
116 ····<h4>Next·topic</h4>117 ····<h4>Järgmine·teema</h4>
117 ····<p·class="topless"><a·href="4.2.9.html"118 ····<p·class="topless"><a·href="4.2.9.html"
118 ··························title="next·chapter">Django·4.2.9·release·notes</a></p>119 ··························title="järgmine·jaotis">Django·4.2.9·release·notes</a></p>
119 ··</div>120 ··</div>
120 <search·id="searchbox"·style="display:·none"·role="search">121 <search·id="searchbox"·style="display:·none"·role="search">
121 ··<h3·id="searchlabel">Quick·search</h3>122 ··<h3·id="searchlabel">Kiirotsing</h3>
122 ····<div·class="searchformwrapper">123 ····<div·class="searchformwrapper">
123 ····<form·class="search"·action="../search.html"·method="get">124 ····<form·class="search"·action="../search.html"·method="get">
124 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>125 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
125 ······<input·type="submit"·value="Go"·/>126 ······<input·type="submit"·value="Otsi"·/>
126 ····</form>127 ····</form>
127 ····</div>128 ····</div>
128 </search>129 </search>
129 <script>document.getElementById('searchbox').style.display·=·"block"</script>130 <script>document.getElementById('searchbox').style.display·=·"block"</script>
130 ········</div>131 ········</div>
131 ······</div>132 ······</div>
132 ··············<h3>Last·update:</h3>133 ··············<h3>Last·update:</h3>
133 ··············<p·class="topless">Nov·05,·2024</p>134 ··············<p·class="topless">nov·05,·2024</p>
134 ··········</div>135 ··········</div>
135 ········136 ········
136 ······137 ······
137 ····</div>138 ····</div>
  
138 ····<div·id="ft">139 ····<div·id="ft">
139 ······<div·class="nav">140 ······<div·class="nav">
2.41 KB
html2text {}
Max HTML report size reached
9.49 KB
./usr/share/doc/python-django-doc/html/releases/4.2.11.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.11·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.11·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.10·release·notes"·href="4.2.10.html"·/>15 ····<link·rel="next"·title="Django·4.2.10·release·notes"·href="4.2.10.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.12·release·notes"·href="4.2.12.html"·/>16 ····<link·rel="prev"·title="Django·4.2.12·release·notes"·href="4.2.12.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.11">79 ··········<div·class="yui-g"·id="releases-4.2.11">
79 ············80 ············
80 ··<section·id="s-django-4-2-11-release-notes">81 ··<section·id="s-django-4-2-11-release-notes">
81 <span·id="django-4-2-11-release-notes"></span><h1>Django·4.2.11·release·notes<a·class="headerlink"·href="#django-4-2-11-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-11-release-notes"></span><h1>Django·4.2.11·release·notes<a·class="headerlink"·href="#django-4-2-11-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>March·4,·2024</em></p>83 <p><em>March·4,·2024</em></p>
83 <p>Django·4.2.11·fixes·a·security·issue·with·severity·moderate·and·a·regression84 <p>Django·4.2.11·fixes·a·security·issue·with·severity·moderate·and·a·regression
84 in·4.2.10.</p>85 in·4.2.10.</p>
85 <section·id="s-cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">86 <section·id="s-cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">
86 <span·id="cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"></span><h2>CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code><a·class="headerlink"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"></span><h2>CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code><a·class="headerlink"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"·title="Link·to·this·heading">¶</a></h2>
87 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code>·method·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·and88 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code>·method·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·and
88 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatewords_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code></a>·template·filter·were·subject·to·a·potential89 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatewords_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code></a>·template·filter·were·subject·to·a·potential
89 regular·expression·denial-of-service·attack·using·a·suitably·crafted·string90 regular·expression·denial-of-service·attack·using·a·suitably·crafted·string
90 (follow·up·to·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>·and·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2023-43665">CVE-2023-43665</a>).</p>91 (follow·up·to·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>·and·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2023-43665">CVE-2023-43665</a>).</p>
Offset 105, 48 lines modifiedOffset 106, 48 lines modified
105 ······106 ······
106 ········107 ········
107 ··········<div·class="yui-b"·id="sidebar">108 ··········<div·class="yui-b"·id="sidebar">
108 ············109 ············
109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
110 ········<div·class="sphinxsidebarwrapper">111 ········<div·class="sphinxsidebarwrapper">
111 ··<div>112 ··<div>
112 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>113 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
113 ····<ul>114 ····<ul>
114 <li><a·class="reference·internal"·href="#">Django·4.2.11·release·notes</a><ul>115 <li><a·class="reference·internal"·href="#">Django·4.2.11·release·notes</a><ul>
115 <li><a·class="reference·internal"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code></a></li>116 <li><a·class="reference·internal"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code></a></li>
116 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>117 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
117 </ul>118 </ul>
118 </li>119 </li>
119 </ul>120 </ul>
  
120 ··</div>121 ··</div>
121 ··<div>122 ··<div>
122 ····<h4>Previous·topic</h4>123 ····<h4>Eelmine·teema</h4>
123 ····<p·class="topless"><a·href="4.2.12.html"124 ····<p·class="topless"><a·href="4.2.12.html"
124 ··························title="previous·chapter">Django·4.2.12·release·notes</a></p>125 ··························title="eelmine·jaotis">Django·4.2.12·release·notes</a></p>
125 ··</div>126 ··</div>
126 ··<div>127 ··<div>
127 ····<h4>Next·topic</h4>128 ····<h4>Järgmine·teema</h4>
128 ····<p·class="topless"><a·href="4.2.10.html"129 ····<p·class="topless"><a·href="4.2.10.html"
129 ··························title="next·chapter">Django·4.2.10·release·notes</a></p>130 ··························title="järgmine·jaotis">Django·4.2.10·release·notes</a></p>
130 ··</div>131 ··</div>
131 <search·id="searchbox"·style="display:·none"·role="search">132 <search·id="searchbox"·style="display:·none"·role="search">
132 ··<h3·id="searchlabel">Quick·search</h3>133 ··<h3·id="searchlabel">Kiirotsing</h3>
133 ····<div·class="searchformwrapper">134 ····<div·class="searchformwrapper">
134 ····<form·class="search"·action="../search.html"·method="get">135 ····<form·class="search"·action="../search.html"·method="get">
135 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
136 ······<input·type="submit"·value="Go"·/>137 ······<input·type="submit"·value="Otsi"·/>
137 ····</form>138 ····</form>
138 ····</div>139 ····</div>
139 </search>140 </search>
140 <script>document.getElementById('searchbox').style.display·=·"block"</script>141 <script>document.getElementById('searchbox').style.display·=·"block"</script>
141 ········</div>142 ········</div>
142 ······</div>143 ······</div>
143 ··············<h3>Last·update:</h3>144 ··············<h3>Last·update:</h3>
144 ··············<p·class="topless">Nov·05,·2024</p>145 ··············<p·class="topless">nov·05,·2024</p>
145 ··········</div>146 ··········</div>
146 ········147 ········
147 ······148 ······
148 ····</div>149 ····</div>
  
149 ····<div·id="ft">150 ····<div·id="ft">
150 ······<div·class="nav">151 ······<div·class="nav">
3.1 KB
html2text {}
Max HTML report size reached
6.15 KB
./usr/share/doc/python-django-doc/html/releases/4.2.12.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.12·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.12·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.11·release·notes"·href="4.2.11.html"·/>15 ····<link·rel="next"·title="Django·4.2.11·release·notes"·href="4.2.11.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.13·release·notes"·href="4.2.13.html"·/>16 ····<link·rel="prev"·title="Django·4.2.13·release·notes"·href="4.2.13.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 98, 47 lines modifiedOffset 99, 47 lines modified
98 ······99 ······
99 ········100 ········
100 ··········<div·class="yui-b"·id="sidebar">101 ··········<div·class="yui-b"·id="sidebar">
101 ············102 ············
102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">103 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
103 ········<div·class="sphinxsidebarwrapper">104 ········<div·class="sphinxsidebarwrapper">
104 ··<div>105 ··<div>
105 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>106 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
106 ····<ul>107 ····<ul>
107 <li><a·class="reference·internal"·href="#">Django·4.2.12·release·notes</a><ul>108 <li><a·class="reference·internal"·href="#">Django·4.2.12·release·notes</a><ul>
108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>109 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
109 </ul>110 </ul>
110 </li>111 </li>
111 </ul>112 </ul>
  
112 ··</div>113 ··</div>
113 ··<div>114 ··<div>
114 ····<h4>Previous·topic</h4>115 ····<h4>Eelmine·teema</h4>
115 ····<p·class="topless"><a·href="4.2.13.html"116 ····<p·class="topless"><a·href="4.2.13.html"
116 ··························title="previous·chapter">Django·4.2.13·release·notes</a></p>117 ··························title="eelmine·jaotis">Django·4.2.13·release·notes</a></p>
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Next·topic</h4>120 ····<h4>Järgmine·teema</h4>
120 ····<p·class="topless"><a·href="4.2.11.html"121 ····<p·class="topless"><a·href="4.2.11.html"
121 ··························title="next·chapter">Django·4.2.11·release·notes</a></p>122 ··························title="järgmine·jaotis">Django·4.2.11·release·notes</a></p>
122 ··</div>123 ··</div>
123 <search·id="searchbox"·style="display:·none"·role="search">124 <search·id="searchbox"·style="display:·none"·role="search">
124 ··<h3·id="searchlabel">Quick·search</h3>125 ··<h3·id="searchlabel">Kiirotsing</h3>
125 ····<div·class="searchformwrapper">126 ····<div·class="searchformwrapper">
126 ····<form·class="search"·action="../search.html"·method="get">127 ····<form·class="search"·action="../search.html"·method="get">
127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
128 ······<input·type="submit"·value="Go"·/>129 ······<input·type="submit"·value="Otsi"·/>
129 ····</form>130 ····</form>
130 ····</div>131 ····</div>
131 </search>132 </search>
132 <script>document.getElementById('searchbox').style.display·=·"block"</script>133 <script>document.getElementById('searchbox').style.display·=·"block"</script>
133 ········</div>134 ········</div>
134 ······</div>135 ······</div>
135 ··············<h3>Last·update:</h3>136 ··············<h3>Last·update:</h3>
136 ··············<p·class="topless">Nov·05,·2024</p>137 ··············<p·class="topless">nov·05,·2024</p>
137 ··········</div>138 ··········</div>
138 ········139 ········
139 ······140 ······
140 ····</div>141 ····</div>
  
141 ····<div·id="ft">142 ····<div·id="ft">
142 ······<div·class="nav">143 ······<div·class="nav">
2.02 KB
html2text {}
Max HTML report size reached
5.25 KB
./usr/share/doc/python-django-doc/html/releases/4.2.13.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.13·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.13·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.12·release·notes"·href="4.2.12.html"·/>15 ····<link·rel="next"·title="Django·4.2.12·release·notes"·href="4.2.12.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.14·release·notes"·href="4.2.14.html"·/>16 ····<link·rel="prev"·title="Django·4.2.14·release·notes"·href="4.2.14.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 90, 37 lines modifiedOffset 91, 37 lines modified
90 ······91 ······
91 ········92 ········
92 ··········<div·class="yui-b"·id="sidebar">93 ··········<div·class="yui-b"·id="sidebar">
93 ············94 ············
94 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">95 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
95 ········<div·class="sphinxsidebarwrapper">96 ········<div·class="sphinxsidebarwrapper">
96 ··<div>97 ··<div>
97 ····<h4>Previous·topic</h4>98 ····<h4>Eelmine·teema</h4>
98 ····<p·class="topless"><a·href="4.2.14.html"99 ····<p·class="topless"><a·href="4.2.14.html"
99 ··························title="previous·chapter">Django·4.2.14·release·notes</a></p>100 ··························title="eelmine·jaotis">Django·4.2.14·release·notes</a></p>
100 ··</div>101 ··</div>
101 ··<div>102 ··<div>
102 ····<h4>Next·topic</h4>103 ····<h4>Järgmine·teema</h4>
103 ····<p·class="topless"><a·href="4.2.12.html"104 ····<p·class="topless"><a·href="4.2.12.html"
104 ··························title="next·chapter">Django·4.2.12·release·notes</a></p>105 ··························title="järgmine·jaotis">Django·4.2.12·release·notes</a></p>
105 ··</div>106 ··</div>
106 <search·id="searchbox"·style="display:·none"·role="search">107 <search·id="searchbox"·style="display:·none"·role="search">
107 ··<h3·id="searchlabel">Quick·search</h3>108 ··<h3·id="searchlabel">Kiirotsing</h3>
108 ····<div·class="searchformwrapper">109 ····<div·class="searchformwrapper">
109 ····<form·class="search"·action="../search.html"·method="get">110 ····<form·class="search"·action="../search.html"·method="get">
110 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>111 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
111 ······<input·type="submit"·value="Go"·/>112 ······<input·type="submit"·value="Otsi"·/>
112 ····</form>113 ····</form>
113 ····</div>114 ····</div>
114 </search>115 </search>
115 <script>document.getElementById('searchbox').style.display·=·"block"</script>116 <script>document.getElementById('searchbox').style.display·=·"block"</script>
116 ········</div>117 ········</div>
117 ······</div>118 ······</div>
118 ··············<h3>Last·update:</h3>119 ··············<h3>Last·update:</h3>
119 ··············<p·class="topless">Nov·05,·2024</p>120 ··············<p·class="topless">nov·05,·2024</p>
120 ··········</div>121 ··········</div>
121 ········122 ········
122 ······123 ······
123 ····</div>124 ····</div>
  
124 ····<div·id="ft">125 ····<div·id="ft">
125 ······<div·class="nav">126 ······<div·class="nav">
1.44 KB
html2text {}
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·4\x84.\x8.2\x82.\x8.1\x813\x83·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·4\x84.\x8.2\x82.\x8.1\x813\x83·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 M\x8Ma\x8ay\x8y·7\x87,\x8,·2\x820\x802\x824\x845 M\x8Ma\x8ay\x8y·7\x87,\x8,·2\x820\x802\x824\x84
6 Django·4.2.13·fixes·a·packaging·error·in·4.2.12.6 Django·4.2.13·fixes·a·packaging·error·in·4.2.12.
7 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*7 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
8 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x84_\x8._\x82_\x8._\x81_\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s8 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x84_\x8._\x82_\x8._\x81_\x84_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
9 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*9 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
10 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x84_\x8._\x82_\x8._\x81_\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s10 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x84_\x8._\x82_\x8._\x81_\x82_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
11 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*11 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
12 [q···················][Go]12 [q···················][Otsi]
13 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*13 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
14 Nov·05,·202414 nov·05,·2024
15 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»15 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
13.7 KB
./usr/share/doc/python-django-doc/html/releases/4.2.14.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.14·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.14·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.13·release·notes"·href="4.2.13.html"·/>15 ····<link·rel="next"·title="Django·4.2.13·release·notes"·href="4.2.13.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.15·release·notes"·href="4.2.15.html"·/>16 ····<link·rel="prev"·title="Django·4.2.15·release·notes"·href="4.2.15.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 16 lines modifiedOffset 77, 16 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.14">79 ··········<div·class="yui-g"·id="releases-4.2.14">
79 ············80 ············
80 ··<section·id="s-django-4-2-14-release-notes">81 ··<section·id="s-django-4-2-14-release-notes">
81 <span·id="django-4-2-14-release-notes"></span><h1>Django·4.2.14·release·notes<a·class="headerlink"·href="#django-4-2-14-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-14-release-notes"></span><h1>Django·4.2.14·release·notes<a·class="headerlink"·href="#django-4-2-14-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>July·9,·2024</em></p>83 <p><em>July·9,·2024</em></p>
83 <p>Django·4.2.14·fixes·two·security·issues·with·severity·moderate·and·two84 <p>Django·4.2.14·fixes·two·security·issues·with·severity·moderate·and·two
84 security·issues·with·severity·low·in·4.2.13.</p>85 security·issues·with·severity·low·in·4.2.13.</p>
85 <section·id="s-cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">86 <section·id="s-cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">
86 <span·id="cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-38875:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-38875:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential88 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential
88 denial-of-service·attack·via·certain·inputs·with·a·very·large·number·of89 denial-of-service·attack·via·certain·inputs·with·a·very·large·number·of
89 brackets.</p>90 brackets.</p>
90 </section>91 </section>
91 <section·id="s-cve-2024-39329-username-enumeration-through-timing-difference-for-users-with-unusable-passwords">92 <section·id="s-cve-2024-39329-username-enumeration-through-timing-difference-for-users-with-unusable-passwords">
Offset 106, 15 lines modifiedOffset 107, 15 lines modified
106 <span·id="cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant"></span><h2>CVE-2024-39614:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code><a·class="headerlink"·href="#cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant"·title="Link·to·this·heading">¶</a></h2>107 <span·id="cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant"></span><h2>CVE-2024-39614:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code><a·class="headerlink"·href="#cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant"·title="Link·to·this·heading">¶</a></h2>
107 <p><a·class="reference·internal"·href="../ref/utils.html#django.utils.translation.get_supported_language_variant"·title="django.utils.translation.get_supported_language_variant"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a>·was·subject·to108 <p><a·class="reference·internal"·href="../ref/utils.html#django.utils.translation.get_supported_language_variant"·title="django.utils.translation.get_supported_language_variant"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a>·was·subject·to
108 a·potential·denial-of-service·attack·when·used·with·very·long·strings109 a·potential·denial-of-service·attack·when·used·with·very·long·strings
109 containing·specific·characters.</p>110 containing·specific·characters.</p>
110 <p>To·mitigate·this·vulnerability,·the·language·code·provided·to111 <p>To·mitigate·this·vulnerability,·the·language·code·provided·to
111 <a·class="reference·internal"·href="../ref/utils.html#django.utils.translation.get_supported_language_variant"·title="django.utils.translation.get_supported_language_variant"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a>·is·now·parsed112 <a·class="reference·internal"·href="../ref/utils.html#django.utils.translation.get_supported_language_variant"·title="django.utils.translation.get_supported_language_variant"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a>·is·now·parsed
112 up·to·a·maximum·length·of·500·characters.</p>113 up·to·a·maximum·length·of·500·characters.</p>
113 <p>When·the·language·code·is·over·500·characters,·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>·will·now·be114 <p>When·the·language·code·is·over·500·characters,·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>·will·now·be
114 raised·if·<code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·or·if·there·is·no·generic·variant·and115 raised·if·<code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·or·if·there·is·no·generic·variant·and
115 <code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>116 <code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
116 </section>117 </section>
117 </section>118 </section>
  
  
118 ··········</div>119 ··········</div>
Offset 123, 50 lines modifiedOffset 124, 50 lines modified
123 ······124 ······
124 ········125 ········
125 ··········<div·class="yui-b"·id="sidebar">126 ··········<div·class="yui-b"·id="sidebar">
126 ············127 ············
127 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">128 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
128 ········<div·class="sphinxsidebarwrapper">129 ········<div·class="sphinxsidebarwrapper">
129 ··<div>130 ··<div>
130 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>131 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
131 ····<ul>132 ····<ul>
132 <li><a·class="reference·internal"·href="#">Django·4.2.14·release·notes</a><ul>133 <li><a·class="reference·internal"·href="#">Django·4.2.14·release·notes</a><ul>
133 <li><a·class="reference·internal"·href="#cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-38875:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>134 <li><a·class="reference·internal"·href="#cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-38875:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>
134 <li><a·class="reference·internal"·href="#cve-2024-39329-username-enumeration-through-timing-difference-for-users-with-unusable-passwords">CVE-2024-39329:·Username·enumeration·through·timing·difference·for·users·with·unusable·passwords</a></li>135 <li><a·class="reference·internal"·href="#cve-2024-39329-username-enumeration-through-timing-difference-for-users-with-unusable-passwords">CVE-2024-39329:·Username·enumeration·through·timing·difference·for·users·with·unusable·passwords</a></li>
135 <li><a·class="reference·internal"·href="#cve-2024-39330-potential-directory-traversal-via-storage-save">CVE-2024-39330:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>136 <li><a·class="reference·internal"·href="#cve-2024-39330-potential-directory-traversal-via-storage-save">CVE-2024-39330:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>
136 <li><a·class="reference·internal"·href="#cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant">CVE-2024-39614:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a></li>137 <li><a·class="reference·internal"·href="#cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant">CVE-2024-39614:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a></li>
137 </ul>138 </ul>
138 </li>139 </li>
139 </ul>140 </ul>
  
140 ··</div>141 ··</div>
141 ··<div>142 ··<div>
142 ····<h4>Previous·topic</h4>143 ····<h4>Eelmine·teema</h4>
143 ····<p·class="topless"><a·href="4.2.15.html"144 ····<p·class="topless"><a·href="4.2.15.html"
144 ··························title="previous·chapter">Django·4.2.15·release·notes</a></p>145 ··························title="eelmine·jaotis">Django·4.2.15·release·notes</a></p>
145 ··</div>146 ··</div>
146 ··<div>147 ··<div>
147 ····<h4>Next·topic</h4>148 ····<h4>Järgmine·teema</h4>
148 ····<p·class="topless"><a·href="4.2.13.html"149 ····<p·class="topless"><a·href="4.2.13.html"
149 ··························title="next·chapter">Django·4.2.13·release·notes</a></p>150 ··························title="järgmine·jaotis">Django·4.2.13·release·notes</a></p>
150 ··</div>151 ··</div>
151 <search·id="searchbox"·style="display:·none"·role="search">152 <search·id="searchbox"·style="display:·none"·role="search">
152 ··<h3·id="searchlabel">Quick·search</h3>153 ··<h3·id="searchlabel">Kiirotsing</h3>
153 ····<div·class="searchformwrapper">154 ····<div·class="searchformwrapper">
154 ····<form·class="search"·action="../search.html"·method="get">155 ····<form·class="search"·action="../search.html"·method="get">
155 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>156 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
156 ······<input·type="submit"·value="Go"·/>157 ······<input·type="submit"·value="Otsi"·/>
157 ····</form>158 ····</form>
158 ····</div>159 ····</div>
159 </search>160 </search>
160 <script>document.getElementById('searchbox').style.display·=·"block"</script>161 <script>document.getElementById('searchbox').style.display·=·"block"</script>
161 ········</div>162 ········</div>
162 ······</div>163 ······</div>
163 ··············<h3>Last·update:</h3>164 ··············<h3>Last·update:</h3>
164 ··············<p·class="topless">Nov·05,·2024</p>165 ··············<p·class="topless">nov·05,·2024</p>
165 ··········</div>166 ··········</div>
166 ········167 ········
167 ······168 ······
168 ····</div>169 ····</div>
  
169 ····<div·id="ft">170 ····<div·id="ft">
170 ······<div·class="nav">171 ······<div·class="nav">
4.47 KB
html2text {}
Max HTML report size reached
11.3 KB
./usr/share/doc/python-django-doc/html/releases/4.2.15.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.15·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.15·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.14·release·notes"·href="4.2.14.html"·/>15 ····<link·rel="next"·title="Django·4.2.14·release·notes"·href="4.2.14.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.16·release·notes"·href="4.2.16.html"·/>16 ····<link·rel="prev"·title="Django·4.2.16·release·notes"·href="4.2.16.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 16 lines modifiedOffset 77, 16 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.15">79 ··········<div·class="yui-g"·id="releases-4.2.15">
79 ············80 ············
80 ··<section·id="s-django-4-2-15-release-notes">81 ··<section·id="s-django-4-2-15-release-notes">
81 <span·id="django-4-2-15-release-notes"></span><h1>Django·4.2.15·release·notes<a·class="headerlink"·href="#django-4-2-15-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-15-release-notes"></span><h1>Django·4.2.15·release·notes<a·class="headerlink"·href="#django-4-2-15-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>August·6,·2024</em></p>83 <p><em>August·6,·2024</em></p>
83 <p>Django·4.2.15·fixes·three·security·issues·with·severity·moderate,·one84 <p>Django·4.2.15·fixes·three·security·issues·with·severity·moderate,·one
84 security·issue·with·severity·high,·and·a·regression·in·4.2.14.</p>85 security·issue·with·severity·high,·and·a·regression·in·4.2.14.</p>
85 <section·id="s-cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat">86 <section·id="s-cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat">
86 <span·id="cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat"></span><h2>CVE-2024-41989:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.floatformat()</span></code><a·class="headerlink"·href="#cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat"></span><h2>CVE-2024-41989:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.floatformat()</span></code><a·class="headerlink"·href="#cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat"·title="Link·to·this·heading">¶</a></h2>
87 <p>If·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-floatformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">floatformat</span></code></a>·received·a·string·representation·of·a·number·in88 <p>If·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-floatformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">floatformat</span></code></a>·received·a·string·representation·of·a·number·in
88 scientific·notation·with·a·large·exponent,·it·could·lead·to·significant·memory89 scientific·notation·with·a·large·exponent,·it·could·lead·to·significant·memory
89 consumption.</p>90 consumption.</p>
90 <p>To·avoid·this,·decimals·with·more·than·200·digits·are·now·returned·as·is.</p>91 <p>To·avoid·this,·decimals·with·more·than·200·digits·are·now·returned·as·is.</p>
91 </section>92 </section>
Offset 124, 51 lines modifiedOffset 125, 51 lines modified
124 ······125 ······
125 ········126 ········
126 ··········<div·class="yui-b"·id="sidebar">127 ··········<div·class="yui-b"·id="sidebar">
127 ············128 ············
128 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">129 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
129 ········<div·class="sphinxsidebarwrapper">130 ········<div·class="sphinxsidebarwrapper">
130 ··<div>131 ··<div>
131 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>132 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
132 ····<ul>133 ····<ul>
133 <li><a·class="reference·internal"·href="#">Django·4.2.15·release·notes</a><ul>134 <li><a·class="reference·internal"·href="#">Django·4.2.15·release·notes</a><ul>
134 <li><a·class="reference·internal"·href="#cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat">CVE-2024-41989:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.floatformat()</span></code></a></li>135 <li><a·class="reference·internal"·href="#cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat">CVE-2024-41989:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.floatformat()</span></code></a></li>
135 <li><a·class="reference·internal"·href="#cve-2024-41990-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-41990:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>136 <li><a·class="reference·internal"·href="#cve-2024-41990-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-41990:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>
136 <li><a·class="reference·internal"·href="#cve-2024-41991-potential-denial-of-service-vulnerability-in-django-utils-html-urlize-and-adminurlfieldwidget">CVE-2024-41991:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code></a></li>137 <li><a·class="reference·internal"·href="#cve-2024-41991-potential-denial-of-service-vulnerability-in-django-utils-html-urlize-and-adminurlfieldwidget">CVE-2024-41991:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code></a></li>
137 <li><a·class="reference·internal"·href="#cve-2024-42005-potential-sql-injection-in-queryset-values-and-values-list">CVE-2024-42005:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.values()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">values_list()</span></code></a></li>138 <li><a·class="reference·internal"·href="#cve-2024-42005-potential-sql-injection-in-queryset-values-and-values-list">CVE-2024-42005:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.values()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">values_list()</span></code></a></li>
138 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>139 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
139 </ul>140 </ul>
140 </li>141 </li>
141 </ul>142 </ul>
  
142 ··</div>143 ··</div>
143 ··<div>144 ··<div>
144 ····<h4>Previous·topic</h4>145 ····<h4>Eelmine·teema</h4>
145 ····<p·class="topless"><a·href="4.2.16.html"146 ····<p·class="topless"><a·href="4.2.16.html"
146 ··························title="previous·chapter">Django·4.2.16·release·notes</a></p>147 ··························title="eelmine·jaotis">Django·4.2.16·release·notes</a></p>
147 ··</div>148 ··</div>
148 ··<div>149 ··<div>
149 ····<h4>Next·topic</h4>150 ····<h4>Järgmine·teema</h4>
150 ····<p·class="topless"><a·href="4.2.14.html"151 ····<p·class="topless"><a·href="4.2.14.html"
151 ··························title="next·chapter">Django·4.2.14·release·notes</a></p>152 ··························title="järgmine·jaotis">Django·4.2.14·release·notes</a></p>
152 ··</div>153 ··</div>
153 <search·id="searchbox"·style="display:·none"·role="search">154 <search·id="searchbox"·style="display:·none"·role="search">
154 ··<h3·id="searchlabel">Quick·search</h3>155 ··<h3·id="searchlabel">Kiirotsing</h3>
155 ····<div·class="searchformwrapper">156 ····<div·class="searchformwrapper">
156 ····<form·class="search"·action="../search.html"·method="get">157 ····<form·class="search"·action="../search.html"·method="get">
157 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>158 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
158 ······<input·type="submit"·value="Go"·/>159 ······<input·type="submit"·value="Otsi"·/>
159 ····</form>160 ····</form>
160 ····</div>161 ····</div>
161 </search>162 </search>
162 <script>document.getElementById('searchbox').style.display·=·"block"</script>163 <script>document.getElementById('searchbox').style.display·=·"block"</script>
163 ········</div>164 ········</div>
164 ······</div>165 ······</div>
165 ··············<h3>Last·update:</h3>166 ··············<h3>Last·update:</h3>
166 ··············<p·class="topless">Nov·05,·2024</p>167 ··············<p·class="topless">nov·05,·2024</p>
167 ··········</div>168 ··········</div>
168 ········169 ········
169 ······170 ······
170 ····</div>171 ····</div>
  
171 ····<div·id="ft">172 ····<div·id="ft">
172 ······<div·class="nav">173 ······<div·class="nav">
4.28 KB
html2text {}
Max HTML report size reached
9.95 KB
./usr/share/doc/python-django-doc/html/releases/4.2.16.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.16·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.16·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.15·release·notes"·href="4.2.15.html"·/>15 ····<link·rel="next"·title="Django·4.2.15·release·notes"·href="4.2.15.html"·/>
15 ····<link·rel="prev"·title="Django·5.0·release·notes"·href="5.0.html"·/>16 ····<link·rel="prev"·title="Django·5.0·release·notes"·href="5.0.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 16 lines modifiedOffset 77, 16 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.16">79 ··········<div·class="yui-g"·id="releases-4.2.16">
79 ············80 ············
80 ··<section·id="s-django-4-2-16-release-notes">81 ··<section·id="s-django-4-2-16-release-notes">
81 <span·id="django-4-2-16-release-notes"></span><h1>Django·4.2.16·release·notes<a·class="headerlink"·href="#django-4-2-16-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-16-release-notes"></span><h1>Django·4.2.16·release·notes<a·class="headerlink"·href="#django-4-2-16-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>September·3,·2024</em></p>83 <p><em>September·3,·2024</em></p>
83 <p>Django·4.2.16·fixes·one·security·issue·with·severity·moderate·and·one84 <p>Django·4.2.16·fixes·one·security·issue·with·severity·moderate·and·one
84 security·issue·with·severity·low·in·4.2.15.</p>85 security·issue·with·severity·low·in·4.2.15.</p>
85 <section·id="s-cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">86 <section·id="s-cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">
86 <span·id="cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential88 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential
88 denial-of-service·attack·via·very·large·inputs·with·a·specific·sequence·of89 denial-of-service·attack·via·very·large·inputs·with·a·specific·sequence·of
89 characters.</p>90 characters.</p>
90 </section>91 </section>
91 <section·id="s-cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">92 <section·id="s-cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">
Offset 106, 48 lines modifiedOffset 107, 48 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·4.2.16·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·4.2.16·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>117 <li><a·class="reference·internal"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>
117 <li><a·class="reference·internal"·href="#cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">CVE-2024-45231:·Potential·user·email·enumeration·via·response·status·on·password·reset</a></li>118 <li><a·class="reference·internal"·href="#cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">CVE-2024-45231:·Potential·user·email·enumeration·via·response·status·on·password·reset</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="5.0.html"125 ····<p·class="topless"><a·href="5.0.html"
125 ··························title="previous·chapter">Django·5.0·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·5.0·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="4.2.15.html"130 ····<p·class="topless"><a·href="4.2.15.html"
130 ··························title="next·chapter">Django·4.2.15·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·4.2.15·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
3.59 KB
html2text {}
Max HTML report size reached
6.49 KB
./usr/share/doc/python-django-doc/html/releases/4.2.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.1·release·notes"·href="4.2.1.html"·/>15 ····<link·rel="next"·title="Django·4.2.1·release·notes"·href="4.2.1.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.3·release·notes"·href="4.2.3.html"·/>16 ····<link·rel="prev"·title="Django·4.2.3·release·notes"·href="4.2.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 123, 47 lines modifiedOffset 124, 47 lines modified
123 ······124 ······
124 ········125 ········
125 ··········<div·class="yui-b"·id="sidebar">126 ··········<div·class="yui-b"·id="sidebar">
126 ············127 ············
127 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">128 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
128 ········<div·class="sphinxsidebarwrapper">129 ········<div·class="sphinxsidebarwrapper">
129 ··<div>130 ··<div>
130 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>131 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
131 ····<ul>132 ····<ul>
132 <li><a·class="reference·internal"·href="#">Django·4.2.2·release·notes</a><ul>133 <li><a·class="reference·internal"·href="#">Django·4.2.2·release·notes</a><ul>
133 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>134 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
134 </ul>135 </ul>
135 </li>136 </li>
136 </ul>137 </ul>
  
137 ··</div>138 ··</div>
138 ··<div>139 ··<div>
139 ····<h4>Previous·topic</h4>140 ····<h4>Eelmine·teema</h4>
140 ····<p·class="topless"><a·href="4.2.3.html"141 ····<p·class="topless"><a·href="4.2.3.html"
141 ··························title="previous·chapter">Django·4.2.3·release·notes</a></p>142 ··························title="eelmine·jaotis">Django·4.2.3·release·notes</a></p>
142 ··</div>143 ··</div>
143 ··<div>144 ··<div>
144 ····<h4>Next·topic</h4>145 ····<h4>Järgmine·teema</h4>
145 ····<p·class="topless"><a·href="4.2.1.html"146 ····<p·class="topless"><a·href="4.2.1.html"
146 ··························title="next·chapter">Django·4.2.1·release·notes</a></p>147 ··························title="järgmine·jaotis">Django·4.2.1·release·notes</a></p>
147 ··</div>148 ··</div>
148 <search·id="searchbox"·style="display:·none"·role="search">149 <search·id="searchbox"·style="display:·none"·role="search">
149 ··<h3·id="searchlabel">Quick·search</h3>150 ··<h3·id="searchlabel">Kiirotsing</h3>
150 ····<div·class="searchformwrapper">151 ····<div·class="searchformwrapper">
151 ····<form·class="search"·action="../search.html"·method="get">152 ····<form·class="search"·action="../search.html"·method="get">
152 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>153 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
153 ······<input·type="submit"·value="Go"·/>154 ······<input·type="submit"·value="Otsi"·/>
154 ····</form>155 ····</form>
155 ····</div>156 ····</div>
156 </search>157 </search>
157 <script>document.getElementById('searchbox').style.display·=·"block"</script>158 <script>document.getElementById('searchbox').style.display·=·"block"</script>
158 ········</div>159 ········</div>
159 ······</div>160 ······</div>
160 ··············<h3>Last·update:</h3>161 ··············<h3>Last·update:</h3>
161 ··············<p·class="topless">Nov·05,·2024</p>162 ··············<p·class="topless">nov·05,·2024</p>
162 ··········</div>163 ··········</div>
163 ········164 ········
164 ······165 ······
165 ····</div>166 ····</div>
  
166 ····<div·id="ft">167 ····<div·id="ft">
167 ······<div·class="nav">168 ······<div·class="nav">
2.37 KB
html2text {}
Max HTML report size reached
9.21 KB
./usr/share/doc/python-django-doc/html/releases/4.2.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.2·release·notes"·href="4.2.2.html"·/>15 ····<link·rel="next"·title="Django·4.2.2·release·notes"·href="4.2.2.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.4·release·notes"·href="4.2.4.html"·/>16 ····<link·rel="prev"·title="Django·4.2.4·release·notes"·href="4.2.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.3">79 ··········<div·class="yui-g"·id="releases-4.2.3">
79 ············80 ············
80 ··<section·id="s-django-4-2-3-release-notes">81 ··<section·id="s-django-4-2-3-release-notes">
81 <span·id="django-4-2-3-release-notes"></span><h1>Django·4.2.3·release·notes<a·class="headerlink"·href="#django-4-2-3-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-3-release-notes"></span><h1>Django·4.2.3·release·notes<a·class="headerlink"·href="#django-4-2-3-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>July·3,·2023</em></p>83 <p><em>July·3,·2023</em></p>
83 <p>Django·4.2.3·fixes·a·security·issue·with·severity·moderate·and·several·bugs84 <p>Django·4.2.3·fixes·a·security·issue·with·severity·moderate·and·several·bugs
84 in·4.2.2.</p>85 in·4.2.2.</p>
85 <section·id="s-cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">86 <section·id="s-cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">
86 <span·id="cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"></span><h2>CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code><a·class="headerlink"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"></span><h2>CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code><a·class="headerlink"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator"·title="Link·to·this·heading">¶</a></h2>
87 <p><code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·were·subject·to·potential·regular88 <p><code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code>·were·subject·to·potential·regular
88 expression·denial·of·service·attack·via·a·very·large·number·of·domain·name89 expression·denial·of·service·attack·via·a·very·large·number·of·domain·name
89 labels·of·emails·and·URLs.</p>90 labels·of·emails·and·URLs.</p>
90 </section>91 </section>
Offset 107, 48 lines modifiedOffset 108, 48 lines modified
107 ······108 ······
108 ········109 ········
109 ··········<div·class="yui-b"·id="sidebar">110 ··········<div·class="yui-b"·id="sidebar">
110 ············111 ············
111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
112 ········<div·class="sphinxsidebarwrapper">113 ········<div·class="sphinxsidebarwrapper">
113 ··<div>114 ··<div>
114 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>115 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
115 ····<ul>116 ····<ul>
116 <li><a·class="reference·internal"·href="#">Django·4.2.3·release·notes</a><ul>117 <li><a·class="reference·internal"·href="#">Django·4.2.3·release·notes</a><ul>
117 <li><a·class="reference·internal"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a></li>118 <li><a·class="reference·internal"·href="#cve-2023-36053-potential-regular-expression-denial-of-service-vulnerability-in-emailvalidator-urlvalidator">CVE-2023-36053:·Potential·regular·expression·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">EmailValidator</span></code>/<code·class="docutils·literal·notranslate"><span·class="pre">URLValidator</span></code></a></li>
118 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>119 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
119 </ul>120 </ul>
120 </li>121 </li>
121 </ul>122 </ul>
  
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Previous·topic</h4>125 ····<h4>Eelmine·teema</h4>
125 ····<p·class="topless"><a·href="4.2.4.html"126 ····<p·class="topless"><a·href="4.2.4.html"
126 ··························title="previous·chapter">Django·4.2.4·release·notes</a></p>127 ··························title="eelmine·jaotis">Django·4.2.4·release·notes</a></p>
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Next·topic</h4>130 ····<h4>Järgmine·teema</h4>
130 ····<p·class="topless"><a·href="4.2.2.html"131 ····<p·class="topless"><a·href="4.2.2.html"
131 ··························title="next·chapter">Django·4.2.2·release·notes</a></p>132 ··························title="järgmine·jaotis">Django·4.2.2·release·notes</a></p>
132 ··</div>133 ··</div>
133 <search·id="searchbox"·style="display:·none"·role="search">134 <search·id="searchbox"·style="display:·none"·role="search">
134 ··<h3·id="searchlabel">Quick·search</h3>135 ··<h3·id="searchlabel">Kiirotsing</h3>
135 ····<div·class="searchformwrapper">136 ····<div·class="searchformwrapper">
136 ····<form·class="search"·action="../search.html"·method="get">137 ····<form·class="search"·action="../search.html"·method="get">
137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
138 ······<input·type="submit"·value="Go"·/>139 ······<input·type="submit"·value="Otsi"·/>
139 ····</form>140 ····</form>
140 ····</div>141 ····</div>
141 </search>142 </search>
142 <script>document.getElementById('searchbox').style.display·=·"block"</script>143 <script>document.getElementById('searchbox').style.display·=·"block"</script>
143 ········</div>144 ········</div>
144 ······</div>145 ······</div>
145 ··············<h3>Last·update:</h3>146 ··············<h3>Last·update:</h3>
146 ··············<p·class="topless">Nov·05,·2024</p>147 ··············<p·class="topless">nov·05,·2024</p>
147 ··········</div>148 ··········</div>
148 ········149 ········
149 ······150 ······
150 ····</div>151 ····</div>
  
151 ····<div·id="ft">152 ····<div·id="ft">
152 ······<div·class="nav">153 ······<div·class="nav">
3.13 KB
html2text {}
Max HTML report size reached
6.42 KB
./usr/share/doc/python-django-doc/html/releases/4.2.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.3·release·notes"·href="4.2.3.html"·/>15 ····<link·rel="next"·title="Django·4.2.3·release·notes"·href="4.2.3.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.5·release·notes"·href="4.2.5.html"·/>16 ····<link·rel="prev"·title="Django·4.2.5·release·notes"·href="4.2.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 47 lines modifiedOffset 104, 47 lines modified
103 ······104 ······
104 ········105 ········
105 ··········<div·class="yui-b"·id="sidebar">106 ··········<div·class="yui-b"·id="sidebar">
106 ············107 ············
107 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
108 ········<div·class="sphinxsidebarwrapper">109 ········<div·class="sphinxsidebarwrapper">
109 ··<div>110 ··<div>
110 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>111 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
111 ····<ul>112 ····<ul>
112 <li><a·class="reference·internal"·href="#">Django·4.2.4·release·notes</a><ul>113 <li><a·class="reference·internal"·href="#">Django·4.2.4·release·notes</a><ul>
113 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>114 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
114 </ul>115 </ul>
115 </li>116 </li>
116 </ul>117 </ul>
  
117 ··</div>118 ··</div>
118 ··<div>119 ··<div>
119 ····<h4>Previous·topic</h4>120 ····<h4>Eelmine·teema</h4>
120 ····<p·class="topless"><a·href="4.2.5.html"121 ····<p·class="topless"><a·href="4.2.5.html"
121 ··························title="previous·chapter">Django·4.2.5·release·notes</a></p>122 ··························title="eelmine·jaotis">Django·4.2.5·release·notes</a></p>
122 ··</div>123 ··</div>
123 ··<div>124 ··<div>
124 ····<h4>Next·topic</h4>125 ····<h4>Järgmine·teema</h4>
125 ····<p·class="topless"><a·href="4.2.3.html"126 ····<p·class="topless"><a·href="4.2.3.html"
126 ··························title="next·chapter">Django·4.2.3·release·notes</a></p>127 ··························title="järgmine·jaotis">Django·4.2.3·release·notes</a></p>
127 ··</div>128 ··</div>
128 <search·id="searchbox"·style="display:·none"·role="search">129 <search·id="searchbox"·style="display:·none"·role="search">
129 ··<h3·id="searchlabel">Quick·search</h3>130 ··<h3·id="searchlabel">Kiirotsing</h3>
130 ····<div·class="searchformwrapper">131 ····<div·class="searchformwrapper">
131 ····<form·class="search"·action="../search.html"·method="get">132 ····<form·class="search"·action="../search.html"·method="get">
132 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
133 ······<input·type="submit"·value="Go"·/>134 ······<input·type="submit"·value="Otsi"·/>
134 ····</form>135 ····</form>
135 ····</div>136 ····</div>
136 </search>137 </search>
137 <script>document.getElementById('searchbox').style.display·=·"block"</script>138 <script>document.getElementById('searchbox').style.display·=·"block"</script>
138 ········</div>139 ········</div>
139 ······</div>140 ······</div>
140 ··············<h3>Last·update:</h3>141 ··············<h3>Last·update:</h3>
141 ··············<p·class="topless">Nov·05,·2024</p>142 ··············<p·class="topless">nov·05,·2024</p>
142 ··········</div>143 ··········</div>
143 ········144 ········
144 ······145 ······
145 ····</div>146 ····</div>
  
146 ····<div·id="ft">147 ····<div·id="ft">
147 ······<div·class="nav">148 ······<div·class="nav">
2.3 KB
html2text {}
Max HTML report size reached
9.09 KB
./usr/share/doc/python-django-doc/html/releases/4.2.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.4·release·notes"·href="4.2.4.html"·/>15 ····<link·rel="next"·title="Django·4.2.4·release·notes"·href="4.2.4.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.6·release·notes"·href="4.2.6.html"·/>16 ····<link·rel="prev"·title="Django·4.2.6·release·notes"·href="4.2.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.5">79 ··········<div·class="yui-g"·id="releases-4.2.5">
79 ············80 ············
80 ··<section·id="s-django-4-2-5-release-notes">81 ··<section·id="s-django-4-2-5-release-notes">
81 <span·id="django-4-2-5-release-notes"></span><h1>Django·4.2.5·release·notes<a·class="headerlink"·href="#django-4-2-5-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-5-release-notes"></span><h1>Django·4.2.5·release·notes<a·class="headerlink"·href="#django-4-2-5-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>September·4,·2023</em></p>83 <p><em>September·4,·2023</em></p>
83 <p>Django·4.2.5·fixes·a·security·issue·with·severity·moderate·and·several·bugs84 <p>Django·4.2.5·fixes·a·security·issue·with·severity·moderate·and·several·bugs
84 in·4.2.4.</p>85 in·4.2.4.</p>
85 <section·id="s-cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">86 <section·id="s-cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">
86 <span·id="cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"></span><h2>CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code><a·class="headerlink"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"></span><h2>CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code><a·class="headerlink"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri"·title="Link·to·this·heading">¶</a></h2>
87 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code>·was·subject·to·potential·denial·of88 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code>·was·subject·to·potential·denial·of
88 service·attack·via·certain·inputs·with·a·very·large·number·of·Unicode89 service·attack·via·certain·inputs·with·a·very·large·number·of·Unicode
89 characters.</p>90 characters.</p>
90 </section>91 </section>
Offset 113, 48 lines modifiedOffset 114, 48 lines modified
113 ······114 ······
114 ········115 ········
115 ··········<div·class="yui-b"·id="sidebar">116 ··········<div·class="yui-b"·id="sidebar">
116 ············117 ············
117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">118 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
118 ········<div·class="sphinxsidebarwrapper">119 ········<div·class="sphinxsidebarwrapper">
119 ··<div>120 ··<div>
120 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>121 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
121 ····<ul>122 ····<ul>
122 <li><a·class="reference·internal"·href="#">Django·4.2.5·release·notes</a><ul>123 <li><a·class="reference·internal"·href="#">Django·4.2.5·release·notes</a><ul>
123 <li><a·class="reference·internal"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>124 <li><a·class="reference·internal"·href="#cve-2023-41164-potential-denial-of-service-vulnerability-in-django-utils-encoding-uri-to-iri">CVE-2023-41164:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.encoding.uri_to_iri()</span></code></a></li>
124 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>125 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
125 </ul>126 </ul>
126 </li>127 </li>
127 </ul>128 </ul>
  
128 ··</div>129 ··</div>
129 ··<div>130 ··<div>
130 ····<h4>Previous·topic</h4>131 ····<h4>Eelmine·teema</h4>
131 ····<p·class="topless"><a·href="4.2.6.html"132 ····<p·class="topless"><a·href="4.2.6.html"
132 ··························title="previous·chapter">Django·4.2.6·release·notes</a></p>133 ··························title="eelmine·jaotis">Django·4.2.6·release·notes</a></p>
133 ··</div>134 ··</div>
134 ··<div>135 ··<div>
135 ····<h4>Next·topic</h4>136 ····<h4>Järgmine·teema</h4>
136 ····<p·class="topless"><a·href="4.2.4.html"137 ····<p·class="topless"><a·href="4.2.4.html"
137 ··························title="next·chapter">Django·4.2.4·release·notes</a></p>138 ··························title="järgmine·jaotis">Django·4.2.4·release·notes</a></p>
138 ··</div>139 ··</div>
139 <search·id="searchbox"·style="display:·none"·role="search">140 <search·id="searchbox"·style="display:·none"·role="search">
140 ··<h3·id="searchlabel">Quick·search</h3>141 ··<h3·id="searchlabel">Kiirotsing</h3>
141 ····<div·class="searchformwrapper">142 ····<div·class="searchformwrapper">
142 ····<form·class="search"·action="../search.html"·method="get">143 ····<form·class="search"·action="../search.html"·method="get">
143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>144 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
144 ······<input·type="submit"·value="Go"·/>145 ······<input·type="submit"·value="Otsi"·/>
145 ····</form>146 ····</form>
146 ····</div>147 ····</div>
147 </search>148 </search>
148 <script>document.getElementById('searchbox').style.display·=·"block"</script>149 <script>document.getElementById('searchbox').style.display·=·"block"</script>
149 ········</div>150 ········</div>
150 ······</div>151 ······</div>
151 ··············<h3>Last·update:</h3>152 ··············<h3>Last·update:</h3>
152 ··············<p·class="topless">Nov·05,·2024</p>153 ··············<p·class="topless">nov·05,·2024</p>
153 ··········</div>154 ··········</div>
154 ········155 ········
155 ······156 ······
156 ····</div>157 ····</div>
  
157 ····<div·id="ft">158 ····<div·id="ft">
158 ······<div·class="nav">159 ······<div·class="nav">
3.31 KB
html2text {}
Max HTML report size reached
9.2 KB
./usr/share/doc/python-django-doc/html/releases/4.2.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.5·release·notes"·href="4.2.5.html"·/>15 ····<link·rel="next"·title="Django·4.2.5·release·notes"·href="4.2.5.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.7·release·notes"·href="4.2.7.html"·/>16 ····<link·rel="prev"·title="Django·4.2.7·release·notes"·href="4.2.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.6">79 ··········<div·class="yui-g"·id="releases-4.2.6">
79 ············80 ············
80 ··<section·id="s-django-4-2-6-release-notes">81 ··<section·id="s-django-4-2-6-release-notes">
81 <span·id="django-4-2-6-release-notes"></span><h1>Django·4.2.6·release·notes<a·class="headerlink"·href="#django-4-2-6-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-6-release-notes"></span><h1>Django·4.2.6·release·notes<a·class="headerlink"·href="#django-4-2-6-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>October·4,·2023</em></p>83 <p><em>October·4,·2023</em></p>
83 <p>Django·4.2.6·fixes·a·security·issue·with·severity·moderate·and·several·bugs84 <p>Django·4.2.6·fixes·a·security·issue·with·severity·moderate·and·several·bugs
84 in·4.2.5.</p>85 in·4.2.5.</p>
85 <section·id="s-cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">86 <section·id="s-cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">
86 <span·id="cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"></span><h2>CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code><a·class="headerlink"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"></span><h2>CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code><a·class="headerlink"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator"·title="Link·to·this·heading">¶</a></h2>
87 <p>Following·the·fix·for·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>,·the·regular·expressions·used·in·the88 <p>Following·the·fix·for·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>,·the·regular·expressions·used·in·the
88 implementation·of·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">chars()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">words()</span></code>89 implementation·of·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">chars()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">words()</span></code>
89 methods·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·were·revised·and·improved.·However,·these·regular90 methods·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·were·revised·and·improved.·However,·these·regular
90 expressions·still·exhibited·linear·backtracking·complexity,·so·when·given·a91 expressions·still·exhibited·linear·backtracking·complexity,·so·when·given·a
Offset 129, 48 lines modifiedOffset 130, 48 lines modified
129 ······130 ······
130 ········131 ········
131 ··········<div·class="yui-b"·id="sidebar">132 ··········<div·class="yui-b"·id="sidebar">
132 ············133 ············
133 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">134 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
134 ········<div·class="sphinxsidebarwrapper">135 ········<div·class="sphinxsidebarwrapper">
135 ··<div>136 ··<div>
136 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>137 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
137 ····<ul>138 ····<ul>
138 <li><a·class="reference·internal"·href="#">Django·4.2.6·release·notes</a><ul>139 <li><a·class="reference·internal"·href="#">Django·4.2.6·release·notes</a><ul>
139 <li><a·class="reference·internal"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>140 <li><a·class="reference·internal"·href="#cve-2023-43665-denial-of-service-possibility-in-django-utils-text-truncator">CVE-2023-43665:·Denial-of-service·possibility·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code></a></li>
140 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>141 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
141 </ul>142 </ul>
142 </li>143 </li>
143 </ul>144 </ul>
  
144 ··</div>145 ··</div>
145 ··<div>146 ··<div>
146 ····<h4>Previous·topic</h4>147 ····<h4>Eelmine·teema</h4>
147 ····<p·class="topless"><a·href="4.2.7.html"148 ····<p·class="topless"><a·href="4.2.7.html"
148 ··························title="previous·chapter">Django·4.2.7·release·notes</a></p>149 ··························title="eelmine·jaotis">Django·4.2.7·release·notes</a></p>
149 ··</div>150 ··</div>
150 ··<div>151 ··<div>
151 ····<h4>Next·topic</h4>152 ····<h4>Järgmine·teema</h4>
152 ····<p·class="topless"><a·href="4.2.5.html"153 ····<p·class="topless"><a·href="4.2.5.html"
153 ··························title="next·chapter">Django·4.2.5·release·notes</a></p>154 ··························title="järgmine·jaotis">Django·4.2.5·release·notes</a></p>
154 ··</div>155 ··</div>
155 <search·id="searchbox"·style="display:·none"·role="search">156 <search·id="searchbox"·style="display:·none"·role="search">
156 ··<h3·id="searchlabel">Quick·search</h3>157 ··<h3·id="searchlabel">Kiirotsing</h3>
157 ····<div·class="searchformwrapper">158 ····<div·class="searchformwrapper">
158 ····<form·class="search"·action="../search.html"·method="get">159 ····<form·class="search"·action="../search.html"·method="get">
159 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>160 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
160 ······<input·type="submit"·value="Go"·/>161 ······<input·type="submit"·value="Otsi"·/>
161 ····</form>162 ····</form>
162 ····</div>163 ····</div>
163 </search>164 </search>
164 <script>document.getElementById('searchbox').style.display·=·"block"</script>165 <script>document.getElementById('searchbox').style.display·=·"block"</script>
165 ········</div>166 ········</div>
166 ······</div>167 ······</div>
167 ··············<h3>Last·update:</h3>168 ··············<h3>Last·update:</h3>
168 ··············<p·class="topless">Nov·05,·2024</p>169 ··············<p·class="topless">nov·05,·2024</p>
169 ··········</div>170 ··········</div>
170 ········171 ········
171 ······172 ······
172 ····</div>173 ····</div>
  
173 ····<div·id="ft">174 ····<div·id="ft">
174 ······<div·class="nav">175 ······<div·class="nav">
3.09 KB
html2text {}
Max HTML report size reached
9.72 KB
./usr/share/doc/python-django-doc/html/releases/4.2.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.6·release·notes"·href="4.2.6.html"·/>15 ····<link·rel="next"·title="Django·4.2.6·release·notes"·href="4.2.6.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.8·release·notes"·href="4.2.8.html"·/>16 ····<link·rel="prev"·title="Django·4.2.8·release·notes"·href="4.2.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 19 lines modifiedOffset 77, 19 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-4.2.7">79 ··········<div·class="yui-g"·id="releases-4.2.7">
79 ············80 ············
80 ··<section·id="s-django-4-2-7-release-notes">81 ··<section·id="s-django-4-2-7-release-notes">
81 <span·id="django-4-2-7-release-notes"></span><h1>Django·4.2.7·release·notes<a·class="headerlink"·href="#django-4-2-7-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-4-2-7-release-notes"></span><h1>Django·4.2.7·release·notes<a·class="headerlink"·href="#django-4-2-7-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>November·1,·2023</em></p>83 <p><em>November·1,·2023</em></p>
83 <p>Django·4.2.7·fixes·a·security·issue·with·severity·moderate·and·several·bugs84 <p>Django·4.2.7·fixes·a·security·issue·with·severity·moderate·and·several·bugs
84 in·4.2.6.</p>85 in·4.2.6.</p>
85 <section·id="s-cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">86 <section·id="s-cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">
86 <span·id="cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"></span><h2>CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows<a·class="headerlink"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"></span><h2>CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows<a·class="headerlink"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows"·title="Link·to·this·heading">¶</a></h2>
87 <p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unicodedata.html#unicodedata.normalize"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">NFKC</span>·<span·class="pre">normalization</span></code></a>·is·slow·on88 <p>The·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unicodedata.html#unicodedata.normalize"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">NFKC</span>·<span·class="pre">normalization</span></code></a>·is·slow·on
88 Windows.·As·a·consequence,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.forms.UsernameField</span></code>·was89 Windows.·As·a·consequence,·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.forms.UsernameField</span></code>·was
89 subject·to·a·potential·denial·of·service·attack·via·certain·inputs·with·a·very90 subject·to·a·potential·denial·of·service·attack·via·certain·inputs·with·a·very
90 large·number·of·Unicode·characters.</p>91 large·number·of·Unicode·characters.</p>
91 <p>In·order·to·avoid·the·vulnerability,·invalid·values·longer·than92 <p>In·order·to·avoid·the·vulnerability,·invalid·values·longer·than
92 <code·class="docutils·literal·notranslate"><span·class="pre">UsernameField.max_length</span></code>·are·no·longer·normalized,·since·they·cannot·pass93 <code·class="docutils·literal·notranslate"><span·class="pre">UsernameField.max_length</span></code>·are·no·longer·normalized,·since·they·cannot·pass
93 validation·anyway.</p>94 validation·anyway.</p>
94 </section>95 </section>
Offset 112, 48 lines modifiedOffset 113, 48 lines modified
112 ······113 ······
113 ········114 ········
114 ··········<div·class="yui-b"·id="sidebar">115 ··········<div·class="yui-b"·id="sidebar">
115 ············116 ············
116 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
117 ········<div·class="sphinxsidebarwrapper">118 ········<div·class="sphinxsidebarwrapper">
118 ··<div>119 ··<div>
119 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>120 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
120 ····<ul>121 ····<ul>
121 <li><a·class="reference·internal"·href="#">Django·4.2.7·release·notes</a><ul>122 <li><a·class="reference·internal"·href="#">Django·4.2.7·release·notes</a><ul>
122 <li><a·class="reference·internal"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows</a></li>123 <li><a·class="reference·internal"·href="#cve-2023-46695-potential-denial-of-service-vulnerability-in-usernamefield-on-windows">CVE-2023-46695:·Potential·denial·of·service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">UsernameField</span></code>·on·Windows</a></li>
123 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>124 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
124 </ul>125 </ul>
125 </li>126 </li>
126 </ul>127 </ul>
  
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Previous·topic</h4>130 ····<h4>Eelmine·teema</h4>
130 ····<p·class="topless"><a·href="4.2.8.html"131 ····<p·class="topless"><a·href="4.2.8.html"
131 ··························title="previous·chapter">Django·4.2.8·release·notes</a></p>132 ··························title="eelmine·jaotis">Django·4.2.8·release·notes</a></p>
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Next·topic</h4>135 ····<h4>Järgmine·teema</h4>
135 ····<p·class="topless"><a·href="4.2.6.html"136 ····<p·class="topless"><a·href="4.2.6.html"
136 ··························title="next·chapter">Django·4.2.6·release·notes</a></p>137 ··························title="järgmine·jaotis">Django·4.2.6·release·notes</a></p>
137 ··</div>138 ··</div>
138 <search·id="searchbox"·style="display:·none"·role="search">139 <search·id="searchbox"·style="display:·none"·role="search">
139 ··<h3·id="searchlabel">Quick·search</h3>140 ··<h3·id="searchlabel">Kiirotsing</h3>
140 ····<div·class="searchformwrapper">141 ····<div·class="searchformwrapper">
141 ····<form·class="search"·action="../search.html"·method="get">142 ····<form·class="search"·action="../search.html"·method="get">
142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
143 ······<input·type="submit"·value="Go"·/>144 ······<input·type="submit"·value="Otsi"·/>
144 ····</form>145 ····</form>
145 ····</div>146 ····</div>
146 </search>147 </search>
147 <script>document.getElementById('searchbox').style.display·=·"block"</script>148 <script>document.getElementById('searchbox').style.display·=·"block"</script>
148 ········</div>149 ········</div>
149 ······</div>150 ······</div>
150 ··············<h3>Last·update:</h3>151 ··············<h3>Last·update:</h3>
151 ··············<p·class="topless">Nov·05,·2024</p>152 ··············<p·class="topless">nov·05,·2024</p>
152 ··········</div>153 ··········</div>
153 ········154 ········
154 ······155 ······
155 ····</div>156 ····</div>
  
156 ····<div·id="ft">157 ····<div·id="ft">
157 ······<div·class="nav">158 ······<div·class="nav">
3.14 KB
html2text {}
Max HTML report size reached
6.43 KB
./usr/share/doc/python-django-doc/html/releases/4.2.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.7·release·notes"·href="4.2.7.html"·/>15 ····<link·rel="next"·title="Django·4.2.7·release·notes"·href="4.2.7.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.9·release·notes"·href="4.2.9.html"·/>16 ····<link·rel="prev"·title="Django·4.2.9·release·notes"·href="4.2.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 117, 47 lines modifiedOffset 118, 47 lines modified
117 ······118 ······
118 ········119 ········
119 ··········<div·class="yui-b"·id="sidebar">120 ··········<div·class="yui-b"·id="sidebar">
120 ············121 ············
121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
122 ········<div·class="sphinxsidebarwrapper">123 ········<div·class="sphinxsidebarwrapper">
123 ··<div>124 ··<div>
124 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>125 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
125 ····<ul>126 ····<ul>
126 <li><a·class="reference·internal"·href="#">Django·4.2.8·release·notes</a><ul>127 <li><a·class="reference·internal"·href="#">Django·4.2.8·release·notes</a><ul>
127 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>128 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
128 </ul>129 </ul>
129 </li>130 </li>
130 </ul>131 </ul>
  
131 ··</div>132 ··</div>
132 ··<div>133 ··<div>
133 ····<h4>Previous·topic</h4>134 ····<h4>Eelmine·teema</h4>
134 ····<p·class="topless"><a·href="4.2.9.html"135 ····<p·class="topless"><a·href="4.2.9.html"
135 ··························title="previous·chapter">Django·4.2.9·release·notes</a></p>136 ··························title="eelmine·jaotis">Django·4.2.9·release·notes</a></p>
136 ··</div>137 ··</div>
137 ··<div>138 ··<div>
138 ····<h4>Next·topic</h4>139 ····<h4>Järgmine·teema</h4>
139 ····<p·class="topless"><a·href="4.2.7.html"140 ····<p·class="topless"><a·href="4.2.7.html"
140 ··························title="next·chapter">Django·4.2.7·release·notes</a></p>141 ··························title="järgmine·jaotis">Django·4.2.7·release·notes</a></p>
141 ··</div>142 ··</div>
142 <search·id="searchbox"·style="display:·none"·role="search">143 <search·id="searchbox"·style="display:·none"·role="search">
143 ··<h3·id="searchlabel">Quick·search</h3>144 ··<h3·id="searchlabel">Kiirotsing</h3>
144 ····<div·class="searchformwrapper">145 ····<div·class="searchformwrapper">
145 ····<form·class="search"·action="../search.html"·method="get">146 ····<form·class="search"·action="../search.html"·method="get">
146 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>147 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
147 ······<input·type="submit"·value="Go"·/>148 ······<input·type="submit"·value="Otsi"·/>
148 ····</form>149 ····</form>
149 ····</div>150 ····</div>
150 </search>151 </search>
151 <script>document.getElementById('searchbox').style.display·=·"block"</script>152 <script>document.getElementById('searchbox').style.display·=·"block"</script>
152 ········</div>153 ········</div>
153 ······</div>154 ······</div>
154 ··············<h3>Last·update:</h3>155 ··············<h3>Last·update:</h3>
155 ··············<p·class="topless">Nov·05,·2024</p>156 ··············<p·class="topless">nov·05,·2024</p>
156 ··········</div>157 ··········</div>
157 ········158 ········
158 ······159 ······
159 ····</div>160 ····</div>
  
160 ····<div·id="ft">161 ····<div·id="ft">
161 ······<div·class="nav">162 ······<div·class="nav">
2.31 KB
html2text {}
Max HTML report size reached
6.09 KB
./usr/share/doc/python-django-doc/html/releases/4.2.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.8·release·notes"·href="4.2.8.html"·/>15 ····<link·rel="next"·title="Django·4.2.8·release·notes"·href="4.2.8.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.10·release·notes"·href="4.2.10.html"·/>16 ····<link·rel="prev"·title="Django·4.2.10·release·notes"·href="4.2.10.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 97, 47 lines modifiedOffset 98, 47 lines modified
97 ······98 ······
98 ········99 ········
99 ··········<div·class="yui-b"·id="sidebar">100 ··········<div·class="yui-b"·id="sidebar">
100 ············101 ············
101 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">102 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
102 ········<div·class="sphinxsidebarwrapper">103 ········<div·class="sphinxsidebarwrapper">
103 ··<div>104 ··<div>
104 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>105 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
105 ····<ul>106 ····<ul>
106 <li><a·class="reference·internal"·href="#">Django·4.2.9·release·notes</a><ul>107 <li><a·class="reference·internal"·href="#">Django·4.2.9·release·notes</a><ul>
107 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>108 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
108 </ul>109 </ul>
109 </li>110 </li>
110 </ul>111 </ul>
  
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Previous·topic</h4>114 ····<h4>Eelmine·teema</h4>
114 ····<p·class="topless"><a·href="4.2.10.html"115 ····<p·class="topless"><a·href="4.2.10.html"
115 ··························title="previous·chapter">Django·4.2.10·release·notes</a></p>116 ··························title="eelmine·jaotis">Django·4.2.10·release·notes</a></p>
116 ··</div>117 ··</div>
117 ··<div>118 ··<div>
118 ····<h4>Next·topic</h4>119 ····<h4>Järgmine·teema</h4>
119 ····<p·class="topless"><a·href="4.2.8.html"120 ····<p·class="topless"><a·href="4.2.8.html"
120 ··························title="next·chapter">Django·4.2.8·release·notes</a></p>121 ··························title="järgmine·jaotis">Django·4.2.8·release·notes</a></p>
121 ··</div>122 ··</div>
122 <search·id="searchbox"·style="display:·none"·role="search">123 <search·id="searchbox"·style="display:·none"·role="search">
123 ··<h3·id="searchlabel">Quick·search</h3>124 ··<h3·id="searchlabel">Kiirotsing</h3>
124 ····<div·class="searchformwrapper">125 ····<div·class="searchformwrapper">
125 ····<form·class="search"·action="../search.html"·method="get">126 ····<form·class="search"·action="../search.html"·method="get">
126 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>127 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
127 ······<input·type="submit"·value="Go"·/>128 ······<input·type="submit"·value="Otsi"·/>
128 ····</form>129 ····</form>
129 ····</div>130 ····</div>
130 </search>131 </search>
131 <script>document.getElementById('searchbox').style.display·=·"block"</script>132 <script>document.getElementById('searchbox').style.display·=·"block"</script>
132 ········</div>133 ········</div>
133 ······</div>134 ······</div>
134 ··············<h3>Last·update:</h3>135 ··············<h3>Last·update:</h3>
135 ··············<p·class="topless">Nov·05,·2024</p>136 ··············<p·class="topless">nov·05,·2024</p>
136 ··········</div>137 ··········</div>
137 ········138 ········
138 ······139 ······
139 ····</div>140 ····</div>
  
140 ····<div·id="ft">141 ····<div·id="ft">
141 ······<div·class="nav">142 ······<div·class="nav">
1.97 KB
html2text {}
Max HTML report size reached
15.9 KB
./usr/share/doc/python-django-doc/html/releases/4.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·4.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·4.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.1.13·release·notes"·href="4.1.13.html"·/>15 ····<link·rel="next"·title="Django·4.1.13·release·notes"·href="4.1.13.html"·/>
15 ····<link·rel="prev"·title="Django·4.2.1·release·notes"·href="4.2.1.html"·/>16 ····<link·rel="prev"·title="Django·4.2.1·release·notes"·href="4.2.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 202, 15 lines modifiedOffset 203, 15 lines modified
202 <section·id="s-django-contrib-gis">203 <section·id="s-django-contrib-gis">
203 <span·id="django-contrib-gis"></span><h4><a·class="reference·internal"·href="../ref/contrib/gis/index.html#module-django.contrib.gis"·title="django.contrib.gis:·Geographic·Information·System·(GIS)·extensions·for·Django"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.gis</span></code></a><a·class="headerlink"·href="#django-contrib-gis"·title="Link·to·this·heading">¶</a></h4>204 <span·id="django-contrib-gis"></span><h4><a·class="reference·internal"·href="../ref/contrib/gis/index.html#module-django.contrib.gis"·title="django.contrib.gis:·Geographic·Information·System·(GIS)·extensions·for·Django"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.gis</span></code></a><a·class="headerlink"·href="#django-contrib-gis"·title="Link·to·this·heading">¶</a></h4>
204 <ul·class="simple">205 <ul·class="simple">
205 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/serializers.html"><span·class="doc">GeoJSON·serializer</span></a>·now·outputs·the206 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/serializers.html"><span·class="doc">GeoJSON·serializer</span></a>·now·outputs·the
206 <code·class="docutils·literal·notranslate"><span·class="pre">id</span></code>·key·for·serialized·features,·which·defaults·to·the·primary·key·of207 <code·class="docutils·literal·notranslate"><span·class="pre">id</span></code>·key·for·serialized·features,·which·defaults·to·the·primary·key·of
207 objects.</p></li>208 objects.</p></li>
208 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/gdal.html#django.contrib.gis.gdal.GDALRaster"·title="django.contrib.gis.gdal.GDALRaster"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GDALRaster</span></code></a>·class·now·supports209 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/gdal.html#django.contrib.gis.gdal.GDALRaster"·title="django.contrib.gis.gdal.GDALRaster"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GDALRaster</span></code></a>·class·now·supports
209 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>210 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pathlib.html#pathlib.Path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">pathlib.Path</span></code></a>.</p></li>
210 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2"·title="django.contrib.gis.geoip2.GeoIP2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeoIP2</span></code></a>·class·now·supports··<code·class="docutils·literal·notranslate"><span·class="pre">.mmdb</span></code>211 <li><p>The·<a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2"·title="django.contrib.gis.geoip2.GeoIP2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeoIP2</span></code></a>·class·now·supports··<code·class="docutils·literal·notranslate"><span·class="pre">.mmdb</span></code>
211 files·downloaded·from·DB-IP.</p></li>212 files·downloaded·from·DB-IP.</p></li>
212 <li><p>The·OpenLayers·template·widget·no·longer·includes·inline·CSS·(which·also213 <li><p>The·OpenLayers·template·widget·no·longer·includes·inline·CSS·(which·also
213 removes·the·former·<code·class="docutils·literal·notranslate"><span·class="pre">map_css</span></code>·block)·to·better·comply·with·a·strict·Content214 removes·the·former·<code·class="docutils·literal·notranslate"><span·class="pre">map_css</span></code>·block)·to·better·comply·with·a·strict·Content
214 Security·Policy.</p></li>215 Security·Policy.</p></li>
215 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/forms-api.html#django.contrib.gis.forms.widgets.OpenLayersWidget"·title="django.contrib.gis.forms.widgets.OpenLayersWidget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">OpenLayersWidget</span></code></a>·is·now·based·on216 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/forms-api.html#django.contrib.gis.forms.widgets.OpenLayersWidget"·title="django.contrib.gis.forms.widgets.OpenLayersWidget"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">OpenLayersWidget</span></code></a>·is·now·based·on
216 OpenLayers·7.2.2·(previously·4.6.5).</p></li>217 OpenLayers·7.2.2·(previously·4.6.5).</p></li>
Offset 480, 16 lines modifiedOffset 481, 16 lines modified
480 <li><p>The·minimum·supported·version·of·<a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/redis/">redis-py</a>·is·increased·from481 <li><p>The·minimum·supported·version·of·<a·class="extlink-pypi·reference·external"·href="https://pypi.org/project/redis/">redis-py</a>·is·increased·from
481 3.0.0·to·3.4.0.</p></li>482 3.0.0·to·3.4.0.</p></li>
482 <li><p>Manually·instantiated·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIRequest</span></code>·objects·must·be·provided·a·file-like483 <li><p>Manually·instantiated·<code·class="docutils·literal·notranslate"><span·class="pre">WSGIRequest</span></code>·objects·must·be·provided·a·file-like
483 object·for·<code·class="docutils·literal·notranslate"><span·class="pre">wsgi.input</span></code>.·Previously,·Django·was·more·lax·than·the·expected484 object·for·<code·class="docutils·literal·notranslate"><span·class="pre">wsgi.input</span></code>.·Previously,·Django·was·more·lax·than·the·expected
484 behavior·as·specified·by·the·WSGI·specification.</p></li>485 behavior·as·specified·by·the·WSGI·specification.</p></li>
485 <li><p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">PROJ</span></code>·&lt;·5·is·removed.</p></li>486 <li><p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">PROJ</span></code>·&lt;·5·is·removed.</p></li>
486 <li><p><a·class="reference·internal"·href="../topics/email.html#django.core.mail.backends.smtp.EmailBackend"·title="django.core.mail.backends.smtp.EmailBackend"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">EmailBackend</span></code></a>·now·verifies·a487 <li><p><a·class="reference·internal"·href="../topics/email.html#django.core.mail.backends.smtp.EmailBackend"·title="django.core.mail.backends.smtp.EmailBackend"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">EmailBackend</span></code></a>·now·verifies·a
487 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ssl.html#ssl.SSLContext.check_hostname"·title="(in·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">hostname</span></code></a>·and488 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ssl.html#ssl.SSLContext.check_hostname"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">hostname</span></code></a>·and
488 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ssl.html#ssl.SSLContext.verify_mode"·title="(in·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">certificates</span></code></a>.·If·you·need·the489 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ssl.html#ssl.SSLContext.verify_mode"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">certificates</span></code></a>.·If·you·need·the
489 previous·behavior·that·is·less·restrictive·and·not·recommended,·subclass490 previous·behavior·that·is·less·restrictive·and·not·recommended,·subclass
490 <code·class="docutils·literal·notranslate"><span·class="pre">EmailBackend</span></code>·and·override·the·<code·class="docutils·literal·notranslate"><span·class="pre">ssl_context</span></code>·property.</p></li>491 <code·class="docutils·literal·notranslate"><span·class="pre">EmailBackend</span></code>·and·override·the·<code·class="docutils·literal·notranslate"><span·class="pre">ssl_context</span></code>·property.</p></li>
491 </ul>492 </ul>
492 </section>493 </section>
493 </section>494 </section>
494 <section·id="s-features-deprecated-in-4-2">495 <section·id="s-features-deprecated-in-4-2">
495 <span·id="s-deprecated-features-4-2"></span><span·id="features-deprecated-in-4-2"></span><span·id="deprecated-features-4-2"></span><h2>Features·deprecated·in·4.2<a·class="headerlink"·href="#features-deprecated-in-4-2"·title="Link·to·this·heading">¶</a></h2>496 <span·id="s-deprecated-features-4-2"></span><span·id="features-deprecated-in-4-2"></span><span·id="deprecated-features-4-2"></span><h2>Features·deprecated·in·4.2<a·class="headerlink"·href="#features-deprecated-in-4-2"·title="Link·to·this·heading">¶</a></h2>
Offset 561, 15 lines modifiedOffset 562, 15 lines modified
561 literals.</p>562 literals.</p>
562 </section>563 </section>
563 <section·id="s-id1">564 <section·id="s-id1">
564 <span·id="id1"></span><h3>Miscellaneous<a·class="headerlink"·href="#id1"·title="Link·to·this·heading">¶</a></h3>565 <span·id="id1"></span><h3>Miscellaneous<a·class="headerlink"·href="#id1"·title="Link·to·this·heading">¶</a></h3>
565 <ul>566 <ul>
566 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">BaseUserManager.make_random_password()</span></code>·method·is·deprecated.·See567 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">BaseUserManager.make_random_password()</span></code>·method·is·deprecated.·See
567 <a·class="reference·external"·href="https://docs.python.org/3/library/secrets.html#recipes-and-best-practices">recipes·and·best·practices</a>568 <a·class="reference·external"·href="https://docs.python.org/3/library/secrets.html#recipes-and-best-practices">recipes·and·best·practices</a>
568 for·using·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/secrets.html#module-secrets"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">secrets</span></code></a>·module·to·generate·passwords.</p></li>569 for·using·Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/secrets.html#module-secrets"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">secrets</span></code></a>·module·to·generate·passwords.</p></li>
569 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">length_is</span></code>·template·filter·is·deprecated·in·favor·of·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-length"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">length</span></code></a>570 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">length_is</span></code>·template·filter·is·deprecated·in·favor·of·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-length"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">length</span></code></a>
570 and·the·<code·class="docutils·literal·notranslate"><span·class="pre">==</span></code>·operator·within·an·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">if</span>·<span·class="pre">%}</span></code></a>·tag.·For·example</p>571 and·the·<code·class="docutils·literal·notranslate"><span·class="pre">==</span></code>·operator·within·an·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatetag-if"><code·class="xref·std·std-ttag·docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">if</span>·<span·class="pre">%}</span></code></a>·tag.·For·example</p>
571 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="o">==</span>·<span·class="m">4</span>·<span·class="cp">%}</span>…<span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span>572 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="o">==</span>·<span·class="m">4</span>·<span·class="cp">%}</span>…<span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span>
572 <span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="o">==</span>·<span·class="m">4</span>·<span·class="cp">%}</span>True<span·class="cp">{%</span>·<span·class="k">else</span>·<span·class="cp">%}</span>False<span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span>573 <span·class="cp">{%</span>·<span·class="k">if</span>·<span·class="nv">value</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="o">==</span>·<span·class="m">4</span>·<span·class="cp">%}</span>True<span·class="cp">{%</span>·<span·class="k">else</span>·<span·class="cp">%}</span>False<span·class="cp">{%</span>·<span·class="k">endif</span>·<span·class="cp">%}</span>
573 </pre></div>574 </pre></div>
574 </div>575 </div>
575 <p>instead·of:</p>576 <p>instead·of:</p>
Offset 616, 15 lines modifiedOffset 617, 15 lines modified
616 ······617 ······
617 ········618 ········
618 ··········<div·class="yui-b"·id="sidebar">619 ··········<div·class="yui-b"·id="sidebar">
619 ············620 ············
620 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">621 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
621 ········<div·class="sphinxsidebarwrapper">622 ········<div·class="sphinxsidebarwrapper">
622 ··<div>623 ··<div>
623 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>624 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
624 ····<ul>625 ····<ul>
625 <li><a·class="reference·internal"·href="#">Django·4.2·release·notes</a><ul>626 <li><a·class="reference·internal"·href="#">Django·4.2·release·notes</a><ul>
626 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>627 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>
627 <li><a·class="reference·internal"·href="#what-s-new-in-django-4-2">What’s·new·in·Django·4.2</a><ul>628 <li><a·class="reference·internal"·href="#what-s-new-in-django-4-2">What’s·new·in·Django·4.2</a><ul>
628 <li><a·class="reference·internal"·href="#psycopg-3-support">Psycopg·3·support</a></li>629 <li><a·class="reference·internal"·href="#psycopg-3-support">Psycopg·3·support</a></li>
629 <li><a·class="reference·internal"·href="#comments-on-columns-and-tables">Comments·on·columns·and·tables</a></li>630 <li><a·class="reference·internal"·href="#comments-on-columns-and-tables">Comments·on·columns·and·tables</a></li>
630 <li><a·class="reference·internal"·href="#mitigation-for-the-breach-attack">Mitigation·for·the·BREACH·attack</a></li>631 <li><a·class="reference·internal"·href="#mitigation-for-the-breach-attack">Mitigation·for·the·BREACH·attack</a></li>
Offset 671, 37 lines modifiedOffset 672, 37 lines modified
671 </li>672 </li>
672 </ul>673 </ul>
673 </li>674 </li>
674 </ul>675 </ul>
  
675 ··</div>676 ··</div>
676 ··<div>677 ··<div>
677 ····<h4>Previous·topic</h4>678 ····<h4>Eelmine·teema</h4>
678 ····<p·class="topless"><a·href="4.2.1.html"679 ····<p·class="topless"><a·href="4.2.1.html"
679 ··························title="previous·chapter">Django·4.2.1·release·notes</a></p>680 ··························title="eelmine·jaotis">Django·4.2.1·release·notes</a></p>
680 ··</div>681 ··</div>
681 ··<div>682 ··<div>
682 ····<h4>Next·topic</h4>683 ····<h4>Järgmine·teema</h4>
683 ····<p·class="topless"><a·href="4.1.13.html"684 ····<p·class="topless"><a·href="4.1.13.html"
684 ··························title="next·chapter">Django·4.1.13·release·notes</a></p>685 ··························title="järgmine·jaotis">Django·4.1.13·release·notes</a></p>
685 ··</div>686 ··</div>
686 <search·id="searchbox"·style="display:·none"·role="search">687 <search·id="searchbox"·style="display:·none"·role="search">
687 ··<h3·id="searchlabel">Quick·search</h3>688 ··<h3·id="searchlabel">Kiirotsing</h3>
688 ····<div·class="searchformwrapper">689 ····<div·class="searchformwrapper">
689 ····<form·class="search"·action="../search.html"·method="get">690 ····<form·class="search"·action="../search.html"·method="get">
690 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>691 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
691 ······<input·type="submit"·value="Go"·/>692 ······<input·type="submit"·value="Otsi"·/>
Max diff block lines reached; 365/12441 bytes (2.93%) of diff not shown.
3.63 KB
html2text {}
Max HTML report size reached
6.51 KB
./usr/share/doc/python-django-doc/html/releases/5.0.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0·release·notes"·href="5.0.html"·/>15 ····<link·rel="next"·title="Django·5.0·release·notes"·href="5.0.html"·/>
15 ····<link·rel="prev"·title="Django·5.0.2·release·notes"·href="5.0.2.html"·/>16 ····<link·rel="prev"·title="Django·5.0.2·release·notes"·href="5.0.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 115, 47 lines modifiedOffset 116, 47 lines modified
115 ······116 ······
116 ········117 ········
117 ··········<div·class="yui-b"·id="sidebar">118 ··········<div·class="yui-b"·id="sidebar">
118 ············119 ············
119 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">120 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
120 ········<div·class="sphinxsidebarwrapper">121 ········<div·class="sphinxsidebarwrapper">
121 ··<div>122 ··<div>
122 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>123 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
123 ····<ul>124 ····<ul>
124 <li><a·class="reference·internal"·href="#">Django·5.0.1·release·notes</a><ul>125 <li><a·class="reference·internal"·href="#">Django·5.0.1·release·notes</a><ul>
125 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>126 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
126 </ul>127 </ul>
127 </li>128 </li>
128 </ul>129 </ul>
  
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Previous·topic</h4>132 ····<h4>Eelmine·teema</h4>
132 ····<p·class="topless"><a·href="5.0.2.html"133 ····<p·class="topless"><a·href="5.0.2.html"
133 ··························title="previous·chapter">Django·5.0.2·release·notes</a></p>134 ··························title="eelmine·jaotis">Django·5.0.2·release·notes</a></p>
134 ··</div>135 ··</div>
135 ··<div>136 ··<div>
136 ····<h4>Next·topic</h4>137 ····<h4>Järgmine·teema</h4>
137 ····<p·class="topless"><a·href="5.0.html"138 ····<p·class="topless"><a·href="5.0.html"
138 ··························title="next·chapter">Django·5.0·release·notes</a></p>139 ··························title="järgmine·jaotis">Django·5.0·release·notes</a></p>
139 ··</div>140 ··</div>
140 <search·id="searchbox"·style="display:·none"·role="search">141 <search·id="searchbox"·style="display:·none"·role="search">
141 ··<h3·id="searchlabel">Quick·search</h3>142 ··<h3·id="searchlabel">Kiirotsing</h3>
142 ····<div·class="searchformwrapper">143 ····<div·class="searchformwrapper">
143 ····<form·class="search"·action="../search.html"·method="get">144 ····<form·class="search"·action="../search.html"·method="get">
144 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>145 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
145 ······<input·type="submit"·value="Go"·/>146 ······<input·type="submit"·value="Otsi"·/>
146 ····</form>147 ····</form>
147 ····</div>148 ····</div>
148 </search>149 </search>
149 <script>document.getElementById('searchbox').style.display·=·"block"</script>150 <script>document.getElementById('searchbox').style.display·=·"block"</script>
150 ········</div>151 ········</div>
151 ······</div>152 ······</div>
152 ··············<h3>Last·update:</h3>153 ··············<h3>Last·update:</h3>
153 ··············<p·class="topless">Nov·05,·2024</p>154 ··············<p·class="topless">nov·05,·2024</p>
154 ··········</div>155 ··········</div>
155 ········156 ········
156 ······157 ······
157 ····</div>158 ····</div>
  
158 ····<div·id="ft">159 ····<div·id="ft">
159 ······<div·class="nav">160 ······<div·class="nav">
2.41 KB
html2text {}
Max HTML report size reached
8.86 KB
./usr/share/doc/python-django-doc/html/releases/5.0.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0.1·release·notes"·href="5.0.1.html"·/>15 ····<link·rel="next"·title="Django·5.0.1·release·notes"·href="5.0.1.html"·/>
15 ····<link·rel="prev"·title="Django·5.0.3·release·notes"·href="5.0.3.html"·/>16 ····<link·rel="prev"·title="Django·5.0.3·release·notes"·href="5.0.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-5.0.2">79 ··········<div·class="yui-g"·id="releases-5.0.2">
79 ············80 ············
80 ··<section·id="s-django-5-0-2-release-notes">81 ··<section·id="s-django-5-0-2-release-notes">
81 <span·id="django-5-0-2-release-notes"></span><h1>Django·5.0.2·release·notes<a·class="headerlink"·href="#django-5-0-2-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-5-0-2-release-notes"></span><h1>Django·5.0.2·release·notes<a·class="headerlink"·href="#django-5-0-2-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>February·6,·2024</em></p>83 <p><em>February·6,·2024</em></p>
83 <p>Django·5.0.2·fixes·a·security·issue·with·severity·moderate·and·several·bugs84 <p>Django·5.0.2·fixes·a·security·issue·with·severity·moderate·and·several·bugs
84 in·5.0.1.·Also,·the·latest·string·translations·from·Transifex·are·incorporated.</p>85 in·5.0.1.·Also,·the·latest·string·translations·from·Transifex·are·incorporated.</p>
85 <section·id="s-cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">86 <section·id="s-cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">
86 <span·id="cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"></span><h2>CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter<a·class="headerlink"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"></span><h2>CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter<a·class="headerlink"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter"·title="Link·to·this·heading">¶</a></h2>
87 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter·was·subject·to·a·potential·denial-of-service88 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter·was·subject·to·a·potential·denial-of-service
88 attack·when·used·with·very·long·strings.</p>89 attack·when·used·with·very·long·strings.</p>
89 </section>90 </section>
90 <section·id="s-bugfixes">91 <section·id="s-bugfixes">
Offset 125, 48 lines modifiedOffset 126, 48 lines modified
125 ······126 ······
126 ········127 ········
127 ··········<div·class="yui-b"·id="sidebar">128 ··········<div·class="yui-b"·id="sidebar">
128 ············129 ············
129 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">130 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
130 ········<div·class="sphinxsidebarwrapper">131 ········<div·class="sphinxsidebarwrapper">
131 ··<div>132 ··<div>
132 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>133 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
133 ····<ul>134 ····<ul>
134 <li><a·class="reference·internal"·href="#">Django·5.0.2·release·notes</a><ul>135 <li><a·class="reference·internal"·href="#">Django·5.0.2·release·notes</a><ul>
135 <li><a·class="reference·internal"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter</a></li>136 <li><a·class="reference·internal"·href="#cve-2024-24680-potential-denial-of-service-in-intcomma-template-filter">CVE-2024-24680:·Potential·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">intcomma</span></code>·template·filter</a></li>
136 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>137 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
137 </ul>138 </ul>
138 </li>139 </li>
139 </ul>140 </ul>
  
140 ··</div>141 ··</div>
141 ··<div>142 ··<div>
142 ····<h4>Previous·topic</h4>143 ····<h4>Eelmine·teema</h4>
143 ····<p·class="topless"><a·href="5.0.3.html"144 ····<p·class="topless"><a·href="5.0.3.html"
144 ··························title="previous·chapter">Django·5.0.3·release·notes</a></p>145 ··························title="eelmine·jaotis">Django·5.0.3·release·notes</a></p>
145 ··</div>146 ··</div>
146 ··<div>147 ··<div>
147 ····<h4>Next·topic</h4>148 ····<h4>Järgmine·teema</h4>
148 ····<p·class="topless"><a·href="5.0.1.html"149 ····<p·class="topless"><a·href="5.0.1.html"
149 ··························title="next·chapter">Django·5.0.1·release·notes</a></p>150 ··························title="järgmine·jaotis">Django·5.0.1·release·notes</a></p>
150 ··</div>151 ··</div>
151 <search·id="searchbox"·style="display:·none"·role="search">152 <search·id="searchbox"·style="display:·none"·role="search">
152 ··<h3·id="searchlabel">Quick·search</h3>153 ··<h3·id="searchlabel">Kiirotsing</h3>
153 ····<div·class="searchformwrapper">154 ····<div·class="searchformwrapper">
154 ····<form·class="search"·action="../search.html"·method="get">155 ····<form·class="search"·action="../search.html"·method="get">
155 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>156 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
156 ······<input·type="submit"·value="Go"·/>157 ······<input·type="submit"·value="Otsi"·/>
157 ····</form>158 ····</form>
158 ····</div>159 ····</div>
159 </search>160 </search>
160 <script>document.getElementById('searchbox').style.display·=·"block"</script>161 <script>document.getElementById('searchbox').style.display·=·"block"</script>
161 ········</div>162 ········</div>
162 ······</div>163 ······</div>
163 ··············<h3>Last·update:</h3>164 ··············<h3>Last·update:</h3>
164 ··············<p·class="topless">Nov·05,·2024</p>165 ··············<p·class="topless">nov·05,·2024</p>
165 ··········</div>166 ··········</div>
166 ········167 ········
167 ······168 ······
168 ····</div>169 ····</div>
  
169 ····<div·id="ft">170 ····<div·id="ft">
170 ······<div·class="nav">171 ······<div·class="nav">
3.16 KB
html2text {}
Max HTML report size reached
9.72 KB
./usr/share/doc/python-django-doc/html/releases/5.0.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0.2·release·notes"·href="5.0.2.html"·/>15 ····<link·rel="next"·title="Django·5.0.2·release·notes"·href="5.0.2.html"·/>
15 ····<link·rel="prev"·title="Django·5.0.4·release·notes"·href="5.0.4.html"·/>16 ····<link·rel="prev"·title="Django·5.0.4·release·notes"·href="5.0.4.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-5.0.3">79 ··········<div·class="yui-g"·id="releases-5.0.3">
79 ············80 ············
80 ··<section·id="s-django-5-0-3-release-notes">81 ··<section·id="s-django-5-0-3-release-notes">
81 <span·id="django-5-0-3-release-notes"></span><h1>Django·5.0.3·release·notes<a·class="headerlink"·href="#django-5-0-3-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-5-0-3-release-notes"></span><h1>Django·5.0.3·release·notes<a·class="headerlink"·href="#django-5-0-3-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>March·4,·2024</em></p>83 <p><em>March·4,·2024</em></p>
83 <p>Django·5.0.3·fixes·a·security·issue·with·severity·moderate·and·several·bugs84 <p>Django·5.0.3·fixes·a·security·issue·with·severity·moderate·and·several·bugs
84 in·5.0.2.</p>85 in·5.0.2.</p>
85 <section·id="s-cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">86 <section·id="s-cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">
86 <span·id="cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"></span><h2>CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code><a·class="headerlink"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"></span><h2>CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code><a·class="headerlink"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words"·title="Link·to·this·heading">¶</a></h2>
87 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code>·method·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·and88 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code>·method·(with·<code·class="docutils·literal·notranslate"><span·class="pre">html=True</span></code>)·and
88 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatewords_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code></a>·template·filter·were·subject·to·a·potential89 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatewords_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code></a>·template·filter·were·subject·to·a·potential
89 regular·expression·denial-of-service·attack·using·a·suitably·crafted·string90 regular·expression·denial-of-service·attack·using·a·suitably·crafted·string
90 (follow·up·to·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>·and·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2023-43665">CVE-2023-43665</a>).</p>91 (follow·up·to·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-14232">CVE-2019-14232</a>·and·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2023-43665">CVE-2023-43665</a>).</p>
Offset 120, 48 lines modifiedOffset 121, 48 lines modified
120 ······121 ······
121 ········122 ········
122 ··········<div·class="yui-b"·id="sidebar">123 ··········<div·class="yui-b"·id="sidebar">
123 ············124 ············
124 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">125 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
125 ········<div·class="sphinxsidebarwrapper">126 ········<div·class="sphinxsidebarwrapper">
126 ··<div>127 ··<div>
127 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>128 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
128 ····<ul>129 ····<ul>
129 <li><a·class="reference·internal"·href="#">Django·5.0.3·release·notes</a><ul>130 <li><a·class="reference·internal"·href="#">Django·5.0.3·release·notes</a><ul>
130 <li><a·class="reference·internal"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code></a></li>131 <li><a·class="reference·internal"·href="#cve-2024-27351-potential-regular-expression-denial-of-service-in-django-utils-text-truncator-words">CVE-2024-27351:·Potential·regular·expression·denial-of-service·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator.words()</span></code></a></li>
131 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>132 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
132 </ul>133 </ul>
133 </li>134 </li>
134 </ul>135 </ul>
  
135 ··</div>136 ··</div>
136 ··<div>137 ··<div>
137 ····<h4>Previous·topic</h4>138 ····<h4>Eelmine·teema</h4>
138 ····<p·class="topless"><a·href="5.0.4.html"139 ····<p·class="topless"><a·href="5.0.4.html"
139 ··························title="previous·chapter">Django·5.0.4·release·notes</a></p>140 ··························title="eelmine·jaotis">Django·5.0.4·release·notes</a></p>
140 ··</div>141 ··</div>
141 ··<div>142 ··<div>
142 ····<h4>Next·topic</h4>143 ····<h4>Järgmine·teema</h4>
143 ····<p·class="topless"><a·href="5.0.2.html"144 ····<p·class="topless"><a·href="5.0.2.html"
144 ··························title="next·chapter">Django·5.0.2·release·notes</a></p>145 ··························title="järgmine·jaotis">Django·5.0.2·release·notes</a></p>
145 ··</div>146 ··</div>
146 <search·id="searchbox"·style="display:·none"·role="search">147 <search·id="searchbox"·style="display:·none"·role="search">
147 ··<h3·id="searchlabel">Quick·search</h3>148 ··<h3·id="searchlabel">Kiirotsing</h3>
148 ····<div·class="searchformwrapper">149 ····<div·class="searchformwrapper">
149 ····<form·class="search"·action="../search.html"·method="get">150 ····<form·class="search"·action="../search.html"·method="get">
150 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>151 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
151 ······<input·type="submit"·value="Go"·/>152 ······<input·type="submit"·value="Otsi"·/>
152 ····</form>153 ····</form>
153 ····</div>154 ····</div>
154 </search>155 </search>
155 <script>document.getElementById('searchbox').style.display·=·"block"</script>156 <script>document.getElementById('searchbox').style.display·=·"block"</script>
156 ········</div>157 ········</div>
157 ······</div>158 ······</div>
158 ··············<h3>Last·update:</h3>159 ··············<h3>Last·update:</h3>
159 ··············<p·class="topless">Nov·05,·2024</p>160 ··············<p·class="topless">nov·05,·2024</p>
160 ··········</div>161 ··········</div>
161 ········162 ········
162 ······163 ······
163 ····</div>164 ····</div>
  
164 ····<div·id="ft">165 ····<div·id="ft">
165 ······<div·class="nav">166 ······<div·class="nav">
3.36 KB
html2text {}
Max HTML report size reached
9.06 KB
./usr/share/doc/python-django-doc/html/releases/5.0.4.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0.4·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0.4·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0.3·release·notes"·href="5.0.3.html"·/>15 ····<link·rel="next"·title="Django·5.0.3·release·notes"·href="5.0.3.html"·/>
15 ····<link·rel="prev"·title="Django·5.0.5·release·notes"·href="5.0.5.html"·/>16 ····<link·rel="prev"·title="Django·5.0.5·release·notes"·href="5.0.5.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 85, 15 lines modifiedOffset 86, 15 lines modified
85 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>86 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
86 <ul·class="simple">87 <ul·class="simple">
87 <li><p>Fixed·a·bug·in·Django·5.0·that·caused·a·crash·of·<code·class="docutils·literal·notranslate"><span·class="pre">Model.full_clean()</span></code>·on88 <li><p>Fixed·a·bug·in·Django·5.0·that·caused·a·crash·of·<code·class="docutils·literal·notranslate"><span·class="pre">Model.full_clean()</span></code>·on
88 fields·with·expressions·in·<code·class="docutils·literal·notranslate"><span·class="pre">db_default</span></code>.·As·a·consequence,89 fields·with·expressions·in·<code·class="docutils·literal·notranslate"><span·class="pre">db_default</span></code>.·As·a·consequence,
89 <code·class="docutils·literal·notranslate"><span·class="pre">Model.full_clean()</span></code>·no·longer·validates·for·empty·values·in·fields·with90 <code·class="docutils·literal·notranslate"><span·class="pre">Model.full_clean()</span></code>·no·longer·validates·for·empty·values·in·fields·with
90 <code·class="docutils·literal·notranslate"><span·class="pre">db_default</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/35223">#35223</a>).</p></li>91 <code·class="docutils·literal·notranslate"><span·class="pre">db_default</span></code>·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/35223">#35223</a>).</p></li>
91 <li><p>Fixed·a·regression·in·Django·5.0·where·the·<code·class="docutils·literal·notranslate"><span·class="pre">AdminFileWidget</span></code>·could·be92 <li><p>Fixed·a·regression·in·Django·5.0·where·the·<code·class="docutils·literal·notranslate"><span·class="pre">AdminFileWidget</span></code>·could·be
92 rendered·with·two·<code·class="docutils·literal·notranslate"><span·class="pre">id</span></code>·attributes·on·the·Clear·checkbox93 rendered·with·two·<code·class="docutils·literal·notranslate"><span·class="pre">id</span></code>·attributes·on·the·Clear·checkbox
93 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/35273">#35273</a>).</p></li>94 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/35273">#35273</a>).</p></li>
94 <li><p>Fixed·a·bug·in·Django·5.0·that·caused·a·migration·crash·on·PostgreSQL·15+95 <li><p>Fixed·a·bug·in·Django·5.0·that·caused·a·migration·crash·on·PostgreSQL·15+
95 when·adding·a·partial·<code·class="docutils·literal·notranslate"><span·class="pre">UniqueConstraint</span></code>·with·<code·class="docutils·literal·notranslate"><span·class="pre">nulls_distinct</span></code>96 when·adding·a·partial·<code·class="docutils·literal·notranslate"><span·class="pre">UniqueConstraint</span></code>·with·<code·class="docutils·literal·notranslate"><span·class="pre">nulls_distinct</span></code>
96 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/35329">#35329</a>).</p></li>97 (<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/35329">#35329</a>).</p></li>
97 <li><p>Fixed·a·crash·in·Django·5.0·when·performing·queries·involving·table·aliases98 <li><p>Fixed·a·crash·in·Django·5.0·when·performing·queries·involving·table·aliases
98 and·lookups·on·a·<code·class="docutils·literal·notranslate"><span·class="pre">GeneratedField</span></code>·of·the·aliased·table·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/35344">#35344</a>).</p></li>99 and·lookups·on·a·<code·class="docutils·literal·notranslate"><span·class="pre">GeneratedField</span></code>·of·the·aliased·table·(<a·class="extlink-ticket·reference·external"·href="https://code.djangoproject.com/ticket/35344">#35344</a>).</p></li>
99 <li><p>Fixed·a·bug·in·Django·5.0·that·caused·a·migration·crash·when·adding·a100 <li><p>Fixed·a·bug·in·Django·5.0·that·caused·a·migration·crash·when·adding·a
Offset 110, 47 lines modifiedOffset 111, 47 lines modified
110 ······111 ······
111 ········112 ········
112 ··········<div·class="yui-b"·id="sidebar">113 ··········<div·class="yui-b"·id="sidebar">
113 ············114 ············
114 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">115 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
115 ········<div·class="sphinxsidebarwrapper">116 ········<div·class="sphinxsidebarwrapper">
116 ··<div>117 ··<div>
117 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>118 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
118 ····<ul>119 ····<ul>
119 <li><a·class="reference·internal"·href="#">Django·5.0.4·release·notes</a><ul>120 <li><a·class="reference·internal"·href="#">Django·5.0.4·release·notes</a><ul>
120 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>121 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
121 </ul>122 </ul>
122 </li>123 </li>
123 </ul>124 </ul>
  
124 ··</div>125 ··</div>
125 ··<div>126 ··<div>
126 ····<h4>Previous·topic</h4>127 ····<h4>Eelmine·teema</h4>
127 ····<p·class="topless"><a·href="5.0.5.html"128 ····<p·class="topless"><a·href="5.0.5.html"
128 ··························title="previous·chapter">Django·5.0.5·release·notes</a></p>129 ··························title="eelmine·jaotis">Django·5.0.5·release·notes</a></p>
129 ··</div>130 ··</div>
130 ··<div>131 ··<div>
131 ····<h4>Next·topic</h4>132 ····<h4>Järgmine·teema</h4>
132 ····<p·class="topless"><a·href="5.0.3.html"133 ····<p·class="topless"><a·href="5.0.3.html"
133 ··························title="next·chapter">Django·5.0.3·release·notes</a></p>134 ··························title="järgmine·jaotis">Django·5.0.3·release·notes</a></p>
134 ··</div>135 ··</div>
135 <search·id="searchbox"·style="display:·none"·role="search">136 <search·id="searchbox"·style="display:·none"·role="search">
136 ··<h3·id="searchlabel">Quick·search</h3>137 ··<h3·id="searchlabel">Kiirotsing</h3>
137 ····<div·class="searchformwrapper">138 ····<div·class="searchformwrapper">
138 ····<form·class="search"·action="../search.html"·method="get">139 ····<form·class="search"·action="../search.html"·method="get">
139 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>140 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
140 ······<input·type="submit"·value="Go"·/>141 ······<input·type="submit"·value="Otsi"·/>
141 ····</form>142 ····</form>
142 ····</div>143 ····</div>
143 </search>144 </search>
144 <script>document.getElementById('searchbox').style.display·=·"block"</script>145 <script>document.getElementById('searchbox').style.display·=·"block"</script>
145 ········</div>146 ········</div>
146 ······</div>147 ······</div>
147 ··············<h3>Last·update:</h3>148 ··············<h3>Last·update:</h3>
148 ··············<p·class="topless">Nov·05,·2024</p>149 ··············<p·class="topless">nov·05,·2024</p>
149 ··········</div>150 ··········</div>
150 ········151 ········
151 ······152 ······
152 ····</div>153 ····</div>
  
153 ····<div·id="ft">154 ····<div·id="ft">
154 ······<div·class="nav">155 ······<div·class="nav">
2.84 KB
html2text {}
Max HTML report size reached
6.48 KB
./usr/share/doc/python-django-doc/html/releases/5.0.5.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0.5·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0.5·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0.4·release·notes"·href="5.0.4.html"·/>15 ····<link·rel="next"·title="Django·5.0.4·release·notes"·href="5.0.4.html"·/>
15 ····<link·rel="prev"·title="Django·5.0.6·release·notes"·href="5.0.6.html"·/>16 ····<link·rel="prev"·title="Django·5.0.6·release·notes"·href="5.0.6.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 113, 47 lines modifiedOffset 114, 47 lines modified
113 ······114 ······
114 ········115 ········
115 ··········<div·class="yui-b"·id="sidebar">116 ··········<div·class="yui-b"·id="sidebar">
116 ············117 ············
117 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">118 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
118 ········<div·class="sphinxsidebarwrapper">119 ········<div·class="sphinxsidebarwrapper">
119 ··<div>120 ··<div>
120 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>121 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
121 ····<ul>122 ····<ul>
122 <li><a·class="reference·internal"·href="#">Django·5.0.5·release·notes</a><ul>123 <li><a·class="reference·internal"·href="#">Django·5.0.5·release·notes</a><ul>
123 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>124 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
124 </ul>125 </ul>
125 </li>126 </li>
126 </ul>127 </ul>
  
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Previous·topic</h4>130 ····<h4>Eelmine·teema</h4>
130 ····<p·class="topless"><a·href="5.0.6.html"131 ····<p·class="topless"><a·href="5.0.6.html"
131 ··························title="previous·chapter">Django·5.0.6·release·notes</a></p>132 ··························title="eelmine·jaotis">Django·5.0.6·release·notes</a></p>
132 ··</div>133 ··</div>
133 ··<div>134 ··<div>
134 ····<h4>Next·topic</h4>135 ····<h4>Järgmine·teema</h4>
135 ····<p·class="topless"><a·href="5.0.4.html"136 ····<p·class="topless"><a·href="5.0.4.html"
136 ··························title="next·chapter">Django·5.0.4·release·notes</a></p>137 ··························title="järgmine·jaotis">Django·5.0.4·release·notes</a></p>
137 ··</div>138 ··</div>
138 <search·id="searchbox"·style="display:·none"·role="search">139 <search·id="searchbox"·style="display:·none"·role="search">
139 ··<h3·id="searchlabel">Quick·search</h3>140 ··<h3·id="searchlabel">Kiirotsing</h3>
140 ····<div·class="searchformwrapper">141 ····<div·class="searchformwrapper">
141 ····<form·class="search"·action="../search.html"·method="get">142 ····<form·class="search"·action="../search.html"·method="get">
142 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>143 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
143 ······<input·type="submit"·value="Go"·/>144 ······<input·type="submit"·value="Otsi"·/>
144 ····</form>145 ····</form>
145 ····</div>146 ····</div>
146 </search>147 </search>
147 <script>document.getElementById('searchbox').style.display·=·"block"</script>148 <script>document.getElementById('searchbox').style.display·=·"block"</script>
148 ········</div>149 ········</div>
149 ······</div>150 ······</div>
150 ··············<h3>Last·update:</h3>151 ··············<h3>Last·update:</h3>
151 ··············<p·class="topless">Nov·05,·2024</p>152 ··············<p·class="topless">nov·05,·2024</p>
152 ··········</div>153 ··········</div>
153 ········154 ········
154 ······155 ······
155 ····</div>156 ····</div>
  
156 ····<div·id="ft">157 ····<div·id="ft">
157 ······<div·class="nav">158 ······<div·class="nav">
2.36 KB
html2text {}
Max HTML report size reached
5.22 KB
./usr/share/doc/python-django-doc/html/releases/5.0.6.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0.6·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0.6·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0.5·release·notes"·href="5.0.5.html"·/>15 ····<link·rel="next"·title="Django·5.0.5·release·notes"·href="5.0.5.html"·/>
15 ····<link·rel="prev"·title="Django·5.0.7·release·notes"·href="5.0.7.html"·/>16 ····<link·rel="prev"·title="Django·5.0.7·release·notes"·href="5.0.7.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 90, 37 lines modifiedOffset 91, 37 lines modified
90 ······91 ······
91 ········92 ········
92 ··········<div·class="yui-b"·id="sidebar">93 ··········<div·class="yui-b"·id="sidebar">
93 ············94 ············
94 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">95 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
95 ········<div·class="sphinxsidebarwrapper">96 ········<div·class="sphinxsidebarwrapper">
96 ··<div>97 ··<div>
97 ····<h4>Previous·topic</h4>98 ····<h4>Eelmine·teema</h4>
98 ····<p·class="topless"><a·href="5.0.7.html"99 ····<p·class="topless"><a·href="5.0.7.html"
99 ··························title="previous·chapter">Django·5.0.7·release·notes</a></p>100 ··························title="eelmine·jaotis">Django·5.0.7·release·notes</a></p>
100 ··</div>101 ··</div>
101 ··<div>102 ··<div>
102 ····<h4>Next·topic</h4>103 ····<h4>Järgmine·teema</h4>
103 ····<p·class="topless"><a·href="5.0.5.html"104 ····<p·class="topless"><a·href="5.0.5.html"
104 ··························title="next·chapter">Django·5.0.5·release·notes</a></p>105 ··························title="järgmine·jaotis">Django·5.0.5·release·notes</a></p>
105 ··</div>106 ··</div>
106 <search·id="searchbox"·style="display:·none"·role="search">107 <search·id="searchbox"·style="display:·none"·role="search">
107 ··<h3·id="searchlabel">Quick·search</h3>108 ··<h3·id="searchlabel">Kiirotsing</h3>
108 ····<div·class="searchformwrapper">109 ····<div·class="searchformwrapper">
109 ····<form·class="search"·action="../search.html"·method="get">110 ····<form·class="search"·action="../search.html"·method="get">
110 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>111 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
111 ······<input·type="submit"·value="Go"·/>112 ······<input·type="submit"·value="Otsi"·/>
112 ····</form>113 ····</form>
113 ····</div>114 ····</div>
114 </search>115 </search>
115 <script>document.getElementById('searchbox').style.display·=·"block"</script>116 <script>document.getElementById('searchbox').style.display·=·"block"</script>
116 ········</div>117 ········</div>
117 ······</div>118 ······</div>
118 ··············<h3>Last·update:</h3>119 ··············<h3>Last·update:</h3>
119 ··············<p·class="topless">Nov·05,·2024</p>120 ··············<p·class="topless">nov·05,·2024</p>
120 ··········</div>121 ··········</div>
121 ········122 ········
122 ······123 ······
123 ····</div>124 ····</div>
  
124 ····<div·id="ft">125 ····<div·id="ft">
125 ······<div·class="nav">126 ······<div·class="nav">
1.42 KB
html2text {}
    
Offset 1, 15 lines modifiedOffset 1, 15 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·5\x85.\x8.0\x80.\x8.6\x86·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·D\x8Dj\x8ja\x8an\x8ng\x8go\x8o·5\x85.\x8.0\x80.\x8.6\x86·r\x8re\x8el\x8le\x8ea\x8as\x8se\x8e·n\x8no\x8ot\x8te\x8es\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 M\x8Ma\x8ay\x8y·7\x87,\x8,·2\x820\x802\x824\x845 M\x8Ma\x8ay\x8y·7\x87,\x8,·2\x820\x802\x824\x84
6 Django·5.0.6·fixes·a·packaging·error·in·5.0.5.6 Django·5.0.6·fixes·a·packaging·error·in·5.0.5.
7 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*7 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
8 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x85_\x8._\x80_\x8._\x87_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s8 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x85_\x8._\x80_\x8._\x87_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
9 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*9 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
10 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x85_\x8._\x80_\x8._\x85_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s10 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x85_\x8._\x80_\x8._\x85_\x8·_\x8r_\x8e_\x8l_\x8e_\x8a_\x8s_\x8e_\x8·_\x8n_\x8o_\x8t_\x8e_\x8s
11 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*11 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
12 [q···················][Go]12 [q···················][Otsi]
13 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*13 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
14 Nov·05,·202414 nov·05,·2024
15 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»15 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
14.0 KB
./usr/share/doc/python-django-doc/html/releases/5.0.7.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0.7·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0.7·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0.6·release·notes"·href="5.0.6.html"·/>15 ····<link·rel="next"·title="Django·5.0.6·release·notes"·href="5.0.6.html"·/>
15 ····<link·rel="prev"·title="Django·5.0.8·release·notes"·href="5.0.8.html"·/>16 ····<link·rel="prev"·title="Django·5.0.8·release·notes"·href="5.0.8.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 16 lines modifiedOffset 77, 16 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-5.0.7">79 ··········<div·class="yui-g"·id="releases-5.0.7">
79 ············80 ············
80 ··<section·id="s-django-5-0-7-release-notes">81 ··<section·id="s-django-5-0-7-release-notes">
81 <span·id="django-5-0-7-release-notes"></span><h1>Django·5.0.7·release·notes<a·class="headerlink"·href="#django-5-0-7-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-5-0-7-release-notes"></span><h1>Django·5.0.7·release·notes<a·class="headerlink"·href="#django-5-0-7-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>July·9,·2024</em></p>83 <p><em>July·9,·2024</em></p>
83 <p>Django·5.0.7·fixes·two·security·issues·with·severity·moderate,·two·security84 <p>Django·5.0.7·fixes·two·security·issues·with·severity·moderate,·two·security
84 issues·with·severity·low,·and·one·bug·in·5.0.6.</p>85 issues·with·severity·low,·and·one·bug·in·5.0.6.</p>
85 <section·id="s-cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">86 <section·id="s-cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">
86 <span·id="cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-38875:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-38875:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential88 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential
88 denial-of-service·attack·via·certain·inputs·with·a·very·large·number·of89 denial-of-service·attack·via·certain·inputs·with·a·very·large·number·of
89 brackets.</p>90 brackets.</p>
90 </section>91 </section>
91 <section·id="s-cve-2024-39329-username-enumeration-through-timing-difference-for-users-with-unusable-passwords">92 <section·id="s-cve-2024-39329-username-enumeration-through-timing-difference-for-users-with-unusable-passwords">
Offset 106, 15 lines modifiedOffset 107, 15 lines modified
106 <span·id="cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant"></span><h2>CVE-2024-39614:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code><a·class="headerlink"·href="#cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant"·title="Link·to·this·heading">¶</a></h2>107 <span·id="cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant"></span><h2>CVE-2024-39614:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code><a·class="headerlink"·href="#cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant"·title="Link·to·this·heading">¶</a></h2>
107 <p><a·class="reference·internal"·href="../ref/utils.html#django.utils.translation.get_supported_language_variant"·title="django.utils.translation.get_supported_language_variant"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a>·was·subject·to108 <p><a·class="reference·internal"·href="../ref/utils.html#django.utils.translation.get_supported_language_variant"·title="django.utils.translation.get_supported_language_variant"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a>·was·subject·to
108 a·potential·denial-of-service·attack·when·used·with·very·long·strings109 a·potential·denial-of-service·attack·when·used·with·very·long·strings
109 containing·specific·characters.</p>110 containing·specific·characters.</p>
110 <p>To·mitigate·this·vulnerability,·the·language·code·provided·to111 <p>To·mitigate·this·vulnerability,·the·language·code·provided·to
111 <a·class="reference·internal"·href="../ref/utils.html#django.utils.translation.get_supported_language_variant"·title="django.utils.translation.get_supported_language_variant"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a>·is·now·parsed112 <a·class="reference·internal"·href="../ref/utils.html#django.utils.translation.get_supported_language_variant"·title="django.utils.translation.get_supported_language_variant"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a>·is·now·parsed
112 up·to·a·maximum·length·of·500·characters.</p>113 up·to·a·maximum·length·of·500·characters.</p>
113 <p>When·the·language·code·is·over·500·characters,·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>·will·now·be114 <p>When·the·language·code·is·over·500·characters,·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#ValueError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ValueError</span></code></a>·will·now·be
114 raised·if·<code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·or·if·there·is·no·generic·variant·and115 raised·if·<code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·or·if·there·is·no·generic·variant·and
115 <code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>116 <code·class="docutils·literal·notranslate"><span·class="pre">strict</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
116 </section>117 </section>
117 <section·id="s-bugfixes">118 <section·id="s-bugfixes">
118 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>119 <span·id="bugfixes"></span><h2>Bugfixes<a·class="headerlink"·href="#bugfixes"·title="Link·to·this·heading">¶</a></h2>
119 <ul·class="simple">120 <ul·class="simple">
120 <li><p>Fixed·a·bug·in·Django·5.0·that·caused·a·crash·of·<code·class="docutils·literal·notranslate"><span·class="pre">Model.full_clean()</span></code>·on121 <li><p>Fixed·a·bug·in·Django·5.0·that·caused·a·crash·of·<code·class="docutils·literal·notranslate"><span·class="pre">Model.full_clean()</span></code>·on
Offset 132, 51 lines modifiedOffset 133, 51 lines modified
132 ······133 ······
133 ········134 ········
134 ··········<div·class="yui-b"·id="sidebar">135 ··········<div·class="yui-b"·id="sidebar">
135 ············136 ············
136 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">137 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
137 ········<div·class="sphinxsidebarwrapper">138 ········<div·class="sphinxsidebarwrapper">
138 ··<div>139 ··<div>
139 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>140 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
140 ····<ul>141 ····<ul>
141 <li><a·class="reference·internal"·href="#">Django·5.0.7·release·notes</a><ul>142 <li><a·class="reference·internal"·href="#">Django·5.0.7·release·notes</a><ul>
142 <li><a·class="reference·internal"·href="#cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-38875:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>143 <li><a·class="reference·internal"·href="#cve-2024-38875-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-38875:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>
143 <li><a·class="reference·internal"·href="#cve-2024-39329-username-enumeration-through-timing-difference-for-users-with-unusable-passwords">CVE-2024-39329:·Username·enumeration·through·timing·difference·for·users·with·unusable·passwords</a></li>144 <li><a·class="reference·internal"·href="#cve-2024-39329-username-enumeration-through-timing-difference-for-users-with-unusable-passwords">CVE-2024-39329:·Username·enumeration·through·timing·difference·for·users·with·unusable·passwords</a></li>
144 <li><a·class="reference·internal"·href="#cve-2024-39330-potential-directory-traversal-via-storage-save">CVE-2024-39330:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>145 <li><a·class="reference·internal"·href="#cve-2024-39330-potential-directory-traversal-via-storage-save">CVE-2024-39330:·Potential·directory-traversal·via·<code·class="docutils·literal·notranslate"><span·class="pre">Storage.save()</span></code></a></li>
145 <li><a·class="reference·internal"·href="#cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant">CVE-2024-39614:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a></li>146 <li><a·class="reference·internal"·href="#cve-2024-39614-potential-denial-of-service-vulnerability-in-get-supported-language-variant">CVE-2024-39614:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">get_supported_language_variant()</span></code></a></li>
146 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>147 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
147 </ul>148 </ul>
148 </li>149 </li>
149 </ul>150 </ul>
  
150 ··</div>151 ··</div>
151 ··<div>152 ··<div>
152 ····<h4>Previous·topic</h4>153 ····<h4>Eelmine·teema</h4>
153 ····<p·class="topless"><a·href="5.0.8.html"154 ····<p·class="topless"><a·href="5.0.8.html"
154 ··························title="previous·chapter">Django·5.0.8·release·notes</a></p>155 ··························title="eelmine·jaotis">Django·5.0.8·release·notes</a></p>
155 ··</div>156 ··</div>
156 ··<div>157 ··<div>
157 ····<h4>Next·topic</h4>158 ····<h4>Järgmine·teema</h4>
158 ····<p·class="topless"><a·href="5.0.6.html"159 ····<p·class="topless"><a·href="5.0.6.html"
159 ··························title="next·chapter">Django·5.0.6·release·notes</a></p>160 ··························title="järgmine·jaotis">Django·5.0.6·release·notes</a></p>
160 ··</div>161 ··</div>
161 <search·id="searchbox"·style="display:·none"·role="search">162 <search·id="searchbox"·style="display:·none"·role="search">
162 ··<h3·id="searchlabel">Quick·search</h3>163 ··<h3·id="searchlabel">Kiirotsing</h3>
163 ····<div·class="searchformwrapper">164 ····<div·class="searchformwrapper">
164 ····<form·class="search"·action="../search.html"·method="get">165 ····<form·class="search"·action="../search.html"·method="get">
165 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>166 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
166 ······<input·type="submit"·value="Go"·/>167 ······<input·type="submit"·value="Otsi"·/>
167 ····</form>168 ····</form>
168 ····</div>169 ····</div>
169 </search>170 </search>
170 <script>document.getElementById('searchbox').style.display·=·"block"</script>171 <script>document.getElementById('searchbox').style.display·=·"block"</script>
171 ········</div>172 ········</div>
172 ······</div>173 ······</div>
173 ··············<h3>Last·update:</h3>174 ··············<h3>Last·update:</h3>
174 ··············<p·class="topless">Nov·05,·2024</p>175 ··············<p·class="topless">nov·05,·2024</p>
175 ··········</div>176 ··········</div>
176 ········177 ········
177 ······178 ······
178 ····</div>179 ····</div>
  
179 ····<div·id="ft">180 ····<div·id="ft">
180 ······<div·class="nav">181 ······<div·class="nav">
4.38 KB
html2text {}
Max HTML report size reached
11.3 KB
./usr/share/doc/python-django-doc/html/releases/5.0.8.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0.8·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0.8·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0.7·release·notes"·href="5.0.7.html"·/>15 ····<link·rel="next"·title="Django·5.0.7·release·notes"·href="5.0.7.html"·/>
15 ····<link·rel="prev"·title="Django·5.0.9·release·notes"·href="5.0.9.html"·/>16 ····<link·rel="prev"·title="Django·5.0.9·release·notes"·href="5.0.9.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 16 lines modifiedOffset 77, 16 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-5.0.8">79 ··········<div·class="yui-g"·id="releases-5.0.8">
79 ············80 ············
80 ··<section·id="s-django-5-0-8-release-notes">81 ··<section·id="s-django-5-0-8-release-notes">
81 <span·id="django-5-0-8-release-notes"></span><h1>Django·5.0.8·release·notes<a·class="headerlink"·href="#django-5-0-8-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-5-0-8-release-notes"></span><h1>Django·5.0.8·release·notes<a·class="headerlink"·href="#django-5-0-8-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>August·6,·2024</em></p>83 <p><em>August·6,·2024</em></p>
83 <p>Django·5.0.8·fixes·three·security·issues·with·severity·moderate,·one·security84 <p>Django·5.0.8·fixes·three·security·issues·with·severity·moderate,·one·security
84 issue·with·severity·high,·and·several·bugs·in·5.0.7.</p>85 issue·with·severity·high,·and·several·bugs·in·5.0.7.</p>
85 <section·id="s-cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat">86 <section·id="s-cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat">
86 <span·id="cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat"></span><h2>CVE-2024-41989:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.floatformat()</span></code><a·class="headerlink"·href="#cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat"></span><h2>CVE-2024-41989:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.floatformat()</span></code><a·class="headerlink"·href="#cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat"·title="Link·to·this·heading">¶</a></h2>
87 <p>If·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-floatformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">floatformat</span></code></a>·received·a·string·representation·of·a·number·in88 <p>If·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-floatformat"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">floatformat</span></code></a>·received·a·string·representation·of·a·number·in
88 scientific·notation·with·a·large·exponent,·it·could·lead·to·significant·memory89 scientific·notation·with·a·large·exponent,·it·could·lead·to·significant·memory
89 consumption.</p>90 consumption.</p>
90 <p>To·avoid·this,·decimals·with·more·than·200·digits·are·now·returned·as·is.</p>91 <p>To·avoid·this,·decimals·with·more·than·200·digits·are·now·returned·as·is.</p>
91 </section>92 </section>
Offset 140, 51 lines modifiedOffset 141, 51 lines modified
140 ······141 ······
141 ········142 ········
142 ··········<div·class="yui-b"·id="sidebar">143 ··········<div·class="yui-b"·id="sidebar">
143 ············144 ············
144 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">145 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
145 ········<div·class="sphinxsidebarwrapper">146 ········<div·class="sphinxsidebarwrapper">
146 ··<div>147 ··<div>
147 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>148 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
148 ····<ul>149 ····<ul>
149 <li><a·class="reference·internal"·href="#">Django·5.0.8·release·notes</a><ul>150 <li><a·class="reference·internal"·href="#">Django·5.0.8·release·notes</a><ul>
150 <li><a·class="reference·internal"·href="#cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat">CVE-2024-41989:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.floatformat()</span></code></a></li>151 <li><a·class="reference·internal"·href="#cve-2024-41989-memory-exhaustion-in-django-utils-numberformat-floatformat">CVE-2024-41989:·Memory·exhaustion·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.numberformat.floatformat()</span></code></a></li>
151 <li><a·class="reference·internal"·href="#cve-2024-41990-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-41990:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>152 <li><a·class="reference·internal"·href="#cve-2024-41990-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-41990:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>
152 <li><a·class="reference·internal"·href="#cve-2024-41991-potential-denial-of-service-vulnerability-in-django-utils-html-urlize-and-adminurlfieldwidget">CVE-2024-41991:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code></a></li>153 <li><a·class="reference·internal"·href="#cve-2024-41991-potential-denial-of-service-vulnerability-in-django-utils-html-urlize-and-adminurlfieldwidget">CVE-2024-41991:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code></a></li>
153 <li><a·class="reference·internal"·href="#cve-2024-42005-potential-sql-injection-in-queryset-values-and-values-list">CVE-2024-42005:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.values()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">values_list()</span></code></a></li>154 <li><a·class="reference·internal"·href="#cve-2024-42005-potential-sql-injection-in-queryset-values-and-values-list">CVE-2024-42005:·Potential·SQL·injection·in·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.values()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">values_list()</span></code></a></li>
154 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>155 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
155 </ul>156 </ul>
156 </li>157 </li>
157 </ul>158 </ul>
  
158 ··</div>159 ··</div>
159 ··<div>160 ··<div>
160 ····<h4>Previous·topic</h4>161 ····<h4>Eelmine·teema</h4>
161 ····<p·class="topless"><a·href="5.0.9.html"162 ····<p·class="topless"><a·href="5.0.9.html"
162 ··························title="previous·chapter">Django·5.0.9·release·notes</a></p>163 ··························title="eelmine·jaotis">Django·5.0.9·release·notes</a></p>
163 ··</div>164 ··</div>
164 ··<div>165 ··<div>
165 ····<h4>Next·topic</h4>166 ····<h4>Järgmine·teema</h4>
166 ····<p·class="topless"><a·href="5.0.7.html"167 ····<p·class="topless"><a·href="5.0.7.html"
167 ··························title="next·chapter">Django·5.0.7·release·notes</a></p>168 ··························title="järgmine·jaotis">Django·5.0.7·release·notes</a></p>
168 ··</div>169 ··</div>
169 <search·id="searchbox"·style="display:·none"·role="search">170 <search·id="searchbox"·style="display:·none"·role="search">
170 ··<h3·id="searchlabel">Quick·search</h3>171 ··<h3·id="searchlabel">Kiirotsing</h3>
171 ····<div·class="searchformwrapper">172 ····<div·class="searchformwrapper">
172 ····<form·class="search"·action="../search.html"·method="get">173 ····<form·class="search"·action="../search.html"·method="get">
173 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>174 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
174 ······<input·type="submit"·value="Go"·/>175 ······<input·type="submit"·value="Otsi"·/>
175 ····</form>176 ····</form>
176 ····</div>177 ····</div>
177 </search>178 </search>
178 <script>document.getElementById('searchbox').style.display·=·"block"</script>179 <script>document.getElementById('searchbox').style.display·=·"block"</script>
179 ········</div>180 ········</div>
180 ······</div>181 ······</div>
181 ··············<h3>Last·update:</h3>182 ··············<h3>Last·update:</h3>
182 ··············<p·class="topless">Nov·05,·2024</p>183 ··············<p·class="topless">nov·05,·2024</p>
183 ··········</div>184 ··········</div>
184 ········185 ········
185 ······186 ······
186 ····</div>187 ····</div>
  
187 ····<div·id="ft">188 ····<div·id="ft">
188 ······<div·class="nav">189 ······<div·class="nav">
4.28 KB
html2text {}
Max HTML report size reached
9.92 KB
./usr/share/doc/python-django-doc/html/releases/5.0.9.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0.9·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0.9·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0.8·release·notes"·href="5.0.8.html"·/>15 ····<link·rel="next"·title="Django·5.0.8·release·notes"·href="5.0.8.html"·/>
15 ····<link·rel="prev"·title="Django·5.1·release·notes"·href="5.1.html"·/>16 ····<link·rel="prev"·title="Django·5.1·release·notes"·href="5.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 16 lines modifiedOffset 77, 16 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-5.0.9">79 ··········<div·class="yui-g"·id="releases-5.0.9">
79 ············80 ············
80 ··<section·id="s-django-5-0-9-release-notes">81 ··<section·id="s-django-5-0-9-release-notes">
81 <span·id="django-5-0-9-release-notes"></span><h1>Django·5.0.9·release·notes<a·class="headerlink"·href="#django-5-0-9-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-5-0-9-release-notes"></span><h1>Django·5.0.9·release·notes<a·class="headerlink"·href="#django-5-0-9-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>September·3,·2024</em></p>83 <p><em>September·3,·2024</em></p>
83 <p>Django·5.0.9·fixes·one·security·issue·with·severity·moderate·and·one·security84 <p>Django·5.0.9·fixes·one·security·issue·with·severity·moderate·and·one·security
84 issue·with·severity·low·in·5.0.8.</p>85 issue·with·severity·low·in·5.0.8.</p>
85 <section·id="s-cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">86 <section·id="s-cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">
86 <span·id="cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential88 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential
88 denial-of-service·attack·via·very·large·inputs·with·a·specific·sequence·of89 denial-of-service·attack·via·very·large·inputs·with·a·specific·sequence·of
89 characters.</p>90 characters.</p>
90 </section>91 </section>
91 <section·id="s-cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">92 <section·id="s-cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">
Offset 106, 48 lines modifiedOffset 107, 48 lines modified
106 ······107 ······
107 ········108 ········
108 ··········<div·class="yui-b"·id="sidebar">109 ··········<div·class="yui-b"·id="sidebar">
109 ············110 ············
110 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">111 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
111 ········<div·class="sphinxsidebarwrapper">112 ········<div·class="sphinxsidebarwrapper">
112 ··<div>113 ··<div>
113 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>114 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
114 ····<ul>115 ····<ul>
115 <li><a·class="reference·internal"·href="#">Django·5.0.9·release·notes</a><ul>116 <li><a·class="reference·internal"·href="#">Django·5.0.9·release·notes</a><ul>
116 <li><a·class="reference·internal"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>117 <li><a·class="reference·internal"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>
117 <li><a·class="reference·internal"·href="#cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">CVE-2024-45231:·Potential·user·email·enumeration·via·response·status·on·password·reset</a></li>118 <li><a·class="reference·internal"·href="#cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">CVE-2024-45231:·Potential·user·email·enumeration·via·response·status·on·password·reset</a></li>
118 </ul>119 </ul>
119 </li>120 </li>
120 </ul>121 </ul>
  
121 ··</div>122 ··</div>
122 ··<div>123 ··<div>
123 ····<h4>Previous·topic</h4>124 ····<h4>Eelmine·teema</h4>
124 ····<p·class="topless"><a·href="5.1.html"125 ····<p·class="topless"><a·href="5.1.html"
125 ··························title="previous·chapter">Django·5.1·release·notes</a></p>126 ··························title="eelmine·jaotis">Django·5.1·release·notes</a></p>
126 ··</div>127 ··</div>
127 ··<div>128 ··<div>
128 ····<h4>Next·topic</h4>129 ····<h4>Järgmine·teema</h4>
129 ····<p·class="topless"><a·href="5.0.8.html"130 ····<p·class="topless"><a·href="5.0.8.html"
130 ··························title="next·chapter">Django·5.0.8·release·notes</a></p>131 ··························title="järgmine·jaotis">Django·5.0.8·release·notes</a></p>
131 ··</div>132 ··</div>
132 <search·id="searchbox"·style="display:·none"·role="search">133 <search·id="searchbox"·style="display:·none"·role="search">
133 ··<h3·id="searchlabel">Quick·search</h3>134 ··<h3·id="searchlabel">Kiirotsing</h3>
134 ····<div·class="searchformwrapper">135 ····<div·class="searchformwrapper">
135 ····<form·class="search"·action="../search.html"·method="get">136 ····<form·class="search"·action="../search.html"·method="get">
136 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
137 ······<input·type="submit"·value="Go"·/>138 ······<input·type="submit"·value="Otsi"·/>
138 ····</form>139 ····</form>
139 ····</div>140 ····</div>
140 </search>141 </search>
141 <script>document.getElementById('searchbox').style.display·=·"block"</script>142 <script>document.getElementById('searchbox').style.display·=·"block"</script>
142 ········</div>143 ········</div>
143 ······</div>144 ······</div>
144 ··············<h3>Last·update:</h3>145 ··············<h3>Last·update:</h3>
145 ··············<p·class="topless">Nov·05,·2024</p>146 ··············<p·class="topless">nov·05,·2024</p>
146 ··········</div>147 ··········</div>
147 ········148 ········
148 ······149 ······
149 ····</div>150 ····</div>
  
150 ····<div·id="ft">151 ····<div·id="ft">
151 ······<div·class="nav">152 ······<div·class="nav">
3.58 KB
html2text {}
Max HTML report size reached
15.2 KB
./usr/share/doc/python-django-doc/html/releases/5.0.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.0·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.0·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·4.2.16·release·notes"·href="4.2.16.html"·/>15 ····<link·rel="next"·title="Django·4.2.16·release·notes"·href="4.2.16.html"·/>
15 ····<link·rel="prev"·title="Django·5.0.1·release·notes"·href="5.0.1.html"·/>16 ····<link·rel="prev"·title="Django·5.0.1·release·notes"·href="5.0.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 384, 15 lines modifiedOffset 385, 15 lines modified
384 used·with·asynchronous·functions.</p></li>385 used·with·asynchronous·functions.</p></li>
385 </ul>386 </ul>
386 </section>387 </section>
387 <section·id="s-file-storage">388 <section·id="s-file-storage">
388 <span·id="file-storage"></span><h4>File·Storage<a·class="headerlink"·href="#file-storage"·title="Link·to·this·heading">¶</a></h4>389 <span·id="file-storage"></span><h4>File·Storage<a·class="headerlink"·href="#file-storage"·title="Link·to·this·heading">¶</a></h4>
389 <ul·class="simple">390 <ul·class="simple">
390 <li><p><a·class="reference·internal"·href="../ref/files/file.html#django.core.files.File.open"·title="django.core.files.File.open"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">File.open()</span></code></a>·now·passes·all·positional·(<code·class="docutils·literal·notranslate"><span·class="pre">*args</span></code>)·and·keyword391 <li><p><a·class="reference·internal"·href="../ref/files/file.html#django.core.files.File.open"·title="django.core.files.File.open"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">File.open()</span></code></a>·now·passes·all·positional·(<code·class="docutils·literal·notranslate"><span·class="pre">*args</span></code>)·and·keyword
391 arguments·(<code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>)·to·Python’s·built-in·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#open"·title="(in·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">open()</span></code></a>.</p></li>392 arguments·(<code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>)·to·Python’s·built-in·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#open"·title="(projektis·Python·v3.12)"><code·class="docutils·literal·notranslate"><span·class="pre">open()</span></code></a>.</p></li>
392 </ul>393 </ul>
393 </section>394 </section>
394 <section·id="s-forms">395 <section·id="s-forms">
395 <span·id="forms"></span><h4>Forms<a·class="headerlink"·href="#forms"·title="Link·to·this·heading">¶</a></h4>396 <span·id="forms"></span><h4>Forms<a·class="headerlink"·href="#forms"·title="Link·to·this·heading">¶</a></h4>
396 <ul·class="simple">397 <ul·class="simple">
397 <li><p>The·new·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.URLField.assume_scheme"·title="django.forms.URLField.assume_scheme"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">assume_scheme</span></code></a>·argument·for398 <li><p>The·new·<a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.URLField.assume_scheme"·title="django.forms.URLField.assume_scheme"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">assume_scheme</span></code></a>·argument·for
398 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.URLField"·title="django.forms.URLField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLField</span></code></a>·allows·specifying·a·default·URL·scheme.</p></li>399 <a·class="reference·internal"·href="../ref/forms/fields.html#django.forms.URLField"·title="django.forms.URLField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">URLField</span></code></a>·allows·specifying·a·default·URL·scheme.</p></li>
Offset 410, 16 lines modifiedOffset 411, 16 lines modified
410 <ul·class="simple">411 <ul·class="simple">
411 <li><p>Support·and·translations·for·the·Uyghur·language·are·now·available.</p></li>412 <li><p>Support·and·translations·for·the·Uyghur·language·are·now·available.</p></li>
412 </ul>413 </ul>
413 </section>414 </section>
414 <section·id="s-migrations">415 <section·id="s-migrations">
415 <span·id="migrations"></span><h4>Migrations<a·class="headerlink"·href="#migrations"·title="Link·to·this·heading">¶</a></h4>416 <span·id="migrations"></span><h4>Migrations<a·class="headerlink"·href="#migrations"·title="Link·to·this·heading">¶</a></h4>
416 <ul·class="simple">417 <ul·class="simple">
417 <li><p>Serialization·of·functions·decorated·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.cache"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.cache()</span></code></a>·or418 <li><p>Serialization·of·functions·decorated·with·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.cache"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.cache()</span></code></a>·or
418 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.lru_cache"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.lru_cache()</span></code></a>·is·now·supported·without·the·need·to·write·a419 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functools.html#functools.lru_cache"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">functools.lru_cache()</span></code></a>·is·now·supported·without·the·need·to·write·a
419 custom·serializer.</p></li>420 custom·serializer.</p></li>
420 </ul>421 </ul>
421 </section>422 </section>
422 <section·id="s-models">423 <section·id="s-models">
423 <span·id="models"></span><h4>Models<a·class="headerlink"·href="#models"·title="Link·to·this·heading">¶</a></h4>424 <span·id="models"></span><h4>Models<a·class="headerlink"·href="#models"·title="Link·to·this·heading">¶</a></h4>
424 <ul·class="simple">425 <ul·class="simple">
425 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">create_defaults</span></code>·argument·of·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.update_or_create"·title="django.db.models.query.QuerySet.update_or_create"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.update_or_create()</span></code></a>426 <li><p>The·new·<code·class="docutils·literal·notranslate"><span·class="pre">create_defaults</span></code>·argument·of·<a·class="reference·internal"·href="../ref/models/querysets.html#django.db.models.query.QuerySet.update_or_create"·title="django.db.models.query.QuerySet.update_or_create"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">QuerySet.update_or_create()</span></code></a>
Offset 608, 15 lines modifiedOffset 609, 15 lines modified
608 <li><p>The·minimum·supported·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">selenium</span></code>·is·increased·from·3.8.0·to609 <li><p>The·minimum·supported·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">selenium</span></code>·is·increased·from·3.8.0·to
609 4.8.0.</p></li>610 4.8.0.</p></li>
610 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">AlreadyRegistered</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">NotRegistered</span></code>·exceptions·are·moved·from611 <li><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">AlreadyRegistered</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">NotRegistered</span></code>·exceptions·are·moved·from
611 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin.sites</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin.exceptions</span></code>.</p></li>612 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin.sites</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.admin.exceptions</span></code>.</p></li>
612 <li><p>The·minimum·supported·version·of·SQLite·is·increased·from·3.21.0·to·3.27.0.</p></li>613 <li><p>The·minimum·supported·version·of·SQLite·is·increased·from·3.21.0·to·3.27.0.</p></li>
613 <li><p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">cx_Oracle</span></code>·&lt;·8.3·is·removed.</p></li>614 <li><p>Support·for·<code·class="docutils·literal·notranslate"><span·class="pre">cx_Oracle</span></code>·&lt;·8.3·is·removed.</p></li>
614 <li><p>Executing·SQL·queries·before·the·app·registry·has·been·fully·populated·now615 <li><p>Executing·SQL·queries·before·the·app·registry·has·been·fully·populated·now
615 raises·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#RuntimeWarning"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">RuntimeWarning</span></code></a>.</p></li>616 raises·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#RuntimeWarning"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">RuntimeWarning</span></code></a>.</p></li>
616 <li><p><a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.BadRequest"·title="django.core.exceptions.BadRequest"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">BadRequest</span></code></a>·is·raised·for·non-UTF-8·encoded617 <li><p><a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.BadRequest"·title="django.core.exceptions.BadRequest"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">BadRequest</span></code></a>·is·raised·for·non-UTF-8·encoded
617 requests·with·the·<em·class="mimetype">application/x-www-form-urlencoded</em>·content·type.618 requests·with·the·<em·class="mimetype">application/x-www-form-urlencoded</em>·content·type.
618 See·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc1866.html"><strong>RFC·1866</strong></a>·for·more·details.</p></li>619 See·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc1866.html"><strong>RFC·1866</strong></a>·for·more·details.</p></li>
619 <li><p>The·minimum·supported·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">colorama</span></code>·is·increased·to·0.4.6.</p></li>620 <li><p>The·minimum·supported·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">colorama</span></code>·is·increased·to·0.4.6.</p></li>
620 <li><p>The·minimum·supported·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">docutils</span></code>·is·increased·to·0.19.</p></li>621 <li><p>The·minimum·supported·version·of·<code·class="docutils·literal·notranslate"><span·class="pre">docutils</span></code>·is·increased·to·0.19.</p></li>
621 <li><p>Filtering·querysets·against·overflowing·integer·values·now·always·returns·an622 <li><p>Filtering·querysets·against·overflowing·integer·values·now·always·returns·an
622 empty·queryset.·As·a·consequence,·you·may·need·to·use·<code·class="docutils·literal·notranslate"><span·class="pre">ExpressionWrapper()</span></code>623 empty·queryset.·As·a·consequence,·you·may·need·to·use·<code·class="docutils·literal·notranslate"><span·class="pre">ExpressionWrapper()</span></code>
Offset 759, 15 lines modifiedOffset 760, 15 lines modified
759 ······760 ······
760 ········761 ········
761 ··········<div·class="yui-b"·id="sidebar">762 ··········<div·class="yui-b"·id="sidebar">
762 ············763 ············
763 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">764 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
764 ········<div·class="sphinxsidebarwrapper">765 ········<div·class="sphinxsidebarwrapper">
765 ··<div>766 ··<div>
766 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>767 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
767 ····<ul>768 ····<ul>
768 <li><a·class="reference·internal"·href="#">Django·5.0·release·notes</a><ul>769 <li><a·class="reference·internal"·href="#">Django·5.0·release·notes</a><ul>
769 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>770 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>
770 <li><a·class="reference·internal"·href="#third-party-library-support-for-older-version-of-django">Third-party·library·support·for·older·version·of·Django</a></li>771 <li><a·class="reference·internal"·href="#third-party-library-support-for-older-version-of-django">Third-party·library·support·for·older·version·of·Django</a></li>
771 <li><a·class="reference·internal"·href="#what-s-new-in-django-5-0">What’s·new·in·Django·5.0</a><ul>772 <li><a·class="reference·internal"·href="#what-s-new-in-django-5-0">What’s·new·in·Django·5.0</a><ul>
772 <li><a·class="reference·internal"·href="#facet-filters-in-the-admin">Facet·filters·in·the·admin</a></li>773 <li><a·class="reference·internal"·href="#facet-filters-in-the-admin">Facet·filters·in·the·admin</a></li>
773 <li><a·class="reference·internal"·href="#simplified-templates-for-form-field-rendering">Simplified·templates·for·form·field·rendering</a></li>774 <li><a·class="reference·internal"·href="#simplified-templates-for-form-field-rendering">Simplified·templates·for·form·field·rendering</a></li>
Offset 815, 37 lines modifiedOffset 816, 37 lines modified
815 <li><a·class="reference·internal"·href="#features-removed-in-5-0">Features·removed·in·5.0</a></li>816 <li><a·class="reference·internal"·href="#features-removed-in-5-0">Features·removed·in·5.0</a></li>
816 </ul>817 </ul>
817 </li>818 </li>
818 </ul>819 </ul>
  
819 ··</div>820 ··</div>
820 ··<div>821 ··<div>
821 ····<h4>Previous·topic</h4>822 ····<h4>Eelmine·teema</h4>
822 ····<p·class="topless"><a·href="5.0.1.html"823 ····<p·class="topless"><a·href="5.0.1.html"
823 ··························title="previous·chapter">Django·5.0.1·release·notes</a></p>824 ··························title="eelmine·jaotis">Django·5.0.1·release·notes</a></p>
824 ··</div>825 ··</div>
825 ··<div>826 ··<div>
826 ····<h4>Next·topic</h4>827 ····<h4>Järgmine·teema</h4>
827 ····<p·class="topless"><a·href="4.2.16.html"828 ····<p·class="topless"><a·href="4.2.16.html"
828 ··························title="next·chapter">Django·4.2.16·release·notes</a></p>829 ··························title="järgmine·jaotis">Django·4.2.16·release·notes</a></p>
829 ··</div>830 ··</div>
830 <search·id="searchbox"·style="display:·none"·role="search">831 <search·id="searchbox"·style="display:·none"·role="search">
831 ··<h3·id="searchlabel">Quick·search</h3>832 ··<h3·id="searchlabel">Kiirotsing</h3>
832 ····<div·class="searchformwrapper">833 ····<div·class="searchformwrapper">
833 ····<form·class="search"·action="../search.html"·method="get">834 ····<form·class="search"·action="../search.html"·method="get">
834 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>835 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
835 ······<input·type="submit"·value="Go"·/>836 ······<input·type="submit"·value="Otsi"·/>
Max diff block lines reached; 365/11546 bytes (3.16%) of diff not shown.
3.78 KB
html2text {}
Max HTML report size reached
10.3 KB
./usr/share/doc/python-django-doc/html/releases/5.1.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.1.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.1.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.1·release·notes"·href="5.1.html"·/>15 ····<link·rel="next"·title="Django·5.1·release·notes"·href="5.1.html"·/>
15 ····<link·rel="prev"·title="Django·5.1.2·release·notes"·href="5.1.2.html"·/>16 ····<link·rel="prev"·title="Django·5.1.2·release·notes"·href="5.1.2.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 16 lines modifiedOffset 77, 16 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="releases-5.1.1">79 ··········<div·class="yui-g"·id="releases-5.1.1">
79 ············80 ············
80 ··<section·id="s-django-5-1-1-release-notes">81 ··<section·id="s-django-5-1-1-release-notes">
81 <span·id="django-5-1-1-release-notes"></span><h1>Django·5.1.1·release·notes<a·class="headerlink"·href="#django-5-1-1-release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="django-5-1-1-release-notes"></span><h1>Django·5.1.1·release·notes<a·class="headerlink"·href="#django-5-1-1-release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p><em>September·3,·2024</em></p>83 <p><em>September·3,·2024</em></p>
83 <p>Django·5.1.1·fixes·one·security·issue·with·severity·moderate,·one·security84 <p>Django·5.1.1·fixes·one·security·issue·with·severity·moderate,·one·security
84 issue·with·severity·low,·and·several·bugs·in·5.1.</p>85 issue·with·severity·low,·and·several·bugs·in·5.1.</p>
85 <section·id="s-cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">86 <section·id="s-cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">
86 <span·id="cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>87 <span·id="cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"></span><h2>CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code><a·class="headerlink"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize"·title="Link·to·this·heading">¶</a></h2>
87 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential88 <p><a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlize"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlize</span></code></a>·and·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-urlizetrunc"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">urlizetrunc</span></code></a>·were·subject·to·a·potential
88 denial-of-service·attack·via·very·large·inputs·with·a·specific·sequence·of89 denial-of-service·attack·via·very·large·inputs·with·a·specific·sequence·of
89 characters.</p>90 characters.</p>
90 </section>91 </section>
91 <section·id="s-cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">92 <section·id="s-cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">
Offset 133, 49 lines modifiedOffset 134, 49 lines modified
133 ······134 ······
134 ········135 ········
135 ··········<div·class="yui-b"·id="sidebar">136 ··········<div·class="yui-b"·id="sidebar">
136 ············137 ············
137 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">138 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
138 ········<div·class="sphinxsidebarwrapper">139 ········<div·class="sphinxsidebarwrapper">
139 ··<div>140 ··<div>
140 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>141 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
141 ····<ul>142 ····<ul>
142 <li><a·class="reference·internal"·href="#">Django·5.1.1·release·notes</a><ul>143 <li><a·class="reference·internal"·href="#">Django·5.1.1·release·notes</a><ul>
143 <li><a·class="reference·internal"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>144 <li><a·class="reference·internal"·href="#cve-2024-45230-potential-denial-of-service-vulnerability-in-django-utils-html-urlize">CVE-2024-45230:·Potential·denial-of-service·vulnerability·in·<code·class="docutils·literal·notranslate"><span·class="pre">django.utils.html.urlize()</span></code></a></li>
144 <li><a·class="reference·internal"·href="#cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">CVE-2024-45231:·Potential·user·email·enumeration·via·response·status·on·password·reset</a></li>145 <li><a·class="reference·internal"·href="#cve-2024-45231-potential-user-email-enumeration-via-response-status-on-password-reset">CVE-2024-45231:·Potential·user·email·enumeration·via·response·status·on·password·reset</a></li>
145 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>146 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
146 </ul>147 </ul>
147 </li>148 </li>
148 </ul>149 </ul>
  
149 ··</div>150 ··</div>
150 ··<div>151 ··<div>
151 ····<h4>Previous·topic</h4>152 ····<h4>Eelmine·teema</h4>
152 ····<p·class="topless"><a·href="5.1.2.html"153 ····<p·class="topless"><a·href="5.1.2.html"
153 ··························title="previous·chapter">Django·5.1.2·release·notes</a></p>154 ··························title="eelmine·jaotis">Django·5.1.2·release·notes</a></p>
154 ··</div>155 ··</div>
155 ··<div>156 ··<div>
156 ····<h4>Next·topic</h4>157 ····<h4>Järgmine·teema</h4>
157 ····<p·class="topless"><a·href="5.1.html"158 ····<p·class="topless"><a·href="5.1.html"
158 ··························title="next·chapter">Django·5.1·release·notes</a></p>159 ··························title="järgmine·jaotis">Django·5.1·release·notes</a></p>
159 ··</div>160 ··</div>
160 <search·id="searchbox"·style="display:·none"·role="search">161 <search·id="searchbox"·style="display:·none"·role="search">
161 ··<h3·id="searchlabel">Quick·search</h3>162 ··<h3·id="searchlabel">Kiirotsing</h3>
162 ····<div·class="searchformwrapper">163 ····<div·class="searchformwrapper">
163 ····<form·class="search"·action="../search.html"·method="get">164 ····<form·class="search"·action="../search.html"·method="get">
164 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>165 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
165 ······<input·type="submit"·value="Go"·/>166 ······<input·type="submit"·value="Otsi"·/>
166 ····</form>167 ····</form>
167 ····</div>168 ····</div>
168 </search>169 </search>
169 <script>document.getElementById('searchbox').style.display·=·"block"</script>170 <script>document.getElementById('searchbox').style.display·=·"block"</script>
170 ········</div>171 ········</div>
171 ······</div>172 ······</div>
172 ··············<h3>Last·update:</h3>173 ··············<h3>Last·update:</h3>
173 ··············<p·class="topless">Nov·05,·2024</p>174 ··············<p·class="topless">nov·05,·2024</p>
174 ··········</div>175 ··········</div>
175 ········176 ········
176 ······177 ······
177 ····</div>178 ····</div>
  
178 ····<div·id="ft">179 ····<div·id="ft">
179 ······<div·class="nav">180 ······<div·class="nav">
3.84 KB
html2text {}
Max HTML report size reached
6.53 KB
./usr/share/doc/python-django-doc/html/releases/5.1.2.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.1.2·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.1.2·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.1.1·release·notes"·href="5.1.1.html"·/>15 ····<link·rel="next"·title="Django·5.1.1·release·notes"·href="5.1.1.html"·/>
15 ····<link·rel="prev"·title="Django·5.1.3·release·notes"·href="5.1.3.html"·/>16 ····<link·rel="prev"·title="Django·5.1.3·release·notes"·href="5.1.3.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 104, 47 lines modifiedOffset 105, 47 lines modified
104 ······105 ······
105 ········106 ········
106 ··········<div·class="yui-b"·id="sidebar">107 ··········<div·class="yui-b"·id="sidebar">
107 ············108 ············
108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
109 ········<div·class="sphinxsidebarwrapper">110 ········<div·class="sphinxsidebarwrapper">
110 ··<div>111 ··<div>
111 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>112 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
112 ····<ul>113 ····<ul>
113 <li><a·class="reference·internal"·href="#">Django·5.1.2·release·notes</a><ul>114 <li><a·class="reference·internal"·href="#">Django·5.1.2·release·notes</a><ul>
114 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
115 </ul>116 </ul>
116 </li>117 </li>
117 </ul>118 </ul>
  
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Previous·topic</h4>121 ····<h4>Eelmine·teema</h4>
121 ····<p·class="topless"><a·href="5.1.3.html"122 ····<p·class="topless"><a·href="5.1.3.html"
122 ··························title="previous·chapter">Django·5.1.3·release·notes</a></p>123 ··························title="eelmine·jaotis">Django·5.1.3·release·notes</a></p>
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Next·topic</h4>126 ····<h4>Järgmine·teema</h4>
126 ····<p·class="topless"><a·href="5.1.1.html"127 ····<p·class="topless"><a·href="5.1.1.html"
127 ··························title="next·chapter">Django·5.1.1·release·notes</a></p>128 ··························title="järgmine·jaotis">Django·5.1.1·release·notes</a></p>
128 ··</div>129 ··</div>
129 <search·id="searchbox"·style="display:·none"·role="search">130 <search·id="searchbox"·style="display:·none"·role="search">
130 ··<h3·id="searchlabel">Quick·search</h3>131 ··<h3·id="searchlabel">Kiirotsing</h3>
131 ····<div·class="searchformwrapper">132 ····<div·class="searchformwrapper">
132 ····<form·class="search"·action="../search.html"·method="get">133 ····<form·class="search"·action="../search.html"·method="get">
133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
134 ······<input·type="submit"·value="Go"·/>135 ······<input·type="submit"·value="Otsi"·/>
135 ····</form>136 ····</form>
136 ····</div>137 ····</div>
137 </search>138 </search>
138 <script>document.getElementById('searchbox').style.display·=·"block"</script>139 <script>document.getElementById('searchbox').style.display·=·"block"</script>
139 ········</div>140 ········</div>
140 ······</div>141 ······</div>
141 ··············<h3>Last·update:</h3>142 ··············<h3>Last·update:</h3>
142 ··············<p·class="topless">Nov·05,·2024</p>143 ··············<p·class="topless">nov·05,·2024</p>
143 ··········</div>144 ··········</div>
144 ········145 ········
145 ······146 ······
146 ····</div>147 ····</div>
  
147 ····<div·id="ft">148 ····<div·id="ft">
148 ······<div·class="nav">149 ······<div·class="nav">
2.42 KB
html2text {}
Max HTML report size reached
6.43 KB
./usr/share/doc/python-django-doc/html/releases/5.1.3.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.1.3·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.1.3·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.1.2·release·notes"·href="5.1.2.html"·/>15 ····<link·rel="next"·title="Django·5.1.2·release·notes"·href="5.1.2.html"·/>
15 ····<link·rel="prev"·title="Release·notes"·href="index.html"·/>16 ····<link·rel="prev"·title="Release·notes"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 104, 47 lines modifiedOffset 105, 47 lines modified
104 ······105 ······
105 ········106 ········
106 ··········<div·class="yui-b"·id="sidebar">107 ··········<div·class="yui-b"·id="sidebar">
107 ············108 ············
108 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">109 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
109 ········<div·class="sphinxsidebarwrapper">110 ········<div·class="sphinxsidebarwrapper">
110 ··<div>111 ··<div>
111 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>112 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
112 ····<ul>113 ····<ul>
113 <li><a·class="reference·internal"·href="#">Django·5.1.3·release·notes</a><ul>114 <li><a·class="reference·internal"·href="#">Django·5.1.3·release·notes</a><ul>
114 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>115 <li><a·class="reference·internal"·href="#bugfixes">Bugfixes</a></li>
115 </ul>116 </ul>
116 </li>117 </li>
117 </ul>118 </ul>
  
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Previous·topic</h4>121 ····<h4>Eelmine·teema</h4>
121 ····<p·class="topless"><a·href="index.html"122 ····<p·class="topless"><a·href="index.html"
122 ··························title="previous·chapter">Release·notes</a></p>123 ··························title="eelmine·jaotis">Release·notes</a></p>
123 ··</div>124 ··</div>
124 ··<div>125 ··<div>
125 ····<h4>Next·topic</h4>126 ····<h4>Järgmine·teema</h4>
126 ····<p·class="topless"><a·href="5.1.2.html"127 ····<p·class="topless"><a·href="5.1.2.html"
127 ··························title="next·chapter">Django·5.1.2·release·notes</a></p>128 ··························title="järgmine·jaotis">Django·5.1.2·release·notes</a></p>
128 ··</div>129 ··</div>
129 <search·id="searchbox"·style="display:·none"·role="search">130 <search·id="searchbox"·style="display:·none"·role="search">
130 ··<h3·id="searchlabel">Quick·search</h3>131 ··<h3·id="searchlabel">Kiirotsing</h3>
131 ····<div·class="searchformwrapper">132 ····<div·class="searchformwrapper">
132 ····<form·class="search"·action="../search.html"·method="get">133 ····<form·class="search"·action="../search.html"·method="get">
133 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>134 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
134 ······<input·type="submit"·value="Go"·/>135 ······<input·type="submit"·value="Otsi"·/>
135 ····</form>136 ····</form>
136 ····</div>137 ····</div>
137 </search>138 </search>
138 <script>document.getElementById('searchbox').style.display·=·"block"</script>139 <script>document.getElementById('searchbox').style.display·=·"block"</script>
139 ········</div>140 ········</div>
140 ······</div>141 ······</div>
141 ··············<h3>Last·update:</h3>142 ··············<h3>Last·update:</h3>
142 ··············<p·class="topless">Nov·05,·2024</p>143 ··············<p·class="topless">nov·05,·2024</p>
143 ··········</div>144 ··········</div>
144 ········145 ········
145 ······146 ······
146 ····</div>147 ····</div>
  
147 ····<div·id="ft">148 ····<div·id="ft">
148 ······<div·class="nav">149 ······<div·class="nav">
2.35 KB
html2text {}
Max HTML report size reached
15.8 KB
./usr/share/doc/python-django-doc/html/releases/5.1.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·5.1·release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·5.1·release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.0.9·release·notes"·href="5.0.9.html"·/>15 ····<link·rel="next"·title="Django·5.0.9·release·notes"·href="5.0.9.html"·/>
15 ····<link·rel="prev"·title="Django·5.1.1·release·notes"·href="5.1.1.html"·/>16 ····<link·rel="prev"·title="Django·5.1.1·release·notes"·href="5.1.1.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 194, 15 lines modifiedOffset 195, 15 lines modified
194 <span·id="django-contrib-gis"></span><h4><a·class="reference·internal"·href="../ref/contrib/gis/index.html#module-django.contrib.gis"·title="django.contrib.gis:·Geographic·Information·System·(GIS)·extensions·for·Django"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.gis</span></code></a><a·class="headerlink"·href="#django-contrib-gis"·title="Link·to·this·heading">¶</a></h4>195 <span·id="django-contrib-gis"></span><h4><a·class="reference·internal"·href="../ref/contrib/gis/index.html#module-django.contrib.gis"·title="django.contrib.gis:·Geographic·Information·System·(GIS)·extensions·for·Django"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.gis</span></code></a><a·class="headerlink"·href="#django-contrib-gis"·title="Link·to·this·heading">¶</a></h4>
195 <ul·class="simple">196 <ul·class="simple">
196 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/functions.html#django.contrib.gis.db.models.functions.BoundingCircle"·title="django.contrib.gis.db.models.functions.BoundingCircle"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BoundingCircle</span></code></a>·is·now197 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/functions.html#django.contrib.gis.db.models.functions.BoundingCircle"·title="django.contrib.gis.db.models.functions.BoundingCircle"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">BoundingCircle</span></code></a>·is·now
197 supported·on·SpatiaLite·5.1+.</p></li>198 supported·on·SpatiaLite·5.1+.</p></li>
198 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/geoquerysets.html#django.contrib.gis.db.models.Collect"·title="django.contrib.gis.db.models.Collect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Collect</span></code></a>·is·now·supported·on·MySQL199 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/geoquerysets.html#django.contrib.gis.db.models.Collect"·title="django.contrib.gis.db.models.Collect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Collect</span></code></a>·is·now·supported·on·MySQL
199 8.0.24+.</p></li>200 8.0.24+.</p></li>
200 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2"·title="django.contrib.gis.geoip2.GeoIP2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeoIP2</span></code></a>·now·allows·querying·using201 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2"·title="django.contrib.gis.geoip2.GeoIP2"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">GeoIP2</span></code></a>·now·allows·querying·using
201 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ipaddress.html#ipaddress.IPv4Address"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ipaddress.IPv4Address</span></code></a>·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ipaddress.html#ipaddress.IPv6Address"·tit[·...·truncated·by·diffoscope;·len:·7,·SHA:·1283491a31a0118e3686d341c13a90e5195263a25562fa09922679a9aa40b1db·...·]·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ipaddress.IPv6Address</span></code></a>·objects.</p></li>202 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ipaddress.html#ipaddress.IPv4Address"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ipaddress.IPv4Address</span></code></a>·or·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/ipaddress.html#ipaddress.IPv6Addre[·...·truncated·by·diffoscope;·len:·21,·SHA:·d1daaa84cae8511de3f244d9a9af0d90b3bce568ee4a2e30a5885d0b5d01bc56·...·]·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ipaddress.IPv6Address</span></code></a>·objects.</p></li>
202 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2.country"·title="django.contrib.gis.geoip2.GeoIP2.country"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">GeoIP2.country()</span></code></a>·now·exposes·the·<code·class="docutils·literal·notranslate"><span·class="pre">continent_code</span></code>,203 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2.country"·title="django.contrib.gis.geoip2.GeoIP2.country"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">GeoIP2.country()</span></code></a>·now·exposes·the·<code·class="docutils·literal·notranslate"><span·class="pre">continent_code</span></code>,
203 <code·class="docutils·literal·notranslate"><span·class="pre">continent_name</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">is_in_european_union</span></code>·values.</p></li>204 <code·class="docutils·literal·notranslate"><span·class="pre">continent_name</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">is_in_european_union</span></code>·values.</p></li>
204 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2.city"·title="django.contrib.gis.geoip2.GeoIP2.city"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">GeoIP2.city()</span></code></a>·now·exposes·the·<code·class="docutils·literal·notranslate"><span·class="pre">accuracy_radius</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">region_name</span></code>205 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/geoip2.html#django.contrib.gis.geoip2.GeoIP2.city"·title="django.contrib.gis.geoip2.GeoIP2.city"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">GeoIP2.city()</span></code></a>·now·exposes·the·<code·class="docutils·literal·notranslate"><span·class="pre">accuracy_radius</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">region_name</span></code>
205 values.·In·addition,·the·<code·class="docutils·literal·notranslate"><span·class="pre">dma_code</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">region</span></code>·values·are·now·exposed206 values.·In·addition,·the·<code·class="docutils·literal·notranslate"><span·class="pre">dma_code</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">region</span></code>·values·are·now·exposed
206 as·<code·class="docutils·literal·notranslate"><span·class="pre">metro_code</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">region_code</span></code>,·but·the·previous·keys·are·also207 as·<code·class="docutils·literal·notranslate"><span·class="pre">metro_code</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">region_code</span></code>,·but·the·previous·keys·are·also
207 retained·for·backward·compatibility.</p></li>208 retained·for·backward·compatibility.</p></li>
208 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/measure.html#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>·now·supports·the·<code·class="docutils·literal·notranslate"><span·class="pre">ha</span></code>·unit.</p></li>209 <li><p><a·class="reference·internal"·href="../ref/contrib/gis/measure.html#django.contrib.gis.measure.Area"·title="django.contrib.gis.measure.Area"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Area</span></code></a>·now·supports·the·<code·class="docutils·literal·notranslate"><span·class="pre">ha</span></code>·unit.</p></li>
Offset 407, 15 lines modifiedOffset 408, 15 lines modified
407 <li><p>The·JavaScript·file·<code·class="docutils·literal·notranslate"><span·class="pre">collapse.js</span></code>·is·removed·since·it·is·no·longer·needed408 <li><p>The·JavaScript·file·<code·class="docutils·literal·notranslate"><span·class="pre">collapse.js</span></code>·is·removed·since·it·is·no·longer·needed
408 in·the·Django·admin·site.</p></li>409 in·the·Django·admin·site.</p></li>
409 <li><p><a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertURLEqual"·title="django.test.SimpleTestCase.assertURLEqual"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">SimpleTestCase.assertURLEqual()</span></code></a>·and410 <li><p><a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertURLEqual"·title="django.test.SimpleTestCase.assertURLEqual"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">SimpleTestCase.assertURLEqual()</span></code></a>·and
410 <a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertInHTML"·title="django.test.SimpleTestCase.assertInHTML"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertInHTML()</span></code></a>·now·add·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;:</span>·<span·class="pre">&quot;</span></code>·to·the411 <a·class="reference·internal"·href="../topics/testing/tools.html#django.test.SimpleTestCase.assertInHTML"·title="django.test.SimpleTestCase.assertInHTML"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">assertInHTML()</span></code></a>·now·add·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;:</span>·<span·class="pre">&quot;</span></code>·to·the
411 <code·class="docutils·literal·notranslate"><span·class="pre">msg_prefix</span></code>.·This·is·consistent·with·the·behavior·of·other·assertions.</p></li>412 <code·class="docutils·literal·notranslate"><span·class="pre">msg_prefix</span></code>.·This·is·consistent·with·the·behavior·of·other·assertions.</p></li>
412 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code>·used·by·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatechars_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatechars_html</span></code></a>·and413 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">django.utils.text.Truncator</span></code>·used·by·<a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatechars_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatechars_html</span></code></a>·and
413 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatewords_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code></a>·template·filters·now·uses414 <a·class="reference·internal"·href="../ref/templates/builtins.html#std-templatefilter-truncatewords_html"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">truncatewords_html</span></code></a>·template·filters·now·uses
414 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/html.parser.html#html.parser.HTMLParser"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">html.parser.HTMLParser</span></code></a>·subclasses.·This·results·in·a·more·robust415 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/html.parser.html#html.parser.HTMLParser"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">html.parser.HTMLParser</span></code></a>·subclasses.·This·results·in·a·more·robust
415 and·faster·operation,·but·there·may·be·small·differences·in·the·output.</p></li>416 and·faster·operation,·but·there·may·be·small·differences·in·the·output.</p></li>
416 <li><p>The·undocumented·<code·class="docutils·literal·notranslate"><span·class="pre">django.urls.converters.get_converter()</span></code>·function·is417 <li><p>The·undocumented·<code·class="docutils·literal·notranslate"><span·class="pre">django.urls.converters.get_converter()</span></code>·function·is
417 removed.</p></li>418 removed.</p></li>
418 <li><p>The·minimum·supported·version·of·SQLite·is·increased·from·3.27.0·to·3.31.0.</p></li>419 <li><p>The·minimum·supported·version·of·SQLite·is·increased·from·3.27.0·to·3.31.0.</p></li>
419 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.FileField"·title="django.db.models.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>·now·raises·a420 <li><p><a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.FileField"·title="django.db.models.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>·now·raises·a
420 <a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.FieldError"·title="django.core.exceptions.FieldError"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FieldError</span></code></a>·when·saving·a·file·without·a421 <a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.FieldError"·title="django.core.exceptions.FieldError"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FieldError</span></code></a>·when·saving·a·file·without·a
421 <code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>.</p></li>422 <code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>.</p></li>
Offset 501, 15 lines modifiedOffset 502, 15 lines modified
501 ······502 ······
502 ········503 ········
503 ··········<div·class="yui-b"·id="sidebar">504 ··········<div·class="yui-b"·id="sidebar">
504 ············505 ············
505 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">506 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
506 ········<div·class="sphinxsidebarwrapper">507 ········<div·class="sphinxsidebarwrapper">
507 ··<div>508 ··<div>
508 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>509 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
509 ····<ul>510 ····<ul>
510 <li><a·class="reference·internal"·href="#">Django·5.1·release·notes</a><ul>511 <li><a·class="reference·internal"·href="#">Django·5.1·release·notes</a><ul>
511 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>512 <li><a·class="reference·internal"·href="#python-compatibility">Python·compatibility</a></li>
512 <li><a·class="reference·internal"·href="#what-s-new-in-django-5-1">What’s·new·in·Django·5.1</a><ul>513 <li><a·class="reference·internal"·href="#what-s-new-in-django-5-1">What’s·new·in·Django·5.1</a><ul>
513 <li><a·class="reference·internal"·href="#querystring-template-tag"><code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">querystring</span>·<span·class="pre">%}</span></code>·template·tag</a></li>514 <li><a·class="reference·internal"·href="#querystring-template-tag"><code·class="docutils·literal·notranslate"><span·class="pre">{%</span>·<span·class="pre">querystring</span>·<span·class="pre">%}</span></code>·template·tag</a></li>
514 <li><a·class="reference·internal"·href="#postgresql-connection-pools">PostgreSQL·Connection·Pools</a></li>515 <li><a·class="reference·internal"·href="#postgresql-connection-pools">PostgreSQL·Connection·Pools</a></li>
515 <li><a·class="reference·internal"·href="#middleware-to-require-authentication-by-default">Middleware·to·require·authentication·by·default</a></li>516 <li><a·class="reference·internal"·href="#middleware-to-require-authentication-by-default">Middleware·to·require·authentication·by·default</a></li>
Offset 547, 37 lines modifiedOffset 548, 37 lines modified
547 <li><a·class="reference·internal"·href="#features-removed-in-5-1">Features·removed·in·5.1</a></li>548 <li><a·class="reference·internal"·href="#features-removed-in-5-1">Features·removed·in·5.1</a></li>
548 </ul>549 </ul>
549 </li>550 </li>
550 </ul>551 </ul>
  
551 ··</div>552 ··</div>
552 ··<div>553 ··<div>
553 ····<h4>Previous·topic</h4>554 ····<h4>Eelmine·teema</h4>
554 ····<p·class="topless"><a·href="5.1.1.html"555 ····<p·class="topless"><a·href="5.1.1.html"
555 ··························title="previous·chapter">Django·5.1.1·release·notes</a></p>556 ··························title="eelmine·jaotis">Django·5.1.1·release·notes</a></p>
556 ··</div>557 ··</div>
557 ··<div>558 ··<div>
558 ····<h4>Next·topic</h4>559 ····<h4>Järgmine·teema</h4>
559 ····<p·class="topless"><a·href="5.0.9.html"560 ····<p·class="topless"><a·href="5.0.9.html"
560 ··························title="next·chapter">Django·5.0.9·release·notes</a></p>561 ··························title="järgmine·jaotis">Django·5.0.9·release·notes</a></p>
561 ··</div>562 ··</div>
562 <search·id="searchbox"·style="display:·none"·role="search">563 <search·id="searchbox"·style="display:·none"·role="search">
563 ··<h3·id="searchlabel">Quick·search</h3>564 ··<h3·id="searchlabel">Kiirotsing</h3>
564 ····<div·class="searchformwrapper">565 ····<div·class="searchformwrapper">
565 ····<form·class="search"·action="../search.html"·method="get">566 ····<form·class="search"·action="../search.html"·method="get">
566 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>567 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
567 ······<input·type="submit"·value="Go"·/>568 ······<input·type="submit"·value="Otsi"·/>
568 ····</form>569 ····</form>
569 ····</div>570 ····</div>
570 </search>571 </search>
571 <script>document.getElementById('searchbox').style.display·=·"block"</script>572 <script>document.getElementById('searchbox').style.display·=·"block"</script>
572 ········</div>573 ········</div>
573 ······</div>574 ······</div>
574 ··············<h3>Last·update:</h3>575 ··············<h3>Last·update:</h3>
575 ··············<p·class="topless">Nov·05,·2024</p>576 ··············<p·class="topless">nov·05,·2024</p>
576 ··········</div>577 ··········</div>
577 ········578 ········
578 ······579 ······
579 ····</div>580 ····</div>
  
580 ····<div·id="ft">581 ····<div·id="ft">
581 ······<div·class="nav">582 ······<div·class="nav">
3.56 KB
html2text {}
Max HTML report size reached
10.5 KB
./usr/share/doc/python-django-doc/html/releases/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Release·notes·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Release·notes·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·5.1.3·release·notes"·href="5.1.3.html"·/>15 ····<link·rel="next"·title="Django·5.1.3·release·notes"·href="5.1.3.html"·/>
15 ····<link·rel="prev"·title="Glossary"·href="../glossary.html"·/>16 ····<link·rel="prev"·title="Glossary"·href="../glossary.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="../glossary.html"·title="Glossary">previous</a>67 ····&laquo;·<a·href="../glossary.html"·title="Glossary">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="5.1.3.html"·title="Django·5.1.3·release·notes">next</a>·&raquo;</div>71 ····<a·href="5.1.3.html"·title="Django·5.1.3·release·notes">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 80, 15 lines modifiedOffset 81, 15 lines modified
80 ··<section·id="s-release-notes">81 ··<section·id="s-release-notes">
81 <span·id="release-notes"></span><h1>Release·notes<a·class="headerlink"·href="#release-notes"·title="Link·to·this·heading">¶</a></h1>82 <span·id="release-notes"></span><h1>Release·notes<a·class="headerlink"·href="#release-notes"·title="Link·to·this·heading">¶</a></h1>
82 <p>Release·notes·for·the·official·Django·releases.·Each·release·note·will·tell·you83 <p>Release·notes·for·the·official·Django·releases.·Each·release·note·will·tell·you
83 what’s·new·in·each·version,·and·will·also·describe·any·backwards-incompatible84 what’s·new·in·each·version,·and·will·also·describe·any·backwards-incompatible
84 changes·made·in·that·version.</p>85 changes·made·in·that·version.</p>
85 <p>For·those·<a·class="reference·internal"·href="../howto/upgrade-version.html"><span·class="doc">upgrading·to·a·new·version·of·Django</span></a>,86 <p>For·those·<a·class="reference·internal"·href="../howto/upgrade-version.html"><span·class="doc">upgrading·to·a·new·version·of·Django</span></a>,
86 you·will·need·to·check·all·the·backwards-incompatible·changes·and87 you·will·need·to·check·all·the·backwards-incompatible·changes·and
87 <a·class="reference·internal"·href="../internals/deprecation.html"><span·class="doc">deprecated·features</span></a>·for·each·final·release88 <a·class="reference·internal"·href="../internals/deprecation.html"><span·class="doc">deprecated·features</span></a>·for·each·final·release
88 from·the·one·after·your·current·Django·version,·up·to·and·including·the·new89 from·the·one·after·your·current·Django·version,·up·to·and·including·the·new
89 version.</p>90 version.</p>
90 <section·id="s-final-releases">91 <section·id="s-final-releases">
91 <span·id="final-releases"></span><h2>Final·releases<a·class="headerlink"·href="#final-releases"·title="Link·to·this·heading">¶</a></h2>92 <span·id="final-releases"></span><h2>Final·releases<a·class="headerlink"·href="#final-releases"·title="Link·to·this·heading">¶</a></h2>
92 <p>Below·are·release·notes·through·Django·5.1·and·its·patch·releases.·Newer93 <p>Below·are·release·notes·through·Django·5.1·and·its·patch·releases.·Newer
93 versions·of·the·documentation·contain·the·release·notes·for·any·later·releases.</p>94 versions·of·the·documentation·contain·the·release·notes·for·any·later·releases.</p>
94 <section·id="s-release">95 <section·id="s-release">
Offset 607, 15 lines modifiedOffset 608, 15 lines modified
607 ······608 ······
608 ········609 ········
609 ··········<div·class="yui-b"·id="sidebar">610 ··········<div·class="yui-b"·id="sidebar">
610 ············611 ············
611 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">612 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
612 ········<div·class="sphinxsidebarwrapper">613 ········<div·class="sphinxsidebarwrapper">
613 ··<div>614 ··<div>
614 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>615 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
615 ····<ul>616 ····<ul>
616 <li><a·class="reference·internal"·href="#">Release·notes</a><ul>617 <li><a·class="reference·internal"·href="#">Release·notes</a><ul>
617 <li><a·class="reference·internal"·href="#final-releases">Final·releases</a><ul>618 <li><a·class="reference·internal"·href="#final-releases">Final·releases</a><ul>
618 <li><a·class="reference·internal"·href="#release">5.1·release</a></li>619 <li><a·class="reference·internal"·href="#release">5.1·release</a></li>
619 <li><a·class="reference·internal"·href="#id1">5.0·release</a></li>620 <li><a·class="reference·internal"·href="#id1">5.0·release</a></li>
620 <li><a·class="reference·internal"·href="#id2">4.2·release</a></li>621 <li><a·class="reference·internal"·href="#id2">4.2·release</a></li>
621 <li><a·class="reference·internal"·href="#id3">4.1·release</a></li>622 <li><a·class="reference·internal"·href="#id3">4.1·release</a></li>
Offset 644, 47 lines modifiedOffset 645, 47 lines modified
644 <li><a·class="reference·internal"·href="#security-releases">Security·releases</a></li>645 <li><a·class="reference·internal"·href="#security-releases">Security·releases</a></li>
645 </ul>646 </ul>
646 </li>647 </li>
647 </ul>648 </ul>
  
648 ··</div>649 ··</div>
649 ··<div>650 ··<div>
650 ····<h4>Previous·topic</h4>651 ····<h4>Eelmine·teema</h4>
651 ····<p·class="topless"><a·href="../glossary.html"652 ····<p·class="topless"><a·href="../glossary.html"
652 ··························title="previous·chapter">Glossary</a></p>653 ··························title="eelmine·jaotis">Glossary</a></p>
653 ··</div>654 ··</div>
654 ··<div>655 ··<div>
655 ····<h4>Next·topic</h4>656 ····<h4>Järgmine·teema</h4>
656 ····<p·class="topless"><a·href="5.1.3.html"657 ····<p·class="topless"><a·href="5.1.3.html"
657 ··························title="next·chapter">Django·5.1.3·release·notes</a></p>658 ··························title="järgmine·jaotis">Django·5.1.3·release·notes</a></p>
658 ··</div>659 ··</div>
659 <search·id="searchbox"·style="display:·none"·role="search">660 <search·id="searchbox"·style="display:·none"·role="search">
660 ··<h3·id="searchlabel">Quick·search</h3>661 ··<h3·id="searchlabel">Kiirotsing</h3>
661 ····<div·class="searchformwrapper">662 ····<div·class="searchformwrapper">
662 ····<form·class="search"·action="../search.html"·method="get">663 ····<form·class="search"·action="../search.html"·method="get">
663 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>664 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
664 ······<input·type="submit"·value="Go"·/>665 ······<input·type="submit"·value="Otsi"·/>
665 ····</form>666 ····</form>
666 ····</div>667 ····</div>
667 </search>668 </search>
668 <script>document.getElementById('searchbox').style.display·=·"block"</script>669 <script>document.getElementById('searchbox').style.display·=·"block"</script>
669 ········</div>670 ········</div>
670 ······</div>671 ······</div>
671 ··············<h3>Last·update:</h3>672 ··············<h3>Last·update:</h3>
672 ··············<p·class="topless">Nov·05,·2024</p>673 ··············<p·class="topless">nov·05,·2024</p>
673 ··········</div>674 ··········</div>
674 ········675 ········
675 ······676 ······
676 ····</div>677 ····</div>
  
677 ····<div·id="ft">678 ····<div·id="ft">
678 ······<div·class="nav">679 ······<div·class="nav">
679 ····&laquo;·<a·href="../glossary.html"·title="Glossary">previous</a>680 ····&laquo;·<a·href="../glossary.html"·title="Glossary">previous</a>
680 ·····|681 ·····|
681 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>682 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
682 ···|683 ···|
683 ····<a·href="5.1.3.html"·title="Django·5.1.3·release·notes">next</a>·&raquo;</div>684 ····<a·href="5.1.3.html"·title="Django·5.1.3·release·notes">next</a>·&raquo;</div>
684 ····</div>685 ····</div>
685 ··</div>686 ··</div>
  
Max diff block lines reached; 12/6590 bytes (0.18%) of diff not shown.
3.99 KB
html2text {}
Max HTML report size reached
19.4 KB
./usr/share/doc/python-django-doc/html/releases/security.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Archive·of·security·issues·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Archive·of·security·issues·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·internals"·href="../internals/index.html"·/>15 ····<link·rel="next"·title="Django·internals"·href="../internals/index.html"·/>
15 ····<link·rel="prev"·title="Django·version·0.95·release·notes"·href="0.95.html"·/>16 ····<link·rel="prev"·title="Django·version·0.95·release·notes"·href="0.95.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 671, 15 lines modifiedOffset 672, 15 lines modified
671 <li><p>Django·2.1·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/1e40f427bb8d0fb37cc9f830096a97c36c97af6f">(patch)</a></p></li>672 <li><p>Django·2.1·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/1e40f427bb8d0fb37cc9f830096a97c36c97af6f">(patch)</a></p></li>
672 <li><p>Django·1.11·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/32124fc41e75074141b05f10fc55a4f01ff7f050">(patch)</a></p></li>673 <li><p>Django·1.11·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/32124fc41e75074141b05f10fc55a4f01ff7f050">(patch)</a></p></li>
673 </ul>674 </ul>
674 </section>675 </section>
675 </section>676 </section>
676 <section·id="s-june-3-2019-cve-2019-12308">677 <section·id="s-june-3-2019-cve-2019-12308">
677 <span·id="june-3-2019-cve-2019-12308"></span><h3>June·3,·2019·-·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-12308">CVE-2019-12308</a><a·class="headerlink"·href="#june-3-2019-cve-2019-12308"·title="Link·to·this·heading">¶</a></h3>678 <span·id="june-3-2019-cve-2019-12308"></span><h3>June·3,·2019·-·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2019-12308">CVE-2019-12308</a><a·class="headerlink"·href="#june-3-2019-cve-2019-12308"·title="Link·to·this·heading">¶</a></h3>
678 <p>XSS·via·Current·URL·link·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>.·<a·class="reference·external"·href="https://www.djangoproject.com/weblog/2019/jun/03/security-releases/">Full679 <p>XSS·via·Current·URL·link·generated·by·<code·class="docutils·literal·notranslate"><span·class="pre">AdminURLFieldWidget</span></code>.·<a·class="reference·external"·href="https://www.djangoproject.com/weblog/2019/jun/03/security-releases/">Full
679 description</a></p>680 description</a></p>
680 <section·id="s-id27">681 <section·id="s-id27">
681 <span·id="id27"></span><h4>Versions·affected<a·class="headerlink"·href="#id27"·title="Link·to·this·heading">¶</a></h4>682 <span·id="id27"></span><h4>Versions·affected<a·class="headerlink"·href="#id27"·title="Link·to·this·heading">¶</a></h4>
682 <ul·class="simple">683 <ul·class="simple">
683 <li><p>Django·2.2·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/afddabf8428ddc89a332f7a78d0d21eaf2b5a673">(patch)</a></p></li>684 <li><p>Django·2.2·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/afddabf8428ddc89a332f7a78d0d21eaf2b5a673">(patch)</a></p></li>
684 <li><p>Django·2.1·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/09186a13d975de6d049f8b3e05484f66b01ece62">(patch)</a></p></li>685 <li><p>Django·2.1·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/09186a13d975de6d049f8b3e05484f66b01ece62">(patch)</a></p></li>
685 <li><p>Django·1.11·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/c238701859a52d584f349cce15d56c8e8137c52b">(patch)</a></p></li>686 <li><p>Django·1.11·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/c238701859a52d584f349cce15d56c8e8137c52b">(patch)</a></p></li>
Offset 720, 15 lines modifiedOffset 721, 15 lines modified
720 <li><p>Django·2.0·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/9f4ed7c94c62e21644ef5115e393ac426b886f2e">(patch)</a></p></li>721 <li><p>Django·2.0·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/9f4ed7c94c62e21644ef5115e393ac426b886f2e">(patch)</a></p></li>
721 <li><p>Django·1.11·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/1cd00fcf52d089ef0fe03beabd05d59df8ea052a">(patch)</a></p></li>722 <li><p>Django·1.11·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/1cd00fcf52d089ef0fe03beabd05d59df8ea052a">(patch)</a></p></li>
722 </ul>723 </ul>
723 </section>724 </section>
724 </section>725 </section>
725 <section·id="s-october-1-2018-cve-2018-16984">726 <section·id="s-october-1-2018-cve-2018-16984">
726 <span·id="october-1-2018-cve-2018-16984"></span><h3>October·1,·2018·-·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2018-16984">CVE-2018-16984</a><a·class="headerlink"·href="#october-1-2018-cve-2018-16984"·title="Link·to·this·heading">¶</a></h3>727 <span·id="october-1-2018-cve-2018-16984"></span><h3>October·1,·2018·-·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2018-16984">CVE-2018-16984</a><a·class="headerlink"·href="#october-1-2018-cve-2018-16984"·title="Link·to·this·heading">¶</a></h3>
727 <p>Password·hash·disclosure·to·view·only·admin·users.·<a·class="reference·external"·href="https://www.djangoproject.com/weblog/2018/oct/01/security-release/">Full·description</a></p>728 <p>Password·hash·disclosure·to·view·only·admin·users.·<a·class="reference·external"·href="https://www.djangoproject.com/weblog/2018/oct/01/security-release/">Full·description</a></p>
728 <section·id="s-id31">729 <section·id="s-id31">
729 <span·id="id31"></span><h4>Versions·affected<a·class="headerlink"·href="#id31"·title="Link·to·this·heading">¶</a></h4>730 <span·id="id31"></span><h4>Versions·affected<a·class="headerlink"·href="#id31"·title="Link·to·this·heading">¶</a></h4>
730 <ul·class="simple">731 <ul·class="simple">
731 <li><p>Django·2.1·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/c4bd5b597e0aa2432e4c867b86650f18af117851">(patch)</a></p></li>732 <li><p>Django·2.1·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/c4bd5b597e0aa2432e4c867b86650f18af117851">(patch)</a></p></li>
732 </ul>733 </ul>
733 </section>734 </section>
734 </section>735 </section>
Offset 888, 15 lines modifiedOffset 889, 15 lines modified
888 <li><p>Django·1.9·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/fc6d147a63f89795dbcdecb0559256470fff4380">(patch)</a></p></li>889 <li><p>Django·1.9·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/fc6d147a63f89795dbcdecb0559256470fff4380">(patch)</a></p></li>
889 <li><p>Django·1.8·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/382ab137312961ad62feb8109d70a5a581fe8350">(patch)</a></p></li>890 <li><p>Django·1.8·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/382ab137312961ad62feb8109d70a5a581fe8350">(patch)</a></p></li>
890 </ul>891 </ul>
891 </section>892 </section>
892 </section>893 </section>
893 <section·id="s-february-1-2016-cve-2016-2048">894 <section·id="s-february-1-2016-cve-2016-2048">
894 <span·id="february-1-2016-cve-2016-2048"></span><h3>February·1,·2016·-·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2016-2048">CVE-2016-2048</a><a·class="headerlink"·href="#february-1-2016-cve-2016-2048"·title="Link·to·this·heading">¶</a></h3>895 <span·id="february-1-2016-cve-2016-2048"></span><h3>February·1,·2016·-·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2016-2048">CVE-2016-2048</a><a·class="headerlink"·href="#february-1-2016-cve-2016-2048"·title="Link·to·this·heading">¶</a></h3>
895 <p>User·with·change·but·not·add·permission·can·create·objects·for896 <p>User·with·change·but·not·add·permission·can·create·objects·for
896 <code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>’s·with·<code·class="docutils·literal·notranslate"><span·class="pre">save_as=True</span></code>.·<a·class="reference·external"·href="https://www.djangoproject.com/weblog/2016/feb/01/releases-192-and-189/">Full·description</a></p>897 <code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>’s·with·<code·class="docutils·literal·notranslate"><span·class="pre">save_as=True</span></code>.·<a·class="reference·external"·href="https://www.djangoproject.com/weblog/2016/feb/01/releases-192-and-189/">Full·description</a></p>
897 <section·id="s-id45">898 <section·id="s-id45">
898 <span·id="id45"></span><h4>Versions·affected<a·class="headerlink"·href="#id45"·title="Link·to·this·heading">¶</a></h4>899 <span·id="id45"></span><h4>Versions·affected<a·class="headerlink"·href="#id45"·title="Link·to·this·heading">¶</a></h4>
899 <ul·class="simple">900 <ul·class="simple">
900 <li><p>Django·1.9·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/adbca5e4db42542575734b8e5d26961c8ada7265">(patch)</a></p></li>901 <li><p>Django·1.9·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/adbca5e4db42542575734b8e5d26961c8ada7265">(patch)</a></p></li>
901 </ul>902 </ul>
902 </section>903 </section>
Offset 1515, 15 lines modifiedOffset 1516, 15 lines modified
1515 <section·id="s-issues-prior-to-django-s-security-process">1516 <section·id="s-issues-prior-to-django-s-security-process">
1516 <span·id="issues-prior-to-django-s-security-process"></span><h2>Issues·prior·to·Django’s·security·process<a·class="headerlink"·href="#issues-prior-to-django-s-security-process"·title="Link·to·this·heading">¶</a></h2>1517 <span·id="issues-prior-to-django-s-security-process"></span><h2>Issues·prior·to·Django’s·security·process<a·class="headerlink"·href="#issues-prior-to-django-s-security-process"·title="Link·to·this·heading">¶</a></h2>
1517 <p>Some·security·issues·were·handled·before·Django·had·a·formalized1518 <p>Some·security·issues·were·handled·before·Django·had·a·formalized
1518 security·process·in·use.·For·these,·new·releases·may·not·have·been1519 security·process·in·use.·For·these,·new·releases·may·not·have·been
1519 issued·at·the·time·and·CVEs·may·not·have·been·assigned.</p>1520 issued·at·the·time·and·CVEs·may·not·have·been·assigned.</p>
1520 <section·id="s-january-21-2007-cve-2007-0405">1521 <section·id="s-january-21-2007-cve-2007-0405">
1521 <span·id="january-21-2007-cve-2007-0405"></span><h3>January·21,·2007·-·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2007-0405">CVE-2007-0405</a><a·class="headerlink"·href="#january-21-2007-cve-2007-0405"·title="Link·to·this·heading">¶</a></h3>1522 <span·id="january-21-2007-cve-2007-0405"></span><h3>January·21,·2007·-·<a·class="extlink-cve·reference·external"·href="https://www.cve.org/CVERecord?id=CVE-2007-0405">CVE-2007-0405</a><a·class="headerlink"·href="#january-21-2007-cve-2007-0405"·title="Link·to·this·heading">¶</a></h3>
1522 <p>Apparent·caching·of·authenticated·user.·<a·class="reference·external"·href="https://www.djangoproject.com/weblog/2007/jan/21/0951/">Full·description</a></p>1523 <p>Apparent·caching·of·authenticated·user.·<a·class="reference·external"·href="https://www.djangoproject.com/weblog/2007/jan/21/0951/">Full·description</a></p>
1523 <section·id="s-id98">1524 <section·id="s-id98">
1524 <span·id="id98"></span><h4>Versions·affected<a·class="headerlink"·href="#id98"·title="Link·to·this·heading">¶</a></h4>1525 <span·id="id98"></span><h4>Versions·affected<a·class="headerlink"·href="#id98"·title="Link·to·this·heading">¶</a></h4>
1525 <ul·class="simple">1526 <ul·class="simple">
1526 <li><p>Django·0.95·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/e89f0a65581f82a5740bfe989136cea75d09cd67">(patch)</a></p></li>1527 <li><p>Django·0.95·<a·class="extlink-commit·reference·external"·href="https://github.com/django/django/commit/e89f0a65581f82a5740bfe989136cea75d09cd67">(patch)</a></p></li>
1527 </ul>1528 </ul>
1528 </section>1529 </section>
1529 </section>1530 </section>
Offset 1550, 15 lines modifiedOffset 1551, 15 lines modified
1550 ······1551 ······
1551 ········1552 ········
1552 ··········<div·class="yui-b"·id="sidebar">1553 ··········<div·class="yui-b"·id="sidebar">
1553 ············1554 ············
1554 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">1555 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
1555 ········<div·class="sphinxsidebarwrapper">1556 ········<div·class="sphinxsidebarwrapper">
1556 ··<div>1557 ··<div>
1557 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>1558 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
1558 ····<ul>1559 ····<ul>
1559 <li><a·class="reference·internal"·href="#">Archive·of·security·issues</a><ul>1560 <li><a·class="reference·internal"·href="#">Archive·of·security·issues</a><ul>
1560 <li><a·class="reference·internal"·href="#issues-under-django-s-security-process">Issues·under·Django’s·security·process</a><ul>1561 <li><a·class="reference·internal"·href="#issues-under-django-s-security-process">Issues·under·Django’s·security·process</a><ul>
1561 <li><a·class="reference·internal"·href="#september-3-2024-cve-2024-45231">September·3,·2024·-·CVE-2024-45231</a></li>1562 <li><a·class="reference·internal"·href="#september-3-2024-cve-2024-45231">September·3,·2024·-·CVE-2024-45231</a></li>
1562 <li><a·class="reference·internal"·href="#september-3-2024-cve-2024-45230">September·3,·2024·-·CVE-2024-45230</a></li>1563 <li><a·class="reference·internal"·href="#september-3-2024-cve-2024-45230">September·3,·2024·-·CVE-2024-45230</a></li>
1563 <li><a·class="reference·internal"·href="#august-6-2024-cve-2024-42005">August·6,·2024·-·CVE-2024-42005</a></li>1564 <li><a·class="reference·internal"·href="#august-6-2024-cve-2024-42005">August·6,·2024·-·CVE-2024-42005</a></li>
1564 <li><a·class="reference·internal"·href="#august-6-2024-cve-2024-41991">August·6,·2024·-·CVE-2024-41991</a></li>1565 <li><a·class="reference·internal"·href="#august-6-2024-cve-2024-41991">August·6,·2024·-·CVE-2024-41991</a></li>
Offset 1989, 37 lines modifiedOffset 1990, 37 lines modified
1989 </li>1990 </li>
1990 </ul>1991 </ul>
1991 </li>1992 </li>
1992 </ul>1993 </ul>
  
1993 ··</div>1994 ··</div>
1994 ··<div>1995 ··<div>
Max diff block lines reached; 1328/11146 bytes (11.91%) of diff not shown.
8.43 KB
html2text {}
Max HTML report size reached
4.4 KB
./usr/share/doc/python-django-doc/html/search.html
    
Offset 1, 24 lines modifiedOffset 1, 25 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="./">2 <html·lang="et"·data-content_root="./">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/>
6 ····<title>Search·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Otsing·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="_static/default.css?v=bf4d74af"·/>
9 ····9 ····
10 ····<script·src="_static/documentation_options.js?v=3e37d324"></script>10 ····<script·src="_static/documentation_options.js?v=431bcac9"></script>
11 ····<script·src="_static/doctools.js?v=9a2dae69"></script>11 ····<script·src="_static/doctools.js?v=9a2dae69"></script>
12 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>12 ····<script·src="_static/sphinx_highlight.js?v=dc90522c"></script>
 13 ····<script·src="_static/translations.js?v=bafe007c"></script>
13 ····<script·src="_static/searchtools.js"></script>14 ····<script·src="_static/searchtools.js"></script>
14 ····<script·src="_static/language_data.js"></script>15 ····<script·src="_static/language_data.js"></script>
15 ····<link·rel="index"·title="Index"·href="genindex.html"·/>16 ····<link·rel="index"·title="Indeks"·href="genindex.html"·/>
16 ····<link·rel="search"·title="Search"·href="#"·/>17 ····<link·rel="search"·title="Otsing"·href="#"·/>
17 ····<script·src="searchindex.js"·defer="defer"></script>18 ····<script·src="searchindex.js"·defer="defer"></script>
18 ····<meta·name="robots"·content="noindex"·/>19 ····<meta·name="robots"·content="noindex"·/>
19 ····20 ····
  
  
  
20 ·21 ·
Offset 57, 51 lines modifiedOffset 58, 50 lines modified
  
  
57 ··</head><body>58 ··</head><body>
  
58 ····<div·class="document">59 ····<div·class="document">
59 ··<div·id="custom-doc"·class="">60 ··<div·id="custom-doc"·class="">
60 ····<div·id="hd">61 ····<div·id="hd">
61 ······<h1><a·href="index.html">Django·5.1.3·documentation</a></h1>62 ······<h1><a·href="index.html">Django·5.1.3·dokumentatsioon</a></h1>
62 ······<div·id="global-nav">63 ······<div·id="global-nav">
63 ········<a·title="Home·page"·href="index.html">Home</a>··|64 ········<a·title="Home·page"·href="index.html">Home</a>··|
64 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|65 ········<a·title="Table·of·contents"·href="contents.html">Table·of·contents</a>··|
65 ········<a·title="Global·index"·href="genindex.html">Index</a>··|66 ········<a·title="Global·index"·href="genindex.html">Index</a>··|
66 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>67 ········<a·title="Module·index"·href="py-modindex.html">Modules</a>
67 ······</div>68 ······</div>
68 ······<div·class="nav">69 ······<div·class="nav">
69 ····<a·title="Django·5.1.3·documentation"·href="index.html"·accesskey="U">up</a></div>70 ····<a·title="Django·5.1.3·dokumentatsioon"·href="index.html"·accesskey="U">up</a></div>
70 ····</div>71 ····</div>
  
71 ····<div·id="bd">72 ····<div·id="bd">
72 ······<div·id="yui-main">73 ······<div·id="yui-main">
73 ········<div·class="yui-b">74 ········<div·class="yui-b">
74 ··········<div·class="yui-g"·id="search">75 ··········<div·class="yui-g"·id="search">
75 ············76 ············
76 ··<h1·id="search-documentation">Search</h1>77 ··<h1·id="search-documentation">Otsing</h1>
77 ··78 ··
78 ··<noscript>79 ··<noscript>
79 ··<div·class="admonition·warning">80 ··<div·class="admonition·warning">
80 ··<p>81 ··<p>
 82 ····Otsingu·võimaldamiseks·tuleb·aktiveerida·JavaScript.
81 ····Please·activate·JavaScript·to·enable·the·search 
82 ····functionality. 
83 ··</p>83 ··</p>
84 ··</div>84 ··</div>
85 ··</noscript>85 ··</noscript>
86 ··86 ··
87 ··87 ··
88 ··<p>88 ··<p>
89 ····Searching·for·multiple·words·only·shows·matches·that·contain89 ····Searching·for·multiple·words·only·shows·matches·that·contain
90 ····all·words.90 ····all·words.
91 ··</p>91 ··</p>
92 ··92 ··
93 ··93 ··
94 ··<form·action=""·method="get">94 ··<form·action=""·method="get">
95 ····<input·type="text"·name="q"·aria-labelledby="search-documentation"·value=""·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>95 ····<input·type="text"·name="q"·aria-labelledby="search-documentation"·value=""·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
96 ····<input·type="submit"·value="search"·/>96 ····<input·type="submit"·value="otsi"·/>
97 ····<span·id="search-progress"·style="padding-left:·10px"></span>97 ····<span·id="search-progress"·style="padding-left:·10px"></span>
98 ··</form>98 ··</form>
99 ··99 ··
100 ··100 ··
101 ··<div·id="search-results"></div>101 ··<div·id="search-results"></div>
102 ··102 ··
  
Offset 109, 15 lines modifiedOffset 109, 15 lines modified
109 ········</div>109 ········</div>
110 ······</div>110 ······</div>
111 ······111 ······
112 ····</div>112 ····</div>
  
113 ····<div·id="ft">113 ····<div·id="ft">
114 ······<div·class="nav">114 ······<div·class="nav">
115 ····<a·title="Django·5.1.3·documentation"·href="index.html"·accesskey="U">up</a></div>115 ····<a·title="Django·5.1.3·dokumentatsioon"·href="index.html"·accesskey="U">up</a></div>
116 ····</div>116 ····</div>
117 ··</div>117 ··</div>
  
118 ······<div·class="clearer"></div>118 ······<div·class="clearer"></div>
119 ····</div>119 ····</div>
120 ··</body>120 ··</body>
121 </html>121 </html>
45.0 B
encoding
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 us-ascii1 utf-8
877 B
html2text {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 _\x8u_\x8p3 _\x8u_\x8p
4 *\x8**\x8**\x8**\x8**\x8**\x8*·S.Se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·O.Ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8**\x8**\x8*
5 Please·activate·JavaScript·to·enable·the·search·functionality.5 Otsingu·võimaldamiseks·tuleb·aktiveerida·JavaScript.
6 Searching·for·multiple·words·only·shows·matches·that·contain·all·words.6 Searching·for·multiple·words·only·shows·matches·that·contain·all·words.
7 [q···················][search]7 [q···················][otsi]
8 _\x8u_\x8p8 _\x8u_\x8p
693 KB
./usr/share/doc/python-django-doc/html/searchindex.js
693 KB
js-beautify {}
Max HTML report size reached
24.5 KB
./usr/share/doc/python-django-doc/html/topics/async.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Asynchronous·support·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Asynchronous·support·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How-to·guides"·href="../howto/index.html"·/>15 ····<link·rel="next"·title="How-to·guides"·href="../howto/index.html"·/>
15 ····<link·rel="prev"·title="External·packages"·href="external-packages.html"·/>16 ····<link·rel="prev"·title="External·packages"·href="external-packages.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 15 lines modifiedOffset 76, 15 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-async">79 ··········<div·class="yui-g"·id="topics-async">
79 ············80 ············
80 ··<section·id="s-asynchronous-support">81 ··<section·id="s-asynchronous-support">
81 <span·id="asynchronous-support"></span><h1>Asynchronous·support<a·class="headerlink"·href="#asynchronous-support"·title="Link·to·this·heading">¶</a></h1>82 <span·id="asynchronous-support"></span><h1>Asynchronous·support<a·class="headerlink"·href="#asynchronous-support"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django·has·support·for·writing·asynchronous·(async)·views,·along·with·an83 <p>Django·has·support·for·writing·asynchronous·(async)·views,·along·with·an
83 entirely·async-enabled·request·stack·if·you·are·running·under84 entirely·async-enabled·request·stack·if·you·are·running·under
84 <a·class="reference·internal"·href="../howto/deployment/asgi/index.html"><span·class="doc">ASGI</span></a>.·Async·views·will·still·work·under85 <a·class="reference·internal"·href="../howto/deployment/asgi/index.html"><span·class="doc">ASGI</span></a>.·Async·views·will·still·work·under
85 WSGI,·but·with·performance·penalties,·and·without·the·ability·to·have·efficient86 WSGI,·but·with·performance·penalties,·and·without·the·ability·to·have·efficient
86 long-running·requests.</p>87 long-running·requests.</p>
87 <p>We’re·still·working·on·async·support·for·the·ORM·and·other·parts·of·Django.88 <p>We’re·still·working·on·async·support·for·the·ORM·and·other·parts·of·Django.
88 You·can·expect·to·see·this·in·future·releases.·For·now,·you·can·use·the89 You·can·expect·to·see·this·in·future·releases.·For·now,·you·can·use·the
89 <a·class="reference·internal"·href="#asgiref.sync.sync_to_async"·title="asgiref.sync.sync_to_async"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sync_to_async()</span></code></a>·adapter·to·interact·with·the·sync·parts·of·Django.90 <a·class="reference·internal"·href="#asgiref.sync.sync_to_async"·title="asgiref.sync.sync_to_async"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sync_to_async()</span></code></a>·adapter·to·interact·with·the·sync·parts·of·Django.
Offset 94, 38 lines modifiedOffset 95, 38 lines modified
94 <p>Any·view·can·be·declared·async·by·making·the·callable·part·of·it·return·a95 <p>Any·view·can·be·declared·async·by·making·the·callable·part·of·it·return·a
95 coroutine·-·commonly,·this·is·done·using·<code·class="docutils·literal·notranslate"><span·class="pre">async</span>·<span·class="pre">def</span></code>.·For·a·function-based96 coroutine·-·commonly,·this·is·done·using·<code·class="docutils·literal·notranslate"><span·class="pre">async</span>·<span·class="pre">def</span></code>.·For·a·function-based
96 view,·this·means·declaring·the·whole·view·using·<code·class="docutils·literal·notranslate"><span·class="pre">async</span>·<span·class="pre">def</span></code>.·For·a97 view,·this·means·declaring·the·whole·view·using·<code·class="docutils·literal·notranslate"><span·class="pre">async</span>·<span·class="pre">def</span></code>.·For·a
97 class-based·view,·this·means·declaring·the·HTTP·method·handlers,·such·as98 class-based·view,·this·means·declaring·the·HTTP·method·handlers,·such·as
98 <code·class="docutils·literal·notranslate"><span·class="pre">get()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">post()</span></code>·as·<code·class="docutils·literal·notranslate"><span·class="pre">async</span>·<span·class="pre">def</span></code>·(not·its·<code·class="docutils·literal·notranslate"><span·class="pre">__init__()</span></code>,·or99 <code·class="docutils·literal·notranslate"><span·class="pre">get()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">post()</span></code>·as·<code·class="docutils·literal·notranslate"><span·class="pre">async</span>·<span·class="pre">def</span></code>·(not·its·<code·class="docutils·literal·notranslate"><span·class="pre">__init__()</span></code>,·or
99 <code·class="docutils·literal·notranslate"><span·class="pre">as_view()</span></code>).</p>100 <code·class="docutils·literal·notranslate"><span·class="pre">as_view()</span></code>).</p>
100 <div·class="admonition·note">101 <div·class="admonition·note">
101 <p·class="admonition-title">Note</p>102 <p·class="admonition-title">rkus</p>
102 <p>Django·uses·<code·class="docutils·literal·notranslate"><span·class="pre">asgiref.sync.iscoroutinefunction</span></code>·to·test·if·your·view·is103 <p>Django·uses·<code·class="docutils·literal·notranslate"><span·class="pre">asgiref.sync.iscoroutinefunction</span></code>·to·test·if·your·view·is
103 asynchronous·or·not.·If·you·implement·your·own·method·of·returning·a104 asynchronous·or·not.·If·you·implement·your·own·method·of·returning·a
104 coroutine,·ensure·you·use·<code·class="docutils·literal·notranslate"><span·class="pre">asgiref.sync.markcoroutinefunction</span></code>·so·this105 coroutine,·ensure·you·use·<code·class="docutils·literal·notranslate"><span·class="pre">asgiref.sync.markcoroutinefunction</span></code>·so·this
105 function·returns·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>106 function·returns·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.</p>
106 </div>107 </div>
107 <p>Under·a·WSGI·server,·async·views·will·run·in·their·own,·one-off·event·loop.108 <p>Under·a·WSGI·server,·async·views·will·run·in·their·own,·one-off·event·loop.
108 This·means·you·can·use·async·features,·like·concurrent·async·HTTP·requests,109 This·means·you·can·use·async·features,·like·concurrent·async·HTTP·requests,
109 without·any·issues,·but·you·will·not·get·the·benefits·of·an·async·stack.</p>110 without·any·issues,·but·you·will·not·get·the·benefits·of·an·async·stack.</p>
110 <p>The·main·benefits·are·the·ability·to·service·hundreds·of·connections·without111 <p>The·main·benefits·are·the·ability·to·service·hundreds·of·connections·without
111 using·Python·threads.·This·allows·you·to·use·slow·streaming,·long-polling,·and112 using·Python·threads.·This·allows·you·to·use·slow·streaming,·long-polling,·and
112 other·exciting·response·types.</p>113 other·exciting·response·types.</p>
113 <p>If·you·want·to·use·these,·you·will·need·to·deploy·Django·using114 <p>If·you·want·to·use·these,·you·will·need·to·deploy·Django·using
114 <a·class="reference·internal"·href="../howto/deployment/asgi/index.html"><span·class="doc">ASGI</span></a>·instead.</p>115 <a·class="reference·internal"·href="../howto/deployment/asgi/index.html"><span·class="doc">ASGI</span></a>·instead.</p>
115 <div·class="admonition·warning">116 <div·class="admonition·warning">
116 <p·class="admonition-title">Warning</p>117 <p·class="admonition-title">Hoiatus</p>
117 <p>You·will·only·get·the·benefits·of·a·fully-asynchronous·request·stack·if·you118 <p>You·will·only·get·the·benefits·of·a·fully-asynchronous·request·stack·if·you
118 have·<em>no·synchronous·middleware</em>·loaded·into·your·site.·If·there·is·a·piece119 have·<em>no·synchronous·middleware</em>·loaded·into·your·site.·If·there·is·a·piece
119 of·synchronous·middleware,·then·Django·must·use·a·thread·per·request·to120 of·synchronous·middleware,·then·Django·must·use·a·thread·per·request·to
120 safely·emulate·a·synchronous·environment·for·it.</p>121 safely·emulate·a·synchronous·environment·for·it.</p>
121 <p>Middleware·can·be·built·to·support·<a·class="reference·internal"·href="http/middleware.html#async-middleware"><span·class="std·std-ref">both·sync·and·async</span></a>·contexts.·Some·of·Django’s·middleware·is·built·like122 <p>Middleware·can·be·built·to·support·<a·class="reference·internal"·href="http/middleware.html#async-middleware"><span·class="std·std-ref">both·sync·and·async</span></a>·contexts.·Some·of·Django’s·middleware·is·built·like
122 this,·but·not·all.·To·see·what·middleware·Django·has·to·adapt·for,·you·can123 this,·but·not·all.·To·see·what·middleware·Django·has·to·adapt·for,·you·can
123 turn·on·debug·logging·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.request</span></code>·logger·and·look·for·log124 turn·on·debug·logging·for·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.request</span></code>·logger·and·look·for·log
124 messages·about·<em>Asynchronous·handler·adapted·for·middleware·</em>.</p>125 messages·about·<em>Asynchronous·handler·adapted·for·middleware·</em>.</p>
125 </div>126 </div>
126 <p>In·both·ASGI·and·WSGI·mode,·you·can·still·safely·use·asynchronous·support·to127 <p>In·both·ASGI·and·WSGI·mode,·you·can·still·safely·use·asynchronous·support·to
127 run·code·concurrently·rather·than·serially.·This·is·especially·handy·when128 run·code·concurrently·rather·than·serially.·This·is·especially·handy·when
128 dealing·with·external·APIs·or·data·stores.</p>129 dealing·with·external·APIs·or·data·stores.</p>
129 <p>If·you·want·to·call·a·part·of·Django·that·is·still·synchronous,·you·will·need130 <p>If·you·want·to·call·a·part·of·Django·that·is·still·synchronous,·you·will·need
130 to·wrap·it·in·a·<a·class="reference·internal"·href="#asgiref.sync.sync_to_async"·title="asgiref.sync.sync_to_async"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sync_to_async()</span></code></a>·call.·For·example:</p>131 to·wrap·it·in·a·<a·class="reference·internal"·href="#asgiref.sync.sync_to_async"·title="asgiref.sync.sync_to_async"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">sync_to_async()</span></code></a>·call.·For·example:</p>
131 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">asgiref.sync</span>·<span·class="kn">import</span>·<span·class="n">sync_to_async</span>132 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">asgiref.sync</span>·<span·class="kn">import</span>·<span·class="n">sync_to_async</span>
Offset 257, 15 lines modifiedOffset 258, 15 lines modified
257 <dl·class="std·envvar">258 <dl·class="std·envvar">
258 <dt·class="sig·sig-object·std"·id="envvar-DJANGO_ALLOW_ASYNC_UNSAFE">259 <dt·class="sig·sig-object·std"·id="envvar-DJANGO_ALLOW_ASYNC_UNSAFE">
259 <span·class="sig-name·descname"><span·class="pre">DJANGO_ALLOW_ASYNC_UNSAFE</span></span><a·class="headerlink"·href="#envvar-DJANGO_ALLOW_ASYNC_UNSAFE"·title="Link·to·this·definition">¶</a></dt>260 <span·class="sig-name·descname"><span·class="pre">DJANGO_ALLOW_ASYNC_UNSAFE</span></span><a·class="headerlink"·href="#envvar-DJANGO_ALLOW_ASYNC_UNSAFE"·title="Link·to·this·definition">¶</a></dt>
260 <dd></dd></dl>261 <dd></dd></dl>
  
261 <p>Certain·key·parts·of·Django·are·not·able·to·operate·safely·in·an·async262 <p>Certain·key·parts·of·Django·are·not·able·to·operate·safely·in·an·async
262 environment,·as·they·have·global·state·that·is·not·coroutine-aware.·These·parts263 environment,·as·they·have·global·state·that·is·not·coroutine-aware.·These·parts
263 of·Django·are·classified·as·async-unsafe,·and·are·protected·from·execution·in264 of·Django·are·classified·as·async-unsafe,·and·are·protected·from·execution·in
264 an·async·environment.·The·ORM·is·the·main·example,·but·there·are·other·parts265 an·async·environment.·The·ORM·is·the·main·example,·but·there·are·other·parts
265 that·are·also·protected·in·this·way.</p>266 that·are·also·protected·in·this·way.</p>
266 <p>If·you·try·to·run·any·of·these·parts·from·a·thread·where·there·is·a·<em>running267 <p>If·you·try·to·run·any·of·these·parts·from·a·thread·where·there·is·a·<em>running
267 event·loop</em>,·you·will·get·a268 event·loop</em>,·you·will·get·a
268 <a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.SynchronousOnlyOperation"·title="django.core.exceptions.SynchronousOnlyOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">SynchronousOnlyOperation</span></code></a>·error.·Note·that·you269 <a·class="reference·internal"·href="../ref/exceptions.html#django.core.exceptions.SynchronousOnlyOperation"·title="django.core.exceptions.SynchronousOnlyOperation"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">SynchronousOnlyOperation</span></code></a>·error.·Note·that·you
269 don’t·have·to·be·inside·an·async·function·directly·to·have·this·error·occur.·If270 don’t·have·to·be·inside·an·async·function·directly·to·have·this·error·occur.·If
270 you·have·called·a·sync·function·directly·from·an·async·function,271 you·have·called·a·sync·function·directly·from·an·async·function,
Offset 294, 15 lines modifiedOffset 295, 15 lines modified
294 </div>295 </div>
295 <p>If·you’re·in·an·environment·other·than·IPython·(or·you·can’t·turn·off296 <p>If·you’re·in·an·environment·other·than·IPython·(or·you·can’t·turn·off
296 <code·class="docutils·literal·notranslate"><span·class="pre">autoawait</span></code>·in·IPython·for·some·reason),·you·are·<em>certain</em>·there·is·no·chance297 <code·class="docutils·literal·notranslate"><span·class="pre">autoawait</span></code>·in·IPython·for·some·reason),·you·are·<em>certain</em>·there·is·no·chance
297 of·your·code·being·run·concurrently,·and·you·<em>absolutely</em>·need·to·run·your·sync298 of·your·code·being·run·concurrently,·and·you·<em>absolutely</em>·need·to·run·your·sync
298 code·from·an·async·context,·then·you·can·disable·the·warning·by·setting·the299 code·from·an·async·context,·then·you·can·disable·the·warning·by·setting·the
299 <span·class="target"·id="index-0"></span><a·class="reference·internal"·href="#envvar-DJANGO_ALLOW_ASYNC_UNSAFE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_ALLOW_ASYNC_UNSAFE</span></code></a>·environment·variable·to·any·value.</p>300 <span·class="target"·id="index-0"></span><a·class="reference·internal"·href="#envvar-DJANGO_ALLOW_ASYNC_UNSAFE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_ALLOW_ASYNC_UNSAFE</span></code></a>·environment·variable·to·any·value.</p>
300 <div·class="admonition·warning">301 <div·class="admonition·warning">
301 <p·class="admonition-title">Warning</p>302 <p·class="admonition-title">Hoiatus</p>
302 <p>If·you·enable·this·option·and·there·is·concurrent·access·to·the303 <p>If·you·enable·this·option·and·there·is·concurrent·access·to·the
303 async-unsafe·parts·of·Django,·you·may·suffer·data·loss·or·corruption.·Be304 async-unsafe·parts·of·Django,·you·may·suffer·data·loss·or·corruption.·Be
304 very·careful·and·do·not·use·this·in·production·environments.</p>305 very·careful·and·do·not·use·this·in·production·environments.</p>
305 </div>306 </div>
306 <p>If·you·need·to·do·this·from·within·Python,·do·that·with·<code·class="docutils·literal·notranslate"><span·class="pre">os.environ</span></code>:</p>307 <p>If·you·need·to·do·this·from·within·Python,·do·that·with·<code·class="docutils·literal·notranslate"><span·class="pre">os.environ</span></code>:</p>
307 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">os</span>308 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">os</span>
  
Offset 346, 15 lines modifiedOffset 347, 15 lines modified
Max diff block lines reached; 5817/15830 bytes (36.75%) of diff not shown.
8.93 KB
html2text {}
Max HTML report size reached
24.9 KB
./usr/share/doc/python-django-doc/html/topics/auth/customizing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Customizing·authentication·in·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Customizing·authentication·in·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Django’s·cache·framework"·href="../cache.html"·/>15 ····<link·rel="next"·title="Django’s·cache·framework"·href="../cache.html"·/>
15 ····<link·rel="prev"·title="Password·management·in·Django"·href="passwords.html"·/>16 ····<link·rel="prev"·title="Password·management·in·Django"·href="passwords.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 104, 15 lines modifiedOffset 105, 15 lines modified
104 plug·in·other·authentication·sources.·You·can·override·Django’s·default105 plug·in·other·authentication·sources.·You·can·override·Django’s·default
105 database-based·scheme,·or·you·can·use·the·default·system·in·tandem·with·other106 database-based·scheme,·or·you·can·use·the·default·system·in·tandem·with·other
106 systems.</p>107 systems.</p>
107 <p>See·the·<a·class="reference·internal"·href="../../ref/contrib/auth.html#authentication-backends-reference"><span·class="std·std-ref">authentication·backend·reference</span></a>·for·information·on·the·authentication108 <p>See·the·<a·class="reference·internal"·href="../../ref/contrib/auth.html#authentication-backends-reference"><span·class="std·std-ref">authentication·backend·reference</span></a>·for·information·on·the·authentication
108 backends·included·with·Django.</p>109 backends·included·with·Django.</p>
109 <section·id="s-specifying-authentication-backends">110 <section·id="s-specifying-authentication-backends">
110 <span·id="specifying-authentication-backends"></span><h3>Specifying·authentication·backends<a·class="headerlink"·href="#specifying-authentication-backends"·title="Link·to·this·heading">¶</a></h3>111 <span·id="specifying-authentication-backends"></span><h3>Specifying·authentication·backends<a·class="headerlink"·href="#specifying-authentication-backends"·title="Link·to·this·heading">¶</a></h3>
111 <p>Behind·the·scenes,·Django·maintains·a·list·of·authentication·backends·that·it112 <p>Behind·the·scenes,·Django·maintains·a·list·of·authentication·backends·that·it
112 checks·for·authentication.·When·somebody·calls113 checks·for·authentication.·When·somebody·calls
113 <a·class="reference·internal"·href="default.html#django.contrib.auth.authenticate"·title="django.contrib.auth.authenticate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.contrib.auth.authenticate()</span></code></a>··as·described·in·<a·class="reference·internal"·href="default.html#how-to-log-a-user-in"><span·class="std·std-ref">How·to·log114 <a·class="reference·internal"·href="default.html#django.contrib.auth.authenticate"·title="django.contrib.auth.authenticate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.contrib.auth.authenticate()</span></code></a>··as·described·in·<a·class="reference·internal"·href="default.html#how-to-log-a-user-in"><span·class="std·std-ref">How·to·log
114 a·user·in</span></a>··Django·tries·authenticating·across115 a·user·in</span></a>··Django·tries·authenticating·across
115 all·of·its·authentication·backends.·If·the·first·authentication·method·fails,116 all·of·its·authentication·backends.·If·the·first·authentication·method·fails,
116 Django·tries·the·second·one,·and·so·on,·until·all·backends·have·been·attempted.</p>117 Django·tries·the·second·one,·and·so·on,·until·all·backends·have·been·attempted.</p>
117 <p>The·list·of·authentication·backends·to·use·is·specified·in·the118 <p>The·list·of·authentication·backends·to·use·is·specified·in·the
118 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTHENTICATION_BACKENDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code></a>·setting.·This·should·be·a·list·of·Python119 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTHENTICATION_BACKENDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code></a>·setting.·This·should·be·a·list·of·Python
Offset 130, 15 lines modifiedOffset 131, 15 lines modified
130 <p>The·order·of·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTHENTICATION_BACKENDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code></a>·matters,·so·if·the·same131 <p>The·order·of·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTHENTICATION_BACKENDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code></a>·matters,·so·if·the·same
131 username·and·password·is·valid·in·multiple·backends,·Django·will·stop132 username·and·password·is·valid·in·multiple·backends,·Django·will·stop
132 processing·at·the·first·positive·match.</p>133 processing·at·the·first·positive·match.</p>
133 <p>If·a·backend·raises·a·<a·class="reference·internal"·href="../../ref/exceptions.html#django.core.exceptions.PermissionDenied"·title="django.core.exceptions.PermissionDenied"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">PermissionDenied</span></code></a>134 <p>If·a·backend·raises·a·<a·class="reference·internal"·href="../../ref/exceptions.html#django.core.exceptions.PermissionDenied"·title="django.core.exceptions.PermissionDenied"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">PermissionDenied</span></code></a>
134 exception,·authentication·will·immediately·fail.·Django·won’t·check·the135 exception,·authentication·will·immediately·fail.·Django·won’t·check·the
135 backends·that·follow.</p>136 backends·that·follow.</p>
136 <div·class="admonition·note">137 <div·class="admonition·note">
137 <p·class="admonition-title">Note</p>138 <p·class="admonition-title">rkus</p>
138 <p>Once·a·user·has·authenticated,·Django·stores·which·backend·was·used·to139 <p>Once·a·user·has·authenticated,·Django·stores·which·backend·was·used·to
139 authenticate·the·user·in·the·user’s·session,·and·reuses·the·same·backend140 authenticate·the·user·in·the·user’s·session,·and·reuses·the·same·backend
140 for·the·duration·of·that·session·whenever·access·to·the·currently141 for·the·duration·of·that·session·whenever·access·to·the·currently
141 authenticated·user·is·needed.·This·effectively·means·that·authentication142 authenticated·user·is·needed.·This·effectively·means·that·authentication
142 sources·are·cached·on·a·per-session·basis,·so·if·you·change143 sources·are·cached·on·a·per-session·basis,·so·if·you·change
143 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTHENTICATION_BACKENDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code></a>,·you’ll·need·to·clear·out·session·data·if144 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTHENTICATION_BACKENDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code></a>,·you’ll·need·to·clear·out·session·data·if
144 you·need·to·force·users·to·re-authenticate·using·different·methods.·A145 you·need·to·force·users·to·re-authenticate·using·different·methods.·A
Offset 472, 15 lines modifiedOffset 473, 15 lines modified
472 <span·id="referencing-the-user-model"></span><h3>Referencing·the·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model<a·class="headerlink"·href="#referencing-the-user-model"·title="Link·to·this·heading">¶</a></h3>473 <span·id="referencing-the-user-model"></span><h3>Referencing·the·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model<a·class="headerlink"·href="#referencing-the-user-model"·title="Link·to·this·heading">¶</a></h3>
473 <p>If·you·reference·<a·class="reference·internal"·href="../../ref/contrib/auth.html#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·directly·(for474 <p>If·you·reference·<a·class="reference·internal"·href="../../ref/contrib/auth.html#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·directly·(for
474 example,·by·referring·to·it·in·a·foreign·key),·your·code·will·not·work·in475 example,·by·referring·to·it·in·a·foreign·key),·your·code·will·not·work·in
475 projects·where·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTH_USER_MODEL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTH_USER_MODEL</span></code></a>·setting·has·been·changed·to·a476 projects·where·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTH_USER_MODEL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTH_USER_MODEL</span></code></a>·setting·has·been·changed·to·a
476 different·user·model.</p>477 different·user·model.</p>
477 <dl·class="py·function">478 <dl·class="py·function">
478 <dt·class="sig·sig-object·py"·id="django.contrib.auth.get_user_model">479 <dt·class="sig·sig-object·py"·id="django.contrib.auth.get_user_model">
479 <span·class="sig-name·descname"><span·class="pre">get_user_model</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/__init__.py#L183"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.get_user_model"·title="Link·to·this·definition">¶</a></dt>480 <span·class="sig-name·descname"><span·class="pre">get_user_model</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/__init__.py#L183"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.get_user_model"·title="Link·to·this·definition">¶</a></dt>
480 <dd><p>Instead·of·referring·to·<a·class="reference·internal"·href="../../ref/contrib/auth.html#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·directly,481 <dd><p>Instead·of·referring·to·<a·class="reference·internal"·href="../../ref/contrib/auth.html#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·directly,
481 you·should·reference·the·user·model·using482 you·should·reference·the·user·model·using
482 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.get_user_model()</span></code>.·This·method·will·return·the483 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.get_user_model()</span></code>.·This·method·will·return·the
483 currently·active·user·model··the·custom·user·model·if·one·is·specified,·or484 currently·active·user·model··the·custom·user·model·if·one·is·specified,·or
484 <a·class="reference·internal"·href="../../ref/contrib/auth.html#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·otherwise.</p>485 <a·class="reference·internal"·href="../../ref/contrib/auth.html#django.contrib.auth.models.User"·title="django.contrib.auth.models.User"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">User</span></code></a>·otherwise.</p>
485 <p>When·you·define·a·foreign·key·or·many-to-many·relations·to·the·user·model,486 <p>When·you·define·a·foreign·key·or·many-to-many·relations·to·the·user·model,
486 you·should·specify·the·custom·model·using·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTH_USER_MODEL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTH_USER_MODEL</span></code></a>487 you·should·specify·the·custom·model·using·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTH_USER_MODEL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTH_USER_MODEL</span></code></a>
Offset 607, 26 lines modifiedOffset 608, 26 lines modified
607 ····<span·class="n">date_of_birth</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">DateField</span><span·class="p">()</span>608 ····<span·class="n">date_of_birth</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">DateField</span><span·class="p">()</span>
608 ····<span·class="n">height</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">FloatField</span><span·class="p">()</span>609 ····<span·class="n">height</span>·<span·class="o">=</span>·<span·class="n">models</span><span·class="o">.</span><span·class="n">FloatField</span><span·class="p">()</span>
609 ····<span·class="o">...</span>610 ····<span·class="o">...</span>
610 ····<span·class="n">REQUIRED_FIELDS</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;date_of_birth&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;height&quot;</span><span·class="p">]</span>611 ····<span·class="n">REQUIRED_FIELDS</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;date_of_birth&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;height&quot;</span><span·class="p">]</span>
611 </pre></div>612 </pre></div>
612 </div>613 </div>
613 <div·class="admonition·note">614 <div·class="admonition·note">
614 <p·class="admonition-title">Note</p>615 <p·class="admonition-title">rkus</p>
615 <p><code·class="docutils·literal·notranslate"><span·class="pre">REQUIRED_FIELDS</span></code>·must·contain·all·required·fields·on·your·user616 <p><code·class="docutils·literal·notranslate"><span·class="pre">REQUIRED_FIELDS</span></code>·must·contain·all·required·fields·on·your·user
616 model,·but·should·<em>not</em>·contain·the·<code·class="docutils·literal·notranslate"><span·class="pre">USERNAME_FIELD</span></code>·or617 model,·but·should·<em>not</em>·contain·the·<code·class="docutils·literal·notranslate"><span·class="pre">USERNAME_FIELD</span></code>·or
617 <code·class="docutils·literal·notranslate"><span·class="pre">password</span></code>·as·these·fields·will·always·be·prompted·for.</p>618 <code·class="docutils·literal·notranslate"><span·class="pre">password</span></code>·as·these·fields·will·always·be·prompted·for.</p>
618 </div>619 </div>
619 </dd></dl>620 </dd></dl>
  
620 <dl·class="py·attribute">621 <dl·class="py·attribute">
621 <dt·class="sig·sig-object·py"·id="django.contrib.auth.models.CustomUser.is_active">622 <dt·class="sig·sig-object·py"·id="django.contrib.auth.models.CustomUser.is_active">
622 <span·class="sig-name·descname"><span·class="pre">is_active</span></span><a·class="headerlink"·href="#django.contrib.auth.models.CustomUser.is_active"·title="Link·to·this·definition">¶</a></dt>623 <span·class="sig-name·descname"><span·class="pre">is_active</span></span><a·class="headerlink"·href="#django.contrib.auth.models.CustomUser.is_active"·title="Link·to·this·definition">¶</a></dt>
623 <dd><p>A·boolean·attribute·that·indicates·whether·the·user·is·considered624 <dd><p>A·boolean·attribute·that·indicates·whether·the·user·is·considered
624 active.··This·attribute·is·provided·as·an·attribute·on625 active.··This·attribute·is·provided·as·an·attribute·on
625 <code·class="docutils·literal·notranslate"><span·class="pre">AbstractBaseUser</span></code>·defaulting·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·How·you·choose·to626 <code·class="docutils·literal·notranslate"><span·class="pre">AbstractBaseUser</span></code>·defaulting·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·How·you·choose·to
626 implement·it·will·depend·on·the·details·of·your·chosen·auth·backends.627 implement·it·will·depend·on·the·details·of·your·chosen·auth·backends.
627 See·the·documentation·of·the·<a·class="reference·internal"·href="../../ref/contrib/auth.html#django.contrib.auth.models.User.is_active"·title="django.contrib.auth.models.User.is_active"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_active</span>·<span·class="pre">attribute</span>·<span·class="pre">on</span>·<span·class="pre">the</span>·<span·class="pre">built-in</span>628 See·the·documentation·of·the·<a·class="reference·internal"·href="../../ref/contrib/auth.html#django.contrib.auth.models.User.is_active"·title="django.contrib.auth.models.User.is_active"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_active</span>·<span·class="pre">attribute</span>·<span·class="pre">on</span>·<span·class="pre">the</span>·<span·class="pre">built-in</span>
628 <span·class="pre">user</span>·<span·class="pre">model</span></code></a>·for·details.</p>629 <span·class="pre">user</span>·<span·class="pre">model</span></code></a>·for·details.</p>
629 </dd></dl>630 </dd></dl>
  
630 <dl·class="py·method">631 <dl·class="py·method">
Offset 955, 15 lines modifiedOffset 956, 15 lines modified
955 <a·class="reference·internal"·href="#django.contrib.auth.models.AbstractBaseUser"·title="django.contrib.auth.models.AbstractBaseUser"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AbstractBaseUser</span></code></a>,·you’ll·need·to·define956 <a·class="reference·internal"·href="#django.contrib.auth.models.AbstractBaseUser"·title="django.contrib.auth.models.AbstractBaseUser"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AbstractBaseUser</span></code></a>,·you’ll·need·to·define
956 a·custom·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·class.·It·may·be·possible·to·subclass·the·default957 a·custom·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·class.·It·may·be·possible·to·subclass·the·default
957 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.admin.UserAdmin</span></code>;·however,·you’ll·need·to958 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.admin.UserAdmin</span></code>;·however,·you’ll·need·to
958 override·any·of·the·definitions·that·refer·to·fields·on959 override·any·of·the·definitions·that·refer·to·fields·on
959 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.models.AbstractUser</span></code>·that·aren’t·on·your960 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.models.AbstractUser</span></code>·that·aren’t·on·your
960 custom·user·class.</p>961 custom·user·class.</p>
961 <div·class="admonition·note">962 <div·class="admonition·note">
962 <p·class="admonition-title">Note</p>963 <p·class="admonition-title">rkus</p>
963 <p>If·you·are·using·a·custom·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·which·is·a·subclass·of964 <p>If·you·are·using·a·custom·<code·class="docutils·literal·notranslate"><span·class="pre">ModelAdmin</span></code>·which·is·a·subclass·of
964 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.admin.UserAdmin</span></code>,·then·you·need·to·add·your·custom965 <code·class="docutils·literal·notranslate"><span·class="pre">django.contrib.auth.admin.UserAdmin</span></code>,·then·you·need·to·add·your·custom
965 fields·to·<code·class="docutils·literal·notranslate"><span·class="pre">fieldsets</span></code>·(for·fields·to·be·used·in·editing·users)·and·to966 fields·to·<code·class="docutils·literal·notranslate"><span·class="pre">fieldsets</span></code>·(for·fields·to·be·used·in·editing·users)·and·to
966 <code·class="docutils·literal·notranslate"><span·class="pre">add_fieldsets</span></code>·(for·fields·to·be·used·when·creating·a·user).·For967 <code·class="docutils·literal·notranslate"><span·class="pre">add_fieldsets</span></code>·(for·fields·to·be·used·when·creating·a·user).·For
Max diff block lines reached; 2796/15340 bytes (18.23%) of diff not shown.
9.81 KB
html2text {}
Max HTML report size reached
173 KB
./usr/share/doc/python-django-doc/html/topics/auth/default.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Using·the·Django·authentication·system·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Using·the·Django·authentication·system·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Password·management·in·Django"·href="passwords.html"·/>15 ····<link·rel="next"·title="Password·management·in·Django"·href="passwords.html"·/>
15 ····<link·rel="prev"·title="User·authentication·in·Django"·href="index.html"·/>16 ····<link·rel="prev"·title="User·authentication·in·Django"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 186, 15 lines modifiedOffset 187, 15 lines modified
186 <p>Changing·a·user’s·password·will·log·out·all·their·sessions.·See187 <p>Changing·a·user’s·password·will·log·out·all·their·sessions.·See
187 <a·class="reference·internal"·href="#session-invalidation-on-password-change"><span·class="std·std-ref">Session·invalidation·on·password·change</span></a>·for·details.</p>188 <a·class="reference·internal"·href="#session-invalidation-on-password-change"><span·class="std·std-ref">Session·invalidation·on·password·change</span></a>·for·details.</p>
188 </section>189 </section>
189 <section·id="s-authenticating-users">190 <section·id="s-authenticating-users">
190 <span·id="authenticating-users"></span><h3>Authenticating·users<a·class="headerlink"·href="#authenticating-users"·title="Link·to·this·heading">¶</a></h3>191 <span·id="authenticating-users"></span><h3>Authenticating·users<a·class="headerlink"·href="#authenticating-users"·title="Link·to·this·heading">¶</a></h3>
191 <dl·class="py·function">192 <dl·class="py·function">
192 <dt·class="sig·sig-object·py"·id="django.contrib.auth.authenticate">193 <dt·class="sig·sig-object·py"·id="django.contrib.auth.authenticate">
193 <span·class="sig-name·descname"><span·class="pre">authenticate</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">credentials</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/__init__.py#L66"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.authenticate"·title="Link·to·this·definition">¶</a></dt>194 <span·class="sig-name·descname"><span·class="pre">authenticate</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">credentials</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/__init__.py#L66"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.authenticate"·title="Link·to·this·definition">¶</a></dt>
194 <dd></dd></dl>195 <dd></dd></dl>
  
195 <dl·class="py·function">196 <dl·class="py·function">
196 <dt·class="sig·sig-object·py"·id="django.contrib.auth.aauthenticate">197 <dt·class="sig·sig-object·py"·id="django.contrib.auth.aauthenticate">
197 <span·class="sig-name·descname"><span·class="pre">aauthenticate</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">credentials</span></span></em>)<a·class="headerlink"·href="#django.contrib.auth.aauthenticate"·title="Link·to·this·definition">¶</a></dt>198 <span·class="sig-name·descname"><span·class="pre">aauthenticate</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">credentials</span></span></em>)<a·class="headerlink"·href="#django.contrib.auth.aauthenticate"·title="Link·to·this·definition">¶</a></dt>
198 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">aauthenticate()</span></code></p>199 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">aauthenticate()</span></code></p>
199 <p>Use·<a·class="reference·internal"·href="#django.contrib.auth.authenticate"·title="django.contrib.auth.authenticate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">authenticate()</span></code></a>·to·verify·a·set·of200 <p>Use·<a·class="reference·internal"·href="#django.contrib.auth.authenticate"·title="django.contrib.auth.authenticate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">authenticate()</span></code></a>·to·verify·a·set·of
Offset 215, 15 lines modifiedOffset 216, 15 lines modified
215 ····<span·class="c1">#·No·backend·authenticated·the·credentials</span>216 ····<span·class="c1">#·No·backend·authenticated·the·credentials</span>
216 ····<span·class="o">...</span>217 ····<span·class="o">...</span>
217 </pre></div>218 </pre></div>
218 </div>219 </div>
219 <p><code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·is·an·optional·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·which·is220 <p><code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·is·an·optional·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·which·is
220 passed·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">authenticate()</span></code>·method·of·the·authentication·backends.</p>221 passed·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">authenticate()</span></code>·method·of·the·authentication·backends.</p>
221 <div·class="admonition·note">222 <div·class="admonition·note">
222 <p·class="admonition-title">Note</p>223 <p·class="admonition-title">rkus</p>
223 <p>This·is·a·low·level·way·to·authenticate·a·set·of·credentials;·for224 <p>This·is·a·low·level·way·to·authenticate·a·set·of·credentials;·for
224 example,·it’s·used·by·the225 example,·it’s·used·by·the
225 <a·class="reference·internal"·href="../../ref/middleware.html#django.contrib.auth.middleware.RemoteUserMiddleware"·title="django.contrib.auth.middleware.RemoteUserMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code></a>.·Unless226 <a·class="reference·internal"·href="../../ref/middleware.html#django.contrib.auth.middleware.RemoteUserMiddleware"·title="django.contrib.auth.middleware.RemoteUserMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RemoteUserMiddleware</span></code></a>.·Unless
226 you·are·writing·your·own·authentication·system,·you·probably·won’t·use227 you·are·writing·your·own·authentication·system,·you·probably·won’t·use
227 this.·Rather·if·you’re·looking·for·a·way·to·login·a·user,·use·the228 this.·Rather·if·you’re·looking·for·a·way·to·login·a·user,·use·the
228 <a·class="reference·internal"·href="#django.contrib.auth.views.LoginView"·title="django.contrib.auth.views.LoginView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LoginView</span></code></a>.</p>229 <a·class="reference·internal"·href="#django.contrib.auth.views.LoginView"·title="django.contrib.auth.views.LoginView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LoginView</span></code></a>.</p>
229 </div>230 </div>
Offset 238, 22 lines modifiedOffset 239, 22 lines modified
238 <span·id="s-topic-authorization"></span><span·id="permissions-and-authorization"></span><span·id="topic-authorization"></span><h2>Permissions·and·Authorization<a·class="headerlink"·href="#permissions-and-authorization"·title="Link·to·this·heading">¶</a></h2>239 <span·id="s-topic-authorization"></span><span·id="permissions-and-authorization"></span><span·id="topic-authorization"></span><h2>Permissions·and·Authorization<a·class="headerlink"·href="#permissions-and-authorization"·title="Link·to·this·heading">¶</a></h2>
239 <p>Django·comes·with·a·built-in·permissions·system.·It·provides·a·way·to·assign240 <p>Django·comes·with·a·built-in·permissions·system.·It·provides·a·way·to·assign
240 permissions·to·specific·users·and·groups·of·users.</p>241 permissions·to·specific·users·and·groups·of·users.</p>
241 <p>It’s·used·by·the·Django·admin·site,·but·you’re·welcome·to·use·it·in·your·own242 <p>It’s·used·by·the·Django·admin·site,·but·you’re·welcome·to·use·it·in·your·own
242 code.</p>243 code.</p>
243 <p>The·Django·admin·site·uses·permissions·as·follows:</p>244 <p>The·Django·admin·site·uses·permissions·as·follows:</p>
244 <ul·class="simple">245 <ul·class="simple">
245 <li><p>Access·to·view·objects·is·limited·to·users·with·the·view·or·change246 <li><p>Access·to·view·objects·is·limited·to·users·with·the·view·or·change
246 permission·for·that·type·of·object.</p></li>247 permission·for·that·type·of·object.</p></li>
247 <li><p>Access·to·view·the·add·form·and·add·an·object·is·limited·to·users·with248 <li><p>Access·to·view·the·add·form·and·add·an·object·is·limited·to·users·with
248 the·add·permission·for·that·type·of·object.</p></li>249 the·add·permission·for·that·type·of·object.</p></li>
249 <li><p>Access·to·view·the·change·list,·view·the·change·form·and·change·an250 <li><p>Access·to·view·the·change·list,·view·the·change·form·and·change·an
250 object·is·limited·to·users·with·the·change·permission·for·that·type·of251 object·is·limited·to·users·with·the·change·permission·for·that·type·of
251 object.</p></li>252 object.</p></li>
252 <li><p>Access·to·delete·an·object·is·limited·to·users·with·the·delete253 <li><p>Access·to·delete·an·object·is·limited·to·users·with·the·delete
253 permission·for·that·type·of·object.</p></li>254 permission·for·that·type·of·object.</p></li>
254 </ul>255 </ul>
255 <p>Permissions·can·be·set·not·only·per·type·of·object,·but·also·per·specific256 <p>Permissions·can·be·set·not·only·per·type·of·object,·but·also·per·specific
256 object·instance.·By·using·the257 object·instance.·By·using·the
257 <a·class="reference·internal"·href="../../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_view_permission"·title="django.contrib.admin.ModelAdmin.has_view_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">has_view_permission()</span></code></a>,258 <a·class="reference·internal"·href="../../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_view_permission"·title="django.contrib.admin.ModelAdmin.has_view_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">has_view_permission()</span></code></a>,
258 <a·class="reference·internal"·href="../../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_add_permission"·title="django.contrib.admin.ModelAdmin.has_add_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">has_add_permission()</span></code></a>,259 <a·class="reference·internal"·href="../../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_add_permission"·title="django.contrib.admin.ModelAdmin.has_add_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">has_add_permission()</span></code></a>,
259 <a·class="reference·internal"·href="../../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_change_permission"·title="django.contrib.admin.ModelAdmin.has_change_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">has_change_permission()</span></code></a>·and260 <a·class="reference·internal"·href="../../ref/contrib/admin/index.html#django.contrib.admin.ModelAdmin.has_change_permission"·title="django.contrib.admin.ModelAdmin.has_change_permission"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">has_change_permission()</span></code></a>·and
Offset 458, 15 lines modifiedOffset 459, 15 lines modified
458 </div>459 </div>
459 <section·id="s-how-to-log-a-user-in">460 <section·id="s-how-to-log-a-user-in">
460 <span·id="s-id2"></span><span·id="how-to-log-a-user-in"></span><span·id="id2"></span><h3>How·to·log·a·user·in<a·class="headerlink"·href="#how-to-log-a-user-in"·title="Link·to·this·heading">¶</a></h3>461 <span·id="s-id2"></span><span·id="how-to-log-a-user-in"></span><span·id="id2"></span><h3>How·to·log·a·user·in<a·class="headerlink"·href="#how-to-log-a-user-in"·title="Link·to·this·heading">¶</a></h3>
461 <p>If·you·have·an·authenticated·user·you·want·to·attach·to·the·current·session462 <p>If·you·have·an·authenticated·user·you·want·to·attach·to·the·current·session
462 -·this·is·done·with·a·<a·class="reference·internal"·href="#django.contrib.auth.login"·title="django.contrib.auth.login"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login()</span></code></a>·function.</p>463 -·this·is·done·with·a·<a·class="reference·internal"·href="#django.contrib.auth.login"·title="django.contrib.auth.login"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login()</span></code></a>·function.</p>
463 <dl·class="py·function">464 <dl·class="py·function">
464 <dt·class="sig·sig-object·py"·id="django.contrib.auth.login">465 <dt·class="sig·sig-object·py"·id="django.contrib.auth.login">
465 <span·class="sig-name·descname"><span·class="pre">login</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">user</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">backend</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/__init__.py#L102"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.login"·title="Link·to·this·definition">¶</a></dt>466 <span·class="sig-name·descname"><span·class="pre">login</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">user</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">backend</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/__init__.py#L102"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.login"·title="Link·to·this·definition">¶</a></dt>
466 <dd></dd></dl>467 <dd></dd></dl>
  
467 <dl·class="py·function">468 <dl·class="py·function">
468 <dt·class="sig·sig-object·py"·id="django.contrib.auth.alogin">469 <dt·class="sig·sig-object·py"·id="django.contrib.auth.alogin">
469 <span·class="sig-name·descname"><span·class="pre">alogin</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">user</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">backend</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.auth.alogin"·title="Link·to·this·definition">¶</a></dt>470 <span·class="sig-name·descname"><span·class="pre">alogin</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">user</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">backend</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.contrib.auth.alogin"·title="Link·to·this·definition">¶</a></dt>
470 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">alogin()</span></code></p>471 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">alogin()</span></code></p>
471 <p>To·log·a·user·in,·from·a·view,·use·<a·class="reference·internal"·href="#django.contrib.auth.login"·title="django.contrib.auth.login"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login()</span></code></a>.·It472 <p>To·log·a·user·in,·from·a·view,·use·<a·class="reference·internal"·href="#django.contrib.auth.login"·title="django.contrib.auth.login"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">login()</span></code></a>.·It
Offset 523, 15 lines modifiedOffset 524, 15 lines modified
523 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTHENTICATION_BACKENDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code></a>),·not·the·actual·backend·class.</p>524 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-AUTHENTICATION_BACKENDS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">AUTHENTICATION_BACKENDS</span></code></a>),·not·the·actual·backend·class.</p>
524 </section>525 </section>
525 </section>526 </section>
526 <section·id="s-how-to-log-a-user-out">527 <section·id="s-how-to-log-a-user-out">
527 <span·id="how-to-log-a-user-out"></span><h3>How·to·log·a·user·out<a·class="headerlink"·href="#how-to-log-a-user-out"·title="Link·to·this·heading">¶</a></h3>528 <span·id="how-to-log-a-user-out"></span><h3>How·to·log·a·user·out<a·class="headerlink"·href="#how-to-log-a-user-out"·title="Link·to·this·heading">¶</a></h3>
528 <dl·class="py·function">529 <dl·class="py·function">
529 <dt·class="sig·sig-object·py"·id="django.contrib.auth.logout">530 <dt·class="sig·sig-object·py"·id="django.contrib.auth.logout">
530 <span·class="sig-name·descname"><span·class="pre">logout</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/__init__.py#L160"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.logout"·title="Link·to·this·definition">¶</a></dt>531 <span·class="sig-name·descname"><span·class="pre">logout</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/__init__.py#L160"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.logout"·title="Link·to·this·definition">¶</a></dt>
531 <dd></dd></dl>532 <dd></dd></dl>
  
532 <dl·class="py·function">533 <dl·class="py·function">
533 <dt·class="sig·sig-object·py"·id="django.contrib.auth.alogout">534 <dt·class="sig·sig-object·py"·id="django.contrib.auth.alogout">
534 <span·class="sig-name·descname"><span·class="pre">alogout</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>)<a·class="headerlink"·href="#django.contrib.auth.alogout"·title="Link·to·this·definition">¶</a></dt>535 <span·class="sig-name·descname"><span·class="pre">alogout</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>)<a·class="headerlink"·href="#django.contrib.auth.alogout"·title="Link·to·this·definition">¶</a></dt>
535 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">alogout()</span></code></p>536 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">alogout()</span></code></p>
536 <p>To·log·out·a·user·who·has·been·logged·in·via537 <p>To·log·out·a·user·who·has·been·logged·in·via
Offset 590, 15 lines modifiedOffset 591, 15 lines modified
Max diff block lines reached; 109578/124226 bytes (88.21%) of diff not shown.
51.8 KB
html2text {}
Max HTML report size reached
7.22 KB
./usr/share/doc/python-django-doc/html/topics/auth/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>User·authentication·in·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>User·authentication·in·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Using·the·Django·authentication·system"·href="default.html"·/>15 ····<link·rel="next"·title="Using·the·Django·authentication·system"·href="default.html"·/>
15 ····<link·rel="prev"·title="Advanced·testing·topics"·href="../testing/advanced.html"·/>16 ····<link·rel="prev"·title="Advanced·testing·topics"·href="../testing/advanced.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 159, 49 lines modifiedOffset 160, 49 lines modified
159 ······160 ······
160 ········161 ········
161 ··········<div·class="yui-b"·id="sidebar">162 ··········<div·class="yui-b"·id="sidebar">
162 ············163 ············
163 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">164 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
164 ········<div·class="sphinxsidebarwrapper">165 ········<div·class="sphinxsidebarwrapper">
165 ··<div>166 ··<div>
166 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>167 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
167 ····<ul>168 ····<ul>
168 <li><a·class="reference·internal"·href="#">User·authentication·in·Django</a><ul>169 <li><a·class="reference·internal"·href="#">User·authentication·in·Django</a><ul>
169 <li><a·class="reference·internal"·href="#overview">Overview</a></li>170 <li><a·class="reference·internal"·href="#overview">Overview</a></li>
170 <li><a·class="reference·internal"·href="#installation">Installation</a></li>171 <li><a·class="reference·internal"·href="#installation">Installation</a></li>
171 <li><a·class="reference·internal"·href="#usage">Usage</a></li>172 <li><a·class="reference·internal"·href="#usage">Usage</a></li>
172 </ul>173 </ul>
173 </li>174 </li>
174 </ul>175 </ul>
  
175 ··</div>176 ··</div>
176 ··<div>177 ··<div>
177 ····<h4>Previous·topic</h4>178 ····<h4>Eelmine·teema</h4>
178 ····<p·class="topless"><a·href="../testing/advanced.html"179 ····<p·class="topless"><a·href="../testing/advanced.html"
179 ··························title="previous·chapter">Advanced·testing·topics</a></p>180 ··························title="eelmine·jaotis">Advanced·testing·topics</a></p>
180 ··</div>181 ··</div>
181 ··<div>182 ··<div>
182 ····<h4>Next·topic</h4>183 ····<h4>Järgmine·teema</h4>
183 ····<p·class="topless"><a·href="default.html"184 ····<p·class="topless"><a·href="default.html"
184 ··························title="next·chapter">Using·the·Django·authentication·system</a></p>185 ··························title="järgmine·jaotis">Using·the·Django·authentication·system</a></p>
185 ··</div>186 ··</div>
186 <search·id="searchbox"·style="display:·none"·role="search">187 <search·id="searchbox"·style="display:·none"·role="search">
187 ··<h3·id="searchlabel">Quick·search</h3>188 ··<h3·id="searchlabel">Kiirotsing</h3>
188 ····<div·class="searchformwrapper">189 ····<div·class="searchformwrapper">
189 ····<form·class="search"·action="../../search.html"·method="get">190 ····<form·class="search"·action="../../search.html"·method="get">
190 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>191 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
191 ······<input·type="submit"·value="Go"·/>192 ······<input·type="submit"·value="Otsi"·/>
192 ····</form>193 ····</form>
193 ····</div>194 ····</div>
194 </search>195 </search>
195 <script>document.getElementById('searchbox').style.display·=·"block"</script>196 <script>document.getElementById('searchbox').style.display·=·"block"</script>
196 ········</div>197 ········</div>
197 ······</div>198 ······</div>
198 ··············<h3>Last·update:</h3>199 ··············<h3>Last·update:</h3>
199 ··············<p·class="topless">Nov·05,·2024</p>200 ··············<p·class="topless">nov·05,·2024</p>
200 ··········</div>201 ··········</div>
201 ········202 ········
202 ······203 ······
203 ····</div>204 ····</div>
  
204 ····<div·id="ft">205 ····<div·id="ft">
205 ······<div·class="nav">206 ······<div·class="nav">
2.82 KB
html2text {}
Max HTML report size reached
57.9 KB
./usr/share/doc/python-django-doc/html/topics/auth/passwords.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Password·management·in·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Password·management·in·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Customizing·authentication·in·Django"·href="customizing.html"·/>15 ····<link·rel="next"·title="Customizing·authentication·in·Django"·href="customizing.html"·/>
15 ····<link·rel="prev"·title="Using·the·Django·authentication·system"·href="default.html"·/>16 ····<link·rel="prev"·title="Using·the·Django·authentication·system"·href="default.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 81, 15 lines modifiedOffset 82, 15 lines modified
81 <span·id="password-management-in-django"></span><h1>Password·management·in·Django<a·class="headerlink"·href="#password-management-in-django"·title="Link·to·this·heading">¶</a></h1>82 <span·id="password-management-in-django"></span><h1>Password·management·in·Django<a·class="headerlink"·href="#password-management-in-django"·title="Link·to·this·heading">¶</a></h1>
82 <p>Password·management·is·something·that·should·generally·not·be·reinvented83 <p>Password·management·is·something·that·should·generally·not·be·reinvented
83 unnecessarily,·and·Django·endeavors·to·provide·a·secure·and·flexible·set·of84 unnecessarily,·and·Django·endeavors·to·provide·a·secure·and·flexible·set·of
84 tools·for·managing·user·passwords.·This·document·describes·how·Django·stores85 tools·for·managing·user·passwords.·This·document·describes·how·Django·stores
85 passwords,·how·the·storage·hashing·can·be·configured,·and·some·utilities·to86 passwords,·how·the·storage·hashing·can·be·configured,·and·some·utilities·to
86 work·with·hashed·passwords.</p>87 work·with·hashed·passwords.</p>
87 <div·class="admonition·seealso">88 <div·class="admonition·seealso">
88 <p·class="admonition-title">See·also</p>89 <p·class="admonition-title">Vaata·ka</p>
89 <p>Even·though·users·may·use·strong·passwords,·attackers·might·be·able·to90 <p>Even·though·users·may·use·strong·passwords,·attackers·might·be·able·to
90 eavesdrop·on·their·connections.·Use·<a·class="reference·internal"·href="../security.html#security-recommendation-ssl"><span·class="std·std-ref">HTTPS</span></a>·to·avoid·sending·passwords·(or·any·other91 eavesdrop·on·their·connections.·Use·<a·class="reference·internal"·href="../security.html#security-recommendation-ssl"><span·class="std·std-ref">HTTPS</span></a>·to·avoid·sending·passwords·(or·any·other
91 sensitive·data)·over·plain·HTTP·connections·because·they·will·be·vulnerable92 sensitive·data)·over·plain·HTTP·connections·because·they·will·be·vulnerable
92 to·password·sniffing.</p>93 to·password·sniffing.</p>
93 </div>94 </div>
94 <section·id="s-how-django-stores-passwords">95 <section·id="s-how-django-stores-passwords">
95 <span·id="s-auth-password-storage"></span><span·id="how-django-stores-passwords"></span><span·id="auth-password-storage"></span><h2>How·Django·stores·passwords<a·class="headerlink"·href="#how-django-stores-passwords"·title="Link·to·this·heading">¶</a></h2>96 <span·id="s-auth-password-storage"></span><span·id="how-django-stores-passwords"></span><span·id="auth-password-storage"></span><h2>How·Django·stores·passwords<a·class="headerlink"·href="#how-django-stores-passwords"·title="Link·to·this·heading">¶</a></h2>
Offset 223, 15 lines modifiedOffset 224, 15 lines modified
223 </pre></div>224 </pre></div>
224 </div>225 </div>
225 <p>Keep·and/or·add·any·entries·in·this·list·if·you·need·Django·to·<a·class="reference·internal"·href="#password-upgrades"><span·class="std·std-ref">upgrade226 <p>Keep·and/or·add·any·entries·in·this·list·if·you·need·Django·to·<a·class="reference·internal"·href="#password-upgrades"><span·class="std·std-ref">upgrade
226 passwords</span></a>.</p>227 passwords</span></a>.</p>
227 </li>228 </li>
228 </ol>229 </ol>
229 <div·class="admonition·note">230 <div·class="admonition·note">
230 <p·class="admonition-title">Note</p>231 <p·class="admonition-title">rkus</p>
231 <p><code·class="docutils·literal·notranslate"><span·class="pre">scrypt</span></code>·requires·OpenSSL·1.1+.</p>232 <p><code·class="docutils·literal·notranslate"><span·class="pre">scrypt</span></code>·requires·OpenSSL·1.1+.</p>
232 </div>233 </div>
233 </section>234 </section>
234 <section·id="s-increasing-the-salt-entropy">235 <section·id="s-increasing-the-salt-entropy">
235 <span·id="increasing-the-salt-entropy"></span><h3>Increasing·the·salt·entropy<a·class="headerlink"·href="#increasing-the-salt-entropy"·title="Link·to·this·heading">¶</a></h3>236 <span·id="increasing-the-salt-entropy"></span><h3>Increasing·the·salt·entropy<a·class="headerlink"·href="#increasing-the-salt-entropy"·title="Link·to·this·heading">¶</a></h3>
236 <p>Most·password·hashes·include·a·salt·along·with·their·password·hash·in·order·to237 <p>Most·password·hashes·include·a·salt·along·with·their·password·hash·in·order·to
237 protect·against·rainbow·table·attacks.·The·salt·itself·is·a·random·value·which238 protect·against·rainbow·table·attacks.·The·salt·itself·is·a·random·value·which
Offset 290, 15 lines modifiedOffset 291, 15 lines modified
290 </pre></div>291 </pre></div>
291 </div>292 </div>
292 </li>293 </li>
293 </ol>294 </ol>
294 <p>That’s·it··now·your·Django·install·will·use·more·iterations·when·it295 <p>That’s·it··now·your·Django·install·will·use·more·iterations·when·it
295 stores·passwords·using·PBKDF2.</p>296 stores·passwords·using·PBKDF2.</p>
296 <div·class="admonition·note">297 <div·class="admonition·note">
297 <p·class="admonition-title">Note</p>298 <p·class="admonition-title">rkus</p>
298 <p>bcrypt·<code·class="docutils·literal·notranslate"><span·class="pre">rounds</span></code>·is·a·logarithmic·work·factor,·e.g.·12·rounds·means299 <p>bcrypt·<code·class="docutils·literal·notranslate"><span·class="pre">rounds</span></code>·is·a·logarithmic·work·factor,·e.g.·12·rounds·means
299 <code·class="docutils·literal·notranslate"><span·class="pre">2</span>·<span·class="pre">**</span>·<span·class="pre">12</span></code>·iterations.</p>300 <code·class="docutils·literal·notranslate"><span·class="pre">2</span>·<span·class="pre">**</span>·<span·class="pre">12</span></code>·iterations.</p>
300 </div>301 </div>
301 </section>302 </section>
302 <section·id="s-argon2">303 <section·id="s-argon2">
303 <span·id="argon2"></span><h4>Argon2<a·class="headerlink"·href="#argon2"·title="Link·to·this·heading">¶</a></h4>304 <span·id="argon2"></span><h4>Argon2<a·class="headerlink"·href="#argon2"·title="Link·to·this·heading">¶</a></h4>
304 <p>Argon2·has·the·following·attributes·that·can·be·customized:</p>305 <p>Argon2·has·the·following·attributes·that·can·be·customized:</p>
Offset 372, 15 lines modifiedOffset 373, 15 lines modified
372 to·mitigate·this·by·<a·class="reference·internal"·href="#wrapping-password-hashers"><span·class="std·std-ref">upgrading·older·password·hashes</span></a>.</p>373 to·mitigate·this·by·<a·class="reference·internal"·href="#wrapping-password-hashers"><span·class="std·std-ref">upgrading·older·password·hashes</span></a>.</p>
373 </section>374 </section>
374 <section·id="s-password-upgrading-without-requiring-a-login">375 <section·id="s-password-upgrading-without-requiring-a-login">
375 <span·id="s-wrapping-password-hashers"></span><span·id="password-upgrading-without-requiring-a-login"></span><span·id="wrapping-password-hashers"></span><h3>Password·upgrading·without·requiring·a·login<a·class="headerlink"·href="#password-upgrading-without-requiring-a-login"·title="Link·to·this·heading">¶</a></h3>376 <span·id="s-wrapping-password-hashers"></span><span·id="password-upgrading-without-requiring-a-login"></span><span·id="wrapping-password-hashers"></span><h3>Password·upgrading·without·requiring·a·login<a·class="headerlink"·href="#password-upgrading-without-requiring-a-login"·title="Link·to·this·heading">¶</a></h3>
376 <p>If·you·have·an·existing·database·with·an·older,·weak·hash·such·as·MD5,·you377 <p>If·you·have·an·existing·database·with·an·older,·weak·hash·such·as·MD5,·you
377 might·want·to·upgrade·those·hashes·yourself·instead·of·waiting·for·the·upgrade378 might·want·to·upgrade·those·hashes·yourself·instead·of·waiting·for·the·upgrade
378 to·happen·when·a·user·logs·in·(which·may·never·happen·if·a·user·doesn’t·return379 to·happen·when·a·user·logs·in·(which·may·never·happen·if·a·user·doesn’t·return
379 to·your·site).·In·this·case,·you·can·use·a·wrapped·password·hasher.</p>380 to·your·site).·In·this·case,·you·can·use·a·wrapped·password·hasher.</p>
380 <p>For·this·example,·we’ll·migrate·a·collection·of·MD5·hashes·to·use381 <p>For·this·example,·we’ll·migrate·a·collection·of·MD5·hashes·to·use
381 PBKDF2(MD5(password))·and·add·the·corresponding·password·hasher·for·checking382 PBKDF2(MD5(password))·and·add·the·corresponding·password·hasher·for·checking
382 if·a·user·entered·the·correct·password·on·login.·We·assume·we’re·using·the383 if·a·user·entered·the·correct·password·on·login.·We·assume·we’re·using·the
383 built-in·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model·and·that·our·project·has·an·<code·class="docutils·literal·notranslate"><span·class="pre">accounts</span></code>·app.·You·can384 built-in·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model·and·that·our·project·has·an·<code·class="docutils·literal·notranslate"><span·class="pre">accounts</span></code>·app.·You·can
384 modify·the·pattern·to·work·with·any·algorithm·or·with·a·custom·user·model.</p>385 modify·the·pattern·to·work·with·any·algorithm·or·with·a·custom·user·model.</p>
385 <p>First,·we’ll·add·the·custom·hasher:</p>386 <p>First,·we’ll·add·the·custom·hasher:</p>
386 <div·class="literal-block-wrapper·docutils·container"·id="id4">387 <div·class="literal-block-wrapper·docutils·container"·id="id4">
Offset 493, 15 lines modifiedOffset 494, 15 lines modified
493 <section·id="s-module-django.contrib.auth.hashers">494 <section·id="s-module-django.contrib.auth.hashers">
494 <span·id="s-manually-managing-a-user-s-password"></span><span·id="module-django.contrib.auth.hashers"></span><span·id="manually-managing-a-user-s-password"></span><h2>Manually·managing·a·user’s·password<a·class="headerlink"·href="#module-django.contrib.auth.hashers"·title="Link·to·this·heading">¶</a></h2>495 <span·id="s-manually-managing-a-user-s-password"></span><span·id="module-django.contrib.auth.hashers"></span><span·id="manually-managing-a-user-s-password"></span><h2>Manually·managing·a·user’s·password<a·class="headerlink"·href="#module-django.contrib.auth.hashers"·title="Link·to·this·heading">¶</a></h2>
495 <p>The·<a·class="reference·internal"·href="#module-django.contrib.auth.hashers"·title="django.contrib.auth.hashers"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth.hashers</span></code></a>·module·provides·a·set·of·functions496 <p>The·<a·class="reference·internal"·href="#module-django.contrib.auth.hashers"·title="django.contrib.auth.hashers"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.auth.hashers</span></code></a>·module·provides·a·set·of·functions
496 to·create·and·validate·hashed·passwords.·You·can·use·them·independently497 to·create·and·validate·hashed·passwords.·You·can·use·them·independently
497 from·the·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model.</p>498 from·the·<code·class="docutils·literal·notranslate"><span·class="pre">User</span></code>·model.</p>
498 <dl·class="py·function">499 <dl·class="py·function">
499 <dt·class="sig·sig-object·py"·id="django.contrib.auth.hashers.check_password">500 <dt·class="sig·sig-object·py"·id="django.contrib.auth.hashers.check_password">
500 <span·class="sig-name·descname"><span·class="pre">check_password</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">password</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">encoded</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">setter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">preferred</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'default'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/hashers.py#L72"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.hashers.check_password"·title="Link·to·this·definition">¶</a></dt>501 <span·class="sig-name·descname"><span·class="pre">check_password</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">password</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">encoded</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">setter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">preferred</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'default'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/contrib/auth/hashers.py#L72"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.contrib.auth.hashers.check_password"·title="Link·to·this·definition">¶</a></dt>
501 <dd></dd></dl>502 <dd></dd></dl>
  
502 <dl·class="py·function">503 <dl·class="py·function">
503 <dt·class="sig·sig-object·py"·id="django.contrib.auth.hashers.acheck_password">504 <dt·class="sig·sig-object·py"·id="django.contrib.auth.hashers.acheck_password">
504 <span·class="sig-name·descname"><span·class="pre">acheck_password</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">password</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">encoded</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">asetter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">preferred</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'default'</span></span></em>)<a·class="headerlink"·href="#django.contrib.auth.hashers.acheck_password"·title="Link·to·this·definition">¶</a></dt>505 <span·class="sig-name·descname"><span·class="pre">acheck_password</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">password</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">encoded</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">asetter</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">preferred</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'default'</span></span></em>)<a·class="headerlink"·href="#django.contrib.auth.hashers.acheck_password"·title="Link·to·this·definition">¶</a></dt>
505 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">acheck_password()</span></code></p>506 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">acheck_password()</span></code></p>
506 <p>If·you’d·like·to·manually·authenticate·a·user·by·comparing·a·plain-text507 <p>If·you’d·like·to·manually·authenticate·a·user·by·comparing·a·plain-text
Offset 517, 27 lines modifiedOffset 518, 27 lines modified
517 <div·class="versionchanged">518 <div·class="versionchanged">
518 <span·class="title">Changed·in·Django·5.0:</span>·<p><code·class="docutils·literal·notranslate"><span·class="pre">acheck_password()</span></code>·method·was·added.</p>519 <span·class="title">Changed·in·Django·5.0:</span>·<p><code·class="docutils·literal·notranslate"><span·class="pre">acheck_password()</span></code>·method·was·added.</p>
519 </div>520 </div>
520 </dd></dl>521 </dd></dl>
  
521 <dl·class="py·function">522 <dl·class="py·function">
522 <dt·class="sig·sig-object·py"·id="django.contrib.auth.hashers.make_password">523 <dt·class="sig·sig-object·py"·id="django.contrib.auth.hashers.make_password">
Max diff block lines reached; 27361/40337 bytes (67.83%) of diff not shown.
18.4 KB
html2text {}
Max HTML report size reached
42.7 KB
./usr/share/doc/python-django-doc/html/topics/cache.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django’s·cache·framework·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django’s·cache·framework·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Conditional·View·Processing"·href="conditional-view-processing.html"·/>15 ····<link·rel="next"·title="Conditional·View·Processing"·href="conditional-view-processing.html"·/>
15 ····<link·rel="prev"·title="Customizing·authentication·in·Django"·href="auth/customizing.html"·/>16 ····<link·rel="prev"·title="Customizing·authentication·in·Django"·href="auth/customizing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 19 lines modifiedOffset 104, 19 lines modified
103 </pre></div>104 </pre></div>
104 </div>105 </div>
105 <p>Django·comes·with·a·robust·cache·system·that·lets·you·save·dynamic·pages·so106 <p>Django·comes·with·a·robust·cache·system·that·lets·you·save·dynamic·pages·so
106 they·don’t·have·to·be·calculated·for·each·request.·For·convenience,·Django107 they·don’t·have·to·be·calculated·for·each·request.·For·convenience,·Django
107 offers·different·levels·of·cache·granularity:·You·can·cache·the·output·of108 offers·different·levels·of·cache·granularity:·You·can·cache·the·output·of
108 specific·views,·you·can·cache·only·the·pieces·that·are·difficult·to·produce,109 specific·views,·you·can·cache·only·the·pieces·that·are·difficult·to·produce,
109 or·you·can·cache·your·entire·site.</p>110 or·you·can·cache·your·entire·site.</p>
110 <p>Django·also·works·well·with·downstream·caches,·such·as·<a·class="reference·external"·href="http://www.squid-cache.org/">Squid</a>·and·browser-based·caches.·These·are·the·types111 <p>Django·also·works·well·with·downstream·caches,·such·as·<a·class="reference·external"·href="http://www.squid-cache.org/">Squid</a>·and·browser-based·caches.·These·are·the·types
111 of·caches·that·you·don’t·directly·control·but·to·which·you·can·provide·hints112 of·caches·that·you·don’t·directly·control·but·to·which·you·can·provide·hints
112 (via·HTTP·headers)·about·which·parts·of·your·site·should·be·cached,·and·how.</p>113 (via·HTTP·headers)·about·which·parts·of·your·site·should·be·cached,·and·how.</p>
113 <div·class="admonition·seealso">114 <div·class="admonition·seealso">
114 <p·class="admonition-title">See·also</p>115 <p·class="admonition-title">Vaata·ka</p>
115 <p>The·<a·class="reference·internal"·href="../misc/design-philosophies.html#cache-design-philosophy"><span·class="std·std-ref">Cache·Framework·design·philosophy</span></a>116 <p>The·<a·class="reference·internal"·href="../misc/design-philosophies.html#cache-design-philosophy"><span·class="std·std-ref">Cache·Framework·design·philosophy</span></a>
116 explains·a·few·of·the·design·decisions·of·the·framework.</p>117 explains·a·few·of·the·design·decisions·of·the·framework.</p>
117 </div>118 </div>
118 <section·id="s-setting-up-the-cache">119 <section·id="s-setting-up-the-cache">
119 <span·id="s-id1"></span><span·id="setting-up-the-cache"></span><span·id="id1"></span><h2>Setting·up·the·cache<a·class="headerlink"·href="#setting-up-the-cache"·title="Link·to·this·heading">¶</a></h2>120 <span·id="s-id1"></span><span·id="setting-up-the-cache"></span><span·id="id1"></span><h2>Setting·up·the·cache<a·class="headerlink"·href="#setting-up-the-cache"·title="Link·to·this·heading">¶</a></h2>
120 <p>The·cache·system·requires·a·small·amount·of·setup.·Namely,·you·have·to·tell·it121 <p>The·cache·system·requires·a·small·amount·of·setup.·Namely,·you·have·to·tell·it
121 where·your·cached·data·should·live··whether·in·a·database,·on·the·filesystem122 where·your·cached·data·should·live··whether·in·a·database,·on·the·filesystem
Offset 387, 24 lines modifiedOffset 388, 24 lines modified
387 <p>Make·sure·the·directory·pointed-to·by·this·setting·either·exists·and·is388 <p>Make·sure·the·directory·pointed-to·by·this·setting·either·exists·and·is
388 readable·and·writable,·or·that·it·can·be·created·by·the·system·user·under·which389 readable·and·writable,·or·that·it·can·be·created·by·the·system·user·under·which
389 your·web·server·runs.·Continuing·the·above·example,·if·your·server·runs·as·the390 your·web·server·runs.·Continuing·the·above·example,·if·your·server·runs·as·the
390 user·<code·class="docutils·literal·notranslate"><span·class="pre">apache</span></code>,·make·sure·the·directory·<code·class="docutils·literal·notranslate"><span·class="pre">/var/tmp/django_cache</span></code>·exists·and391 user·<code·class="docutils·literal·notranslate"><span·class="pre">apache</span></code>,·make·sure·the·directory·<code·class="docutils·literal·notranslate"><span·class="pre">/var/tmp/django_cache</span></code>·exists·and
391 is·readable·and·writable·by·the·user·<code·class="docutils·literal·notranslate"><span·class="pre">apache</span></code>,·or·that·it·can·be·created·by392 is·readable·and·writable·by·the·user·<code·class="docutils·literal·notranslate"><span·class="pre">apache</span></code>,·or·that·it·can·be·created·by
392 the·user·<code·class="docutils·literal·notranslate"><span·class="pre">apache</span></code>.</p>393 the·user·<code·class="docutils·literal·notranslate"><span·class="pre">apache</span></code>.</p>
393 <div·class="admonition·warning">394 <div·class="admonition·warning">
394 <p·class="admonition-title">Warning</p>395 <p·class="admonition-title">Hoiatus</p>
395 <p>When·the·cache·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-LOCATION"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOCATION</span></code></a>·is·contained·within396 <p>When·the·cache·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-LOCATION"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOCATION</span></code></a>·is·contained·within
396 <a·class="reference·internal"·href="../ref/settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>,·<a·class="reference·internal"·href="../ref/settings.html#std-setting-STATIC_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_ROOT</span></code></a>,·or397 <a·class="reference·internal"·href="../ref/settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>,·<a·class="reference·internal"·href="../ref/settings.html#std-setting-STATIC_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATIC_ROOT</span></code></a>,·or
397 <a·class="reference·internal"·href="../ref/settings.html#std-setting-STATICFILES_FINDERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_FINDERS</span></code></a>,·sensitive·data·may·be·exposed.</p>398 <a·class="reference·internal"·href="../ref/settings.html#std-setting-STATICFILES_FINDERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">STATICFILES_FINDERS</span></code></a>,·sensitive·data·may·be·exposed.</p>
398 <p>An·attacker·who·gains·access·to·the·cache·file·can·not·only·falsify·HTML399 <p>An·attacker·who·gains·access·to·the·cache·file·can·not·only·falsify·HTML
399 content,·which·your·site·will·trust,·but·also·remotely·execute·arbitrary400 content,·which·your·site·will·trust,·but·also·remotely·execute·arbitrary
400 code,·as·the·data·is·serialized·using·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>.</p>401 code,·as·the·data·is·serialized·using·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>.</p>
401 </div>402 </div>
402 <div·class="admonition·warning">403 <div·class="admonition·warning">
403 <p·class="admonition-title">Warning</p>404 <p·class="admonition-title">Hoiatus</p>
404 <p>Filesystem·caching·may·become·slow·when·storing·a·large·number·of·files.·If405 <p>Filesystem·caching·may·become·slow·when·storing·a·large·number·of·files.·If
405 you·run·into·this·problem,·consider·using·a·different·caching·mechanism.406 you·run·into·this·problem,·consider·using·a·different·caching·mechanism.
406 You·can·also·subclass407 You·can·also·subclass
407 <a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/core/cache/backends/filebased.py">FileBasedCache</a>·and408 <a·class="extlink-source·reference·external"·href="https://github.com/django/django/blob/main/django/core/cache/backends/filebased.py">FileBasedCache</a>·and
408 improve·the·culling·strategy.</p>409 improve·the·culling·strategy.</p>
409 </div>410 </div>
410 </section>411 </section>
Offset 432, 15 lines modifiedOffset 433, 15 lines modified
432 <p>Note·that·each·process·will·have·its·own·private·cache·instance,·which·means·no433 <p>Note·that·each·process·will·have·its·own·private·cache·instance,·which·means·no
433 cross-process·caching·is·possible.·This·also·means·the·local·memory·cache·isn’t434 cross-process·caching·is·possible.·This·also·means·the·local·memory·cache·isn’t
434 particularly·memory-efficient,·so·it’s·probably·not·a·good·choice·for435 particularly·memory-efficient,·so·it’s·probably·not·a·good·choice·for
435 production·environments.·It’s·nice·for·development.</p>436 production·environments.·It’s·nice·for·development.</p>
436 </section>437 </section>
437 <section·id="s-dummy-caching-for-development">438 <section·id="s-dummy-caching-for-development">
438 <span·id="dummy-caching-for-development"></span><h3>Dummy·caching·(for·development)<a·class="headerlink"·href="#dummy-caching-for-development"·title="Link·to·this·heading">¶</a></h3>439 <span·id="dummy-caching-for-development"></span><h3>Dummy·caching·(for·development)<a·class="headerlink"·href="#dummy-caching-for-development"·title="Link·to·this·heading">¶</a></h3>
439 <p>Finally,·Django·comes·with·a·dummy·cache·that·doesn’t·actually·cache··it440 <p>Finally,·Django·comes·with·a·dummy·cache·that·doesn’t·actually·cache··it
440 just·implements·the·cache·interface·without·doing·anything.</p>441 just·implements·the·cache·interface·without·doing·anything.</p>
441 <p>This·is·useful·if·you·have·a·production·site·that·uses·heavy-duty·caching·in442 <p>This·is·useful·if·you·have·a·production·site·that·uses·heavy-duty·caching·in
442 various·places·but·a·development/test·environment·where·you·don’t·want·to·cache443 various·places·but·a·development/test·environment·where·you·don’t·want·to·cache
443 and·don’t·want·to·have·to·change·your·code·to·special-case·the·latter.·To444 and·don’t·want·to·have·to·change·your·code·to·special-case·the·latter.·To
444 activate·dummy·caching,·set·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-BACKEND"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">BACKEND</span></code></a>·like·so:</p>445 activate·dummy·caching,·set·<a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-BACKEND"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">BACKEND</span></code></a>·like·so:</p>
445 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">CACHES</span>·<span·class="o">=</span>·<span·class="p">{</span>446 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">CACHES</span>·<span·class="o">=</span>·<span·class="p">{</span>
446 ····<span·class="s2">&quot;default&quot;</span><span·class="p">:</span>·<span·class="p">{</span>447 ····<span·class="s2">&quot;default&quot;</span><span·class="p">:</span>·<span·class="p">{</span>
Offset 476, 15 lines modifiedOffset 477, 15 lines modified
476 behavior.·These·arguments·are·provided·as·additional·keys·in·the477 behavior.·These·arguments·are·provided·as·additional·keys·in·the
477 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CACHES</span></code></a>·setting.·Valid·arguments·are·as·follows:</p>478 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CACHES</span></code></a>·setting.·Valid·arguments·are·as·follows:</p>
478 <ul>479 <ul>
479 <li><p><a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-TIMEOUT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIMEOUT</span></code></a>:·The·default·timeout,·in480 <li><p><a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-TIMEOUT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIMEOUT</span></code></a>:·The·default·timeout,·in
480 seconds,·to·use·for·the·cache.·This·argument·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">300</span></code>·seconds·(5·minutes).481 seconds,·to·use·for·the·cache.·This·argument·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">300</span></code>·seconds·(5·minutes).
481 You·can·set·<code·class="docutils·literal·notranslate"><span·class="pre">TIMEOUT</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·so·that,·by·default,·cache·keys·never482 You·can·set·<code·class="docutils·literal·notranslate"><span·class="pre">TIMEOUT</span></code>·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·so·that,·by·default,·cache·keys·never
482 expire.·A·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>·causes·keys·to·immediately·expire·(effectively483 expire.·A·value·of·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>·causes·keys·to·immediately·expire·(effectively
483 don’t·cache).</p></li>484 don’t·cache).</p></li>
484 <li><p><a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-OPTIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">OPTIONS</span></code></a>:·Any·options·that·should·be485 <li><p><a·class="reference·internal"·href="../ref/settings.html#std-setting-CACHES-OPTIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">OPTIONS</span></code></a>:·Any·options·that·should·be
485 passed·to·the·cache·backend.·The·list·of·valid·options·will·vary486 passed·to·the·cache·backend.·The·list·of·valid·options·will·vary
486 with·each·backend,·and·cache·backends·backed·by·a·third-party·library487 with·each·backend,·and·cache·backends·backed·by·a·third-party·library
487 will·pass·their·options·directly·to·the·underlying·cache·library.</p>488 will·pass·their·options·directly·to·the·underlying·cache·library.</p>
488 <p>Cache·backends·that·implement·their·own·culling·strategy·(i.e.,489 <p>Cache·backends·that·implement·their·own·culling·strategy·(i.e.,
489 the·<code·class="docutils·literal·notranslate"><span·class="pre">locmem</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">filesystem</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">database</span></code>·backends)·will490 the·<code·class="docutils·literal·notranslate"><span·class="pre">locmem</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">filesystem</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">database</span></code>·backends)·will
490 honor·the·following·options:</p>491 honor·the·following·options:</p>
Offset 600, 17 lines modifiedOffset 601, 17 lines modified
600 ····<span·class="s2">&quot;django.middleware.cache.UpdateCacheMiddleware&quot;</span><span·class="p">,</span>601 ····<span·class="s2">&quot;django.middleware.cache.UpdateCacheMiddleware&quot;</span><span·class="p">,</span>
601 ····<span·class="s2">&quot;django.middleware.common.CommonMiddleware&quot;</span><span·class="p">,</span>602 ····<span·class="s2">&quot;django.middleware.common.CommonMiddleware&quot;</span><span·class="p">,</span>
602 ····<span·class="s2">&quot;django.middleware.cache.FetchFromCacheMiddleware&quot;</span><span·class="p">,</span>603 ····<span·class="s2">&quot;django.middleware.cache.FetchFromCacheMiddleware&quot;</span><span·class="p">,</span>
603 <span·class="p">]</span>604 <span·class="p">]</span>
604 </pre></div>605 </pre></div>
605 </div>606 </div>
606 <div·class="admonition·note">607 <div·class="admonition·note">
607 <p·class="admonition-title">Note</p>608 <p·class="admonition-title">rkus</p>
608 <p>No,·that’s·not·a·typo:·the·update·middleware·must·be·first·in·the·list,609 <p>No,·that’s·not·a·typo:·the·update·middleware·must·be·first·in·the·list,
609 and·the·fetch·middleware·must·be·last.·The·details·are·a·bit·obscure,·but610 and·the·fetch·middleware·must·be·last.·The·details·are·a·bit·obscure,·but
Max diff block lines reached; 14852/26044 bytes (57.03%) of diff not shown.
17.2 KB
html2text {}
Max HTML report size reached
9.8 KB
./usr/share/doc/python-django-doc/html/topics/checks.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>System·check·framework·&#8212;·Django·5.1.3·documentation</title>6 ····<title>System·check·framework·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="External·packages"·href="external-packages.html"·/>15 ····<link·rel="next"·title="External·packages"·href="external-packages.html"·/>
15 ····<link·rel="prev"·title="Signals"·href="signals.html"·/>16 ····<link·rel="prev"·title="Signals"·href="signals.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 166, 15 lines modifiedOffset 167, 15 lines modified
  
166 <span·class="nd">@register</span><span·class="p">(</span><span·class="n">Tags</span><span·class="o">.</span><span·class="n">compatibility</span><span·class="p">)</span>167 <span·class="nd">@register</span><span·class="p">(</span><span·class="n">Tags</span><span·class="o">.</span><span·class="n">compatibility</span><span·class="p">)</span>
167 <span·class="k">def</span>·<span·class="nf">my_check</span><span·class="p">(</span><span·class="n">app_configs</span><span·class="p">,</span>·<span·class="o">**</span><span·class="n">kwargs</span><span·class="p">):</span>168 <span·class="k">def</span>·<span·class="nf">my_check</span><span·class="p">(</span><span·class="n">app_configs</span><span·class="p">,</span>·<span·class="o">**</span><span·class="n">kwargs</span><span·class="p">):</span>
168 ····<span·class="c1">#·...·perform·compatibility·checks·and·collect·errors</span>169 ····<span·class="c1">#·...·perform·compatibility·checks·and·collect·errors</span>
169 ····<span·class="k">return</span>·<span·class="n">errors</span>170 ····<span·class="k">return</span>·<span·class="n">errors</span>
170 </pre></div>171 </pre></div>
171 </div>172 </div>
172 <p>You·can·register·deployment·checks·that·are·only·relevant·to·a·production173 <p>You·can·register·deployment·checks·that·are·only·relevant·to·a·production
173 settings·file·like·this:</p>174 settings·file·like·this:</p>
174 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="nd">@register</span><span·class="p">(</span><span·class="n">Tags</span><span·class="o">.</span><span·class="n">security</span><span·class="p">,</span>·<span·class="n">deploy</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>175 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="nd">@register</span><span·class="p">(</span><span·class="n">Tags</span><span·class="o">.</span><span·class="n">security</span><span·class="p">,</span>·<span·class="n">deploy</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>
175 <span·class="k">def</span>·<span·class="nf">my_check</span><span·class="p">(</span><span·class="n">app_configs</span><span·class="p">,</span>·<span·class="o">**</span><span·class="n">kwargs</span><span·class="p">):</span>·<span·class="o">...</span>176 <span·class="k">def</span>·<span·class="nf">my_check</span><span·class="p">(</span><span·class="n">app_configs</span><span·class="p">,</span>·<span·class="o">**</span><span·class="n">kwargs</span><span·class="p">):</span>·<span·class="o">...</span>
176 </pre></div>177 </pre></div>
177 </div>178 </div>
178 <p>These·checks·will·only·be·run·if·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-check-deploy"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">check</span>·<span·class="pre">--deploy</span></code></a>·option·is·used.</p>179 <p>These·checks·will·only·be·run·if·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-check-deploy"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">check</span>·<span·class="pre">--deploy</span></code></a>·option·is·used.</p>
179 <p>You·can·also·use·<code·class="docutils·literal·notranslate"><span·class="pre">register</span></code>·as·a·function·rather·than·a·decorator·by180 <p>You·can·also·use·<code·class="docutils·literal·notranslate"><span·class="pre">register</span></code>·as·a·function·rather·than·a·decorator·by
Offset 343, 15 lines modifiedOffset 344, 15 lines modified
343 ······344 ······
344 ········345 ········
345 ··········<div·class="yui-b"·id="sidebar">346 ··········<div·class="yui-b"·id="sidebar">
346 ············347 ············
347 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">348 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
348 ········<div·class="sphinxsidebarwrapper">349 ········<div·class="sphinxsidebarwrapper">
349 ··<div>350 ··<div>
350 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>351 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
351 ····<ul>352 ····<ul>
352 <li><a·class="reference·internal"·href="#">System·check·framework</a><ul>353 <li><a·class="reference·internal"·href="#">System·check·framework</a><ul>
353 <li><a·class="reference·internal"·href="#writing-your-own-checks">Writing·your·own·checks</a><ul>354 <li><a·class="reference·internal"·href="#writing-your-own-checks">Writing·your·own·checks</a><ul>
354 <li><a·class="reference·internal"·href="#messages">Messages</a></li>355 <li><a·class="reference·internal"·href="#messages">Messages</a></li>
355 <li><a·class="reference·internal"·href="#registering-and-labeling-checks">Registering·and·labeling·checks</a></li>356 <li><a·class="reference·internal"·href="#registering-and-labeling-checks">Registering·and·labeling·checks</a></li>
356 <li><a·class="reference·internal"·href="#field-model-manager-template-engine-and-database-checks">Field,·model,·manager,·template·engine,·and·database·checks</a></li>357 <li><a·class="reference·internal"·href="#field-model-manager-template-engine-and-database-checks">Field,·model,·manager,·template·engine,·and·database·checks</a></li>
357 <li><a·class="reference·internal"·href="#writing-tests">Writing·tests</a><ul>358 <li><a·class="reference·internal"·href="#writing-tests">Writing·tests</a><ul>
Offset 362, 37 lines modifiedOffset 363, 37 lines modified
362 </li>363 </li>
363 </ul>364 </ul>
364 </li>365 </li>
365 </ul>366 </ul>
  
366 ··</div>367 ··</div>
367 ··<div>368 ··<div>
368 ····<h4>Previous·topic</h4>369 ····<h4>Eelmine·teema</h4>
369 ····<p·class="topless"><a·href="signals.html"370 ····<p·class="topless"><a·href="signals.html"
370 ··························title="previous·chapter">Signals</a></p>371 ··························title="eelmine·jaotis">Signals</a></p>
371 ··</div>372 ··</div>
372 ··<div>373 ··<div>
373 ····<h4>Next·topic</h4>374 ····<h4>Järgmine·teema</h4>
374 ····<p·class="topless"><a·href="external-packages.html"375 ····<p·class="topless"><a·href="external-packages.html"
375 ··························title="next·chapter">External·packages</a></p>376 ··························title="järgmine·jaotis">External·packages</a></p>
376 ··</div>377 ··</div>
377 <search·id="searchbox"·style="display:·none"·role="search">378 <search·id="searchbox"·style="display:·none"·role="search">
378 ··<h3·id="searchlabel">Quick·search</h3>379 ··<h3·id="searchlabel">Kiirotsing</h3>
379 ····<div·class="searchformwrapper">380 ····<div·class="searchformwrapper">
380 ····<form·class="search"·action="../search.html"·method="get">381 ····<form·class="search"·action="../search.html"·method="get">
381 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>382 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
382 ······<input·type="submit"·value="Go"·/>383 ······<input·type="submit"·value="Otsi"·/>
383 ····</form>384 ····</form>
384 ····</div>385 ····</div>
385 </search>386 </search>
386 <script>document.getElementById('searchbox').style.display·=·"block"</script>387 <script>document.getElementById('searchbox').style.display·=·"block"</script>
387 ········</div>388 ········</div>
388 ······</div>389 ······</div>
389 ··············<h3>Last·update:</h3>390 ··············<h3>Last·update:</h3>
390 ··············<p·class="topless">Nov·05,·2024</p>391 ··············<p·class="topless">nov·05,·2024</p>
391 ··········</div>392 ··········</div>
392 ········393 ········
393 ······394 ······
394 ····</div>395 ····</div>
  
395 ····<div·id="ft">396 ····<div·id="ft">
396 ······<div·class="nav">397 ······<div·class="nav">
3.48 KB
html2text {}
Max HTML report size reached
25.1 KB
./usr/share/doc/python-django-doc/html/topics/class-based-views/generic-display.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Built-in·class-based·generic·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Built-in·class-based·generic·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Form·handling·with·class-based·views"·href="generic-editing.html"·/>15 ····<link·rel="next"·title="Form·handling·with·class-based·views"·href="generic-editing.html"·/>
15 ····<link·rel="prev"·title="Introduction·to·class-based·views"·href="intro.html"·/>16 ····<link·rel="prev"·title="Introduction·to·class-based·views"·href="intro.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 91, 17 lines modifiedOffset 92, 17 lines modified
91 write·code·that·displays·a·list·of·<em>any</em>·object.·Then·the·model·in·question·can92 write·code·that·displays·a·list·of·<em>any</em>·object.·Then·the·model·in·question·can
92 be·passed·as·an·extra·argument·to·the·URLconf.</p>93 be·passed·as·an·extra·argument·to·the·URLconf.</p>
93 <p>Django·ships·with·generic·views·to·do·the·following:</p>94 <p>Django·ships·with·generic·views·to·do·the·following:</p>
94 <ul·class="simple">95 <ul·class="simple">
95 <li><p>Display·list·and·detail·pages·for·a·single·object.·If·we·were·creating·an96 <li><p>Display·list·and·detail·pages·for·a·single·object.·If·we·were·creating·an
96 application·to·manage·conferences·then·a·<code·class="docutils·literal·notranslate"><span·class="pre">TalkListView</span></code>·and·a97 application·to·manage·conferences·then·a·<code·class="docutils·literal·notranslate"><span·class="pre">TalkListView</span></code>·and·a
97 <code·class="docutils·literal·notranslate"><span·class="pre">RegisteredUserListView</span></code>·would·be·examples·of·list·views.·A·single98 <code·class="docutils·literal·notranslate"><span·class="pre">RegisteredUserListView</span></code>·would·be·examples·of·list·views.·A·single
98 talk·page·is·an·example·of·what·we·call·a·detail·view.</p></li>99 talk·page·is·an·example·of·what·we·call·a·detail·view.</p></li>
99 <li><p>Present·date-based·objects·in·year/month/day·archive·pages,100 <li><p>Present·date-based·objects·in·year/month/day·archive·pages,
100 associated·detail,·and·latest·pages.</p></li>101 associated·detail,·and·latest·pages.</p></li>
101 <li><p>Allow·users·to·create,·update,·and·delete·objects··with·or102 <li><p>Allow·users·to·create,·update,·and·delete·objects··with·or
102 without·authorization.</p></li>103 without·authorization.</p></li>
103 </ul>104 </ul>
104 <p>Taken·together,·these·views·provide·interfaces·to·perform·the·most·common·tasks105 <p>Taken·together,·these·views·provide·interfaces·to·perform·the·most·common·tasks
105 developers·encounter.</p>106 developers·encounter.</p>
106 <section·id="s-extending-generic-views">107 <section·id="s-extending-generic-views">
107 <span·id="extending-generic-views"></span><h2>Extending·generic·views<a·class="headerlink"·href="#extending-generic-views"·title="Link·to·this·heading">¶</a></h2>108 <span·id="extending-generic-views"></span><h2>Extending·generic·views<a·class="headerlink"·href="#extending-generic-views"·title="Link·to·this·heading">¶</a></h2>
Offset 187, 19 lines modifiedOffset 188, 19 lines modified
187 <span·class="p">]</span>188 <span·class="p">]</span>
188 </pre></div>189 </pre></div>
189 </div>190 </div>
190 <p>That’s·all·the·Python·code·we·need·to·write.·We·still·need·to·write·a·template,191 <p>That’s·all·the·Python·code·we·need·to·write.·We·still·need·to·write·a·template,
191 however.·We·could·explicitly·tell·the·view·which·template·to·use·by·adding·a192 however.·We·could·explicitly·tell·the·view·which·template·to·use·by·adding·a
192 <code·class="docutils·literal·notranslate"><span·class="pre">template_name</span></code>·attribute·to·the·view,·but·in·the·absence·of·an·explicit193 <code·class="docutils·literal·notranslate"><span·class="pre">template_name</span></code>·attribute·to·the·view,·but·in·the·absence·of·an·explicit
193 template·Django·will·infer·one·from·the·object’s·name.·In·this·case,·the194 template·Django·will·infer·one·from·the·object’s·name.·In·this·case,·the
194 inferred·template·will·be·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;books/publisher_list.html&quot;</span></code>··the·books·part195 inferred·template·will·be·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;books/publisher_list.html&quot;</span></code>··the·books·part
195 comes·from·the·name·of·the·app·that·defines·the·model,·while·the·publisher196 comes·from·the·name·of·the·app·that·defines·the·model,·while·the·publisher
196 bit·is·the·lowercased·version·of·the·model’s·name.</p>197 bit·is·the·lowercased·version·of·the·model’s·name.</p>
197 <div·class="admonition·note">198 <div·class="admonition·note">
198 <p·class="admonition-title">Note</p>199 <p·class="admonition-title">rkus</p>
199 <p>Thus,·when·(for·example)·the·<code·class="docutils·literal·notranslate"><span·class="pre">APP_DIRS</span></code>·option·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code>200 <p>Thus,·when·(for·example)·the·<code·class="docutils·literal·notranslate"><span·class="pre">APP_DIRS</span></code>·option·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">DjangoTemplates</span></code>
200 backend·is·set·to·True·in·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TEMPLATES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEMPLATES</span></code></a>,·a·template·location·could201 backend·is·set·to·True·in·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TEMPLATES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEMPLATES</span></code></a>,·a·template·location·could
201 be:·/path/to/project/books/templates/books/publisher_list.html</p>202 be:·/path/to/project/books/templates/books/publisher_list.html</p>
202 </div>203 </div>
203 <p>This·template·will·be·rendered·against·a·context·containing·a·variable·called204 <p>This·template·will·be·rendered·against·a·context·containing·a·variable·called
204 <code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·that·contains·all·the·publisher·objects.·A·template·might·look205 <code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·that·contains·all·the·publisher·objects.·A·template·might·look
205 like·this:</p>206 like·this:</p>
Offset 217, 22 lines modifiedOffset 218, 22 lines modified
217 </div>218 </div>
218 <p>That’s·really·all·there·is·to·it.·All·the·cool·features·of·generic·views·come219 <p>That’s·really·all·there·is·to·it.·All·the·cool·features·of·generic·views·come
219 from·changing·the·attributes·set·on·the·generic·view.·The220 from·changing·the·attributes·set·on·the·generic·view.·The
220 <a·class="reference·internal"·href="../../ref/class-based-views/index.html"><span·class="doc">generic·views·reference</span></a>·documents·all·the221 <a·class="reference·internal"·href="../../ref/class-based-views/index.html"><span·class="doc">generic·views·reference</span></a>·documents·all·the
221 generic·views·and·their·options·in·detail;·the·rest·of·this·document·will222 generic·views·and·their·options·in·detail;·the·rest·of·this·document·will
222 consider·some·of·the·common·ways·you·might·customize·and·extend·generic·views.</p>223 consider·some·of·the·common·ways·you·might·customize·and·extend·generic·views.</p>
223 <section·id="s-making-friendly-template-contexts">224 <section·id="s-making-friendly-template-contexts">
224 <span·id="making-friendly-template-contexts"></span><h3>Making·friendly·template·contexts<a·class="headerlink"·href="#making-friendly-template-contexts"·title="Link·to·this·heading">¶</a></h3>225 <span·id="making-friendly-template-contexts"></span><h3>Making·friendly·template·contexts<a·class="headerlink"·href="#making-friendly-template-contexts"·title="Link·to·this·heading">¶</a></h3>
225 <p>You·might·have·noticed·that·our·sample·publisher·list·template·stores·all·the226 <p>You·might·have·noticed·that·our·sample·publisher·list·template·stores·all·the
226 publishers·in·a·variable·named·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>.·While·this·works·just·fine,·it227 publishers·in·a·variable·named·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>.·While·this·works·just·fine,·it
227 isn’t·all·that·friendly·to·template·authors:·they·have·to·just·know·that228 isn’t·all·that·friendly·to·template·authors:·they·have·to·just·know·that
228 they’re·dealing·with·publishers·here.</p>229 they’re·dealing·with·publishers·here.</p>
229 <p>Well,·if·you’re·dealing·with·a·model·object,·this·is·already·done·for·you.·When230 <p>Well,·if·you’re·dealing·with·a·model·object,·this·is·already·done·for·you.·When
230 you·are·dealing·with·an·object·or·queryset,·Django·is·able·to·populate·the231 you·are·dealing·with·an·object·or·queryset,·Django·is·able·to·populate·the
231 context·using·the·lowercased·version·of·the·model·class·name.·This·is·provided232 context·using·the·lowercased·version·of·the·model·class·name.·This·is·provided
232 in·addition·to·the·default·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·entry,·but·contains·exactly·the·same233 in·addition·to·the·default·<code·class="docutils·literal·notranslate"><span·class="pre">object_list</span></code>·entry,·but·contains·exactly·the·same
233 data,·i.e.·<code·class="docutils·literal·notranslate"><span·class="pre">publisher_list</span></code>.</p>234 data,·i.e.·<code·class="docutils·literal·notranslate"><span·class="pre">publisher_list</span></code>.</p>
234 <p>If·this·still·isn’t·a·good·match,·you·can·manually·set·the·name·of·the235 <p>If·this·still·isn’t·a·good·match,·you·can·manually·set·the·name·of·the
235 context·variable.·The·<code·class="docutils·literal·notranslate"><span·class="pre">context_object_name</span></code>·attribute·on·a·generic·view236 context·variable.·The·<code·class="docutils·literal·notranslate"><span·class="pre">context_object_name</span></code>·attribute·on·a·generic·view
236 specifies·the·context·variable·to·use:</p>237 specifies·the·context·variable·to·use:</p>
237 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·views.py</span>238 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·views.py</span>
238 <span·class="kn">from</span>·<span·class="nn">django.views.generic</span>·<span·class="kn">import</span>·<span·class="n">ListView</span>239 <span·class="kn">from</span>·<span·class="nn">django.views.generic</span>·<span·class="kn">import</span>·<span·class="n">ListView</span>
Offset 270, 15 lines modifiedOffset 271, 15 lines modified
270 ········<span·class="n">context</span>·<span·class="o">=</span>·<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">get_context_data</span><span·class="p">(</span><span·class="o">**</span><span·class="n">kwargs</span><span·class="p">)</span>271 ········<span·class="n">context</span>·<span·class="o">=</span>·<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">get_context_data</span><span·class="p">(</span><span·class="o">**</span><span·class="n">kwargs</span><span·class="p">)</span>
271 ········<span·class="c1">#·Add·in·a·QuerySet·of·all·the·books</span>272 ········<span·class="c1">#·Add·in·a·QuerySet·of·all·the·books</span>
272 ········<span·class="n">context</span><span·class="p">[</span><span·class="s2">&quot;book_list&quot;</span><span·class="p">]</span>·<span·class="o">=</span>·<span·class="n">Book</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>273 ········<span·class="n">context</span><span·class="p">[</span><span·class="s2">&quot;book_list&quot;</span><span·class="p">]</span>·<span·class="o">=</span>·<span·class="n">Book</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>
273 ········<span·class="k">return</span>·<span·class="n">context</span>274 ········<span·class="k">return</span>·<span·class="n">context</span>
274 </pre></div>275 </pre></div>
275 </div>276 </div>
276 <div·class="admonition·note">277 <div·class="admonition·note">
277 <p·class="admonition-title">Note</p>278 <p·class="admonition-title">rkus</p>
278 <p>Generally,·<code·class="docutils·literal·notranslate"><span·class="pre">get_context_data</span></code>·will·merge·the·context·data·of·all·parent279 <p>Generally,·<code·class="docutils·literal·notranslate"><span·class="pre">get_context_data</span></code>·will·merge·the·context·data·of·all·parent
279 classes·with·those·of·the·current·class.·To·preserve·this·behavior·in·your280 classes·with·those·of·the·current·class.·To·preserve·this·behavior·in·your
280 own·classes·where·you·want·to·alter·the·context,·you·should·be·sure·to·call281 own·classes·where·you·want·to·alter·the·context,·you·should·be·sure·to·call
281 <code·class="docutils·literal·notranslate"><span·class="pre">get_context_data</span></code>·on·the·super·class.·When·no·two·classes·try·to·define·the282 <code·class="docutils·literal·notranslate"><span·class="pre">get_context_data</span></code>·on·the·super·class.·When·no·two·classes·try·to·define·the
282 same·key,·this·will·give·the·expected·results.·However·if·any·class283 same·key,·this·will·give·the·expected·results.·However·if·any·class
283 attempts·to·override·a·key·after·parent·classes·have·set·it·(after·the·call284 attempts·to·override·a·key·after·parent·classes·have·set·it·(after·the·call
284 to·super),·any·children·of·that·class·will·also·need·to·explicitly·set·it285 to·super),·any·children·of·that·class·will·also·need·to·explicitly·set·it
Offset 337, 23 lines modifiedOffset 338, 23 lines modified
337 ····<span·class="n">context_object_name</span>·<span·class="o">=</span>·<span·class="s2">&quot;book_list&quot;</span>338 ····<span·class="n">context_object_name</span>·<span·class="o">=</span>·<span·class="s2">&quot;book_list&quot;</span>
338 ····<span·class="n">queryset</span>·<span·class="o">=</span>·<span·class="n">Book</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">publisher__name</span><span·class="o">=</span><span·class="s2">&quot;ACME·Publishing&quot;</span><span·class="p">)</span>339 ····<span·class="n">queryset</span>·<span·class="o">=</span>·<span·class="n">Book</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">publisher__name</span><span·class="o">=</span><span·class="s2">&quot;ACME·Publishing&quot;</span><span·class="p">)</span>
339 ····<span·class="n">template_name</span>·<span·class="o">=</span>·<span·class="s2">&quot;books/acme_list.html&quot;</span>340 ····<span·class="n">template_name</span>·<span·class="o">=</span>·<span·class="s2">&quot;books/acme_list.html&quot;</span>
340 </pre></div>341 </pre></div>
341 </div>342 </div>
342 <p>Notice·that·along·with·a·filtered·<code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>,·we’re·also·using·a·custom343 <p>Notice·that·along·with·a·filtered·<code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>,·we’re·also·using·a·custom
343 template·name.·If·we·didn’t,·the·generic·view·would·use·the·same·template·as·the344 template·name.·If·we·didn’t,·the·generic·view·would·use·the·same·template·as·the
344 vanilla·object·list,·which·might·not·be·what·we·want.</p>345 vanilla·object·list,·which·might·not·be·what·we·want.</p>
345 <p>Also·notice·that·this·isn’t·a·very·elegant·way·of·doing·publisher-specific346 <p>Also·notice·that·this·isn’t·a·very·elegant·way·of·doing·publisher-specific
346 books.·If·we·want·to·add·another·publisher·page,·we’d·need·another·handful·of347 books.·If·we·want·to·add·another·publisher·page,·we’d·need·another·handful·of
Max diff block lines reached; 5104/15807 bytes (32.29%) of diff not shown.
9.5 KB
html2text {}
Max HTML report size reached
19.0 KB
./usr/share/doc/python-django-doc/html/topics/class-based-views/generic-editing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Form·handling·with·class-based·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Form·handling·with·class-based·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Using·mixins·with·class-based·views"·href="mixins.html"·/>15 ····<link·rel="next"·title="Using·mixins·with·class-based·views"·href="mixins.html"·/>
15 ····<link·rel="prev"·title="Built-in·class-based·generic·views"·href="generic-display.html"·/>16 ····<link·rel="prev"·title="Built-in·class-based·generic·views"·href="generic-display.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 159, 15 lines modifiedOffset 160, 15 lines modified
159 <a·class="reference·internal"·href="../../ref/class-based-views/generic-editing.html#django.views.generic.edit.CreateView"·title="django.views.generic.edit.CreateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CreateView</span></code></a>·or160 <a·class="reference·internal"·href="../../ref/class-based-views/generic-editing.html#django.views.generic.edit.CreateView"·title="django.views.generic.edit.CreateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CreateView</span></code></a>·or
160 <a·class="reference·internal"·href="../../ref/class-based-views/generic-editing.html#django.views.generic.edit.UpdateView"·title="django.views.generic.edit.UpdateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UpdateView</span></code></a>·-·they·will·use161 <a·class="reference·internal"·href="../../ref/class-based-views/generic-editing.html#django.views.generic.edit.UpdateView"·title="django.views.generic.edit.UpdateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UpdateView</span></code></a>·-·they·will·use
161 <a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.get_absolute_url"·title="django.db.models.Model.get_absolute_url"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code></a>·on·the·model·object·if·available.</p>162 <a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.get_absolute_url"·title="django.db.models.Model.get_absolute_url"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code></a>·on·the·model·object·if·available.</p>
162 <p>If·you·want·to·use·a·custom·<a·class="reference·internal"·href="../forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>·(for·instance·to163 <p>If·you·want·to·use·a·custom·<a·class="reference·internal"·href="../forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>·(for·instance·to
163 add·extra·validation),·set164 add·extra·validation),·set
164 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.form_class"·title="django.views.generic.edit.FormMixin.form_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">form_class</span></code></a>·on·your·view.</p>165 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.form_class"·title="django.views.generic.edit.FormMixin.form_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">form_class</span></code></a>·on·your·view.</p>
165 <div·class="admonition·note">166 <div·class="admonition·note">
166 <p·class="admonition-title">Note</p>167 <p·class="admonition-title">rkus</p>
167 <p>When·specifying·a·custom·form·class,·you·must·still·specify·the·model,168 <p>When·specifying·a·custom·form·class,·you·must·still·specify·the·model,
168 even·though·the·<a·class="reference·internal"·href="../../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.form_class"·title="django.views.generic.edit.FormMixin.form_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">form_class</span></code></a>·may169 even·though·the·<a·class="reference·internal"·href="../../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin.form_class"·title="django.views.generic.edit.FormMixin.form_class"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">form_class</span></code></a>·may
169 be·a·<a·class="reference·internal"·href="../forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>.</p>170 be·a·<a·class="reference·internal"·href="../forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>.</p>
170 </div>171 </div>
171 <p>First·we·need·to·add·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.get_absolute_url"·title="django.db.models.Model.get_absolute_url"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code></a>·to·our172 <p>First·we·need·to·add·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.get_absolute_url"·title="django.db.models.Model.get_absolute_url"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code></a>·to·our
172 <code·class="docutils·literal·notranslate"><span·class="pre">Author</span></code>·class:</p>173 <code·class="docutils·literal·notranslate"><span·class="pre">Author</span></code>·class:</p>
173 <div·class="literal-block-wrapper·docutils·container"·id="id4">174 <div·class="literal-block-wrapper·docutils·container"·id="id4">
Offset 207, 15 lines modifiedOffset 208, 15 lines modified
207 <span·class="k">class</span>·<span·class="nc">AuthorDeleteView</span><span·class="p">(</span><span·class="n">DeleteView</span><span·class="p">):</span>208 <span·class="k">class</span>·<span·class="nc">AuthorDeleteView</span><span·class="p">(</span><span·class="n">DeleteView</span><span·class="p">):</span>
208 ····<span·class="n">model</span>·<span·class="o">=</span>·<span·class="n">Author</span>209 ····<span·class="n">model</span>·<span·class="o">=</span>·<span·class="n">Author</span>
209 ····<span·class="n">success_url</span>·<span·class="o">=</span>·<span·class="n">reverse_lazy</span><span·class="p">(</span><span·class="s2">&quot;author-list&quot;</span><span·class="p">)</span>210 ····<span·class="n">success_url</span>·<span·class="o">=</span>·<span·class="n">reverse_lazy</span><span·class="p">(</span><span·class="s2">&quot;author-list&quot;</span><span·class="p">)</span>
210 </pre></div>211 </pre></div>
211 </div>212 </div>
212 </div>213 </div>
213 <div·class="admonition·note">214 <div·class="admonition·note">
214 <p·class="admonition-title">Note</p>215 <p·class="admonition-title">rkus</p>
215 <p>We·have·to·use·<a·class="reference·internal"·href="../../ref/urlresolvers.html#django.urls.reverse_lazy"·title="django.urls.reverse_lazy"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse_lazy()</span></code></a>·instead·of216 <p>We·have·to·use·<a·class="reference·internal"·href="../../ref/urlresolvers.html#django.urls.reverse_lazy"·title="django.urls.reverse_lazy"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse_lazy()</span></code></a>·instead·of
216 <code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>,·as·the·urls·are·not·loaded·when·the·file·is·imported.</p>217 <code·class="docutils·literal·notranslate"><span·class="pre">reverse()</span></code>,·as·the·urls·are·not·loaded·when·the·file·is·imported.</p>
217 </div>218 </div>
218 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·attribute·works·the·same·way·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·attribute·on·the219 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·attribute·works·the·same·way·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·attribute·on·the
219 inner·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·class·on·<a·class="reference·internal"·href="../forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>.·Unless·you·define·the220 inner·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·class·on·<a·class="reference·internal"·href="../forms/modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>.·Unless·you·define·the
220 form·class·in·another·way,·the·attribute·is·required·and·the·view·will·raise221 form·class·in·another·way,·the·attribute·is·required·and·the·view·will·raise
221 an·<a·class="reference·internal"·href="../../ref/exceptions.html#django.core.exceptions.ImproperlyConfigured"·title="django.core.exceptions.ImproperlyConfigured"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ImproperlyConfigured</span></code></a>·exception·if·it’s·not.</p>222 an·<a·class="reference·internal"·href="../../ref/exceptions.html#django.core.exceptions.ImproperlyConfigured"·title="django.core.exceptions.ImproperlyConfigured"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">ImproperlyConfigured</span></code></a>·exception·if·it’s·not.</p>
Offset 234, 15 lines modifiedOffset 235, 15 lines modified
234 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;author/&lt;int:pk&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">AuthorUpdateView</span><span·class="o">.</span><span·class="n">as_view</span><span·class="p">(),</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;author-update&quot;</span><span·class="p">),</span>235 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;author/&lt;int:pk&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">AuthorUpdateView</span><span·class="o">.</span><span·class="n">as_view</span><span·class="p">(),</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;author-update&quot;</span><span·class="p">),</span>
235 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;author/&lt;int:pk&gt;/delete/&quot;</span><span·class="p">,</span>·<span·class="n">AuthorDeleteView</span><span·class="o">.</span><span·class="n">as_view</span><span·class="p">(),</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;author-delete&quot;</span><span·class="p">),</span>236 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;author/&lt;int:pk&gt;/delete/&quot;</span><span·class="p">,</span>·<span·class="n">AuthorDeleteView</span><span·class="o">.</span><span·class="n">as_view</span><span·class="p">(),</span>·<span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;author-delete&quot;</span><span·class="p">),</span>
236 <span·class="p">]</span>237 <span·class="p">]</span>
237 </pre></div>238 </pre></div>
238 </div>239 </div>
239 </div>240 </div>
240 <div·class="admonition·note">241 <div·class="admonition·note">
241 <p·class="admonition-title">Note</p>242 <p·class="admonition-title">rkus</p>
242 <p>These·views·inherit243 <p>These·views·inherit
243 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectTemplateResponseMixin"·title="django.views.generic.detail.SingleObjectTemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SingleObjectTemplateResponseMixin</span></code></a>244 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectTemplateResponseMixin"·title="django.views.generic.detail.SingleObjectTemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SingleObjectTemplateResponseMixin</span></code></a>
244 which·uses245 which·uses
245 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_suffix"·title="django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_suffix"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">template_name_suffix</span></code></a>246 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_suffix"·title="django.views.generic.detail.SingleObjectTemplateResponseMixin.template_name_suffix"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">template_name_suffix</span></code></a>
246 to·construct·the247 to·construct·the
247 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-simple.html#django.views.generic.base.TemplateResponseMixin.template_name"·title="django.views.generic.base.TemplateResponseMixin.template_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">template_name</span></code></a>248 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-simple.html#django.views.generic.base.TemplateResponseMixin.template_name"·title="django.views.generic.base.TemplateResponseMixin.template_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">template_name</span></code></a>
248 based·on·the·model.</p>249 based·on·the·model.</p>
Offset 300, 15 lines modifiedOffset 301, 15 lines modified
300 <p><a·class="reference·internal"·href="../auth/default.html#django.contrib.auth.mixins.LoginRequiredMixin"·title="django.contrib.auth.mixins.LoginRequiredMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LoginRequiredMixin</span></code></a>·prevents·users·who301 <p><a·class="reference·internal"·href="../auth/default.html#django.contrib.auth.mixins.LoginRequiredMixin"·title="django.contrib.auth.mixins.LoginRequiredMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LoginRequiredMixin</span></code></a>·prevents·users·who
301 aren’t·logged·in·from·accessing·the·form.·If·you·omit·that,·you’ll·need·to302 aren’t·logged·in·from·accessing·the·form.·If·you·omit·that,·you’ll·need·to
302 handle·unauthorized·users·in·<a·class="reference·internal"·href="../../ref/class-based-views/mixins-editing.html#django.views.generic.edit.ModelFormMixin.form_valid"·title="django.views.generic.edit.ModelFormMixin.form_valid"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">form_valid()</span></code></a>.</p>303 handle·unauthorized·users·in·<a·class="reference·internal"·href="../../ref/class-based-views/mixins-editing.html#django.views.generic.edit.ModelFormMixin.form_valid"·title="django.views.generic.edit.ModelFormMixin.form_valid"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">form_valid()</span></code></a>.</p>
303 </section>304 </section>
304 <section·id="s-content-negotiation-example">305 <section·id="s-content-negotiation-example">
305 <span·id="s-id1"></span><span·id="content-negotiation-example"></span><span·id="id1"></span><h2>Content·negotiation·example<a·class="headerlink"·href="#content-negotiation-example"·title="Link·to·this·heading">¶</a></h2>306 <span·id="s-id1"></span><span·id="content-negotiation-example"></span><span·id="id1"></span><h2>Content·negotiation·example<a·class="headerlink"·href="#content-negotiation-example"·title="Link·to·this·heading">¶</a></h2>
306 <p>Here·is·an·example·showing·how·you·might·go·about·implementing·a·form·that307 <p>Here·is·an·example·showing·how·you·might·go·about·implementing·a·form·that
307 works·with·an·API-based·workflow·as·well·as·normal·form·POSTs:</p>308 works·with·an·API-based·workflow·as·well·as·normal·form·POSTs:</p>
308 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">JsonResponse</span>309 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">JsonResponse</span>
309 <span·class="kn">from</span>·<span·class="nn">django.views.generic.edit</span>·<span·class="kn">import</span>·<span·class="n">CreateView</span>310 <span·class="kn">from</span>·<span·class="nn">django.views.generic.edit</span>·<span·class="kn">import</span>·<span·class="n">CreateView</span>
310 <span·class="kn">from</span>·<span·class="nn">myapp.models</span>·<span·class="kn">import</span>·<span·class="n">Author</span>311 <span·class="kn">from</span>·<span·class="nn">myapp.models</span>·<span·class="kn">import</span>·<span·class="n">Author</span>
  
  
311 <span·class="k">class</span>·<span·class="nc">JsonableResponseMixin</span><span·class="p">:</span>312 <span·class="k">class</span>·<span·class="nc">JsonableResponseMixin</span><span·class="p">:</span>
312 <span·class="w">····</span><span·class="sd">&quot;&quot;&quot;</span>313 <span·class="w">····</span><span·class="sd">&quot;&quot;&quot;</span>
Offset 352, 50 lines modifiedOffset 353, 50 lines modified
352 ······353 ······
353 ········354 ········
354 ··········<div·class="yui-b"·id="sidebar">355 ··········<div·class="yui-b"·id="sidebar">
355 ············356 ············
356 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">357 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
357 ········<div·class="sphinxsidebarwrapper">358 ········<div·class="sphinxsidebarwrapper">
358 ··<div>359 ··<div>
359 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>360 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
360 ····<ul>361 ····<ul>
361 <li><a·class="reference·internal"·href="#">Form·handling·with·class-based·views</a><ul>362 <li><a·class="reference·internal"·href="#">Form·handling·with·class-based·views</a><ul>
362 <li><a·class="reference·internal"·href="#basic-forms">Basic·forms</a></li>363 <li><a·class="reference·internal"·href="#basic-forms">Basic·forms</a></li>
363 <li><a·class="reference·internal"·href="#model-forms">Model·forms</a></li>364 <li><a·class="reference·internal"·href="#model-forms">Model·forms</a></li>
364 <li><a·class="reference·internal"·href="#models-and-request-user">Models·and·<code·class="docutils·literal·notranslate"><span·class="pre">request.user</span></code></a></li>365 <li><a·class="reference·internal"·href="#models-and-request-user">Models·and·<code·class="docutils·literal·notranslate"><span·class="pre">request.user</span></code></a></li>
365 <li><a·class="reference·internal"·href="#content-negotiation-example">Content·negotiation·example</a></li>366 <li><a·class="reference·internal"·href="#content-negotiation-example">Content·negotiation·example</a></li>
366 </ul>367 </ul>
367 </li>368 </li>
368 </ul>369 </ul>
  
369 ··</div>370 ··</div>
370 ··<div>371 ··<div>
371 ····<h4>Previous·topic</h4>372 ····<h4>Eelmine·teema</h4>
372 ····<p·class="topless"><a·href="generic-display.html"373 ····<p·class="topless"><a·href="generic-display.html"
373 ··························title="previous·chapter">Built-in·class-based·generic·views</a></p>374 ··························title="eelmine·jaotis">Built-in·class-based·generic·views</a></p>
Max diff block lines reached; 1161/13319 bytes (8.72%) of diff not shown.
5.87 KB
html2text {}
Max HTML report size reached
7.43 KB
./usr/share/doc/python-django-doc/html/topics/class-based-views/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Class-based·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Class-based·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Introduction·to·class-based·views"·href="intro.html"·/>15 ····<link·rel="next"·title="Introduction·to·class-based·views"·href="intro.html"·/>
15 ····<link·rel="prev"·title="Templates"·href="../templates.html"·/>16 ····<link·rel="prev"·title="Templates"·href="../templates.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 235, 15 lines modifiedOffset 236, 15 lines modified
235 ······236 ······
236 ········237 ········
237 ··········<div·class="yui-b"·id="sidebar">238 ··········<div·class="yui-b"·id="sidebar">
238 ············239 ············
239 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">240 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
240 ········<div·class="sphinxsidebarwrapper">241 ········<div·class="sphinxsidebarwrapper">
241 ··<div>242 ··<div>
242 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>243 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
243 ····<ul>244 ····<ul>
244 <li><a·class="reference·internal"·href="#">Class-based·views</a><ul>245 <li><a·class="reference·internal"·href="#">Class-based·views</a><ul>
245 <li><a·class="reference·internal"·href="#basic-examples">Basic·examples</a></li>246 <li><a·class="reference·internal"·href="#basic-examples">Basic·examples</a></li>
246 <li><a·class="reference·internal"·href="#usage-in-your-urlconf">Usage·in·your·URLconf</a></li>247 <li><a·class="reference·internal"·href="#usage-in-your-urlconf">Usage·in·your·URLconf</a></li>
247 <li><a·class="reference·internal"·href="#subclassing-generic-views">Subclassing·generic·views</a><ul>248 <li><a·class="reference·internal"·href="#subclassing-generic-views">Subclassing·generic·views</a><ul>
248 <li><a·class="reference·internal"·href="#supporting-other-http-methods">Supporting·other·HTTP·methods</a></li>249 <li><a·class="reference·internal"·href="#supporting-other-http-methods">Supporting·other·HTTP·methods</a></li>
249 </ul>250 </ul>
Offset 251, 37 lines modifiedOffset 252, 37 lines modified
251 <li><a·class="reference·internal"·href="#asynchronous-class-based-views">Asynchronous·class-based·views</a></li>252 <li><a·class="reference·internal"·href="#asynchronous-class-based-views">Asynchronous·class-based·views</a></li>
252 </ul>253 </ul>
253 </li>254 </li>
254 </ul>255 </ul>
  
255 ··</div>256 ··</div>
256 ··<div>257 ··<div>
257 ····<h4>Previous·topic</h4>258 ····<h4>Eelmine·teema</h4>
258 ····<p·class="topless"><a·href="../templates.html"259 ····<p·class="topless"><a·href="../templates.html"
259 ··························title="previous·chapter">Templates</a></p>260 ··························title="eelmine·jaotis">Templates</a></p>
260 ··</div>261 ··</div>
261 ··<div>262 ··<div>
262 ····<h4>Next·topic</h4>263 ····<h4>Järgmine·teema</h4>
263 ····<p·class="topless"><a·href="intro.html"264 ····<p·class="topless"><a·href="intro.html"
264 ··························title="next·chapter">Introduction·to·class-based·views</a></p>265 ··························title="järgmine·jaotis">Introduction·to·class-based·views</a></p>
265 ··</div>266 ··</div>
266 <search·id="searchbox"·style="display:·none"·role="search">267 <search·id="searchbox"·style="display:·none"·role="search">
267 ··<h3·id="searchlabel">Quick·search</h3>268 ··<h3·id="searchlabel">Kiirotsing</h3>
268 ····<div·class="searchformwrapper">269 ····<div·class="searchformwrapper">
269 ····<form·class="search"·action="../../search.html"·method="get">270 ····<form·class="search"·action="../../search.html"·method="get">
270 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>271 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
271 ······<input·type="submit"·value="Go"·/>272 ······<input·type="submit"·value="Otsi"·/>
272 ····</form>273 ····</form>
273 ····</div>274 ····</div>
274 </search>275 </search>
275 <script>document.getElementById('searchbox').style.display·=·"block"</script>276 <script>document.getElementById('searchbox').style.display·=·"block"</script>
276 ········</div>277 ········</div>
277 ······</div>278 ······</div>
278 ··············<h3>Last·update:</h3>279 ··············<h3>Last·update:</h3>
279 ··············<p·class="topless">Nov·05,·2024</p>280 ··············<p·class="topless">nov·05,·2024</p>
280 ··········</div>281 ··········</div>
281 ········282 ········
282 ······283 ······
283 ····</div>284 ····</div>
  
284 ····<div·id="ft">285 ····<div·id="ft">
285 ······<div·class="nav">286 ······<div·class="nav">
2.8 KB
html2text {}
Max HTML report size reached
12.0 KB
./usr/share/doc/python-django-doc/html/topics/class-based-views/intro.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Introduction·to·class-based·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Introduction·to·class-based·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Built-in·class-based·generic·views"·href="generic-display.html"·/>15 ····<link·rel="next"·title="Built-in·class-based·generic·views"·href="generic-display.html"·/>
15 ····<link·rel="prev"·title="Class-based·views"·href="index.html"·/>16 ····<link·rel="prev"·title="Class-based·views"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 199, 15 lines modifiedOffset 200, 15 lines modified
199 <a·class="reference·internal"·href="../../ref/class-based-views/base.html#django.views.generic.base.View.as_view"·title="django.views.generic.base.View.as_view"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">as_view()</span></code></a>·call·in·the·URLconf:</p>200 <a·class="reference·internal"·href="../../ref/class-based-views/base.html#django.views.generic.base.View.as_view"·title="django.views.generic.base.View.as_view"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">as_view()</span></code></a>·call·in·the·URLconf:</p>
200 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>201 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>
201 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;about/&quot;</span><span·class="p">,</span>·<span·class="n">GreetingView</span><span·class="o">.</span><span·class="n">as_view</span><span·class="p">(</span><span·class="n">greeting</span><span·class="o">=</span><span·class="s2">&quot;G&#39;day&quot;</span><span·class="p">)),</span>202 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;about/&quot;</span><span·class="p">,</span>·<span·class="n">GreetingView</span><span·class="o">.</span><span·class="n">as_view</span><span·class="p">(</span><span·class="n">greeting</span><span·class="o">=</span><span·class="s2">&quot;G&#39;day&quot;</span><span·class="p">)),</span>
202 <span·class="p">]</span>203 <span·class="p">]</span>
203 </pre></div>204 </pre></div>
204 </div>205 </div>
205 <div·class="admonition·note">206 <div·class="admonition·note">
206 <p·class="admonition-title">Note</p>207 <p·class="admonition-title">rkus</p>
207 <p>While·your·class·is·instantiated·for·each·request·dispatched·to·it,·class208 <p>While·your·class·is·instantiated·for·each·request·dispatched·to·it,·class
208 attributes·set·through·the209 attributes·set·through·the
209 <a·class="reference·internal"·href="../../ref/class-based-views/base.html#django.views.generic.base.View.as_view"·title="django.views.generic.base.View.as_view"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">as_view()</span></code></a>·entry·point·are210 <a·class="reference·internal"·href="../../ref/class-based-views/base.html#django.views.generic.base.View.as_view"·title="django.views.generic.base.View.as_view"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">as_view()</span></code></a>·entry·point·are
210 configured·only·once·at·the·time·your·URLs·are·imported.</p>211 configured·only·once·at·the·time·your·URLs·are·imported.</p>
211 </div>212 </div>
212 </section>213 </section>
213 <section·id="s-using-mixins">214 <section·id="s-using-mixins">
Offset 367, 15 lines modifiedOffset 368, 15 lines modified
367 decorator.·In·the·example,·<code·class="docutils·literal·notranslate"><span·class="pre">never_cache()</span></code>·will·process·the·request·before368 decorator.·In·the·example,·<code·class="docutils·literal·notranslate"><span·class="pre">never_cache()</span></code>·will·process·the·request·before
368 <code·class="docutils·literal·notranslate"><span·class="pre">login_required()</span></code>.</p>369 <code·class="docutils·literal·notranslate"><span·class="pre">login_required()</span></code>.</p>
369 <p>In·this·example,·every·instance·of·<code·class="docutils·literal·notranslate"><span·class="pre">ProtectedView</span></code>·will·have·login370 <p>In·this·example,·every·instance·of·<code·class="docutils·literal·notranslate"><span·class="pre">ProtectedView</span></code>·will·have·login
370 protection.·These·examples·use·<code·class="docutils·literal·notranslate"><span·class="pre">login_required</span></code>,·however,·the·same·behavior371 protection.·These·examples·use·<code·class="docutils·literal·notranslate"><span·class="pre">login_required</span></code>,·however,·the·same·behavior
371 can·be·obtained·by·using372 can·be·obtained·by·using
372 <a·class="reference·internal"·href="../auth/default.html#django.contrib.auth.mixins.LoginRequiredMixin"·title="django.contrib.auth.mixins.LoginRequiredMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LoginRequiredMixin</span></code></a>.</p>373 <a·class="reference·internal"·href="../auth/default.html#django.contrib.auth.mixins.LoginRequiredMixin"·title="django.contrib.auth.mixins.LoginRequiredMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">LoginRequiredMixin</span></code></a>.</p>
373 <div·class="admonition·note">374 <div·class="admonition·note">
374 <p·class="admonition-title">Note</p>375 <p·class="admonition-title">rkus</p>
375 <p><code·class="docutils·literal·notranslate"><span·class="pre">method_decorator</span></code>·passes·<code·class="docutils·literal·notranslate"><span·class="pre">*args</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>376 <p><code·class="docutils·literal·notranslate"><span·class="pre">method_decorator</span></code>·passes·<code·class="docutils·literal·notranslate"><span·class="pre">*args</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">**kwargs</span></code>
376 as·parameters·to·the·decorated·method·on·the·class.·If·your·method377 as·parameters·to·the·decorated·method·on·the·class.·If·your·method
377 does·not·accept·a·compatible·set·of·parameters·it·will·raise·a378 does·not·accept·a·compatible·set·of·parameters·it·will·raise·a
378 <code·class="docutils·literal·notranslate"><span·class="pre">TypeError</span></code>·exception.</p>379 <code·class="docutils·literal·notranslate"><span·class="pre">TypeError</span></code>·exception.</p>
379 </div>380 </div>
380 </section>381 </section>
381 </section>382 </section>
Offset 388, 15 lines modifiedOffset 389, 15 lines modified
388 ······389 ······
389 ········390 ········
390 ··········<div·class="yui-b"·id="sidebar">391 ··········<div·class="yui-b"·id="sidebar">
391 ············392 ············
392 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">393 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
393 ········<div·class="sphinxsidebarwrapper">394 ········<div·class="sphinxsidebarwrapper">
394 ··<div>395 ··<div>
395 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>396 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
396 ····<ul>397 ····<ul>
397 <li><a·class="reference·internal"·href="#">Introduction·to·class-based·views</a><ul>398 <li><a·class="reference·internal"·href="#">Introduction·to·class-based·views</a><ul>
398 <li><a·class="reference·internal"·href="#the-relationship-and-history-of-generic-views-class-based-views-and-class-based-generic-views">The·relationship·and·history·of·generic·views,·class-based·views,·and·class-based·generic·views</a></li>399 <li><a·class="reference·internal"·href="#the-relationship-and-history-of-generic-views-class-based-views-and-class-based-generic-views">The·relationship·and·history·of·generic·views,·class-based·views,·and·class-based·generic·views</a></li>
399 <li><a·class="reference·internal"·href="#using-class-based-views">Using·class-based·views</a></li>400 <li><a·class="reference·internal"·href="#using-class-based-views">Using·class-based·views</a></li>
400 <li><a·class="reference·internal"·href="#using-mixins">Using·mixins</a></li>401 <li><a·class="reference·internal"·href="#using-mixins">Using·mixins</a></li>
401 <li><a·class="reference·internal"·href="#handling-forms-with-class-based-views">Handling·forms·with·class-based·views</a></li>402 <li><a·class="reference·internal"·href="#handling-forms-with-class-based-views">Handling·forms·with·class-based·views</a></li>
402 <li><a·class="reference·internal"·href="#decorating-class-based-views">Decorating·class-based·views</a><ul>403 <li><a·class="reference·internal"·href="#decorating-class-based-views">Decorating·class-based·views</a><ul>
Offset 406, 37 lines modifiedOffset 407, 37 lines modified
406 </li>407 </li>
407 </ul>408 </ul>
408 </li>409 </li>
409 </ul>410 </ul>
  
410 ··</div>411 ··</div>
411 ··<div>412 ··<div>
412 ····<h4>Previous·topic</h4>413 ····<h4>Eelmine·teema</h4>
413 ····<p·class="topless"><a·href="index.html"414 ····<p·class="topless"><a·href="index.html"
414 ··························title="previous·chapter">Class-based·views</a></p>415 ··························title="eelmine·jaotis">Class-based·views</a></p>
415 ··</div>416 ··</div>
416 ··<div>417 ··<div>
417 ····<h4>Next·topic</h4>418 ····<h4>Järgmine·teema</h4>
418 ····<p·class="topless"><a·href="generic-display.html"419 ····<p·class="topless"><a·href="generic-display.html"
419 ··························title="next·chapter">Built-in·class-based·generic·views</a></p>420 ··························title="järgmine·jaotis">Built-in·class-based·generic·views</a></p>
420 ··</div>421 ··</div>
421 <search·id="searchbox"·style="display:·none"·role="search">422 <search·id="searchbox"·style="display:·none"·role="search">
422 ··<h3·id="searchlabel">Quick·search</h3>423 ··<h3·id="searchlabel">Kiirotsing</h3>
423 ····<div·class="searchformwrapper">424 ····<div·class="searchformwrapper">
424 ····<form·class="search"·action="../../search.html"·method="get">425 ····<form·class="search"·action="../../search.html"·method="get">
425 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>426 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
426 ······<input·type="submit"·value="Go"·/>427 ······<input·type="submit"·value="Otsi"·/>
427 ····</form>428 ····</form>
428 ····</div>429 ····</div>
429 </search>430 </search>
430 <script>document.getElementById('searchbox').style.display·=·"block"</script>431 <script>document.getElementById('searchbox').style.display·=·"block"</script>
431 ········</div>432 ········</div>
432 ······</div>433 ······</div>
433 ··············<h3>Last·update:</h3>434 ··············<h3>Last·update:</h3>
434 ··············<p·class="topless">Nov·05,·2024</p>435 ··············<p·class="topless">nov·05,·2024</p>
435 ··········</div>436 ··········</div>
436 ········437 ········
437 ······438 ······
438 ····</div>439 ····</div>
  
439 ····<div·id="ft">440 ····<div·id="ft">
440 ······<div·class="nav">441 ······<div·class="nav">
4.19 KB
html2text {}
Max HTML report size reached
28.2 KB
./usr/share/doc/python-django-doc/html/topics/class-based-views/mixins.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Using·mixins·with·class-based·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Using·mixins·with·class-based·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Migrations"·href="../migrations.html"·/>15 ····<link·rel="next"·title="Migrations"·href="../migrations.html"·/>
15 ····<link·rel="prev"·title="Form·handling·with·class-based·views"·href="generic-editing.html"·/>16 ····<link·rel="prev"·title="Form·handling·with·class-based·views"·href="generic-editing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-class-based-views-mixins">79 ··········<div·class="yui-g"·id="topics-class-based-views-mixins">
79 ············80 ············
80 ··<section·id="s-using-mixins-with-class-based-views">81 ··<section·id="s-using-mixins-with-class-based-views">
81 <span·id="using-mixins-with-class-based-views"></span><h1>Using·mixins·with·class-based·views<a·class="headerlink"·href="#using-mixins-with-class-based-views"·title="Link·to·this·heading">¶</a></h1>82 <span·id="using-mixins-with-class-based-views"></span><h1>Using·mixins·with·class-based·views<a·class="headerlink"·href="#using-mixins-with-class-based-views"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·caution">83 <div·class="admonition·caution">
83 <p·class="admonition-title">Caution</p>84 <p·class="admonition-title">Ettevaatust</p>
84 <p>This·is·an·advanced·topic.·A·working·knowledge·of·<a·class="reference·internal"·href="index.html"><span·class="doc">Django’s85 <p>This·is·an·advanced·topic.·A·working·knowledge·of·<a·class="reference·internal"·href="index.html"><span·class="doc">Django’s
85 class-based·views</span></a>·is·advised·before·exploring·these86 class-based·views</span></a>·is·advised·before·exploring·these
86 techniques.</p>87 techniques.</p>
87 </div>88 </div>
88 <p>Django’s·built-in·class-based·views·provide·a·lot·of·functionality,89 <p>Django’s·built-in·class-based·views·provide·a·lot·of·functionality,
89 but·some·of·it·you·may·want·to·use·separately.·For·instance,·you·may90 but·some·of·it·you·may·want·to·use·separately.·For·instance,·you·may
90 want·to·write·a·view·that·renders·a·template·to·make·the·HTTP91 want·to·write·a·view·that·renders·a·template·to·make·the·HTTP
Offset 138, 15 lines modifiedOffset 139, 15 lines modified
138 </dl>139 </dl>
139 </section>140 </section>
140 <section·id="s-building-up-django-s-generic-class-based-views">141 <section·id="s-building-up-django-s-generic-class-based-views">
141 <span·id="building-up-django-s-generic-class-based-views"></span><h2>Building·up·Django’s·generic·class-based·views<a·class="headerlink"·href="#building-up-django-s-generic-class-based-views"·title="Link·to·this·heading">¶</a></h2>142 <span·id="building-up-django-s-generic-class-based-views"></span><h2>Building·up·Django’s·generic·class-based·views<a·class="headerlink"·href="#building-up-django-s-generic-class-based-views"·title="Link·to·this·heading">¶</a></h2>
142 <p>Let’s·look·at·how·two·of·Django’s·generic·class-based·views·are·built143 <p>Let’s·look·at·how·two·of·Django’s·generic·class-based·views·are·built
143 out·of·mixins·providing·discrete·functionality.·We’ll·consider144 out·of·mixins·providing·discrete·functionality.·We’ll·consider
144 <a·class="reference·internal"·href="../../ref/class-based-views/generic-display.html#django.views.generic.detail.DetailView"·title="django.views.generic.detail.DetailView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DetailView</span></code></a>,·which·renders·a145 <a·class="reference·internal"·href="../../ref/class-based-views/generic-display.html#django.views.generic.detail.DetailView"·title="django.views.generic.detail.DetailView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DetailView</span></code></a>,·which·renders·a
145 detail·view·of·an·object,·and146 detail·view·of·an·object,·and
146 <a·class="reference·internal"·href="../../ref/class-based-views/generic-display.html#django.views.generic.list.ListView"·title="django.views.generic.list.ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>,·which·will·render·a·list147 <a·class="reference·internal"·href="../../ref/class-based-views/generic-display.html#django.views.generic.list.ListView"·title="django.views.generic.list.ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>,·which·will·render·a·list
147 of·objects,·typically·from·a·queryset,·and·optionally·paginate148 of·objects,·typically·from·a·queryset,·and·optionally·paginate
148 them.·This·will·introduce·us·to·four·mixins·which·between·them·provide149 them.·This·will·introduce·us·to·four·mixins·which·between·them·provide
149 useful·functionality·when·working·with·either·a·single·Django·object,150 useful·functionality·when·working·with·either·a·single·Django·object,
150 or·multiple·objects.</p>151 or·multiple·objects.</p>
151 <p>There·are·also·mixins·involved·in·the·generic·edit·views152 <p>There·are·also·mixins·involved·in·the·generic·edit·views
152 (<a·class="reference·internal"·href="../../ref/class-based-views/generic-editing.html#django.views.generic.edit.FormView"·title="django.views.generic.edit.FormView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FormView</span></code></a>,·and·the·model-specific153 (<a·class="reference·internal"·href="../../ref/class-based-views/generic-editing.html#django.views.generic.edit.FormView"·title="django.views.generic.edit.FormView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FormView</span></code></a>,·and·the·model-specific
Offset 238, 15 lines modifiedOffset 239, 15 lines modified
238 <span·id="using-django-s-class-based-view-mixins"></span><h2>Using·Django’s·class-based·view·mixins<a·class="headerlink"·href="#using-django-s-class-based-view-mixins"·title="Link·to·this·heading">¶</a></h2>239 <span·id="using-django-s-class-based-view-mixins"></span><h2>Using·Django’s·class-based·view·mixins<a·class="headerlink"·href="#using-django-s-class-based-view-mixins"·title="Link·to·this·heading">¶</a></h2>
239 <p>Now·we’ve·seen·how·Django’s·generic·class-based·views·use·the·provided·mixins,240 <p>Now·we’ve·seen·how·Django’s·generic·class-based·views·use·the·provided·mixins,
240 let’s·look·at·other·ways·we·can·combine·them.·We’re·still·going·to·be·combining241 let’s·look·at·other·ways·we·can·combine·them.·We’re·still·going·to·be·combining
241 them·with·either·built-in·class-based·views,·or·other·generic·class-based242 them·with·either·built-in·class-based·views,·or·other·generic·class-based
242 views,·but·there·are·a·range·of·rarer·problems·you·can·solve·than·are·provided243 views,·but·there·are·a·range·of·rarer·problems·you·can·solve·than·are·provided
243 for·by·Django·out·of·the·box.</p>244 for·by·Django·out·of·the·box.</p>
244 <div·class="admonition·warning">245 <div·class="admonition·warning">
245 <p·class="admonition-title">Warning</p>246 <p·class="admonition-title">Hoiatus</p>
246 <p>Not·all·mixins·can·be·used·together,·and·not·all·generic·class247 <p>Not·all·mixins·can·be·used·together,·and·not·all·generic·class
247 based·views·can·be·used·with·all·other·mixins.·Here·we·present·a248 based·views·can·be·used·with·all·other·mixins.·Here·we·present·a
248 few·examples·that·do·work;·if·you·want·to·bring·together·other249 few·examples·that·do·work;·if·you·want·to·bring·together·other
249 functionality·then·you’ll·have·to·consider·interactions·between250 functionality·then·you’ll·have·to·consider·interactions·between
250 attributes·and·methods·that·overlap·between·the·different·classes251 attributes·and·methods·that·overlap·between·the·different·classes
251 you’re·using,·and·how·<a·class="reference·external"·href="https://www.python.org/download/releases/2.3/mro/">method·resolution·order</a>·will·affect·which252 you’re·using,·and·how·<a·class="reference·external"·href="https://www.python.org/download/releases/2.3/mro/">method·resolution·order</a>·will·affect·which
252 versions·of·the·methods·will·be·called·in·what·order.</p>253 versions·of·the·methods·will·be·called·in·what·order.</p>
Offset 352, 15 lines modifiedOffset 353, 15 lines modified
352 However,·we·need·to·explicitly·pass·a·<code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·argument·because353 However,·we·need·to·explicitly·pass·a·<code·class="docutils·literal·notranslate"><span·class="pre">queryset</span></code>·argument·because
353 otherwise·the·default·implementation·of·<code·class="docutils·literal·notranslate"><span·class="pre">get_object()</span></code>·would·call354 otherwise·the·default·implementation·of·<code·class="docutils·literal·notranslate"><span·class="pre">get_object()</span></code>·would·call
354 <code·class="docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code>·which·we·have·overridden·to·return·<code·class="docutils·literal·notranslate"><span·class="pre">Book</span></code>·objects355 <code·class="docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code>·which·we·have·overridden·to·return·<code·class="docutils·literal·notranslate"><span·class="pre">Book</span></code>·objects
355 instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">Publisher</span></code>·ones.</p>356 instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">Publisher</span></code>·ones.</p>
356 </dd>357 </dd>
357 </dl>358 </dl>
358 <div·class="admonition·note">359 <div·class="admonition·note">
359 <p·class="admonition-title">Note</p>360 <p·class="admonition-title">rkus</p>
360 <p>We·have·to·think·carefully·about·<code·class="docutils·literal·notranslate"><span·class="pre">get_context_data()</span></code>.361 <p>We·have·to·think·carefully·about·<code·class="docutils·literal·notranslate"><span·class="pre">get_context_data()</span></code>.
361 Since·both·<a·class="reference·internal"·href="../../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectMixin"·title="django.views.generic.detail.SingleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code></a>·and362 Since·both·<a·class="reference·internal"·href="../../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectMixin"·title="django.views.generic.detail.SingleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code></a>·and
362 <a·class="reference·internal"·href="../../ref/class-based-views/flattened-index.html#ListView"·title="ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>·will363 <a·class="reference·internal"·href="../../ref/class-based-views/flattened-index.html#ListView"·title="ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>·will
363 put·things·in·the·context·data·under·the·value·of364 put·things·in·the·context·data·under·the·value·of
364 <code·class="docutils·literal·notranslate"><span·class="pre">context_object_name</span></code>·if·it’s·set,·we’ll·instead·explicitly365 <code·class="docutils·literal·notranslate"><span·class="pre">context_object_name</span></code>·if·it’s·set,·we’ll·instead·explicitly
365 ensure·the·<code·class="docutils·literal·notranslate"><span·class="pre">Publisher</span></code>·is·in·the·context·data.·<a·class="reference·internal"·href="../../ref/class-based-views/flattened-index.html#ListView"·title="ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>366 ensure·the·<code·class="docutils·literal·notranslate"><span·class="pre">Publisher</span></code>·is·in·the·context·data.·<a·class="reference·internal"·href="../../ref/class-based-views/flattened-index.html#ListView"·title="ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>
366 will·add·in·the·suitable·<code·class="docutils·literal·notranslate"><span·class="pre">page_obj</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">paginator</span></code>·for·us367 will·add·in·the·suitable·<code·class="docutils·literal·notranslate"><span·class="pre">page_obj</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">paginator</span></code>·for·us
Offset 437, 15 lines modifiedOffset 438, 15 lines modified
437 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-simple.html#django.views.generic.base.TemplateResponseMixin"·title="django.views.generic.base.TemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplateResponseMixin</span></code></a>·and438 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-simple.html#django.views.generic.base.TemplateResponseMixin"·title="django.views.generic.base.TemplateResponseMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplateResponseMixin</span></code></a>·and
438 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectMixin"·title="django.views.generic.detail.SingleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code></a>·when·you·need439 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-single-object.html#django.views.generic.detail.SingleObjectMixin"·title="django.views.generic.detail.SingleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code></a>·when·you·need
439 their·functionality.·As·shown·above,·with·a·bit·of·care·you·can·even440 their·functionality.·As·shown·above,·with·a·bit·of·care·you·can·even
440 combine·<code·class="docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code>·with441 combine·<code·class="docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code>·with
441 <a·class="reference·internal"·href="../../ref/class-based-views/generic-display.html#django.views.generic.list.ListView"·title="django.views.generic.list.ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>.·However·things·get442 <a·class="reference·internal"·href="../../ref/class-based-views/generic-display.html#django.views.generic.list.ListView"·title="django.views.generic.list.ListView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ListView</span></code></a>.·However·things·get
442 increasingly·complex·as·you·try·to·do·so,·and·a·good·rule·of·thumb·is:</p>443 increasingly·complex·as·you·try·to·do·so,·and·a·good·rule·of·thumb·is:</p>
443 <div·class="admonition·hint">444 <div·class="admonition·hint">
444 <p·class="admonition-title">Hint</p>445 <p·class="admonition-title">Vihje</p>
445 <p>Each·of·your·views·should·use·only·mixins·or·views·from·one·of·the446 <p>Each·of·your·views·should·use·only·mixins·or·views·from·one·of·the
446 groups·of·generic·class-based·views:·<a·class="reference·internal"·href="generic-display.html"><span·class="doc">detail,447 groups·of·generic·class-based·views:·<a·class="reference·internal"·href="generic-display.html"><span·class="doc">detail,
447 list</span></a>,·<a·class="reference·internal"·href="generic-editing.html"><span·class="doc">editing</span></a>·and448 list</span></a>,·<a·class="reference·internal"·href="generic-editing.html"><span·class="doc">editing</span></a>·and
448 date.·For·example·it’s·fine·to·combine449 date.·For·example·it’s·fine·to·combine
449 <a·class="reference·internal"·href="../../ref/class-based-views/flattened-index.html#TemplateView"·title="TemplateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplateView</span></code></a>·(built·in·view)·with450 <a·class="reference·internal"·href="../../ref/class-based-views/flattened-index.html#TemplateView"·title="TemplateView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplateView</span></code></a>·(built·in·view)·with
450 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-multiple-object.html#django.views.generic.list.MultipleObjectMixin"·title="django.views.generic.list.MultipleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultipleObjectMixin</span></code></a>·(generic·list),·but451 <a·class="reference·internal"·href="../../ref/class-based-views/mixins-multiple-object.html#django.views.generic.list.MultipleObjectMixin"·title="django.views.generic.list.MultipleObjectMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">MultipleObjectMixin</span></code></a>·(generic·list),·but
451 you’re·likely·to·have·problems·combining·<code·class="docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code>·(generic452 you’re·likely·to·have·problems·combining·<code·class="docutils·literal·notranslate"><span·class="pre">SingleObjectMixin</span></code>·(generic
Offset 473, 15 lines modifiedOffset 474, 15 lines modified
473 user.·Let’s·rewrite·our·<code·class="docutils·literal·notranslate"><span·class="pre">AuthorDetailView</span></code>·to·do·that.</p>474 user.·Let’s·rewrite·our·<code·class="docutils·literal·notranslate"><span·class="pre">AuthorDetailView</span></code>·to·do·that.</p>
474 <p>We’ll·keep·the·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·handling·from·<a·class="reference·internal"·href="../../ref/class-based-views/flattened-index.html#DetailView"·title="DetailView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DetailView</span></code></a>,·although475 <p>We’ll·keep·the·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·handling·from·<a·class="reference·internal"·href="../../ref/class-based-views/flattened-index.html#DetailView"·title="DetailView"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DetailView</span></code></a>,·although
475 we’ll·have·to·add·a·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·into·the·context·data·so·we·can476 we’ll·have·to·add·a·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·into·the·context·data·so·we·can
476 render·it·in·the·template.·We’ll·also·want·to·pull·in·form·processing477 render·it·in·the·template.·We’ll·also·want·to·pull·in·form·processing
477 from·<a·class="reference·internal"·href="../../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin"·title="django.views.generic.edit.FormMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FormMixin</span></code></a>,·and·write·a·bit·of478 from·<a·class="reference·internal"·href="../../ref/class-based-views/mixins-editing.html#django.views.generic.edit.FormMixin"·title="django.views.generic.edit.FormMixin"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FormMixin</span></code></a>,·and·write·a·bit·of
478 code·so·that·on·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·the·form·gets·called·appropriately.</p>479 code·so·that·on·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·the·form·gets·called·appropriately.</p>
479 <div·class="admonition·note">480 <div·class="admonition·note">
Max diff block lines reached; 5094/17442 bytes (29.21%) of diff not shown.
11.0 KB
html2text {}
Max HTML report size reached
15.5 KB
./usr/share/doc/python-django-doc/html/topics/conditional-view-processing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Conditional·View·Processing·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Conditional·View·Processing·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Cryptographic·signing"·href="signing.html"·/>15 ····<link·rel="next"·title="Cryptographic·signing"·href="signing.html"·/>
15 ····<link·rel="prev"·title="Django’s·cache·framework"·href="cache.html"·/>16 ····<link·rel="prev"·title="Django’s·cache·framework"·href="cache.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 15 lines modifiedOffset 104, 15 lines modified
103 processing·functions.</p>104 processing·functions.</p>
104 <section·id="s-the-condition-decorator">105 <section·id="s-the-condition-decorator">
105 <span·id="s-conditional-decorators"></span><span·id="the-condition-decorator"></span><span·id="conditional-decorators"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·decorator<a·class="headerlink"·href="#the-condition-decorator"·title="Link·to·this·heading">¶</a></h2>106 <span·id="s-conditional-decorators"></span><span·id="the-condition-decorator"></span><span·id="conditional-decorators"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·decorator<a·class="headerlink"·href="#the-condition-decorator"·title="Link·to·this·heading">¶</a></h2>
106 <p>Sometimes·(in·fact,·quite·often)·you·can·create·functions·to·rapidly·compute107 <p>Sometimes·(in·fact,·quite·often)·you·can·create·functions·to·rapidly·compute
107 the·<span·class="target"·id="index-4"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-8.8.3"><strong>ETag</strong></a>·value·or·the·last-modified·time·for·a108 the·<span·class="target"·id="index-4"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc9110.html#section-8.8.3"><strong>ETag</strong></a>·value·or·the·last-modified·time·for·a
108 resource,·<strong>without</strong>·needing·to·do·all·the·computations·needed·to·construct109 resource,·<strong>without</strong>·needing·to·do·all·the·computations·needed·to·construct
109 the·full·view.·Django·can·then·use·these·functions·to·provide·an110 the·full·view.·Django·can·then·use·these·functions·to·provide·an
110 early·bailout·option·for·the·view·processing.·Telling·the·client·that·the111 early·bailout·option·for·the·view·processing.·Telling·the·client·that·the
111 content·has·not·been·modified·since·the·last·request,·perhaps.</p>112 content·has·not·been·modified·since·the·last·request,·perhaps.</p>
112 <p>These·two·functions·are·passed·as·parameters·to·the113 <p>These·two·functions·are·passed·as·parameters·to·the
113 <code·class="docutils·literal·notranslate"><span·class="pre">django.views.decorators.http.condition</span></code>·decorator.·This·decorator·uses114 <code·class="docutils·literal·notranslate"><span·class="pre">django.views.decorators.http.condition</span></code>·decorator.·This·decorator·uses
114 the·two·functions·(you·only·need·to·supply·one,·if·you·can’t·compute·both115 the·two·functions·(you·only·need·to·supply·one,·if·you·can’t·compute·both
115 quantities·easily·and·quickly)·to·work·out·if·the·headers·in·the·HTTP·request116 quantities·easily·and·quickly)·to·work·out·if·the·headers·in·the·HTTP·request
116 match·those·on·the·resource.·If·they·don’t·match,·a·new·copy·of·the·resource117 match·those·on·the·resource.·If·they·don’t·match,·a·new·copy·of·the·resource
117 must·be·computed·and·your·normal·view·is·called.</p>118 must·be·computed·and·your·normal·view·is·called.</p>
Offset 224, 27 lines modifiedOffset 225, 27 lines modified
224 </section>225 </section>
225 <section·id="s-using-the-decorators-with-other-http-methods">226 <section·id="s-using-the-decorators-with-other-http-methods">
226 <span·id="using-the-decorators-with-other-http-methods"></span><h2>Using·the·decorators·with·other·HTTP·methods<a·class="headerlink"·href="#using-the-decorators-with-other-http-methods"·title="Link·to·this·heading">¶</a></h2>227 <span·id="using-the-decorators-with-other-http-methods"></span><h2>Using·the·decorators·with·other·HTTP·methods<a·class="headerlink"·href="#using-the-decorators-with-other-http-methods"·title="Link·to·this·heading">¶</a></h2>
227 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·decorator·is·useful·for·more·than·only·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·and228 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·decorator·is·useful·for·more·than·only·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·and
228 <code·class="docutils·literal·notranslate"><span·class="pre">HEAD</span></code>·requests·(<code·class="docutils·literal·notranslate"><span·class="pre">HEAD</span></code>·requests·are·the·same·as·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·in·this229 <code·class="docutils·literal·notranslate"><span·class="pre">HEAD</span></code>·requests·(<code·class="docutils·literal·notranslate"><span·class="pre">HEAD</span></code>·requests·are·the·same·as·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·in·this
229 situation).·It·can·also·be·used·to·provide·checking·for·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>,230 situation).·It·can·also·be·used·to·provide·checking·for·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>,
230 <code·class="docutils·literal·notranslate"><span·class="pre">PUT</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">DELETE</span></code>·requests.·In·these·situations,·the·idea·isn’t·to·return231 <code·class="docutils·literal·notranslate"><span·class="pre">PUT</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">DELETE</span></code>·requests.·In·these·situations,·the·idea·isn’t·to·return
231 a·not·modified·response,·but·to·tell·the·client·that·the·resource·they·are232 a·not·modified·response,·but·to·tell·the·client·that·the·resource·they·are
232 trying·to·change·has·been·altered·in·the·meantime.</p>233 trying·to·change·has·been·altered·in·the·meantime.</p>
233 <p>For·example,·consider·the·following·exchange·between·the·client·and·server:</p>234 <p>For·example,·consider·the·following·exchange·between·the·client·and·server:</p>
234 <ol·class="arabic·simple">235 <ol·class="arabic·simple">
235 <li><p>Client·requests·<code·class="docutils·literal·notranslate"><span·class="pre">/foo/</span></code>.</p></li>236 <li><p>Client·requests·<code·class="docutils·literal·notranslate"><span·class="pre">/foo/</span></code>.</p></li>
236 <li><p>Server·responds·with·some·content·with·an·ETag·of·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;abcd1234&quot;</span></code>.</p></li>237 <li><p>Server·responds·with·some·content·with·an·ETag·of·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;abcd1234&quot;</span></code>.</p></li>
237 <li><p>Client·sends·an·HTTP·<code·class="docutils·literal·notranslate"><span·class="pre">PUT</span></code>·request·to·<code·class="docutils·literal·notranslate"><span·class="pre">/foo/</span></code>·to·update·the238 <li><p>Client·sends·an·HTTP·<code·class="docutils·literal·notranslate"><span·class="pre">PUT</span></code>·request·to·<code·class="docutils·literal·notranslate"><span·class="pre">/foo/</span></code>·to·update·the
238 resource.·It·also·sends·an·<code·class="docutils·literal·notranslate"><span·class="pre">If-Match:</span>·<span·class="pre">&quot;abcd1234&quot;</span></code>·header·to·specify239 resource.·It·also·sends·an·<code·class="docutils·literal·notranslate"><span·class="pre">If-Match:</span>·<span·class="pre">&quot;abcd1234&quot;</span></code>·header·to·specify
239 the·version·it·is·trying·to·update.</p></li>240 the·version·it·is·trying·to·update.</p></li>
240 <li><p>Server·checks·to·see·if·the·resource·has·changed,·by·computing·the·ETag241 <li><p>Server·checks·to·see·if·the·resource·has·changed,·by·computing·the·ETag
241 the·same·way·it·does·for·a·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·request·(using·the·same·function).242 the·same·way·it·does·for·a·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·request·(using·the·same·function).
242 If·the·resource·<em>has</em>·changed,·it·will·return·a·412·status·code,243 If·the·resource·<em>has</em>·changed,·it·will·return·a·412·status·code,
243 meaning·precondition·failed.</p></li>244 meaning·precondition·failed.</p></li>
244 <li><p>Client·sends·a·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·request·to·<code·class="docutils·literal·notranslate"><span·class="pre">/foo/</span></code>,·after·receiving·a·412245 <li><p>Client·sends·a·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·request·to·<code·class="docutils·literal·notranslate"><span·class="pre">/foo/</span></code>,·after·receiving·a·412
245 response,·to·retrieve·an·updated·version·of·the·content·before·updating246 response,·to·retrieve·an·updated·version·of·the·content·before·updating
246 it.</p></li>247 it.</p></li>
247 </ol>248 </ol>
248 <p>The·important·thing·this·example·shows·is·that·the·same·functions·can·be·used249 <p>The·important·thing·this·example·shows·is·that·the·same·functions·can·be·used
249 to·compute·the·ETag·and·last·modification·values·in·all·situations.·In·fact,250 to·compute·the·ETag·and·last·modification·values·in·all·situations.·In·fact,
250 you·<strong>should</strong>·use·the·same·functions,·so·that·the·same·values·are·returned251 you·<strong>should</strong>·use·the·same·functions,·so·that·the·same·values·are·returned
Offset 285, 15 lines modifiedOffset 286, 15 lines modified
285 ······286 ······
286 ········287 ········
287 ··········<div·class="yui-b"·id="sidebar">288 ··········<div·class="yui-b"·id="sidebar">
288 ············289 ············
289 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">290 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
290 ········<div·class="sphinxsidebarwrapper">291 ········<div·class="sphinxsidebarwrapper">
291 ··<div>292 ··<div>
292 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>293 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
293 ····<ul>294 ····<ul>
294 <li><a·class="reference·internal"·href="#">Conditional·View·Processing</a><ul>295 <li><a·class="reference·internal"·href="#">Conditional·View·Processing</a><ul>
295 <li><a·class="reference·internal"·href="#the-condition-decorator">The·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·decorator</a></li>296 <li><a·class="reference·internal"·href="#the-condition-decorator">The·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·decorator</a></li>
296 <li><a·class="reference·internal"·href="#shortcuts-for-only-computing-one-value">Shortcuts·for·only·computing·one·value</a><ul>297 <li><a·class="reference·internal"·href="#shortcuts-for-only-computing-one-value">Shortcuts·for·only·computing·one·value</a><ul>
297 <li><a·class="reference·internal"·href="#use-condition-when-testing-both-conditions">Use·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·when·testing·both·conditions</a></li>298 <li><a·class="reference·internal"·href="#use-condition-when-testing-both-conditions">Use·<code·class="docutils·literal·notranslate"><span·class="pre">condition</span></code>·when·testing·both·conditions</a></li>
298 </ul>299 </ul>
299 </li>300 </li>
Offset 301, 37 lines modifiedOffset 302, 37 lines modified
301 <li><a·class="reference·internal"·href="#comparison-with-middleware-conditional-processing">Comparison·with·middleware·conditional·processing</a></li>302 <li><a·class="reference·internal"·href="#comparison-with-middleware-conditional-processing">Comparison·with·middleware·conditional·processing</a></li>
302 </ul>303 </ul>
303 </li>304 </li>
304 </ul>305 </ul>
  
305 ··</div>306 ··</div>
306 ··<div>307 ··<div>
307 ····<h4>Previous·topic</h4>308 ····<h4>Eelmine·teema</h4>
308 ····<p·class="topless"><a·href="cache.html"309 ····<p·class="topless"><a·href="cache.html"
309 ··························title="previous·chapter">Django’s·cache·framework</a></p>310 ··························title="eelmine·jaotis">Django’s·cache·framework</a></p>
310 ··</div>311 ··</div>
311 ··<div>312 ··<div>
312 ····<h4>Next·topic</h4>313 ····<h4>Järgmine·teema</h4>
313 ····<p·class="topless"><a·href="signing.html"314 ····<p·class="topless"><a·href="signing.html"
314 ··························title="next·chapter">Cryptographic·signing</a></p>315 ··························title="järgmine·jaotis">Cryptographic·signing</a></p>
315 ··</div>316 ··</div>
316 <search·id="searchbox"·style="display:·none"·role="search">317 <search·id="searchbox"·style="display:·none"·role="search">
317 ··<h3·id="searchlabel">Quick·search</h3>318 ··<h3·id="searchlabel">Kiirotsing</h3>
318 ····<div·class="searchformwrapper">319 ····<div·class="searchformwrapper">
319 ····<form·class="search"·action="../search.html"·method="get">320 ····<form·class="search"·action="../search.html"·method="get">
320 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>321 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
321 ······<input·type="submit"·value="Go"·/>322 ······<input·type="submit"·value="Otsi"·/>
322 ····</form>323 ····</form>
323 ····</div>324 ····</div>
324 </search>325 </search>
325 <script>document.getElementById('searchbox').style.display·=·"block"</script>326 <script>document.getElementById('searchbox').style.display·=·"block"</script>
326 ········</div>327 ········</div>
Max diff block lines reached; 233/9459 bytes (2.46%) of diff not shown.
6.12 KB
html2text {}
Max HTML report size reached
22.4 KB
./usr/share/doc/python-django-doc/html/topics/db/aggregation.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Aggregation·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Aggregation·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Search"·href="search.html"·/>15 ····<link·rel="next"·title="Search"·href="search.html"·/>
15 ····<link·rel="prev"·title="Making·queries"·href="queries.html"·/>16 ····<link·rel="prev"·title="Making·queries"·href="queries.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 328, 15 lines modifiedOffset 329, 15 lines modified
328 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Store</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">aggregate</span><span·class="p">(</span><span·class="n">youngest_age</span><span·class="o">=</span><span·class="n">Min</span><span·class="p">(</span><span·class="s2">&quot;books__authors__age&quot;</span><span·class="p">))</span>329 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Store</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">aggregate</span><span·class="p">(</span><span·class="n">youngest_age</span><span·class="o">=</span><span·class="n">Min</span><span·class="p">(</span><span·class="s2">&quot;books__authors__age&quot;</span><span·class="p">))</span>
329 </pre></div>330 </pre></div>
330 </div>331 </div>
331 <section·id="s-following-relationships-backwards">332 <section·id="s-following-relationships-backwards">
332 <span·id="following-relationships-backwards"></span><h3>Following·relationships·backwards<a·class="headerlink"·href="#following-relationships-backwards"·title="Link·to·this·heading">¶</a></h3>333 <span·id="following-relationships-backwards"></span><h3>Following·relationships·backwards<a·class="headerlink"·href="#following-relationships-backwards"·title="Link·to·this·heading">¶</a></h3>
333 <p>In·a·way·similar·to·<a·class="reference·internal"·href="queries.html#lookups-that-span-relationships"><span·class="std·std-ref">Lookups·that·span·relationships</span></a>,·aggregations·and334 <p>In·a·way·similar·to·<a·class="reference·internal"·href="queries.html#lookups-that-span-relationships"><span·class="std·std-ref">Lookups·that·span·relationships</span></a>,·aggregations·and
334 annotations·on·fields·of·models·or·models·that·are·related·to·the·one·you·are335 annotations·on·fields·of·models·or·models·that·are·related·to·the·one·you·are
335 querying·can·include·traversing·reverse·relationships.·The·lowercase·name336 querying·can·include·traversing·reverse·relationships.·The·lowercase·name
336 of·related·models·and·double-underscores·are·used·here·too.</p>337 of·related·models·and·double-underscores·are·used·here·too.</p>
337 <p>For·example,·we·can·ask·for·all·publishers,·annotated·with·their·respective338 <p>For·example,·we·can·ask·for·all·publishers,·annotated·with·their·respective
338 total·book·stock·counters·(note·how·we·use·<code·class="docutils·literal·notranslate"><span·class="pre">'book'</span></code>·to·specify·the339 total·book·stock·counters·(note·how·we·use·<code·class="docutils·literal·notranslate"><span·class="pre">'book'</span></code>·to·specify·the
339 <code·class="docutils·literal·notranslate"><span·class="pre">Publisher</span></code>·-&gt;·<code·class="docutils·literal·notranslate"><span·class="pre">Book</span></code>·reverse·foreign·key·hop):</p>340 <code·class="docutils·literal·notranslate"><span·class="pre">Publisher</span></code>·-&gt;·<code·class="docutils·literal·notranslate"><span·class="pre">Book</span></code>·reverse·foreign·key·hop):</p>
340 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">Avg</span><span·class="p">,</span>·<span·class="n">Count</span><span·class="p">,</span>·<span·class="n">Min</span><span·class="p">,</span>·<span·class="n">Sum</span>341 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">Avg</span><span·class="p">,</span>·<span·class="n">Count</span><span·class="p">,</span>·<span·class="n">Min</span><span·class="p">,</span>·<span·class="n">Sum</span>
341 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Publisher</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span><span·class="n">Count</span><span·class="p">(</span><span·class="s2">&quot;book&quot;</span><span·class="p">))</span>342 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Publisher</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span><span·class="n">Count</span><span·class="p">(</span><span·class="s2">&quot;book&quot;</span><span·class="p">))</span>
342 </pre></div>343 </pre></div>
Offset 374, 23 lines modifiedOffset 375, 23 lines modified
374 <span·id="filter-and-exclude"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">exclude()</span></code><a·class="headerlink"·href="#filter-and-exclude"·title="Link·to·this·heading">¶</a></h3>375 <span·id="filter-and-exclude"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">exclude()</span></code><a·class="headerlink"·href="#filter-and-exclude"·title="Link·to·this·heading">¶</a></h3>
375 <p>Aggregates·can·also·participate·in·filters.·Any·<code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>·(or376 <p>Aggregates·can·also·participate·in·filters.·Any·<code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>·(or
376 <code·class="docutils·literal·notranslate"><span·class="pre">exclude()</span></code>)·applied·to·normal·model·fields·will·have·the·effect·of377 <code·class="docutils·literal·notranslate"><span·class="pre">exclude()</span></code>)·applied·to·normal·model·fields·will·have·the·effect·of
377 constraining·the·objects·that·are·considered·for·aggregation.</p>378 constraining·the·objects·that·are·considered·for·aggregation.</p>
378 <p>When·used·with·an·<code·class="docutils·literal·notranslate"><span·class="pre">annotate()</span></code>·clause,·a·filter·has·the·effect·of379 <p>When·used·with·an·<code·class="docutils·literal·notranslate"><span·class="pre">annotate()</span></code>·clause,·a·filter·has·the·effect·of
379 constraining·the·objects·for·which·an·annotation·is·calculated.·For·example,380 constraining·the·objects·for·which·an·annotation·is·calculated.·For·example,
380 you·can·generate·an·annotated·list·of·all·books·that·have·a·title·starting381 you·can·generate·an·annotated·list·of·all·books·that·have·a·title·starting
381 with·Django·using·the·query:</p>382 with·Django·using·the·query:</p>
382 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">Avg</span><span·class="p">,</span>·<span·class="n">Count</span>383 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.db.models</span>·<span·class="kn">import</span>·<span·class="n">Avg</span><span·class="p">,</span>·<span·class="n">Count</span>
383 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Book</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">name__startswith</span><span·class="o">=</span><span·class="s2">&quot;Django&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span><span·class="n">num_authors</span><span·class="o">=</span><span·class="n">Count</span><span·class="p">(</span><span·class="s2">&quot;authors&quot;</span><span·class="p">))</span>384 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Book</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">name__startswith</span><span·class="o">=</span><span·class="s2">&quot;Django&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span><span·class="n">num_authors</span><span·class="o">=</span><span·class="n">Count</span><span·class="p">(</span><span·class="s2">&quot;authors&quot;</span><span·class="p">))</span>
384 </pre></div>385 </pre></div>
385 </div>386 </div>
386 <p>When·used·with·an·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>·clause,·a·filter·has·the·effect·of387 <p>When·used·with·an·<code·class="docutils·literal·notranslate"><span·class="pre">aggregate()</span></code>·clause,·a·filter·has·the·effect·of
387 constraining·the·objects·over·which·the·aggregate·is·calculated.388 constraining·the·objects·over·which·the·aggregate·is·calculated.
388 For·example,·you·can·generate·the·average·price·of·all·books·with·a389 For·example,·you·can·generate·the·average·price·of·all·books·with·a
389 title·that·starts·with·Django·using·the·query:</p>390 title·that·starts·with·Django·using·the·query:</p>
390 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Book</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">name__startswith</span><span·class="o">=</span><span·class="s2">&quot;Django&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">aggregate</span><span·class="p">(</span><span·class="n">Avg</span><span·class="p">(</span><span·class="s2">&quot;price&quot;</span><span·class="p">))</span>391 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Book</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">name__startswith</span><span·class="o">=</span><span·class="s2">&quot;Django&quot;</span><span·class="p">)</span><span·class="o">.</span><span·class="n">aggregate</span><span·class="p">(</span><span·class="n">Avg</span><span·class="p">(</span><span·class="s2">&quot;price&quot;</span><span·class="p">))</span>
391 </pre></div>392 </pre></div>
392 </div>393 </div>
393 <section·id="s-filtering-on-annotations">394 <section·id="s-filtering-on-annotations">
394 <span·id="s-id2"></span><span·id="filtering-on-annotations"></span><span·id="id2"></span><h4>Filtering·on·annotations<a·class="headerlink"·href="#filtering-on-annotations"·title="Link·to·this·heading">¶</a></h4>395 <span·id="s-id2"></span><span·id="filtering-on-annotations"></span><span·id="id2"></span><h4>Filtering·on·annotations<a·class="headerlink"·href="#filtering-on-annotations"·title="Link·to·this·heading">¶</a></h4>
395 <p>Annotated·values·can·also·be·filtered.·The·alias·for·the·annotation·can·be396 <p>Annotated·values·can·also·be·filtered.·The·alias·for·the·annotation·can·be
396 used·in·<code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">exclude()</span></code>·clauses·in·the·same·way·as·any·other397 used·in·<code·class="docutils·literal·notranslate"><span·class="pre">filter()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">exclude()</span></code>·clauses·in·the·same·way·as·any·other
Offset 551, 15 lines modifiedOffset 552, 15 lines modified
551 clause·is·applied·after·the·<code·class="docutils·literal·notranslate"><span·class="pre">annotate()</span></code>·clause,·you·need·to·explicitly552 clause·is·applied·after·the·<code·class="docutils·literal·notranslate"><span·class="pre">annotate()</span></code>·clause,·you·need·to·explicitly
552 include·the·aggregate·column.</p>553 include·the·aggregate·column.</p>
553 </section>554 </section>
554 <section·id="s-interaction-with-order-by">555 <section·id="s-interaction-with-order-by">
555 <span·id="s-aggregation-ordering-interaction"></span><span·id="interaction-with-order-by"></span><span·id="aggregation-ordering-interaction"></span><h4>Interaction·with·<code·class="docutils·literal·notranslate"><span·class="pre">order_by()</span></code><a·class="headerlink"·href="#interaction-with-order-by"·title="Link·to·this·heading">¶</a></h4>556 <span·id="s-aggregation-ordering-interaction"></span><span·id="interaction-with-order-by"></span><span·id="aggregation-ordering-interaction"></span><h4>Interaction·with·<code·class="docutils·literal·notranslate"><span·class="pre">order_by()</span></code><a·class="headerlink"·href="#interaction-with-order-by"·title="Link·to·this·heading">¶</a></h4>
556 <p>Fields·that·are·mentioned·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">order_by()</span></code>·part·of·a·queryset·are·used557 <p>Fields·that·are·mentioned·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">order_by()</span></code>·part·of·a·queryset·are·used
557 when·selecting·the·output·data,·even·if·they·are·not·otherwise·specified·in·the558 when·selecting·the·output·data,·even·if·they·are·not·otherwise·specified·in·the
558 <code·class="docutils·literal·notranslate"><span·class="pre">values()</span></code>·call.·These·extra·fields·are·used·to·group·like·results·together559 <code·class="docutils·literal·notranslate"><span·class="pre">values()</span></code>·call.·These·extra·fields·are·used·to·group·like·results·together
559 and·they·can·make·otherwise·identical·result·rows·appear·to·be·separate.·This560 and·they·can·make·otherwise·identical·result·rows·appear·to·be·separate.·This
560 shows·up,·particularly,·when·counting·things.</p>561 shows·up,·particularly,·when·counting·things.</p>
561 <p>By·way·of·example,·suppose·you·have·a·model·like·this:</p>562 <p>By·way·of·example,·suppose·you·have·a·model·like·this:</p>
562 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>563 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>
  
  
563 <span·class="k">class</span>·<span·class="nc">Item</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>564 <span·class="k">class</span>·<span·class="nc">Item</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Model</span><span·class="p">):</span>
Offset 587, 19 lines modifiedOffset 588, 19 lines modified
587 query.</p>588 query.</p>
588 <p>This·behavior·is·the·same·as·that·noted·in·the·queryset·documentation·for589 <p>This·behavior·is·the·same·as·that·noted·in·the·queryset·documentation·for
589 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.distinct"·title="django.db.models.query.QuerySet.distinct"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">distinct()</span></code></a>·and·the·general·rule·is·the590 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.distinct"·title="django.db.models.query.QuerySet.distinct"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">distinct()</span></code></a>·and·the·general·rule·is·the
590 same:·normally·you·won’t·want·extra·columns·playing·a·part·in·the·result,·so591 same:·normally·you·won’t·want·extra·columns·playing·a·part·in·the·result,·so
591 clear·out·the·ordering,·or·at·least·make·sure·it’s·restricted·only·to·those592 clear·out·the·ordering,·or·at·least·make·sure·it’s·restricted·only·to·those
592 fields·you·also·select·in·a·<code·class="docutils·literal·notranslate"><span·class="pre">values()</span></code>·call.</p>593 fields·you·also·select·in·a·<code·class="docutils·literal·notranslate"><span·class="pre">values()</span></code>·call.</p>
593 <div·class="admonition·note">594 <div·class="admonition·note">
594 <p·class="admonition-title">Note</p>595 <p·class="admonition-title">rkus</p>
595 <p>You·might·reasonably·ask·why·Django·doesn’t·remove·the·extraneous·columns596 <p>You·might·reasonably·ask·why·Django·doesn’t·remove·the·extraneous·columns
596 for·you.·The·main·reason·is·consistency·with·<code·class="docutils·literal·notranslate"><span·class="pre">distinct()</span></code>·and·other597 for·you.·The·main·reason·is·consistency·with·<code·class="docutils·literal·notranslate"><span·class="pre">distinct()</span></code>·and·other
597 places:·Django·<strong>never</strong>·removes·ordering·constraints·that·you·have598 places:·Django·<strong>never</strong>·removes·ordering·constraints·that·you·have
598 specified·(and·we·can’t·change·those·other·methods·behavior,·as·that599 specified·(and·we·can’t·change·those·other·methods·behavior,·as·that
599 would·violate·our·<a·class="reference·internal"·href="../../misc/api-stability.html"><span·class="doc">API·stability</span></a>·policy).</p>600 would·violate·our·<a·class="reference·internal"·href="../../misc/api-stability.html"><span·class="doc">API·stability</span></a>·policy).</p>
600 </div>601 </div>
601 </section>602 </section>
602 </section>603 </section>
603 <section·id="s-aggregating-annotations">604 <section·id="s-aggregating-annotations">
604 <span·id="aggregating-annotations"></span><h3>Aggregating·annotations<a·class="headerlink"·href="#aggregating-annotations"·title="Link·to·this·heading">¶</a></h3>605 <span·id="aggregating-annotations"></span><h3>Aggregating·annotations<a·class="headerlink"·href="#aggregating-annotations"·title="Link·to·this·heading">¶</a></h3>
605 <p>You·can·also·generate·an·aggregate·on·the·result·of·an·annotation.·When·you606 <p>You·can·also·generate·an·aggregate·on·the·result·of·an·annotation.·When·you
Offset 652, 15 lines modifiedOffset 653, 15 lines modified
652 ······653 ······
653 ········654 ········
654 ··········<div·class="yui-b"·id="sidebar">655 ··········<div·class="yui-b"·id="sidebar">
655 ············656 ············
656 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">657 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
657 ········<div·class="sphinxsidebarwrapper">658 ········<div·class="sphinxsidebarwrapper">
658 ··<div>659 ··<div>
659 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>660 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
660 ····<ul>661 ····<ul>
661 <li><a·class="reference·internal"·href="#">Aggregation</a><ul>662 <li><a·class="reference·internal"·href="#">Aggregation</a><ul>
662 <li><a·class="reference·internal"·href="#cheat-sheet">Cheat·sheet</a></li>663 <li><a·class="reference·internal"·href="#cheat-sheet">Cheat·sheet</a></li>
Max diff block lines reached; 1785/13989 bytes (12.76%) of diff not shown.
8.6 KB
html2text {}
Max HTML report size reached
5.52 KB
./usr/share/doc/python-django-doc/html/topics/db/examples/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Examples·of·model·relationship·API·usage·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Examples·of·model·relationship·API·usage·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Many-to-many·relationships"·href="many_to_many.html"·/>15 ····<link·rel="next"·title="Many-to-many·relationships"·href="many_to_many.html"·/>
15 ····<link·rel="prev"·title="Fixtures"·href="../fixtures.html"·/>16 ····<link·rel="prev"·title="Fixtures"·href="../fixtures.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 95, 37 lines modifiedOffset 96, 37 lines modified
95 ······96 ······
96 ········97 ········
97 ··········<div·class="yui-b"·id="sidebar">98 ··········<div·class="yui-b"·id="sidebar">
98 ············99 ············
99 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">100 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
100 ········<div·class="sphinxsidebarwrapper">101 ········<div·class="sphinxsidebarwrapper">
101 ··<div>102 ··<div>
102 ····<h4>Previous·topic</h4>103 ····<h4>Eelmine·teema</h4>
103 ····<p·class="topless"><a·href="../fixtures.html"104 ····<p·class="topless"><a·href="../fixtures.html"
104 ··························title="previous·chapter">Fixtures</a></p>105 ··························title="eelmine·jaotis">Fixtures</a></p>
105 ··</div>106 ··</div>
106 ··<div>107 ··<div>
107 ····<h4>Next·topic</h4>108 ····<h4>Järgmine·teema</h4>
108 ····<p·class="topless"><a·href="many_to_many.html"109 ····<p·class="topless"><a·href="many_to_many.html"
109 ··························title="next·chapter">Many-to-many·relationships</a></p>110 ··························title="järgmine·jaotis">Many-to-many·relationships</a></p>
110 ··</div>111 ··</div>
111 <search·id="searchbox"·style="display:·none"·role="search">112 <search·id="searchbox"·style="display:·none"·role="search">
112 ··<h3·id="searchlabel">Quick·search</h3>113 ··<h3·id="searchlabel">Kiirotsing</h3>
113 ····<div·class="searchformwrapper">114 ····<div·class="searchformwrapper">
114 ····<form·class="search"·action="../../../search.html"·method="get">115 ····<form·class="search"·action="../../../search.html"·method="get">
115 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>116 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
116 ······<input·type="submit"·value="Go"·/>117 ······<input·type="submit"·value="Otsi"·/>
117 ····</form>118 ····</form>
118 ····</div>119 ····</div>
119 </search>120 </search>
120 <script>document.getElementById('searchbox').style.display·=·"block"</script>121 <script>document.getElementById('searchbox').style.display·=·"block"</script>
121 ········</div>122 ········</div>
122 ······</div>123 ······</div>
123 ··············<h3>Last·update:</h3>124 ··············<h3>Last·update:</h3>
124 ··············<p·class="topless">Nov·05,·2024</p>125 ··············<p·class="topless">nov·05,·2024</p>
125 ··········</div>126 ··········</div>
126 ········127 ········
127 ······128 ······
128 ····</div>129 ····</div>
  
129 ····<div·id="ft">130 ····<div·id="ft">
130 ······<div·class="nav">131 ······<div·class="nav">
1.58 KB
html2text {}
    
Offset 1, 16 lines modifiedOffset 1, 16 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·E\x8Ex\x8xa\x8am\x8mp\x8pl\x8le\x8es\x8s·o\x8of\x8f·m\x8mo\x8od\x8de\x8el\x8l·r\x8re\x8el\x8la\x8at\x8ti\x8io\x8on\x8ns\x8sh\x8hi\x8ip\x8p·A\x8AP\x8PI\x8I·u\x8us\x8sa\x8ag\x8ge\x8e_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·E\x8Ex\x8xa\x8am\x8mp\x8pl\x8le\x8es\x8s·o\x8of\x8f·m\x8mo\x8od\x8de\x8el\x8l·r\x8re\x8el\x8la\x8at\x8ti\x8io\x8on\x8ns\x8sh\x8hi\x8ip\x8p·A\x8AP\x8PI\x8I·u\x8us\x8sa\x8ag\x8ge\x8e_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 ····*·_\x8M_\x8a_\x8n_\x8y_\x8-_\x8t_\x8o_\x8-_\x8m_\x8a_\x8n_\x8y_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s5 ····*·_\x8M_\x8a_\x8n_\x8y_\x8-_\x8t_\x8o_\x8-_\x8m_\x8a_\x8n_\x8y_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s
6 ····*·_\x8M_\x8a_\x8n_\x8y_\x8-_\x8t_\x8o_\x8-_\x8o_\x8n_\x8e_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s6 ····*·_\x8M_\x8a_\x8n_\x8y_\x8-_\x8t_\x8o_\x8-_\x8o_\x8n_\x8e_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s
7 ····*·_\x8O_\x8n_\x8e_\x8-_\x8t_\x8o_\x8-_\x8o_\x8n_\x8e_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s7 ····*·_\x8O_\x8n_\x8e_\x8-_\x8t_\x8o_\x8-_\x8o_\x8n_\x8e_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s
8 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*8 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
9 _\x8F_\x8i_\x8x_\x8t_\x8u_\x8r_\x8e_\x8s9 _\x8F_\x8i_\x8x_\x8t_\x8u_\x8r_\x8e_\x8s
10 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*10 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
11 _\x8M_\x8a_\x8n_\x8y_\x8-_\x8t_\x8o_\x8-_\x8m_\x8a_\x8n_\x8y_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s11 _\x8M_\x8a_\x8n_\x8y_\x8-_\x8t_\x8o_\x8-_\x8m_\x8a_\x8n_\x8y_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s
12 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*12 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
13 [q···················][Go]13 [q···················][Otsi]
14 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*14 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
15 Nov·05,·202415 nov·05,·2024
16 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»16 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
10.7 KB
./usr/share/doc/python-django-doc/html/topics/db/examples/many_to_many.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Many-to-many·relationships·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Many-to-many·relationships·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Many-to-one·relationships"·href="many_to_one.html"·/>15 ····<link·rel="next"·title="Many-to-one·relationships"·href="many_to_one.html"·/>
15 ····<link·rel="prev"·title="Examples·of·model·relationship·API·usage"·href="index.html"·/>16 ····<link·rel="prev"·title="Examples·of·model·relationship·API·usage"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 144, 15 lines modifiedOffset 145, 15 lines modified
144 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a2</span><span·class="o">.</span><span·class="n">publications</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">p3</span><span·class="p">)</span>145 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a2</span><span·class="o">.</span><span·class="n">publications</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">p3</span><span·class="p">)</span>
145 </pre></div>146 </pre></div>
146 </div>147 </div>
147 <p>Adding·a·second·time·is·OK,·it·will·not·duplicate·the·relation:</p>148 <p>Adding·a·second·time·is·OK,·it·will·not·duplicate·the·relation:</p>
148 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a2</span><span·class="o">.</span><span·class="n">publications</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">p3</span><span·class="p">)</span>149 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a2</span><span·class="o">.</span><span·class="n">publications</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">p3</span><span·class="p">)</span>
149 </pre></div>150 </pre></div>
150 </div>151 </div>
151 <p>Adding·an·object·of·the·wrong·type·raises·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#TypeError"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TypeError</span></code></a>:</p>152 <p>Adding·an·object·of·the·wrong·type·raises·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/exceptions.html#TypeError"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TypeError</span></code></a>:</p>
152 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a2</span><span·class="o">.</span><span·class="n">publications</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">a1</span><span·class="p">)</span>153 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a2</span><span·class="o">.</span><span·class="n">publications</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">a1</span><span·class="p">)</span>
153 <span·class="gt">Traceback·(most·recent·call·last):</span>154 <span·class="gt">Traceback·(most·recent·call·last):</span>
154 <span·class="c">...</span>155 <span·class="c">...</span>
155 <span·class="gr">TypeError</span>:·<span·class="n">&#39;Publication&#39;·instance·expected</span>156 <span·class="gr">TypeError</span>:·<span·class="n">&#39;Publication&#39;·instance·expected</span>
156 </pre></div>157 </pre></div>
157 </div>158 </div>
158 <p>Create·and·add·a·<code·class="docutils·literal·notranslate"><span·class="pre">Publication</span></code>·to·an·<code·class="docutils·literal·notranslate"><span·class="pre">Article</span></code>·in·one·step·using159 <p>Create·and·add·a·<code·class="docutils·literal·notranslate"><span·class="pre">Publication</span></code>·to·an·<code·class="docutils·literal·notranslate"><span·class="pre">Article</span></code>·in·one·step·using
Offset 252, 15 lines modifiedOffset 253, 15 lines modified
252 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a2</span><span·class="o">.</span><span·class="n">delete</span><span·class="p">()</span>253 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a2</span><span·class="o">.</span><span·class="n">delete</span><span·class="p">()</span>
253 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Article</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>254 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Article</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>
254 <span·class="go">&lt;QuerySet·[&lt;Article:·Django·lets·you·build·web·apps·easily&gt;]&gt;</span>255 <span·class="go">&lt;QuerySet·[&lt;Article:·Django·lets·you·build·web·apps·easily&gt;]&gt;</span>
255 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span><span·class="o">.</span><span·class="n">article_set</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>256 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span><span·class="o">.</span><span·class="n">article_set</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>
256 <span·class="go">&lt;QuerySet·[]&gt;</span>257 <span·class="go">&lt;QuerySet·[]&gt;</span>
257 </pre></div>258 </pre></div>
258 </div>259 </div>
259 <p>Adding·via·the·other·end·of·an·m2m:</p>260 <p>Adding·via·the·other·end·of·an·m2m:</p>
260 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a4</span>·<span·class="o">=</span>·<span·class="n">Article</span><span·class="p">(</span><span·class="n">headline</span><span·class="o">=</span><span·class="s2">&quot;NASA·finds·intelligent·life·on·Earth&quot;</span><span·class="p">)</span>261 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a4</span>·<span·class="o">=</span>·<span·class="n">Article</span><span·class="p">(</span><span·class="n">headline</span><span·class="o">=</span><span·class="s2">&quot;NASA·finds·intelligent·life·on·Earth&quot;</span><span·class="p">)</span>
261 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a4</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>262 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a4</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>
262 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span><span·class="o">.</span><span·class="n">article_set</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">a4</span><span·class="p">)</span>263 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span><span·class="o">.</span><span·class="n">article_set</span><span·class="o">.</span><span·class="n">add</span><span·class="p">(</span><span·class="n">a4</span><span·class="p">)</span>
263 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span><span·class="o">.</span><span·class="n">article_set</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>264 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span><span·class="o">.</span><span·class="n">article_set</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>
264 <span·class="go">&lt;QuerySet·[&lt;Article:·NASA·finds·intelligent·life·on·Earth&gt;]&gt;</span>265 <span·class="go">&lt;QuerySet·[&lt;Article:·NASA·finds·intelligent·life·on·Earth&gt;]&gt;</span>
265 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a4</span><span·class="o">.</span><span·class="n">publications</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>266 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">a4</span><span·class="o">.</span><span·class="n">publications</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>
266 <span·class="go">&lt;QuerySet·[&lt;Publication:·Science·News&gt;]&gt;</span>267 <span·class="go">&lt;QuerySet·[&lt;Publication:·Science·News&gt;]&gt;</span>
Offset 362, 37 lines modifiedOffset 363, 37 lines modified
362 ······363 ······
363 ········364 ········
364 ··········<div·class="yui-b"·id="sidebar">365 ··········<div·class="yui-b"·id="sidebar">
365 ············366 ············
366 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">367 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
367 ········<div·class="sphinxsidebarwrapper">368 ········<div·class="sphinxsidebarwrapper">
368 ··<div>369 ··<div>
369 ····<h4>Previous·topic</h4>370 ····<h4>Eelmine·teema</h4>
370 ····<p·class="topless"><a·href="index.html"371 ····<p·class="topless"><a·href="index.html"
371 ··························title="previous·chapter">Examples·of·model·relationship·API·usage</a></p>372 ··························title="eelmine·jaotis">Examples·of·model·relationship·API·usage</a></p>
372 ··</div>373 ··</div>
373 ··<div>374 ··<div>
374 ····<h4>Next·topic</h4>375 ····<h4>Järgmine·teema</h4>
375 ····<p·class="topless"><a·href="many_to_one.html"376 ····<p·class="topless"><a·href="many_to_one.html"
376 ··························title="next·chapter">Many-to-one·relationships</a></p>377 ··························title="järgmine·jaotis">Many-to-one·relationships</a></p>
377 ··</div>378 ··</div>
378 <search·id="searchbox"·style="display:·none"·role="search">379 <search·id="searchbox"·style="display:·none"·role="search">
379 ··<h3·id="searchlabel">Quick·search</h3>380 ··<h3·id="searchlabel">Kiirotsing</h3>
380 ····<div·class="searchformwrapper">381 ····<div·class="searchformwrapper">
381 ····<form·class="search"·action="../../../search.html"·method="get">382 ····<form·class="search"·action="../../../search.html"·method="get">
382 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>383 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
383 ······<input·type="submit"·value="Go"·/>384 ······<input·type="submit"·value="Otsi"·/>
384 ····</form>385 ····</form>
385 ····</div>386 ····</div>
386 </search>387 </search>
387 <script>document.getElementById('searchbox').style.display·=·"block"</script>388 <script>document.getElementById('searchbox').style.display·=·"block"</script>
388 ········</div>389 ········</div>
389 ······</div>390 ······</div>
390 ··············<h3>Last·update:</h3>391 ··············<h3>Last·update:</h3>
391 ··············<p·class="topless">Nov·05,·2024</p>392 ··············<p·class="topless">nov·05,·2024</p>
392 ··········</div>393 ··········</div>
393 ········394 ········
394 ······395 ······
395 ····</div>396 ····</div>
  
396 ····<div·id="ft">397 ····<div·id="ft">
397 ······<div·class="nav">398 ······<div·class="nav">
2.48 KB
html2text {}
Max HTML report size reached
5.79 KB
./usr/share/doc/python-django-doc/html/topics/db/examples/many_to_one.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Many-to-one·relationships·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Many-to-one·relationships·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="One-to-one·relationships"·href="one_to_one.html"·/>15 ····<link·rel="next"·title="One-to-one·relationships"·href="one_to_one.html"·/>
15 ····<link·rel="prev"·title="Many-to-many·relationships"·href="many_to_many.html"·/>16 ····<link·rel="prev"·title="Many-to-many·relationships"·href="many_to_many.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 301, 37 lines modifiedOffset 302, 37 lines modified
301 ······302 ······
302 ········303 ········
303 ··········<div·class="yui-b"·id="sidebar">304 ··········<div·class="yui-b"·id="sidebar">
304 ············305 ············
305 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">306 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
306 ········<div·class="sphinxsidebarwrapper">307 ········<div·class="sphinxsidebarwrapper">
307 ··<div>308 ··<div>
308 ····<h4>Previous·topic</h4>309 ····<h4>Eelmine·teema</h4>
309 ····<p·class="topless"><a·href="many_to_many.html"310 ····<p·class="topless"><a·href="many_to_many.html"
310 ··························title="previous·chapter">Many-to-many·relationships</a></p>311 ··························title="eelmine·jaotis">Many-to-many·relationships</a></p>
311 ··</div>312 ··</div>
312 ··<div>313 ··<div>
313 ····<h4>Next·topic</h4>314 ····<h4>Järgmine·teema</h4>
314 ····<p·class="topless"><a·href="one_to_one.html"315 ····<p·class="topless"><a·href="one_to_one.html"
315 ··························title="next·chapter">One-to-one·relationships</a></p>316 ··························title="järgmine·jaotis">One-to-one·relationships</a></p>
316 ··</div>317 ··</div>
317 <search·id="searchbox"·style="display:·none"·role="search">318 <search·id="searchbox"·style="display:·none"·role="search">
318 ··<h3·id="searchlabel">Quick·search</h3>319 ··<h3·id="searchlabel">Kiirotsing</h3>
319 ····<div·class="searchformwrapper">320 ····<div·class="searchformwrapper">
320 ····<form·class="search"·action="../../../search.html"·method="get">321 ····<form·class="search"·action="../../../search.html"·method="get">
321 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>322 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
322 ······<input·type="submit"·value="Go"·/>323 ······<input·type="submit"·value="Otsi"·/>
323 ····</form>324 ····</form>
324 ····</div>325 ····</div>
325 </search>326 </search>
326 <script>document.getElementById('searchbox').style.display·=·"block"</script>327 <script>document.getElementById('searchbox').style.display·=·"block"</script>
327 ········</div>328 ········</div>
328 ······</div>329 ······</div>
329 ··············<h3>Last·update:</h3>330 ··············<h3>Last·update:</h3>
330 ··············<p·class="topless">Nov·05,·2024</p>331 ··············<p·class="topless">nov·05,·2024</p>
331 ··········</div>332 ··········</div>
332 ········333 ········
333 ······334 ······
334 ····</div>335 ····</div>
  
335 ····<div·id="ft">336 ····<div·id="ft">
336 ······<div·class="nav">337 ······<div·class="nav">
1.82 KB
html2text {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·M\x8Ma\x8an\x8ny\x8y-\x8-t\x8to\x8o-\x8-o\x8on\x8ne\x8e·r\x8re\x8el\x8la\x8at\x8ti\x8io\x8on\x8ns\x8sh\x8hi\x8ip\x8ps\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·M\x8Ma\x8an\x8ny\x8y-\x8-t\x8to\x8o-\x8-o\x8on\x8ne\x8e·r\x8re\x8el\x8la\x8at\x8ti\x8io\x8on\x8ns\x8sh\x8hi\x8ip\x8ps\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 To·define·a·many-to-one·relationship,·use·_\x8F_\x8o_\x8r_\x8e_\x8i_\x8g_\x8n_\x8K_\x8e_\x8y.5 To·define·a·many-to-one·relationship,·use·_\x8F_\x8o_\x8r_\x8e_\x8i_\x8g_\x8n_\x8K_\x8e_\x8y.
6 In·this·example,·a·Reporter·can·be·associated·with·many·Article·objects,·but·an6 In·this·example,·a·Reporter·can·be·associated·with·many·Article·objects,·but·an
7 Article·can·only·have·one·Reporter·object:7 Article·can·only·have·one·Reporter·object:
8 from·django.db·import·models8 from·django.db·import·models
Offset 187, 16 lines modifiedOffset 187, 16 lines modified
187 <QuerySet·[<Reporter:·John·Smith>]>187 <QuerySet·[<Reporter:·John·Smith>]>
188 You·can·delete·using·a·JOIN·in·the·query:188 You·can·delete·using·a·JOIN·in·the·query:
189 >>>·Reporter.objects.filter(article__headline__startswith="This").delete()189 >>>·Reporter.objects.filter(article__headline__startswith="This").delete()
190 >>>·Reporter.objects.all()190 >>>·Reporter.objects.all()
191 <QuerySet·[]>191 <QuerySet·[]>
192 >>>·Article.objects.all()192 >>>·Article.objects.all()
193 <QuerySet·[]>193 <QuerySet·[]>
194 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*194 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
195 _\x8M_\x8a_\x8n_\x8y_\x8-_\x8t_\x8o_\x8-_\x8m_\x8a_\x8n_\x8y_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s195 _\x8M_\x8a_\x8n_\x8y_\x8-_\x8t_\x8o_\x8-_\x8m_\x8a_\x8n_\x8y_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s
196 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*196 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
197 _\x8O_\x8n_\x8e_\x8-_\x8t_\x8o_\x8-_\x8o_\x8n_\x8e_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s197 _\x8O_\x8n_\x8e_\x8-_\x8t_\x8o_\x8-_\x8o_\x8n_\x8e_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s
198 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*198 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
199 [q···················][Go]199 [q···················][Otsi]
200 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*200 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
201 Nov·05,·2024201 nov·05,·2024
202 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»202 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
8.85 KB
./usr/share/doc/python-django-doc/html/topics/db/examples/one_to_one.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../../">2 <html·lang="et"·data-content_root="../../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>One-to-one·relationships·&#8212;·Django·5.1.3·documentation</title>6 ····<title>One-to-one·relationships·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../../search.html"·/>
14 ····<link·rel="next"·title="Handling·HTTP·requests"·href="../../http/index.html"·/>15 ····<link·rel="next"·title="Handling·HTTP·requests"·href="../../http/index.html"·/>
15 ····<link·rel="prev"·title="Many-to-one·relationships"·href="many_to_one.html"·/>16 ····<link·rel="prev"·title="Many-to-one·relationships"·href="many_to_one.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../../templatebuiltins.js"></script>18 <script·src="../../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 119, 15 lines modifiedOffset 120, 15 lines modified
119 <p>Create·a·couple·of·Places:</p>120 <p>Create·a·couple·of·Places:</p>
120 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p1</span>·<span·class="o">=</span>·<span·class="n">Place</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;Demon·Dogs&quot;</span><span·class="p">,</span>·<span·class="n">address</span><span·class="o">=</span><span·class="s2">&quot;944·W.·Fullerton&quot;</span><span·class="p">)</span>121 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p1</span>·<span·class="o">=</span>·<span·class="n">Place</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;Demon·Dogs&quot;</span><span·class="p">,</span>·<span·class="n">address</span><span·class="o">=</span><span·class="s2">&quot;944·W.·Fullerton&quot;</span><span·class="p">)</span>
121 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p1</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>122 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p1</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>
122 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span>·<span·class="o">=</span>·<span·class="n">Place</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;Ace·Hardware&quot;</span><span·class="p">,</span>·<span·class="n">address</span><span·class="o">=</span><span·class="s2">&quot;1013·N.·Ashland&quot;</span><span·class="p">)</span>123 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span>·<span·class="o">=</span>·<span·class="n">Place</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;Ace·Hardware&quot;</span><span·class="p">,</span>·<span·class="n">address</span><span·class="o">=</span><span·class="s2">&quot;1013·N.·Ashland&quot;</span><span·class="p">)</span>
123 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>124 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p2</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>
124 </pre></div>125 </pre></div>
125 </div>126 </div>
126 <p>Create·a·Restaurant.·Pass·the·parent·object·as·this·object’s·primary·key:</p>127 <p>Create·a·Restaurant.·Pass·the·parent·object·as·this·object’s·primary·key:</p>
127 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">r</span>·<span·class="o">=</span>·<span·class="n">Restaurant</span><span·class="p">(</span><span·class="n">place</span><span·class="o">=</span><span·class="n">p1</span><span·class="p">,</span>·<span·class="n">serves_hot_dogs</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">,</span>·<span·class="n">serves_pizza</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span>128 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">r</span>·<span·class="o">=</span>·<span·class="n">Restaurant</span><span·class="p">(</span><span·class="n">place</span><span·class="o">=</span><span·class="n">p1</span><span·class="p">,</span>·<span·class="n">serves_hot_dogs</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">,</span>·<span·class="n">serves_pizza</span><span·class="o">=</span><span·class="kc">False</span><span·class="p">)</span>
128 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">r</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>129 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">r</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>
129 </pre></div>130 </pre></div>
130 </div>131 </div>
131 <p>A·Restaurant·can·access·its·place:</p>132 <p>A·Restaurant·can·access·its·place:</p>
132 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">r</span><span·class="o">.</span><span·class="n">place</span>133 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">r</span><span·class="o">.</span><span·class="n">place</span>
133 <span·class="go">&lt;Place:·Demon·Dogs·the·place&gt;</span>134 <span·class="go">&lt;Place:·Demon·Dogs·the·place&gt;</span>
Offset 246, 37 lines modifiedOffset 247, 37 lines modified
246 ······247 ······
247 ········248 ········
248 ··········<div·class="yui-b"·id="sidebar">249 ··········<div·class="yui-b"·id="sidebar">
249 ············250 ············
250 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">251 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
251 ········<div·class="sphinxsidebarwrapper">252 ········<div·class="sphinxsidebarwrapper">
252 ··<div>253 ··<div>
253 ····<h4>Previous·topic</h4>254 ····<h4>Eelmine·teema</h4>
254 ····<p·class="topless"><a·href="many_to_one.html"255 ····<p·class="topless"><a·href="many_to_one.html"
255 ··························title="previous·chapter">Many-to-one·relationships</a></p>256 ··························title="eelmine·jaotis">Many-to-one·relationships</a></p>
256 ··</div>257 ··</div>
257 ··<div>258 ··<div>
258 ····<h4>Next·topic</h4>259 ····<h4>Järgmine·teema</h4>
259 ····<p·class="topless"><a·href="../../http/index.html"260 ····<p·class="topless"><a·href="../../http/index.html"
260 ··························title="next·chapter">Handling·HTTP·requests</a></p>261 ··························title="järgmine·jaotis">Handling·HTTP·requests</a></p>
261 ··</div>262 ··</div>
262 <search·id="searchbox"·style="display:·none"·role="search">263 <search·id="searchbox"·style="display:·none"·role="search">
263 ··<h3·id="searchlabel">Quick·search</h3>264 ··<h3·id="searchlabel">Kiirotsing</h3>
264 ····<div·class="searchformwrapper">265 ····<div·class="searchformwrapper">
265 ····<form·class="search"·action="../../../search.html"·method="get">266 ····<form·class="search"·action="../../../search.html"·method="get">
266 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>267 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
267 ······<input·type="submit"·value="Go"·/>268 ······<input·type="submit"·value="Otsi"·/>
268 ····</form>269 ····</form>
269 ····</div>270 ····</div>
270 </search>271 </search>
271 <script>document.getElementById('searchbox').style.display·=·"block"</script>272 <script>document.getElementById('searchbox').style.display·=·"block"</script>
272 ········</div>273 ········</div>
273 ······</div>274 ······</div>
274 ··············<h3>Last·update:</h3>275 ··············<h3>Last·update:</h3>
275 ··············<p·class="topless">Nov·05,·2024</p>276 ··············<p·class="topless">nov·05,·2024</p>
276 ··········</div>277 ··········</div>
277 ········278 ········
278 ······279 ······
279 ····</div>280 ····</div>
  
280 ····<div·id="ft">281 ····<div·id="ft">
281 ······<div·class="nav">282 ······<div·class="nav">
2.53 KB
html2text {}
Max HTML report size reached
9.24 KB
./usr/share/doc/python-django-doc/html/topics/db/fixtures.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Fixtures·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Fixtures·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Examples·of·model·relationship·API·usage"·href="examples/index.html"·/>15 ····<link·rel="next"·title="Examples·of·model·relationship·API·usage"·href="examples/index.html"·/>
15 ····<link·rel="prev"·title="Database·instrumentation"·href="instrumentation.html"·/>16 ····<link·rel="prev"·title="Database·instrumentation"·href="instrumentation.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-db-fixtures">79 ··········<div·class="yui-g"·id="topics-db-fixtures">
79 ············80 ············
80 ··<section·id="s-fixtures">81 ··<section·id="s-fixtures">
81 <span·id="s-fixtures-explanation"></span><span·id="fixtures"></span><span·id="fixtures-explanation"></span><h1>Fixtures<a·class="headerlink"·href="#fixtures"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-fixtures-explanation"></span><span·id="fixtures"></span><span·id="fixtures-explanation"></span><h1>Fixtures<a·class="headerlink"·href="#fixtures"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·seealso">83 <div·class="admonition·seealso">
83 <p·class="admonition-title">See·also</p>84 <p·class="admonition-title">Vaata·ka</p>
84 <ul·class="simple">85 <ul·class="simple">
85 <li><p><a·class="reference·internal"·href="../../howto/initial-data.html"><span·class="doc">How·to·provide·initial·data·for·models</span></a></p></li>86 <li><p><a·class="reference·internal"·href="../../howto/initial-data.html"><span·class="doc">How·to·provide·initial·data·for·models</span></a></p></li>
86 </ul>87 </ul>
87 </div>88 </div>
88 <section·id="s-what-is-a-fixture">89 <section·id="s-what-is-a-fixture">
89 <span·id="what-is-a-fixture"></span><h2>What·is·a·fixture?<a·class="headerlink"·href="#what-is-a-fixture"·title="Link·to·this·heading">¶</a></h2>90 <span·id="what-is-a-fixture"></span><h2>What·is·a·fixture?<a·class="headerlink"·href="#what-is-a-fixture"·title="Link·to·this·heading">¶</a></h2>
90 <p>A·<em>fixture</em>·is·a·collection·of·files·that·contain·the·serialized·contents·of91 <p>A·<em>fixture</em>·is·a·collection·of·files·that·contain·the·serialized·contents·of
Offset 258, 15 lines modifiedOffset 259, 15 lines modified
258 ······259 ······
259 ········260 ········
260 ··········<div·class="yui-b"·id="sidebar">261 ··········<div·class="yui-b"·id="sidebar">
261 ············262 ············
262 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">263 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
263 ········<div·class="sphinxsidebarwrapper">264 ········<div·class="sphinxsidebarwrapper">
264 ··<div>265 ··<div>
265 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>266 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
266 ····<ul>267 ····<ul>
267 <li><a·class="reference·internal"·href="#">Fixtures</a><ul>268 <li><a·class="reference·internal"·href="#">Fixtures</a><ul>
268 <li><a·class="reference·internal"·href="#what-is-a-fixture">What·is·a·fixture?</a></li>269 <li><a·class="reference·internal"·href="#what-is-a-fixture">What·is·a·fixture?</a></li>
269 <li><a·class="reference·internal"·href="#how-to-produce-a-fixture">How·to·produce·a·fixture?</a></li>270 <li><a·class="reference·internal"·href="#how-to-produce-a-fixture">How·to·produce·a·fixture?</a></li>
270 <li><a·class="reference·internal"·href="#how-to-use-a-fixture">How·to·use·a·fixture?</a></li>271 <li><a·class="reference·internal"·href="#how-to-use-a-fixture">How·to·use·a·fixture?</a></li>
271 <li><a·class="reference·internal"·href="#where-django-looks-for-fixtures">Where·Django·looks·for·fixtures?</a><ul>272 <li><a·class="reference·internal"·href="#where-django-looks-for-fixtures">Where·Django·looks·for·fixtures?</a><ul>
272 <li><a·class="reference·internal"·href="#fixtures-loading-order">Fixtures·loading·order</a></li>273 <li><a·class="reference·internal"·href="#fixtures-loading-order">Fixtures·loading·order</a></li>
Offset 277, 37 lines modifiedOffset 278, 37 lines modified
277 <li><a·class="reference·internal"·href="#database-specific-fixtures">Database-specific·fixtures</a></li>278 <li><a·class="reference·internal"·href="#database-specific-fixtures">Database-specific·fixtures</a></li>
278 </ul>279 </ul>
279 </li>280 </li>
280 </ul>281 </ul>
  
281 ··</div>282 ··</div>
282 ··<div>283 ··<div>
283 ····<h4>Previous·topic</h4>284 ····<h4>Eelmine·teema</h4>
284 ····<p·class="topless"><a·href="instrumentation.html"285 ····<p·class="topless"><a·href="instrumentation.html"
285 ··························title="previous·chapter">Database·instrumentation</a></p>286 ··························title="eelmine·jaotis">Database·instrumentation</a></p>
286 ··</div>287 ··</div>
287 ··<div>288 ··<div>
288 ····<h4>Next·topic</h4>289 ····<h4>Järgmine·teema</h4>
289 ····<p·class="topless"><a·href="examples/index.html"290 ····<p·class="topless"><a·href="examples/index.html"
290 ··························title="next·chapter">Examples·of·model·relationship·API·usage</a></p>291 ··························title="järgmine·jaotis">Examples·of·model·relationship·API·usage</a></p>
291 ··</div>292 ··</div>
292 <search·id="searchbox"·style="display:·none"·role="search">293 <search·id="searchbox"·style="display:·none"·role="search">
293 ··<h3·id="searchlabel">Quick·search</h3>294 ··<h3·id="searchlabel">Kiirotsing</h3>
294 ····<div·class="searchformwrapper">295 ····<div·class="searchformwrapper">
295 ····<form·class="search"·action="../../search.html"·method="get">296 ····<form·class="search"·action="../../search.html"·method="get">
296 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>297 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
297 ······<input·type="submit"·value="Go"·/>298 ······<input·type="submit"·value="Otsi"·/>
298 ····</form>299 ····</form>
299 ····</div>300 ····</div>
300 </search>301 </search>
301 <script>document.getElementById('searchbox').style.display·=·"block"</script>302 <script>document.getElementById('searchbox').style.display·=·"block"</script>
302 ········</div>303 ········</div>
303 ······</div>304 ······</div>
304 ··············<h3>Last·update:</h3>305 ··············<h3>Last·update:</h3>
305 ··············<p·class="topless">Nov·05,·2024</p>306 ··············<p·class="topless">nov·05,·2024</p>
306 ··········</div>307 ··········</div>
307 ········308 ········
308 ······309 ······
309 ····</div>310 ····</div>
  
310 ····<div·id="ft">311 ····<div·id="ft">
311 ······<div·class="nav">312 ······<div·class="nav">
3.55 KB
html2text {}
Max HTML report size reached
5.79 KB
./usr/share/doc/python-django-doc/html/topics/db/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Models·and·databases·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Models·and·databases·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Models"·href="models.html"·/>15 ····<link·rel="next"·title="Models"·href="models.html"·/>
15 ····<link·rel="prev"·title="How·to·install·Django"·href="../install.html"·/>16 ····<link·rel="prev"·title="How·to·install·Django"·href="../install.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 108, 37 lines modifiedOffset 109, 37 lines modified
108 ······109 ······
109 ········110 ········
110 ··········<div·class="yui-b"·id="sidebar">111 ··········<div·class="yui-b"·id="sidebar">
111 ············112 ············
112 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">113 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
113 ········<div·class="sphinxsidebarwrapper">114 ········<div·class="sphinxsidebarwrapper">
114 ··<div>115 ··<div>
115 ····<h4>Previous·topic</h4>116 ····<h4>Eelmine·teema</h4>
116 ····<p·class="topless"><a·href="../install.html"117 ····<p·class="topless"><a·href="../install.html"
117 ··························title="previous·chapter">How·to·install·Django</a></p>118 ··························title="eelmine·jaotis">How·to·install·Django</a></p>
118 ··</div>119 ··</div>
119 ··<div>120 ··<div>
120 ····<h4>Next·topic</h4>121 ····<h4>Järgmine·teema</h4>
121 ····<p·class="topless"><a·href="models.html"122 ····<p·class="topless"><a·href="models.html"
122 ··························title="next·chapter">Models</a></p>123 ··························title="järgmine·jaotis">Models</a></p>
123 ··</div>124 ··</div>
124 <search·id="searchbox"·style="display:·none"·role="search">125 <search·id="searchbox"·style="display:·none"·role="search">
125 ··<h3·id="searchlabel">Quick·search</h3>126 ··<h3·id="searchlabel">Kiirotsing</h3>
126 ····<div·class="searchformwrapper">127 ····<div·class="searchformwrapper">
127 ····<form·class="search"·action="../../search.html"·method="get">128 ····<form·class="search"·action="../../search.html"·method="get">
128 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>129 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
129 ······<input·type="submit"·value="Go"·/>130 ······<input·type="submit"·value="Otsi"·/>
130 ····</form>131 ····</form>
131 ····</div>132 ····</div>
132 </search>133 </search>
133 <script>document.getElementById('searchbox').style.display·=·"block"</script>134 <script>document.getElementById('searchbox').style.display·=·"block"</script>
134 ········</div>135 ········</div>
135 ······</div>136 ······</div>
136 ··············<h3>Last·update:</h3>137 ··············<h3>Last·update:</h3>
137 ··············<p·class="topless">Nov·05,·2024</p>138 ··············<p·class="topless">nov·05,·2024</p>
138 ··········</div>139 ··········</div>
139 ········140 ········
140 ······141 ······
141 ····</div>142 ····</div>
  
142 ····<div·id="ft">143 ····<div·id="ft">
143 ······<div·class="nav">144 ······<div·class="nav">
2.0 KB
html2text {}
Max HTML report size reached
6.77 KB
./usr/share/doc/python-django-doc/html/topics/db/instrumentation.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Database·instrumentation·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Database·instrumentation·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Fixtures"·href="fixtures.html"·/>15 ····<link·rel="next"·title="Fixtures"·href="fixtures.html"·/>
15 ····<link·rel="prev"·title="Database·access·optimization"·href="optimization.html"·/>16 ····<link·rel="prev"·title="Database·access·optimization"·href="optimization.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 190, 47 lines modifiedOffset 191, 47 lines modified
190 ······191 ······
191 ········192 ········
192 ··········<div·class="yui-b"·id="sidebar">193 ··········<div·class="yui-b"·id="sidebar">
193 ············194 ············
194 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">195 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
195 ········<div·class="sphinxsidebarwrapper">196 ········<div·class="sphinxsidebarwrapper">
196 ··<div>197 ··<div>
197 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>198 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
198 ····<ul>199 ····<ul>
199 <li><a·class="reference·internal"·href="#">Database·instrumentation</a><ul>200 <li><a·class="reference·internal"·href="#">Database·instrumentation</a><ul>
200 <li><a·class="reference·internal"·href="#connection-execute-wrapper"><code·class="docutils·literal·notranslate"><span·class="pre">connection.execute_wrapper()</span></code></a></li>201 <li><a·class="reference·internal"·href="#connection-execute-wrapper"><code·class="docutils·literal·notranslate"><span·class="pre">connection.execute_wrapper()</span></code></a></li>
201 </ul>202 </ul>
202 </li>203 </li>
203 </ul>204 </ul>
  
204 ··</div>205 ··</div>
205 ··<div>206 ··<div>
206 ····<h4>Previous·topic</h4>207 ····<h4>Eelmine·teema</h4>
207 ····<p·class="topless"><a·href="optimization.html"208 ····<p·class="topless"><a·href="optimization.html"
208 ··························title="previous·chapter">Database·access·optimization</a></p>209 ··························title="eelmine·jaotis">Database·access·optimization</a></p>
209 ··</div>210 ··</div>
210 ··<div>211 ··<div>
211 ····<h4>Next·topic</h4>212 ····<h4>Järgmine·teema</h4>
212 ····<p·class="topless"><a·href="fixtures.html"213 ····<p·class="topless"><a·href="fixtures.html"
213 ··························title="next·chapter">Fixtures</a></p>214 ··························title="järgmine·jaotis">Fixtures</a></p>
214 ··</div>215 ··</div>
215 <search·id="searchbox"·style="display:·none"·role="search">216 <search·id="searchbox"·style="display:·none"·role="search">
216 ··<h3·id="searchlabel">Quick·search</h3>217 ··<h3·id="searchlabel">Kiirotsing</h3>
217 ····<div·class="searchformwrapper">218 ····<div·class="searchformwrapper">
218 ····<form·class="search"·action="../../search.html"·method="get">219 ····<form·class="search"·action="../../search.html"·method="get">
219 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>220 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
220 ······<input·type="submit"·value="Go"·/>221 ······<input·type="submit"·value="Otsi"·/>
221 ····</form>222 ····</form>
222 ····</div>223 ····</div>
223 </search>224 </search>
224 <script>document.getElementById('searchbox').style.display·=·"block"</script>225 <script>document.getElementById('searchbox').style.display·=·"block"</script>
225 ········</div>226 ········</div>
226 ······</div>227 ······</div>
227 ··············<h3>Last·update:</h3>228 ··············<h3>Last·update:</h3>
228 ··············<p·class="topless">Nov·05,·2024</p>229 ··············<p·class="topless">nov·05,·2024</p>
229 ··········</div>230 ··········</div>
230 ········231 ········
231 ······232 ······
232 ····</div>233 ····</div>
  
233 ····<div·id="ft">234 ····<div·id="ft">
234 ······<div·class="nav">235 ······<div·class="nav">
2.48 KB
html2text {}
Max HTML report size reached
20.0 KB
./usr/share/doc/python-django-doc/html/topics/db/managers.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Managers·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Managers·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Performing·raw·SQL·queries"·href="sql.html"·/>15 ····<link·rel="next"·title="Performing·raw·SQL·queries"·href="sql.html"·/>
15 ····<link·rel="prev"·title="Search"·href="search.html"·/>16 ····<link·rel="prev"·title="Search"·href="search.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 77, 15 lines modifiedOffset 78, 15 lines modified
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-db-managers">79 ··········<div·class="yui-g"·id="topics-db-managers">
79 ············80 ············
80 ··<section·id="s-managers">81 ··<section·id="s-managers">
81 <span·id="managers"></span><h1>Managers<a·class="headerlink"·href="#managers"·title="Link·to·this·heading">¶</a></h1>82 <span·id="managers"></span><h1>Managers<a·class="headerlink"·href="#managers"·title="Link·to·this·heading">¶</a></h1>
82 <dl·class="py·class">83 <dl·class="py·class">
83 <dt·class="sig·sig-object·py"·id="django.db.models.Manager">84 <dt·class="sig·sig-object·py"·id="django.db.models.Manager">
84 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Manager</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/manager.py#L176"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.models.Manager"·title="Link·to·this·definition">¶</a></dt>85 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Manager</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/models/manager.py#L176"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.models.Manager"·title="Link·to·this·definition">¶</a></dt>
85 <dd></dd></dl>86 <dd></dd></dl>
  
86 <p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·is·the·interface·through·which·database·query·operations·are87 <p>A·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·is·the·interface·through·which·database·query·operations·are
87 provided·to·Django·models.·At·least·one·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·exists·for·every·model·in88 provided·to·Django·models.·At·least·one·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·exists·for·every·model·in
88 a·Django·application.</p>89 a·Django·application.</p>
89 <p>The·way·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·classes·work·is·documented·in·<a·class="reference·internal"·href="queries.html"><span·class="doc">Making·queries</span></a>;90 <p>The·way·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·classes·work·is·documented·in·<a·class="reference·internal"·href="queries.html"><span·class="doc">Making·queries</span></a>;
90 this·document·specifically·touches·on·model·options·that·customize·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>91 this·document·specifically·touches·on·model·options·that·customize·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>
Offset 114, 16 lines modifiedOffset 115, 16 lines modified
114 <p>You·can·use·a·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·in·a·particular·model·by·extending·the·base115 <p>You·can·use·a·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·in·a·particular·model·by·extending·the·base
115 <code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·class·and·instantiating·your·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·in·your·model.</p>116 <code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·class·and·instantiating·your·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·in·your·model.</p>
116 <p>There·are·two·reasons·you·might·want·to·customize·a·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>:·to·add·extra117 <p>There·are·two·reasons·you·might·want·to·customize·a·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>:·to·add·extra
117 <code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·methods,·and/or·to·modify·the·initial·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·the·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>118 <code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·methods,·and/or·to·modify·the·initial·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·the·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>
118 returns.</p>119 returns.</p>
119 <section·id="s-adding-extra-manager-methods">120 <section·id="s-adding-extra-manager-methods">
120 <span·id="adding-extra-manager-methods"></span><h3>Adding·extra·manager·methods<a·class="headerlink"·href="#adding-extra-manager-methods"·title="Link·to·this·heading">¶</a></h3>121 <span·id="adding-extra-manager-methods"></span><h3>Adding·extra·manager·methods<a·class="headerlink"·href="#adding-extra-manager-methods"·title="Link·to·this·heading">¶</a></h3>
121 <p>Adding·extra·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·methods·is·the·preferred·way·to·add·table-level122 <p>Adding·extra·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·methods·is·the·preferred·way·to·add·table-level
122 functionality·to·your·models.·(For·row-level·functionality··i.e.,·functions123 functionality·to·your·models.·(For·row-level·functionality··i.e.,·functions
123 that·act·on·a·single·instance·of·a·model·object··use·<a·class="reference·internal"·href="models.html#model-methods"><span·class="std·std-ref">Model·methods</span></a>,·not·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·methods.)</p>124 that·act·on·a·single·instance·of·a·model·object··use·<a·class="reference·internal"·href="models.html#model-methods"><span·class="std·std-ref">Model·methods</span></a>,·not·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·methods.)</p>
124 <p>For·example,·this·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·adds·a·method·<code·class="docutils·literal·notranslate"><span·class="pre">with_counts()</span></code>:</p>125 <p>For·example,·this·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·adds·a·method·<code·class="docutils·literal·notranslate"><span·class="pre">with_counts()</span></code>:</p>
125 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>126 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">models</span>
126 <span·class="kn">from</span>·<span·class="nn">django.db.models.functions</span>·<span·class="kn">import</span>·<span·class="n">Coalesce</span>127 <span·class="kn">from</span>·<span·class="nn">django.db.models.functions</span>·<span·class="kn">import</span>·<span·class="n">Coalesce</span>
  
  
127 <span·class="k">class</span>·<span·class="nc">PollManager</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Manager</span><span·class="p">):</span>128 <span·class="k">class</span>·<span·class="nc">PollManager</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Manager</span><span·class="p">):</span>
Offset 191, 15 lines modifiedOffset 192, 15 lines modified
191 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">Book</span><span·class="o">.</span><span·class="n">dahl_objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>192 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">Book</span><span·class="o">.</span><span·class="n">dahl_objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>
192 <span·class="n">Book</span><span·class="o">.</span><span·class="n">dahl_objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">title</span><span·class="o">=</span><span·class="s2">&quot;Matilda&quot;</span><span·class="p">)</span>193 <span·class="n">Book</span><span·class="o">.</span><span·class="n">dahl_objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">title</span><span·class="o">=</span><span·class="s2">&quot;Matilda&quot;</span><span·class="p">)</span>
193 <span·class="n">Book</span><span·class="o">.</span><span·class="n">dahl_objects</span><span·class="o">.</span><span·class="n">count</span><span·class="p">()</span>194 <span·class="n">Book</span><span·class="o">.</span><span·class="n">dahl_objects</span><span·class="o">.</span><span·class="n">count</span><span·class="p">()</span>
194 </pre></div>195 </pre></div>
195 </div>196 </div>
196 <p>This·example·also·pointed·out·another·interesting·technique:·using·multiple197 <p>This·example·also·pointed·out·another·interesting·technique:·using·multiple
197 managers·on·the·same·model.·You·can·attach·as·many·<code·class="docutils·literal·notranslate"><span·class="pre">Manager()</span></code>·instances·to198 managers·on·the·same·model.·You·can·attach·as·many·<code·class="docutils·literal·notranslate"><span·class="pre">Manager()</span></code>·instances·to
198 a·model·as·you’d·like.·This·is·a·non-repetitive·way·to·define·common·filters199 a·model·as·you’d·like.·This·is·a·non-repetitive·way·to·define·common·filters
199 for·your·models.</p>200 for·your·models.</p>
200 <p>For·example:</p>201 <p>For·example:</p>
201 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">AuthorManager</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Manager</span><span·class="p">):</span>202 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">AuthorManager</span><span·class="p">(</span><span·class="n">models</span><span·class="o">.</span><span·class="n">Manager</span><span·class="p">):</span>
202 ····<span·class="k">def</span>·<span·class="nf">get_queryset</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>203 ····<span·class="k">def</span>·<span·class="nf">get_queryset</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>
203 ········<span·class="k">return</span>·<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">get_queryset</span><span·class="p">()</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">role</span><span·class="o">=</span><span·class="s2">&quot;A&quot;</span><span·class="p">)</span>204 ········<span·class="k">return</span>·<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">get_queryset</span><span·class="p">()</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">role</span><span·class="o">=</span><span·class="s2">&quot;A&quot;</span><span·class="p">)</span>
  
  
Offset 226, 15 lines modifiedOffset 227, 15 lines modified
226 <dt·class="sig·sig-object·py"·id="django.db.models.Model._default_manager">227 <dt·class="sig·sig-object·py"·id="django.db.models.Model._default_manager">
227 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">_default_manager</span></span><a·class="headerlink"·href="#django.db.models.Model._default_manager"·title="Link·to·this·definition">¶</a></dt>228 <span·class="sig-prename·descclassname"><span·class="pre">Model.</span></span><span·class="sig-name·descname"><span·class="pre">_default_manager</span></span><a·class="headerlink"·href="#django.db.models.Model._default_manager"·title="Link·to·this·definition">¶</a></dt>
228 <dd></dd></dl>229 <dd></dd></dl>
  
229 <p>If·you·use·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·objects,·take·note·that·the·first·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>230 <p>If·you·use·custom·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·objects,·take·note·that·the·first·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>
230 Django·encounters·(in·the·order·in·which·they’re·defined·in·the·model)·has·a231 Django·encounters·(in·the·order·in·which·they’re·defined·in·the·model)·has·a
231 special·status.·Django·interprets·the·first·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·defined·in·a·class·as232 special·status.·Django·interprets·the·first·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·defined·in·a·class·as
232 the·default·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>,·and·several·parts·of·Django·(including233 the·default·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>,·and·several·parts·of·Django·(including
233 <a·class="reference·internal"·href="../../ref/django-admin.html#django-admin-dumpdata"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dumpdata</span></code></a>)·will·use·that·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·exclusively·for·that·model.·As·a234 <a·class="reference·internal"·href="../../ref/django-admin.html#django-admin-dumpdata"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dumpdata</span></code></a>)·will·use·that·<code·class="docutils·literal·notranslate"><span·class="pre">Manager</span></code>·exclusively·for·that·model.·As·a
234 result,·it’s·a·good·idea·to·be·careful·in·your·choice·of·default·manager·in235 result,·it’s·a·good·idea·to·be·careful·in·your·choice·of·default·manager·in
235 order·to·avoid·a·situation·where·overriding·<code·class="docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code>·results·in·an236 order·to·avoid·a·situation·where·overriding·<code·class="docutils·literal·notranslate"><span·class="pre">get_queryset()</span></code>·results·in·an
236 inability·to·retrieve·objects·you’d·like·to·work·with.</p>237 inability·to·retrieve·objects·you’d·like·to·work·with.</p>
237 <p>You·can·specify·a·custom·default·manager·using·<a·class="reference·internal"·href="../../ref/models/options.html#django.db.models.Options.default_manager_name"·title="django.db.models.Options.default_manager_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Meta.default_manager_name</span></code></a>.</p>238 <p>You·can·specify·a·custom·default·manager·using·<a·class="reference·internal"·href="../../ref/models/options.html#django.db.models.Options.default_manager_name"·title="django.db.models.Options.default_manager_name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Meta.default_manager_name</span></code></a>.</p>
238 <p>If·you’re·writing·some·code·that·must·handle·an·unknown·model,·for·example,·in239 <p>If·you’re·writing·some·code·that·must·handle·an·unknown·model,·for·example,·in
239 a·third-party·app·that·implements·a·generic·view,·use·this·manager·(or240 a·third-party·app·that·implements·a·generic·view,·use·this·manager·(or
Offset 498, 15 lines modifiedOffset 499, 15 lines modified
498 ······499 ······
499 ········500 ········
500 ··········<div·class="yui-b"·id="sidebar">501 ··········<div·class="yui-b"·id="sidebar">
501 ············502 ············
502 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">503 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
503 ········<div·class="sphinxsidebarwrapper">504 ········<div·class="sphinxsidebarwrapper">
504 ··<div>505 ··<div>
505 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>506 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
506 ····<ul>507 ····<ul>
507 <li><a·class="reference·internal"·href="#">Managers</a><ul>508 <li><a·class="reference·internal"·href="#">Managers</a><ul>
508 <li><a·class="reference·internal"·href="#manager-names">Manager·names</a></li>509 <li><a·class="reference·internal"·href="#manager-names">Manager·names</a></li>
509 <li><a·class="reference·internal"·href="#custom-managers">Custom·managers</a><ul>510 <li><a·class="reference·internal"·href="#custom-managers">Custom·managers</a><ul>
510 <li><a·class="reference·internal"·href="#adding-extra-manager-methods">Adding·extra·manager·methods</a></li>511 <li><a·class="reference·internal"·href="#adding-extra-manager-methods">Adding·extra·manager·methods</a></li>
511 <li><a·class="reference·internal"·href="#modifying-a-manager-s-initial-queryset">Modifying·a·manager’s·initial·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a></li>512 <li><a·class="reference·internal"·href="#modifying-a-manager-s-initial-queryset">Modifying·a·manager’s·initial·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a></li>
512 <li><a·class="reference·internal"·href="#default-managers">Default·managers</a></li>513 <li><a·class="reference·internal"·href="#default-managers">Default·managers</a></li>
Offset 526, 37 lines modifiedOffset 527, 37 lines modified
526 </li>527 </li>
527 </ul>528 </ul>
528 </li>529 </li>
529 </ul>530 </ul>
  
530 ··</div>531 ··</div>
Max diff block lines reached; 1385/13329 bytes (10.39%) of diff not shown.
6.83 KB
html2text {}
Max HTML report size reached
49.2 KB
./usr/share/doc/python-django-doc/html/topics/db/models.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Models·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Models·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Making·queries"·href="queries.html"·/>15 ····<link·rel="next"·title="Making·queries"·href="queries.html"·/>
15 ····<link·rel="prev"·title="Models·and·databases"·href="index.html"·/>16 ····<link·rel="prev"·title="Models·and·databases"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 204, 15 lines modifiedOffset 205, 15 lines modified
204 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank</span></code></a></dt><dd><p>If·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·the·field·is·allowed·to·be·blank.·Default·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>205 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank</span></code></a></dt><dd><p>If·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·the·field·is·allowed·to·be·blank.·Default·is·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>.</p>
205 <p>Note·that·this·is·different·than·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null</span></code></a>.206 <p>Note·that·this·is·different·than·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null</span></code></a>.
206 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null</span></code></a>·is·purely·database-related,·whereas207 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.null"·title="django.db.models.Field.null"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">null</span></code></a>·is·purely·database-related,·whereas
207 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank</span></code></a>·is·validation-related.·If·a·field·has208 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank</span></code></a>·is·validation-related.·If·a·field·has
208 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank=True</span></code></a>,·form·validation·will209 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank=True</span></code></a>,·form·validation·will
209 allow·entry·of·an·empty·value.·If·a·field·has·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank=False</span></code></a>,·the·field·will·be·required.</p>210 allow·entry·of·an·empty·value.·If·a·field·has·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.blank"·title="django.db.models.Field.blank"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">blank=False</span></code></a>,·the·field·will·be·required.</p>
210 </dd>211 </dd>
211 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.choices"·title="django.db.models.Field.choices"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">choices</span></code></a></dt><dd><p>A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·of·2-value·tuples,·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-mapping"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">mapping</span></a>,·an212 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.choices"·title="django.db.models.Field.choices"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">choices</span></code></a></dt><dd><p>A·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·of·2-value·tuples,·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-mapping"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">mapping</span></a>,·an
212 <a·class="reference·internal"·href="../../ref/models/fields.html#field-choices-enum-types"><span·class="std·std-ref">enumeration·type</span></a>,·or·a·callable·(that213 <a·class="reference·internal"·href="../../ref/models/fields.html#field-choices-enum-types"><span·class="std·std-ref">enumeration·type</span></a>,·or·a·callable·(that
213 expects·no·arguments·and·returns·any·of·the·previous·formats),·to·use·as214 expects·no·arguments·and·returns·any·of·the·previous·formats),·to·use·as
214 choices·for·this·field.·If·this·is·given,·the·default·form·widget·will·be·a215 choices·for·this·field.·If·this·is·given,·the·default·form·widget·will·be·a
215 select·box·instead·of·the·standard·text·field·and·will·limit·choices·to·the216 select·box·instead·of·the·standard·text·field·and·will·limit·choices·to·the
216 choices·given.</p>217 choices·given.</p>
217 <p>A·choices·list·looks·like·this:</p>218 <p>A·choices·list·looks·like·this:</p>
218 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">YEAR_IN_SCHOOL_CHOICES</span>·<span·class="o">=</span>·<span·class="p">[</span>219 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">YEAR_IN_SCHOOL_CHOICES</span>·<span·class="o">=</span>·<span·class="p">[</span>
Offset 221, 15 lines modifiedOffset 222, 15 lines modified
221 ····<span·class="p">(</span><span·class="s2">&quot;JR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Junior&quot;</span><span·class="p">),</span>222 ····<span·class="p">(</span><span·class="s2">&quot;JR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Junior&quot;</span><span·class="p">),</span>
222 ····<span·class="p">(</span><span·class="s2">&quot;SR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Senior&quot;</span><span·class="p">),</span>223 ····<span·class="p">(</span><span·class="s2">&quot;SR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Senior&quot;</span><span·class="p">),</span>
223 ····<span·class="p">(</span><span·class="s2">&quot;GR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Graduate&quot;</span><span·class="p">),</span>224 ····<span·class="p">(</span><span·class="s2">&quot;GR&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;Graduate&quot;</span><span·class="p">),</span>
224 <span·class="p">]</span>225 <span·class="p">]</span>
225 </pre></div>226 </pre></div>
226 </div>227 </div>
227 <div·class="admonition·note">228 <div·class="admonition·note">
228 <p·class="admonition-title">Note</p>229 <p·class="admonition-title">rkus</p>
229 <p>A·new·migration·is·created·each·time·the·order·of·<code·class="docutils·literal·notranslate"><span·class="pre">choices</span></code>·changes.</p>230 <p>A·new·migration·is·created·each·time·the·order·of·<code·class="docutils·literal·notranslate"><span·class="pre">choices</span></code>·changes.</p>
230 </div>231 </div>
231 <p>The·first·element·in·each·tuple·is·the·value·that·will·be·stored·in·the232 <p>The·first·element·in·each·tuple·is·the·value·that·will·be·stored·in·the
232 database.·The·second·element·is·displayed·by·the·field’s·form·widget.</p>233 database.·The·second·element·is·displayed·by·the·field’s·form·widget.</p>
233 <p>Given·a·model·instance,·the·display·value·for·a·field·with·<code·class="docutils·literal·notranslate"><span·class="pre">choices</span></code>·can234 <p>Given·a·model·instance,·the·display·value·for·a·field·with·<code·class="docutils·literal·notranslate"><span·class="pre">choices</span></code>·can
234 be·accessed·using·the·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.get_FOO_display"·title="django.db.models.Model.get_FOO_display"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_FOO_display()</span></code></a>235 be·accessed·using·the·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.get_FOO_display"·title="django.db.models.Model.get_FOO_display"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_FOO_display()</span></code></a>
235 method.·For·example:</p>236 method.·For·example:</p>
Offset 277, 15 lines modifiedOffset 278, 15 lines modified
277 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.db_default"·title="django.db.models.Field.db_default"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_default</span></code></a></dt><dd><p>The·database-computed·default·value·for·the·field.·This·can·be·a·literal278 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.db_default"·title="django.db.models.Field.db_default"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_default</span></code></a></dt><dd><p>The·database-computed·default·value·for·the·field.·This·can·be·a·literal
278 value·or·a·database·function.</p>279 value·or·a·database·function.</p>
279 <p>If·both·<code·class="docutils·literal·notranslate"><span·class="pre">db_default</span></code>·and·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.default"·title="django.db.models.Field.default"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Field.default</span></code></a>·are·set,·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·will280 <p>If·both·<code·class="docutils·literal·notranslate"><span·class="pre">db_default</span></code>·and·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.default"·title="django.db.models.Field.default"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">Field.default</span></code></a>·are·set,·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·will
280 take·precedence·when·creating·instances·in·Python·code.·<code·class="docutils·literal·notranslate"><span·class="pre">db_default</span></code>·will281 take·precedence·when·creating·instances·in·Python·code.·<code·class="docutils·literal·notranslate"><span·class="pre">db_default</span></code>·will
281 still·be·set·at·the·database·level·and·will·be·used·when·inserting·rows282 still·be·set·at·the·database·level·and·will·be·used·when·inserting·rows
282 outside·of·the·ORM·or·when·adding·a·new·field·in·a·migration.</p>283 outside·of·the·ORM·or·when·adding·a·new·field·in·a·migration.</p>
283 </dd>284 </dd>
284 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.help_text"·title="django.db.models.Field.help_text"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">help_text</span></code></a></dt><dd><p>Extra·help·text·to·be·displayed·with·the·form·widget.·It’s·useful·for285 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.help_text"·title="django.db.models.Field.help_text"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">help_text</span></code></a></dt><dd><p>Extra·help·text·to·be·displayed·with·the·form·widget.·It’s·useful·for
285 documentation·even·if·your·field·isn’t·used·on·a·form.</p>286 documentation·even·if·your·field·isn’t·used·on·a·form.</p>
286 </dd>287 </dd>
287 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.primary_key"·title="django.db.models.Field.primary_key"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">primary_key</span></code></a></dt><dd><p>If·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·this·field·is·the·primary·key·for·the·model.</p>288 <dt><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.primary_key"·title="django.db.models.Field.primary_key"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">primary_key</span></code></a></dt><dd><p>If·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·this·field·is·the·primary·key·for·the·model.</p>
288 <p>If·you·don’t·specify·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.primary_key"·title="django.db.models.Field.primary_key"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">primary_key=True</span></code></a>·for289 <p>If·you·don’t·specify·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.primary_key"·title="django.db.models.Field.primary_key"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">primary_key=True</span></code></a>·for
289 any·fields·in·your·model,·Django·will·automatically·add·an290 any·fields·in·your·model,·Django·will·automatically·add·an
290 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.IntegerField"·title="django.db.models.IntegerField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">IntegerField</span></code></a>·to·hold·the·primary·key,·so·you·don’t·need·to·set291 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.IntegerField"·title="django.db.models.IntegerField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">IntegerField</span></code></a>·to·hold·the·primary·key,·so·you·don’t·need·to·set
291 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.primary_key"·title="django.db.models.Field.primary_key"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">primary_key=True</span></code></a>·on·any·of·your·fields292 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.Field.primary_key"·title="django.db.models.Field.primary_key"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">primary_key=True</span></code></a>·on·any·of·your·fields
Offset 407, 15 lines modifiedOffset 408, 15 lines modified
407 ········<span·class="n">Manufacturer</span><span·class="p">,</span>408 ········<span·class="n">Manufacturer</span><span·class="p">,</span>
408 ········<span·class="n">on_delete</span><span·class="o">=</span><span·class="n">models</span><span·class="o">.</span><span·class="n">CASCADE</span><span·class="p">,</span>409 ········<span·class="n">on_delete</span><span·class="o">=</span><span·class="n">models</span><span·class="o">.</span><span·class="n">CASCADE</span><span·class="p">,</span>
409 ····<span·class="p">)</span>410 ····<span·class="p">)</span>
410 ····<span·class="c1">#·...</span>411 ····<span·class="c1">#·...</span>
411 </pre></div>412 </pre></div>
412 </div>413 </div>
413 <div·class="admonition·seealso">414 <div·class="admonition·seealso">
414 <p·class="admonition-title">See·also</p>415 <p·class="admonition-title">Vaata·ka</p>
415 <p><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·fields·accept·a·number·of·extra416 <p><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.ForeignKey"·title="django.db.models.ForeignKey"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ForeignKey</span></code></a>·fields·accept·a·number·of·extra
416 arguments·which·are·explained·in·<a·class="reference·internal"·href="../../ref/models/fields.html#foreign-key-arguments"><span·class="std·std-ref">the·model·field·reference</span></a>.·These·options·help·define·how·the·relationship417 arguments·which·are·explained·in·<a·class="reference·internal"·href="../../ref/models/fields.html#foreign-key-arguments"><span·class="std·std-ref">the·model·field·reference</span></a>.·These·options·help·define·how·the·relationship
417 should·work;·all·are·optional.</p>418 should·work;·all·are·optional.</p>
418 <p>For·details·on·accessing·backwards-related·objects,·see·the419 <p>For·details·on·accessing·backwards-related·objects,·see·the
419 <a·class="reference·internal"·href="queries.html#backwards-related-objects"><span·class="std·std-ref">Following·relationships·backward·example</span></a>.</p>420 <a·class="reference·internal"·href="queries.html#backwards-related-objects"><span·class="std·std-ref">Following·relationships·backward·example</span></a>.</p>
420 <p>For·sample·code,·see·the·<a·class="reference·internal"·href="examples/many_to_one.html"><span·class="doc">Many-to-one·relationship·model·example</span></a>.</p>421 <p>For·sample·code,·see·the·<a·class="reference·internal"·href="examples/many_to_one.html"><span·class="doc">Many-to-one·relationship·model·example</span></a>.</p>
421 </div>422 </div>
Offset 457, 15 lines modifiedOffset 458, 15 lines modified
457 <p>Generally,·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>·instances·should·go·in458 <p>Generally,·<a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>·instances·should·go·in
458 the·object·that’s·going·to·be·edited·on·a·form.·In·the·above·example,459 the·object·that’s·going·to·be·edited·on·a·form.·In·the·above·example,
459 <code·class="docutils·literal·notranslate"><span·class="pre">toppings</span></code>·is·in·<code·class="docutils·literal·notranslate"><span·class="pre">Pizza</span></code>·(rather·than·<code·class="docutils·literal·notranslate"><span·class="pre">Topping</span></code>·having·a·<code·class="docutils·literal·notranslate"><span·class="pre">pizzas</span></code>460 <code·class="docutils·literal·notranslate"><span·class="pre">toppings</span></code>·is·in·<code·class="docutils·literal·notranslate"><span·class="pre">Pizza</span></code>·(rather·than·<code·class="docutils·literal·notranslate"><span·class="pre">Topping</span></code>·having·a·<code·class="docutils·literal·notranslate"><span·class="pre">pizzas</span></code>
460 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>·)·because·it’s·more·natural·to·think461 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>·)·because·it’s·more·natural·to·think
461 about·a·pizza·having·toppings·than·a·topping·being·on·multiple·pizzas.·The·way462 about·a·pizza·having·toppings·than·a·topping·being·on·multiple·pizzas.·The·way
462 it’s·set·up·above,·the·<code·class="docutils·literal·notranslate"><span·class="pre">Pizza</span></code>·form·would·let·users·select·the·toppings.</p>463 it’s·set·up·above,·the·<code·class="docutils·literal·notranslate"><span·class="pre">Pizza</span></code>·form·would·let·users·select·the·toppings.</p>
463 <div·class="admonition·seealso">464 <div·class="admonition·seealso">
464 <p·class="admonition-title">See·also</p>465 <p·class="admonition-title">Vaata·ka</p>
465 <p>See·the·<a·class="reference·internal"·href="examples/many_to_many.html"><span·class="doc">Many-to-many·relationship·model·example</span></a>·for·a·full·example.</p>466 <p>See·the·<a·class="reference·internal"·href="examples/many_to_many.html"><span·class="doc">Many-to-many·relationship·model·example</span></a>·for·a·full·example.</p>
466 </div>467 </div>
467 <p><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>·fields·also·accept·a·number·of468 <p><a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.ManyToManyField"·title="django.db.models.ManyToManyField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code></a>·fields·also·accept·a·number·of
468 extra·arguments·which·are·explained·in·<a·class="reference·internal"·href="../../ref/models/fields.html#manytomany-arguments"><span·class="std·std-ref">the·model·field·reference</span></a>.·These·options·help·define·how·the·relationship469 extra·arguments·which·are·explained·in·<a·class="reference·internal"·href="../../ref/models/fields.html#manytomany-arguments"><span·class="std·std-ref">the·model·field·reference</span></a>.·These·options·help·define·how·the·relationship
469 should·work;·all·are·optional.</p>470 should·work;·all·are·optional.</p>
470 </section>471 </section>
471 <section·id="s-extra-fields-on-many-to-many-relationships">472 <section·id="s-extra-fields-on-many-to-many-relationships">
Offset 639, 31 lines modifiedOffset 640, 31 lines modified
639 </div>640 </div>
640 </section>641 </section>
641 <section·id="s-one-to-one-relationships">642 <section·id="s-one-to-one-relationships">
642 <span·id="one-to-one-relationships"></span><h4>One-to-one·relationships<a·class="headerlink"·href="#one-to-one-relationships"·title="Link·to·this·heading">¶</a></h4>643 <span·id="one-to-one-relationships"></span><h4>One-to-one·relationships<a·class="headerlink"·href="#one-to-one-relationships"·title="Link·to·this·heading">¶</a></h4>
643 <p>To·define·a·one-to-one·relationship,·use644 <p>To·define·a·one-to-one·relationship,·use
644 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.OneToOneField"·title="django.db.models.OneToOneField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">OneToOneField</span></code></a>.·You·use·it·just·like·any·other645 <a·class="reference·internal"·href="../../ref/models/fields.html#django.db.models.OneToOneField"·title="django.db.models.OneToOneField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">OneToOneField</span></code></a>.·You·use·it·just·like·any·other
645 <code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·type:·by·including·it·as·a·class·attribute·of·your·model.</p>646 <code·class="docutils·literal·notranslate"><span·class="pre">Field</span></code>·type:·by·including·it·as·a·class·attribute·of·your·model.</p>
Max diff block lines reached; 18705/33770 bytes (55.39%) of diff not shown.
16.1 KB
html2text {}
Max HTML report size reached
22.6 KB
./usr/share/doc/python-django-doc/html/topics/db/multi-db.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Multiple·databases·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Multiple·databases·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Tablespaces"·href="tablespaces.html"·/>15 ····<link·rel="next"·title="Tablespaces"·href="tablespaces.html"·/>
15 ····<link·rel="prev"·title="Database·transactions"·href="transactions.html"·/>16 ····<link·rel="prev"·title="Database·transactions"·href="transactions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 15 lines modifiedOffset 81, 15 lines modified
80 ··<section·id="s-multiple-databases">81 ··<section·id="s-multiple-databases">
81 <span·id="multiple-databases"></span><h1>Multiple·databases<a·class="headerlink"·href="#multiple-databases"·title="Link·to·this·heading">¶</a></h1>82 <span·id="multiple-databases"></span><h1>Multiple·databases<a·class="headerlink"·href="#multiple-databases"·title="Link·to·this·heading">¶</a></h1>
82 <p>This·topic·guide·describes·Django’s·support·for·interacting·with83 <p>This·topic·guide·describes·Django’s·support·for·interacting·with
83 multiple·databases.·Most·of·the·rest·of·Django’s·documentation·assumes84 multiple·databases.·Most·of·the·rest·of·Django’s·documentation·assumes
84 you·are·interacting·with·a·single·database.·If·you·want·to·interact85 you·are·interacting·with·a·single·database.·If·you·want·to·interact
85 with·multiple·databases,·you’ll·need·to·take·some·additional·steps.</p>86 with·multiple·databases,·you’ll·need·to·take·some·additional·steps.</p>
86 <div·class="admonition·seealso">87 <div·class="admonition·seealso">
87 <p·class="admonition-title">See·also</p>88 <p·class="admonition-title">Vaata·ka</p>
88 <p>See·<a·class="reference·internal"·href="../testing/tools.html#testing-multi-db"><span·class="std·std-ref">Multi-database·support</span></a>·for·information·about·testing·with·multiple89 <p>See·<a·class="reference·internal"·href="../testing/tools.html#testing-multi-db"><span·class="std·std-ref">Multi-database·support</span></a>·for·information·about·testing·with·multiple
89 databases.</p>90 databases.</p>
90 </div>91 </div>
91 <section·id="s-defining-your-databases">92 <section·id="s-defining-your-databases">
92 <span·id="defining-your-databases"></span><h2>Defining·your·databases<a·class="headerlink"·href="#defining-your-databases"·title="Link·to·this·heading">¶</a></h2>93 <span·id="defining-your-databases"></span><h2>Defining·your·databases<a·class="headerlink"·href="#defining-your-databases"·title="Link·to·this·heading">¶</a></h2>
93 <p>The·first·step·to·using·more·than·one·database·with·Django·is·to·tell94 <p>The·first·step·to·using·more·than·one·database·with·Django·is·to·tell
94 Django·about·the·database·servers·you’ll·be·using.·This·is·done·using95 Django·about·the·database·servers·you’ll·be·using.·This·is·done·using
Offset 120, 15 lines modifiedOffset 121, 15 lines modified
120 </pre></div>121 </pre></div>
121 </div>122 </div>
122 <p>If·the·concept·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·database·doesn’t·make·sense·in·the·context123 <p>If·the·concept·of·a·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·database·doesn’t·make·sense·in·the·context
123 of·your·project,·you·need·to·be·careful·to·always·specify·the·database124 of·your·project,·you·need·to·be·careful·to·always·specify·the·database
124 that·you·want·to·use.·Django·requires·that·a·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·database·entry125 that·you·want·to·use.·Django·requires·that·a·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·database·entry
125 be·defined,·but·the·parameters·dictionary·can·be·left·blank·if·it·will·not·be126 be·defined,·but·the·parameters·dictionary·can·be·left·blank·if·it·will·not·be
126 used.·To·do·this,·you·must·set·up·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-DATABASE_ROUTERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASE_ROUTERS</span></code></a>·for·all·of·your127 used.·To·do·this,·you·must·set·up·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-DATABASE_ROUTERS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASE_ROUTERS</span></code></a>·for·all·of·your
127 apps·models,·including·those·in·any·contrib·and·third-party·apps·you’re·using,128 apps·models,·including·those·in·any·contrib·and·third-party·apps·you’re·using,
128 so·that·no·queries·are·routed·to·the·default·database.·The·following·is·an129 so·that·no·queries·are·routed·to·the·default·database.·The·following·is·an
129 example·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>·snippet·defining·two·non-default·databases,·with·the130 example·<code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code>·snippet·defining·two·non-default·databases,·with·the
130 <code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·entry·intentionally·left·empty:</p>131 <code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·entry·intentionally·left·empty:</p>
131 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">DATABASES</span>·<span·class="o">=</span>·<span·class="p">{</span>132 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">DATABASES</span>·<span·class="o">=</span>·<span·class="p">{</span>
132 ····<span·class="s2">&quot;default&quot;</span><span·class="p">:</span>·<span·class="p">{},</span>133 ····<span·class="s2">&quot;default&quot;</span><span·class="p">:</span>·<span·class="p">{},</span>
133 ····<span·class="s2">&quot;users&quot;</span><span·class="p">:</span>·<span·class="p">{</span>134 ····<span·class="s2">&quot;users&quot;</span><span·class="p">:</span>·<span·class="p">{</span>
134 ········<span·class="s2">&quot;NAME&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;user_data&quot;</span><span·class="p">,</span>135 ········<span·class="s2">&quot;NAME&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;user_data&quot;</span><span·class="p">,</span>
Offset 183, 20 lines modifiedOffset 184, 20 lines modified
183 but·it·consults·the·<a·class="reference·internal"·href="#allow_migrate"·title="allow_migrate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">allow_migrate()</span></code></a>·method·of·<a·class="reference·internal"·href="#topics-db-multi-db-routing"><span·class="std·std-ref">routers</span></a>·if·any·are·installed.</p>184 but·it·consults·the·<a·class="reference·internal"·href="#allow_migrate"·title="allow_migrate"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">allow_migrate()</span></code></a>·method·of·<a·class="reference·internal"·href="#topics-db-multi-db-routing"><span·class="std·std-ref">routers</span></a>·if·any·are·installed.</p>
184 </section>185 </section>
185 </section>186 </section>
186 <section·id="s-automatic-database-routing">187 <section·id="s-automatic-database-routing">
187 <span·id="s-topics-db-multi-db-routing"></span><span·id="automatic-database-routing"></span><span·id="topics-db-multi-db-routing"></span><h2>Automatic·database·routing<a·class="headerlink"·href="#automatic-database-routing"·title="Link·to·this·heading">¶</a></h2>188 <span·id="s-topics-db-multi-db-routing"></span><span·id="automatic-database-routing"></span><span·id="topics-db-multi-db-routing"></span><h2>Automatic·database·routing<a·class="headerlink"·href="#automatic-database-routing"·title="Link·to·this·heading">¶</a></h2>
188 <p>The·easiest·way·to·use·multiple·databases·is·to·set·up·a·database189 <p>The·easiest·way·to·use·multiple·databases·is·to·set·up·a·database
189 routing·scheme.·The·default·routing·scheme·ensures·that·objects·remain190 routing·scheme.·The·default·routing·scheme·ensures·that·objects·remain
190 sticky·to·their·original·database·(i.e.,·an·object·retrieved·from191 sticky·to·their·original·database·(i.e.,·an·object·retrieved·from
191 the·<code·class="docutils·literal·notranslate"><span·class="pre">foo</span></code>·database·will·be·saved·on·the·same·database).·The·default192 the·<code·class="docutils·literal·notranslate"><span·class="pre">foo</span></code>·database·will·be·saved·on·the·same·database).·The·default
192 routing·scheme·ensures·that·if·a·database·isn’t·specified,·all·queries193 routing·scheme·ensures·that·if·a·database·isn’t·specified,·all·queries
193 fall·back·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·database.</p>194 fall·back·to·the·<code·class="docutils·literal·notranslate"><span·class="pre">default</span></code>·database.</p>
194 <p>You·don’t·have·to·do·anything·to·activate·the·default·routing·scheme195 <p>You·don’t·have·to·do·anything·to·activate·the·default·routing·scheme
195 ·it·is·provided·out·of·the·box·on·every·Django·project.·However,196 ·it·is·provided·out·of·the·box·on·every·Django·project.·However,
196 if·you·want·to·implement·more·interesting·database·allocation197 if·you·want·to·implement·more·interesting·database·allocation
197 behaviors,·you·can·define·and·install·your·own·database·routers.</p>198 behaviors,·you·can·define·and·install·your·own·database·routers.</p>
198 <section·id="s-database-routers">199 <section·id="s-database-routers">
199 <span·id="database-routers"></span><h3>Database·routers<a·class="headerlink"·href="#database-routers"·title="Link·to·this·heading">¶</a></h3>200 <span·id="database-routers"></span><h3>Database·routers<a·class="headerlink"·href="#database-routers"·title="Link·to·this·heading">¶</a></h3>
200 <p>A·database·Router·is·a·class·that·provides·up·to·four·methods:</p>201 <p>A·database·Router·is·a·class·that·provides·up·to·four·methods:</p>
201 <dl·class="py·method">202 <dl·class="py·method">
202 <dt·class="sig·sig-object·py"·id="db_for_read">203 <dt·class="sig·sig-object·py"·id="db_for_read">
Offset 490, 15 lines modifiedOffset 491, 15 lines modified
490 <span·id="manually-selecting-a-database"></span><h2>Manually·selecting·a·database<a·class="headerlink"·href="#manually-selecting-a-database"·title="Link·to·this·heading">¶</a></h2>491 <span·id="manually-selecting-a-database"></span><h2>Manually·selecting·a·database<a·class="headerlink"·href="#manually-selecting-a-database"·title="Link·to·this·heading">¶</a></h2>
491 <p>Django·also·provides·an·API·that·allows·you·to·maintain·complete·control492 <p>Django·also·provides·an·API·that·allows·you·to·maintain·complete·control
492 over·database·usage·in·your·code.·A·manually·specified·database·allocation493 over·database·usage·in·your·code.·A·manually·specified·database·allocation
493 will·take·priority·over·a·database·allocated·by·a·router.</p>494 will·take·priority·over·a·database·allocated·by·a·router.</p>
494 <section·id="s-manually-selecting-a-database-for-a-queryset">495 <section·id="s-manually-selecting-a-database-for-a-queryset">
495 <span·id="manually-selecting-a-database-for-a-queryset"></span><h3>Manually·selecting·a·database·for·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code><a·class="headerlink"·href="#manually-selecting-a-database-for-a-queryset"·title="Link·to·this·heading">¶</a></h3>496 <span·id="manually-selecting-a-database-for-a-queryset"></span><h3>Manually·selecting·a·database·for·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code><a·class="headerlink"·href="#manually-selecting-a-database-for-a-queryset"·title="Link·to·this·heading">¶</a></h3>
496 <p>You·can·select·the·database·for·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·at·any·point·in·the497 <p>You·can·select·the·database·for·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·at·any·point·in·the
497 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·chain.·Call·<code·class="docutils·literal·notranslate"><span·class="pre">using()</span></code>·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·to·get·another498 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·chain.·Call·<code·class="docutils·literal·notranslate"><span·class="pre">using()</span></code>·on·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·to·get·another
498 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·that·uses·the·specified·database.</p>499 <code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·that·uses·the·specified·database.</p>
499 <p><code·class="docutils·literal·notranslate"><span·class="pre">using()</span></code>·takes·a·single·argument:·the·alias·of·the·database·on500 <p><code·class="docutils·literal·notranslate"><span·class="pre">using()</span></code>·takes·a·single·argument:·the·alias·of·the·database·on
500 which·you·want·to·run·the·query.·For·example:</p>501 which·you·want·to·run·the·query.·For·example:</p>
501 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·This·will·run·on·the·&#39;default&#39;·database.</span>502 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·This·will·run·on·the·&#39;default&#39;·database.</span>
502 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Author</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>503 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Author</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()</span>
  
503 <span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·So·will·this.</span>504 <span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·So·will·this.</span>
Offset 744, 15 lines modifiedOffset 745, 15 lines modified
744 primary·key·of·the·related·object·is·valid.·If·the·primary·key·is745 primary·key·of·the·related·object·is·valid.·If·the·primary·key·is
745 stored·on·a·separate·database,·it’s·not·possible·to·easily·evaluate746 stored·on·a·separate·database,·it’s·not·possible·to·easily·evaluate
746 the·validity·of·a·primary·key.</p>747 the·validity·of·a·primary·key.</p>
747 <p>If·you’re·using·Postgres,·SQLite,·Oracle,·or·MySQL·with·InnoDB,·this·is748 <p>If·you’re·using·Postgres,·SQLite,·Oracle,·or·MySQL·with·InnoDB,·this·is
748 enforced·at·the·database·integrity·level··database·level·key749 enforced·at·the·database·integrity·level··database·level·key
749 constraints·prevent·the·creation·of·relations·that·can’t·be·validated.</p>750 constraints·prevent·the·creation·of·relations·that·can’t·be·validated.</p>
750 <p>However,·if·you’re·using·MySQL·with·MyISAM·tables,·there·is·no·enforced751 <p>However,·if·you’re·using·MySQL·with·MyISAM·tables,·there·is·no·enforced
751 referential·integrity;·as·a·result,·you·may·be·able·to·fake·cross·database752 referential·integrity;·as·a·result,·you·may·be·able·to·fake·cross·database
752 foreign·keys.·However,·this·configuration·is·not·officially·supported·by753 foreign·keys.·However,·this·configuration·is·not·officially·supported·by
753 Django.</p>754 Django.</p>
754 </section>755 </section>
755 <section·id="s-behavior-of-contrib-apps">756 <section·id="s-behavior-of-contrib-apps">
756 <span·id="s-contrib-app-multiple-databases"></span><span·id="behavior-of-contrib-apps"></span><span·id="contrib-app-multiple-databases"></span><h3>Behavior·of·contrib·apps<a·class="headerlink"·href="#behavior-of-contrib-apps"·title="Link·to·this·heading">¶</a></h3>757 <span·id="s-contrib-app-multiple-databases"></span><span·id="behavior-of-contrib-apps"></span><span·id="contrib-app-multiple-databases"></span><h3>Behavior·of·contrib·apps<a·class="headerlink"·href="#behavior-of-contrib-apps"·title="Link·to·this·heading">¶</a></h3>
757 <p>Several·contrib·apps·include·models,·and·some·apps·depend·on·others.·Since758 <p>Several·contrib·apps·include·models,·and·some·apps·depend·on·others.·Since
758 cross-database·relationships·are·impossible,·this·creates·some·restrictions·on759 cross-database·relationships·are·impossible,·this·creates·some·restrictions·on
Offset 780, 15 lines modifiedOffset 781, 15 lines modified
780 <p>For·common·setups·with·multiple·databases,·it·isn’t·useful·to·have·these781 <p>For·common·setups·with·multiple·databases,·it·isn’t·useful·to·have·these
781 objects·in·more·than·one·database.·Common·setups·include·primary/replica·and782 objects·in·more·than·one·database.·Common·setups·include·primary/replica·and
Max diff block lines reached; 2889/13724 bytes (21.05%) of diff not shown.
9.1 KB
html2text {}
Max HTML report size reached
11.4 KB
./usr/share/doc/python-django-doc/html/topics/db/optimization.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Database·access·optimization·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Database·access·optimization·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Database·instrumentation"·href="instrumentation.html"·/>15 ····<link·rel="next"·title="Database·instrumentation"·href="instrumentation.html"·/>
15 ····<link·rel="prev"·title="Tablespaces"·href="tablespaces.html"·/>16 ····<link·rel="prev"·title="Tablespaces"·href="tablespaces.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 234, 15 lines modifiedOffset 235, 15 lines modified
234 them·from·the·database.·This·penalty·could·be·substantial·if·hundreds·or235 them·from·the·database.·This·penalty·could·be·substantial·if·hundreds·or
235 thousands·of·records·are·returned.·The·penalty·will·be·compounded·if·the236 thousands·of·records·are·returned.·The·penalty·will·be·compounded·if·the
236 database·lives·on·a·separate·server,·where·network·overhead·and·latency·also237 database·lives·on·a·separate·server,·where·network·overhead·and·latency·also
237 play·a·factor.</p>238 play·a·factor.</p>
238 </section>239 </section>
239 <section·id="s-retrieve-everything-at-once-if-you-know-you-will-need-it">240 <section·id="s-retrieve-everything-at-once-if-you-know-you-will-need-it">
240 <span·id="retrieve-everything-at-once-if-you-know-you-will-need-it"></span><h2>Retrieve·everything·at·once·if·you·know·you·will·need·it<a·class="headerlink"·href="#retrieve-everything-at-once-if-you-know-you-will-need-it"·title="Link·to·this·heading">¶</a></h2>241 <span·id="retrieve-everything-at-once-if-you-know-you-will-need-it"></span><h2>Retrieve·everything·at·once·if·you·know·you·will·need·it<a·class="headerlink"·href="#retrieve-everything-at-once-if-you-know-you-will-need-it"·title="Link·to·this·heading">¶</a></h2>
241 <p>Hitting·the·database·multiple·times·for·different·parts·of·a·single·set·of242 <p>Hitting·the·database·multiple·times·for·different·parts·of·a·single·set·of
242 data·that·you·will·need·all·parts·of·is,·in·general,·less·efficient·than243 data·that·you·will·need·all·parts·of·is,·in·general,·less·efficient·than
243 retrieving·it·all·in·one·query.·This·is·particularly·important·if·you·have·a244 retrieving·it·all·in·one·query.·This·is·particularly·important·if·you·have·a
244 query·that·is·executed·in·a·loop,·and·could·therefore·end·up·doing·many·database245 query·that·is·executed·in·a·loop,·and·could·therefore·end·up·doing·many·database
245 queries,·when·only·one·was·needed.·So:</p>246 queries,·when·only·one·was·needed.·So:</p>
246 <section·id="s-use-queryset-select-related-and-prefetch-related">247 <section·id="s-use-queryset-select-related-and-prefetch-related">
247 <span·id="use-queryset-select-related-and-prefetch-related"></span><h3>Use·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.select_related()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">prefetch_related()</span></code><a·class="headerlink"·href="#use-queryset-select-related-and-prefetch-related"·title="Link·to·this·heading">¶</a></h3>248 <span·id="use-queryset-select-related-and-prefetch-related"></span><h3>Use·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet.select_related()</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">prefetch_related()</span></code><a·class="headerlink"·href="#use-queryset-select-related-and-prefetch-related"·title="Link·to·this·heading">¶</a></h3>
248 <p>Understand·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.select_related"·title="django.db.models.query.QuerySet.select_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">select_related()</span></code></a>·and249 <p>Understand·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.select_related"·title="django.db.models.query.QuerySet.select_related"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">select_related()</span></code></a>·and
Offset 506, 15 lines modifiedOffset 507, 15 lines modified
506 ······507 ······
507 ········508 ········
508 ··········<div·class="yui-b"·id="sidebar">509 ··········<div·class="yui-b"·id="sidebar">
509 ············510 ············
510 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">511 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
511 ········<div·class="sphinxsidebarwrapper">512 ········<div·class="sphinxsidebarwrapper">
512 ··<div>513 ··<div>
513 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>514 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
514 ····<ul>515 ····<ul>
515 <li><a·class="reference·internal"·href="#">Database·access·optimization</a><ul>516 <li><a·class="reference·internal"·href="#">Database·access·optimization</a><ul>
516 <li><a·class="reference·internal"·href="#profile-first">Profile·first</a></li>517 <li><a·class="reference·internal"·href="#profile-first">Profile·first</a></li>
517 <li><a·class="reference·internal"·href="#use-standard-db-optimization-techniques">Use·standard·DB·optimization·techniques</a></li>518 <li><a·class="reference·internal"·href="#use-standard-db-optimization-techniques">Use·standard·DB·optimization·techniques</a></li>
518 <li><a·class="reference·internal"·href="#understand-querysets">Understand·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>s</a><ul>519 <li><a·class="reference·internal"·href="#understand-querysets">Understand·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>s</a><ul>
519 <li><a·class="reference·internal"·href="#understand-queryset-evaluation">Understand·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·evaluation</a></li>520 <li><a·class="reference·internal"·href="#understand-queryset-evaluation">Understand·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·evaluation</a></li>
520 <li><a·class="reference·internal"·href="#understand-cached-attributes">Understand·cached·attributes</a></li>521 <li><a·class="reference·internal"·href="#understand-cached-attributes">Understand·cached·attributes</a></li>
Offset 554, 37 lines modifiedOffset 555, 37 lines modified
554 </li>555 </li>
555 </ul>556 </ul>
556 </li>557 </li>
557 </ul>558 </ul>
  
558 ··</div>559 ··</div>
559 ··<div>560 ··<div>
560 ····<h4>Previous·topic</h4>561 ····<h4>Eelmine·teema</h4>
561 ····<p·class="topless"><a·href="tablespaces.html"562 ····<p·class="topless"><a·href="tablespaces.html"
562 ··························title="previous·chapter">Tablespaces</a></p>563 ··························title="eelmine·jaotis">Tablespaces</a></p>
563 ··</div>564 ··</div>
564 ··<div>565 ··<div>
565 ····<h4>Next·topic</h4>566 ····<h4>Järgmine·teema</h4>
566 ····<p·class="topless"><a·href="instrumentation.html"567 ····<p·class="topless"><a·href="instrumentation.html"
567 ··························title="next·chapter">Database·instrumentation</a></p>568 ··························title="järgmine·jaotis">Database·instrumentation</a></p>
568 ··</div>569 ··</div>
569 <search·id="searchbox"·style="display:·none"·role="search">570 <search·id="searchbox"·style="display:·none"·role="search">
570 ··<h3·id="searchlabel">Quick·search</h3>571 ··<h3·id="searchlabel">Kiirotsing</h3>
571 ····<div·class="searchformwrapper">572 ····<div·class="searchformwrapper">
572 ····<form·class="search"·action="../../search.html"·method="get">573 ····<form·class="search"·action="../../search.html"·method="get">
573 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>574 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
574 ······<input·type="submit"·value="Go"·/>575 ······<input·type="submit"·value="Otsi"·/>
575 ····</form>576 ····</form>
576 ····</div>577 ····</div>
577 </search>578 </search>
578 <script>document.getElementById('searchbox').style.display·=·"block"</script>579 <script>document.getElementById('searchbox').style.display·=·"block"</script>
579 ········</div>580 ········</div>
580 ······</div>581 ······</div>
581 ··············<h3>Last·update:</h3>582 ··············<h3>Last·update:</h3>
582 ··············<p·class="topless">Nov·05,·2024</p>583 ··············<p·class="topless">nov·05,·2024</p>
583 ··········</div>584 ··········</div>
584 ········585 ········
585 ······586 ······
586 ····</div>587 ····</div>
  
587 ····<div·id="ft">588 ····<div·id="ft">
588 ······<div·class="nav">589 ······<div·class="nav">
4.77 KB
html2text {}
Max HTML report size reached
120 KB
./usr/share/doc/python-django-doc/html/topics/db/queries.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Making·queries·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Making·queries·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Aggregation"·href="aggregation.html"·/>15 ····<link·rel="next"·title="Aggregation"·href="aggregation.html"·/>
15 ····<link·rel="prev"·title="Models"·href="models.html"·/>16 ····<link·rel="prev"·title="Models"·href="models.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 136, 15 lines modifiedOffset 137, 15 lines modified
136 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">b</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>137 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">b</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>
137 </pre></div>138 </pre></div>
138 </div>139 </div>
139 <p>This·performs·an·<code·class="docutils·literal·notranslate"><span·class="pre">INSERT</span></code>·SQL·statement·behind·the·scenes.·Django·doesn’t·hit140 <p>This·performs·an·<code·class="docutils·literal·notranslate"><span·class="pre">INSERT</span></code>·SQL·statement·behind·the·scenes.·Django·doesn’t·hit
140 the·database·until·you·explicitly·call·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>.</p>141 the·database·until·you·explicitly·call·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>.</p>
141 <p>The·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·method·has·no·return·value.</p>142 <p>The·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·method·has·no·return·value.</p>
142 <div·class="admonition·seealso">143 <div·class="admonition·seealso">
143 <p·class="admonition-title">See·also</p>144 <p·class="admonition-title">Vaata·ka</p>
144 <p><a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·takes·a·number·of·advanced·options·not145 <p><a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·takes·a·number·of·advanced·options·not
145 described·here.·See·the·documentation·for146 described·here.·See·the·documentation·for
146 <a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·for·complete·details.</p>147 <a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.save"·title="django.db.models.Model.save"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">save()</span></code></a>·for·complete·details.</p>
147 <p>To·create·and·save·an·object·in·a·single·step,·use·the148 <p>To·create·and·save·an·object·in·a·single·step,·use·the
148 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.create"·title="django.db.models.query.QuerySet.create"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">create()</span></code></a>·method.</p>149 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.create"·title="django.db.models.query.QuerySet.create"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">create()</span></code></a>·method.</p>
149 </div>150 </div>
150 </section>151 </section>
Offset 218, 18 lines modifiedOffset 219, 18 lines modified
218 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">b</span><span·class="o">.</span><span·class="n">objects</span>219 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">b</span><span·class="o">.</span><span·class="n">objects</span>
219 <span·class="go">Traceback:</span>220 <span·class="go">Traceback:</span>
220 <span·class="go">····...</span>221 <span·class="go">····...</span>
221 <span·class="go">AttributeError:·&quot;Manager·isn&#39;t·accessible·via·Blog·instances.&quot;</span>222 <span·class="go">AttributeError:·&quot;Manager·isn&#39;t·accessible·via·Blog·instances.&quot;</span>
222 </pre></div>223 </pre></div>
223 </div>224 </div>
224 <div·class="admonition·note">225 <div·class="admonition·note">
225 <p·class="admonition-title">Note</p>226 <p·class="admonition-title">rkus</p>
226 <p><code·class="docutils·literal·notranslate"><span·class="pre">Managers</span></code>·are·accessible·only·via·model·classes,·rather·than·from·model227 <p><code·class="docutils·literal·notranslate"><span·class="pre">Managers</span></code>·are·accessible·only·via·model·classes,·rather·than·from·model
227 instances,·to·enforce·a·separation·between·table-level·operations·and228 instances,·to·enforce·a·separation·between·table-level·operations·and
228 record-level·operations.</p>229 record-level·operations.</p>
229 </div>230 </div>
230 <p>The·<a·class="reference·internal"·href="managers.html#django.db.models.Manager"·title="django.db.models.Manager"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Manager</span></code></a>·is·the·main·source·of·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySets</span></code>·for231 <p>The·<a·class="reference·internal"·href="managers.html#django.db.models.Manager"·title="django.db.models.Manager"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Manager</span></code></a>·is·the·main·source·of·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySets</span></code>·for
231 a·model.·For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">Blog.objects.all()</span></code>·returns·a232 a·model.·For·example,·<code·class="docutils·literal·notranslate"><span·class="pre">Blog.objects.all()</span></code>·returns·a
232 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·that·contains·all·<code·class="docutils·literal·notranslate"><span·class="pre">Blog</span></code>·objects·in233 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·that·contains·all·<code·class="docutils·literal·notranslate"><span·class="pre">Blog</span></code>·objects·in
233 the·database.</p>234 the·database.</p>
234 <section·id="s-retrieving-all-objects">235 <section·id="s-retrieving-all-objects">
235 <span·id="retrieving-all-objects"></span><h3>Retrieving·all·objects<a·class="headerlink"·href="#retrieving-all-objects"·title="Link·to·this·heading">¶</a></h3>236 <span·id="retrieving-all-objects"></span><h3>Retrieving·all·objects<a·class="headerlink"·href="#retrieving-all-objects"·title="Link·to·this·heading">¶</a></h3>
Offset 280, 15 lines modifiedOffset 281, 15 lines modified
280 <span·class="gp">...·</span>····<span·class="n">pub_date__gte</span><span·class="o">=</span><span·class="n">datetime</span><span·class="o">.</span><span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">()</span>281 <span·class="gp">...·</span>····<span·class="n">pub_date__gte</span><span·class="o">=</span><span·class="n">datetime</span><span·class="o">.</span><span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">()</span>
281 <span·class="gp">...·</span><span·class="p">)</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">pub_date__gte</span><span·class="o">=</span><span·class="n">datetime</span><span·class="o">.</span><span·class="n">date</span><span·class="p">(</span><span·class="mi">2005</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">30</span><span·class="p">))</span>282 <span·class="gp">...·</span><span·class="p">)</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">pub_date__gte</span><span·class="o">=</span><span·class="n">datetime</span><span·class="o">.</span><span·class="n">date</span><span·class="p">(</span><span·class="mi">2005</span><span·class="p">,</span>·<span·class="mi">1</span><span·class="p">,</span>·<span·class="mi">30</span><span·class="p">))</span>
282 </pre></div>283 </pre></div>
283 </div>284 </div>
284 <p>This·takes·the·initial·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·of·all·entries285 <p>This·takes·the·initial·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·of·all·entries
285 in·the·database,·adds·a·filter,·then·an·exclusion,·then·another·filter.·The286 in·the·database,·adds·a·filter,·then·an·exclusion,·then·another·filter.·The
286 final·result·is·a·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·containing·all287 final·result·is·a·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·containing·all
287 entries·with·a·headline·that·starts·with·What,·that·were·published·between288 entries·with·a·headline·that·starts·with·What,·that·were·published·between
288 January·30,·2005,·and·the·current·day.</p>289 January·30,·2005,·and·the·current·day.</p>
289 </section>290 </section>
290 <section·id="s-filtered-querysets-are-unique">291 <section·id="s-filtered-querysets-are-unique">
291 <span·id="s-id3"></span><span·id="filtered-querysets-are-unique"></span><span·id="id3"></span><h4>Filtered·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>s·are·unique<a·class="headerlink"·href="#filtered-querysets-are-unique"·title="Link·to·this·heading">¶</a></h4>292 <span·id="s-id3"></span><span·id="filtered-querysets-are-unique"></span><span·id="id3"></span><h4>Filtered·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>s·are·unique<a·class="headerlink"·href="#filtered-querysets-are-unique"·title="Link·to·this·heading">¶</a></h4>
292 <p>Each·time·you·refine·a·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>,·you·get·a293 <p>Each·time·you·refine·a·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>,·you·get·a
293 brand-new·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·that·is·in·no·way·bound·to294 brand-new·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·that·is·in·no·way·bound·to
294 the·previous·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>.·Each·refinement·creates295 the·previous·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>.·Each·refinement·creates
Offset 298, 15 lines modifiedOffset 299, 15 lines modified
298 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">q1</span>·<span·class="o">=</span>·<span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">headline__startswith</span><span·class="o">=</span><span·class="s2">&quot;What&quot;</span><span·class="p">)</span>299 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">q1</span>·<span·class="o">=</span>·<span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">headline__startswith</span><span·class="o">=</span><span·class="s2">&quot;What&quot;</span><span·class="p">)</span>
299 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">q2</span>·<span·class="o">=</span>·<span·class="n">q1</span><span·class="o">.</span><span·class="n">exclude</span><span·class="p">(</span><span·class="n">pub_date__gte</span><span·class="o">=</span><span·class="n">datetime</span><span·class="o">.</span><span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">())</span>300 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">q2</span>·<span·class="o">=</span>·<span·class="n">q1</span><span·class="o">.</span><span·class="n">exclude</span><span·class="p">(</span><span·class="n">pub_date__gte</span><span·class="o">=</span><span·class="n">datetime</span><span·class="o">.</span><span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">())</span>
300 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">q3</span>·<span·class="o">=</span>·<span·class="n">q1</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">pub_date__gte</span><span·class="o">=</span><span·class="n">datetime</span><span·class="o">.</span><span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">())</span>301 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">q3</span>·<span·class="o">=</span>·<span·class="n">q1</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">pub_date__gte</span><span·class="o">=</span><span·class="n">datetime</span><span·class="o">.</span><span·class="n">date</span><span·class="o">.</span><span·class="n">today</span><span·class="p">())</span>
301 </pre></div>302 </pre></div>
302 </div>303 </div>
303 <p>These·three·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySets</span></code>·are·separate.·The·first·is·a·base304 <p>These·three·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySets</span></code>·are·separate.·The·first·is·a·base
304 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·containing·all·entries·that·contain·a305 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·containing·all·entries·that·contain·a
305 headline·starting·with·What.·The·second·is·a·subset·of·the·first,·with·an306 headline·starting·with·What.·The·second·is·a·subset·of·the·first,·with·an
306 additional·criteria·that·excludes·records·whose·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·is·today·or·in·the307 additional·criteria·that·excludes·records·whose·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·is·today·or·in·the
307 future.·The·third·is·a·subset·of·the·first,·with·an·additional·criteria·that308 future.·The·third·is·a·subset·of·the·first,·with·an·additional·criteria·that
308 selects·only·the·records·whose·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·is·today·or·in·the·future.·The309 selects·only·the·records·whose·<code·class="docutils·literal·notranslate"><span·class="pre">pub_date</span></code>·is·today·or·in·the·future.·The
309 initial·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·(<code·class="docutils·literal·notranslate"><span·class="pre">q1</span></code>)·is·unaffected·by·the310 initial·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·(<code·class="docutils·literal·notranslate"><span·class="pre">q1</span></code>)·is·unaffected·by·the
310 refinement·process.</p>311 refinement·process.</p>
311 </section>312 </section>
312 <section·id="s-querysets-are-lazy">313 <section·id="s-querysets-are-lazy">
Offset 321, 15 lines modifiedOffset 322, 15 lines modified
321 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">q</span>·<span·class="o">=</span>·<span·class="n">q</span><span·class="o">.</span><span·class="n">exclude</span><span·class="p">(</span><span·class="n">body_text__icontains</span><span·class="o">=</span><span·class="s2">&quot;food&quot;</span><span·class="p">)</span>322 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">q</span>·<span·class="o">=</span>·<span·class="n">q</span><span·class="o">.</span><span·class="n">exclude</span><span·class="p">(</span><span·class="n">body_text__icontains</span><span·class="o">=</span><span·class="s2">&quot;food&quot;</span><span·class="p">)</span>
322 <span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="n">q</span><span·class="p">)</span>323 <span·class="gp">&gt;&gt;&gt;·</span><span·class="nb">print</span><span·class="p">(</span><span·class="n">q</span><span·class="p">)</span>
323 </pre></div>324 </pre></div>
324 </div>325 </div>
325 <p>Though·this·looks·like·three·database·hits,·in·fact·it·hits·the·database·only326 <p>Though·this·looks·like·three·database·hits,·in·fact·it·hits·the·database·only
326 once,·at·the·last·line·(<code·class="docutils·literal·notranslate"><span·class="pre">print(q)</span></code>).·In·general,·the·results·of·a327 once,·at·the·last·line·(<code·class="docutils·literal·notranslate"><span·class="pre">print(q)</span></code>).·In·general,·the·results·of·a
327 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·aren’t·fetched·from·the·database328 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·aren’t·fetched·from·the·database
328 until·you·ask·for·them.·When·you·do,·the329 until·you·ask·for·them.·When·you·do,·the
329 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·is·<em>evaluated</em>·by·accessing·the330 <a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet"·title="django.db.models.query.QuerySet"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">QuerySet</span></code></a>·is·<em>evaluated</em>·by·accessing·the
330 database.·For·more·details·on·exactly·when·evaluation·takes·place,·see331 database.·For·more·details·on·exactly·when·evaluation·takes·place,·see
331 <a·class="reference·internal"·href="../../ref/models/querysets.html#when-querysets-are-evaluated"><span·class="std·std-ref">When·QuerySets·are·evaluated</span></a>.</p>332 <a·class="reference·internal"·href="../../ref/models/querysets.html#when-querysets-are-evaluated"><span·class="std·std-ref">When·QuerySets·are·evaluated</span></a>.</p>
332 </section>333 </section>
333 </section>334 </section>
334 <section·id="s-retrieving-a-single-object-with-get">335 <section·id="s-retrieving-a-single-object-with-get">
335 <span·id="s-retrieving-single-object-with-get"></span><span·id="retrieving-a-single-object-with-get"></span><span·id="retrieving-single-object-with-get"></span><h3>Retrieving·a·single·object·with·<code·class="docutils·literal·notranslate"><span·class="pre">get()</span></code><a·class="headerlink"·href="#retrieving-a-single-object-with-get"·title="Link·to·this·heading">¶</a></h3>336 <span·id="s-retrieving-single-object-with-get"></span><span·id="retrieving-a-single-object-with-get"></span><span·id="retrieving-single-object-with-get"></span><h3>Retrieving·a·single·object·with·<code·class="docutils·literal·notranslate"><span·class="pre">get()</span></code><a·class="headerlink"·href="#retrieving-a-single-object-with-get"·title="Link·to·this·heading">¶</a></h3>
Offset 382, 15 lines modifiedOffset 383, 15 lines modified
382 <p>This·returns·the·sixth·through·tenth·objects·(<code·class="docutils·literal·notranslate"><span·class="pre">OFFSET</span>·<span·class="pre">5</span>·<span·class="pre">LIMIT</span>·<span·class="pre">5</span></code>):</p>383 <p>This·returns·the·sixth·through·tenth·objects·(<code·class="docutils·literal·notranslate"><span·class="pre">OFFSET</span>·<span·class="pre">5</span>·<span·class="pre">LIMIT</span>·<span·class="pre">5</span></code>):</p>
383 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()[</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">10</span><span·class="p">]</span>384 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">()[</span><span·class="mi">5</span><span·class="p">:</span><span·class="mi">10</span><span·class="p">]</span>
384 </pre></div>385 </pre></div>
385 </div>386 </div>
Max diff block lines reached; 72489/86819 bytes (83.49%) of diff not shown.
35.1 KB
html2text {}
Max HTML report size reached
15.2 KB
./usr/share/doc/python-django-doc/html/topics/db/search.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Search·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Search·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Managers"·href="managers.html"·/>15 ····<link·rel="next"·title="Managers"·href="managers.html"·/>
15 ····<link·rel="prev"·title="Aggregation"·href="aggregation.html"·/>16 ····<link·rel="prev"·title="Aggregation"·href="aggregation.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 127, 15 lines modifiedOffset 128, 15 lines modified
127 would·be·to·use·a·<a·class="reference·internal"·href="../../ref/contrib/postgres/lookups.html#std-fieldlookup-trigram_similar"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">trigram_similar</span></code></a>·comparison,·which·compares128 would·be·to·use·a·<a·class="reference·internal"·href="../../ref/contrib/postgres/lookups.html#std-fieldlookup-trigram_similar"><code·class="xref·std·std-lookup·docutils·literal·notranslate"><span·class="pre">trigram_similar</span></code></a>·comparison,·which·compares
128 sequences·of·letters.</p>129 sequences·of·letters.</p>
129 <p>For·example:</p>130 <p>For·example:</p>
130 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Author</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">name__unaccent__lower__trigram_similar</span><span·class="o">=</span><span·class="s2">&quot;Hélène&quot;</span><span·class="p">)</span>131 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Author</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">name__unaccent__lower__trigram_similar</span><span·class="o">=</span><span·class="s2">&quot;Hélène&quot;</span><span·class="p">)</span>
131 <span·class="go">[&lt;Author:·Helen·Mirren&gt;,·&lt;Author:·Hélène·Joy&gt;]</span>132 <span·class="go">[&lt;Author:·Helen·Mirren&gt;,·&lt;Author:·Hélène·Joy&gt;]</span>
132 </pre></div>133 </pre></div>
133 </div>134 </div>
134 <p>Now·we·have·a·different·problem·-·the·longer·name·of·Helena·Bonham·Carter135 <p>Now·we·have·a·different·problem·-·the·longer·name·of·Helena·Bonham·Carter
135 doesn’t·show·up·as·it·is·much·longer.·Trigram·searches·consider·all136 doesn’t·show·up·as·it·is·much·longer.·Trigram·searches·consider·all
136 combinations·of·three·letters,·and·compares·how·many·appear·in·both·search·and137 combinations·of·three·letters,·and·compares·how·many·appear·in·both·search·and
137 source·strings.·For·the·longer·name,·there·are·more·combinations·that·don’t138 source·strings.·For·the·longer·name,·there·are·more·combinations·that·don’t
138 appear·in·the·source·string,·so·it·is·no·longer·considered·a·close·match.</p>139 appear·in·the·source·string,·so·it·is·no·longer·considered·a·close·match.</p>
139 <p>The·correct·choice·of·comparison·functions·here·depends·on·your·particular·data140 <p>The·correct·choice·of·comparison·functions·here·depends·on·your·particular·data
140 set,·for·example·the·language(s)·used·and·the·type·of·text·being·searched.·All141 set,·for·example·the·language(s)·used·and·the·type·of·text·being·searched.·All
141 of·the·examples·we’ve·seen·are·on·short·strings·where·the·user·is·likely·to142 of·the·examples·we’ve·seen·are·on·short·strings·where·the·user·is·likely·to
Offset 145, 16 lines modifiedOffset 146, 16 lines modified
145 <span·id="document-based-search"></span><h3>Document-based·search<a·class="headerlink"·href="#document-based-search"·title="Link·to·this·heading">¶</a></h3>146 <span·id="document-based-search"></span><h3>Document-based·search<a·class="headerlink"·href="#document-based-search"·title="Link·to·this·heading">¶</a></h3>
146 <p>Standard·database·operations·stop·being·a·useful·approach·when·you·start147 <p>Standard·database·operations·stop·being·a·useful·approach·when·you·start
147 considering·large·blocks·of·text.·Whereas·the·examples·above·can·be·thought·of148 considering·large·blocks·of·text.·Whereas·the·examples·above·can·be·thought·of
148 as·operations·on·a·string·of·characters,·full·text·search·looks·at·the·actual149 as·operations·on·a·string·of·characters,·full·text·search·looks·at·the·actual
149 words.·Depending·on·the·system·used,·it’s·likely·to·use·some·of·the·following150 words.·Depending·on·the·system·used,·it’s·likely·to·use·some·of·the·following
150 ideas:</p>151 ideas:</p>
151 <ul·class="simple">152 <ul·class="simple">
152 <li><p>Ignoring·stop·words·such·as·a,·the,·and.</p></li>153 <li><p>Ignoring·stop·words·such·as·a,·the,·and.</p></li>
153 <li><p>Stemming·words,·so·that·pony·and·ponies·are·considered·similar.</p></li>154 <li><p>Stemming·words,·so·that·pony·and·ponies·are·considered·similar.</p></li>
154 <li><p>Weighting·words·based·on·different·criteria·such·as·how·frequently·they155 <li><p>Weighting·words·based·on·different·criteria·such·as·how·frequently·they
155 appear·in·the·text,·or·the·importance·of·the·fields,·such·as·the·title·or156 appear·in·the·text,·or·the·importance·of·the·fields,·such·as·the·title·or
156 keywords,·that·they·appear·in.</p></li>157 keywords,·that·they·appear·in.</p></li>
157 </ul>158 </ul>
158 <p>There·are·many·alternatives·for·using·searching·software,·some·of·the·most159 <p>There·are·many·alternatives·for·using·searching·software,·some·of·the·most
159 prominent·are·<a·class="reference·external"·href="https://www.elastic.co/">Elastic</a>·and·<a·class="reference·external"·href="https://solr.apache.org/">Solr</a>.·These·are·full·document-based·search160 prominent·are·<a·class="reference·external"·href="https://www.elastic.co/">Elastic</a>·and·<a·class="reference·external"·href="https://solr.apache.org/">Solr</a>.·These·are·full·document-based·search
160 solutions.·To·use·them·with·data·from·Django·models,·you’ll·need·a·layer·which161 solutions.·To·use·them·with·data·from·Django·models,·you’ll·need·a·layer·which
Offset 166, 15 lines modifiedOffset 167, 15 lines modified
166 <span·id="postgresql-support"></span><h4>PostgreSQL·support<a·class="headerlink"·href="#postgresql-support"·title="Link·to·this·heading">¶</a></h4>167 <span·id="postgresql-support"></span><h4>PostgreSQL·support<a·class="headerlink"·href="#postgresql-support"·title="Link·to·this·heading">¶</a></h4>
167 <p>PostgreSQL·has·its·own·full·text·search·implementation·built-in.·While·not·as168 <p>PostgreSQL·has·its·own·full·text·search·implementation·built-in.·While·not·as
168 powerful·as·some·other·search·engines,·it·has·the·advantage·of·being·inside169 powerful·as·some·other·search·engines,·it·has·the·advantage·of·being·inside
169 your·database·and·so·can·easily·be·combined·with·other·relational·queries·such170 your·database·and·so·can·easily·be·combined·with·other·relational·queries·such
170 as·categorization.</p>171 as·categorization.</p>
171 <p>The·<a·class="reference·internal"·href="../../ref/contrib/postgres/index.html#module-django.contrib.postgres"·title="django.contrib.postgres:·PostgreSQL-specific·fields·and·features"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a>·module·provides·some·helpers·to·make·these172 <p>The·<a·class="reference·internal"·href="../../ref/contrib/postgres/index.html#module-django.contrib.postgres"·title="django.contrib.postgres:·PostgreSQL-specific·fields·and·features"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.postgres</span></code></a>·module·provides·some·helpers·to·make·these
172 queries.·For·example,·a·query·might·select·all·the·blog·entries·which·mention173 queries.·For·example,·a·query·might·select·all·the·blog·entries·which·mention
173 cheese:</p>174 cheese:</p>
174 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">body_text__search</span><span·class="o">=</span><span·class="s2">&quot;cheese&quot;</span><span·class="p">)</span>175 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">filter</span><span·class="p">(</span><span·class="n">body_text__search</span><span·class="o">=</span><span·class="s2">&quot;cheese&quot;</span><span·class="p">)</span>
175 <span·class="go">[&lt;Entry:·Cheese·on·Toast·recipes&gt;,·&lt;Entry:·Pizza·recipes&gt;]</span>176 <span·class="go">[&lt;Entry:·Cheese·on·Toast·recipes&gt;,·&lt;Entry:·Pizza·recipes&gt;]</span>
176 </pre></div>177 </pre></div>
177 </div>178 </div>
178 <p>You·can·also·filter·on·a·combination·of·fields·and·on·related·models:</p>179 <p>You·can·also·filter·on·a·combination·of·fields·and·on·related·models:</p>
179 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span>180 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Entry</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">annotate</span><span·class="p">(</span>
180 <span·class="gp">...·</span>····<span·class="n">search</span><span·class="o">=</span><span·class="n">SearchVector</span><span·class="p">(</span><span·class="s2">&quot;blog__tagline&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;body_text&quot;</span><span·class="p">),</span>181 <span·class="gp">...·</span>····<span·class="n">search</span><span·class="o">=</span><span·class="n">SearchVector</span><span·class="p">(</span><span·class="s2">&quot;blog__tagline&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;body_text&quot;</span><span·class="p">),</span>
Offset 200, 15 lines modifiedOffset 201, 15 lines modified
200 ······201 ······
201 ········202 ········
202 ··········<div·class="yui-b"·id="sidebar">203 ··········<div·class="yui-b"·id="sidebar">
203 ············204 ············
204 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">205 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
205 ········<div·class="sphinxsidebarwrapper">206 ········<div·class="sphinxsidebarwrapper">
206 ··<div>207 ··<div>
207 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>208 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
208 ····<ul>209 ····<ul>
209 <li><a·class="reference·internal"·href="#">Search</a><ul>210 <li><a·class="reference·internal"·href="#">Search</a><ul>
210 <li><a·class="reference·internal"·href="#use-cases">Use·Cases</a><ul>211 <li><a·class="reference·internal"·href="#use-cases">Use·Cases</a><ul>
211 <li><a·class="reference·internal"·href="#standard-textual-queries">Standard·textual·queries</a></li>212 <li><a·class="reference·internal"·href="#standard-textual-queries">Standard·textual·queries</a></li>
212 <li><a·class="reference·internal"·href="#a-database-s-more-advanced-comparison-functions">A·database’s·more·advanced·comparison·functions</a></li>213 <li><a·class="reference·internal"·href="#a-database-s-more-advanced-comparison-functions">A·database’s·more·advanced·comparison·functions</a></li>
213 <li><a·class="reference·internal"·href="#document-based-search">Document-based·search</a><ul>214 <li><a·class="reference·internal"·href="#document-based-search">Document-based·search</a><ul>
214 <li><a·class="reference·internal"·href="#postgresql-support">PostgreSQL·support</a></li>215 <li><a·class="reference·internal"·href="#postgresql-support">PostgreSQL·support</a></li>
Offset 218, 37 lines modifiedOffset 219, 37 lines modified
218 </li>219 </li>
219 </ul>220 </ul>
220 </li>221 </li>
221 </ul>222 </ul>
  
222 ··</div>223 ··</div>
223 ··<div>224 ··<div>
224 ····<h4>Previous·topic</h4>225 ····<h4>Eelmine·teema</h4>
225 ····<p·class="topless"><a·href="aggregation.html"226 ····<p·class="topless"><a·href="aggregation.html"
226 ··························title="previous·chapter">Aggregation</a></p>227 ··························title="eelmine·jaotis">Aggregation</a></p>
227 ··</div>228 ··</div>
228 ··<div>229 ··<div>
229 ····<h4>Next·topic</h4>230 ····<h4>Järgmine·teema</h4>
230 ····<p·class="topless"><a·href="managers.html"231 ····<p·class="topless"><a·href="managers.html"
231 ··························title="next·chapter">Managers</a></p>232 ··························title="järgmine·jaotis">Managers</a></p>
232 ··</div>233 ··</div>
233 <search·id="searchbox"·style="display:·none"·role="search">234 <search·id="searchbox"·style="display:·none"·role="search">
234 ··<h3·id="searchlabel">Quick·search</h3>235 ··<h3·id="searchlabel">Kiirotsing</h3>
235 ····<div·class="searchformwrapper">236 ····<div·class="searchformwrapper">
236 ····<form·class="search"·action="../../search.html"·method="get">237 ····<form·class="search"·action="../../search.html"·method="get">
237 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>238 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
238 ······<input·type="submit"·value="Go"·/>239 ······<input·type="submit"·value="Otsi"·/>
Max diff block lines reached; 365/9539 bytes (3.83%) of diff not shown.
5.76 KB
html2text {}
Max HTML report size reached
19.8 KB
./usr/share/doc/python-django-doc/html/topics/db/sql.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Performing·raw·SQL·queries·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Performing·raw·SQL·queries·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Database·transactions"·href="transactions.html"·/>15 ····<link·rel="next"·title="Database·transactions"·href="transactions.html"·/>
15 ····<link·rel="prev"·title="Managers"·href="managers.html"·/>16 ····<link·rel="prev"·title="Managers"·href="managers.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 92, 15 lines modifiedOffset 93, 15 lines modified
92 <a·class="reference·internal"·href="../../ref/models/expressions.html"><span·class="doc">custom·query·expressions</span></a>.</p></li>93 <a·class="reference·internal"·href="../../ref/models/expressions.html"><span·class="doc">custom·query·expressions</span></a>.</p></li>
93 </ul>94 </ul>
94 <p>Before·using·raw·SQL,·explore·<a·class="reference·internal"·href="index.html"><span·class="doc">the·ORM</span></a>.·Ask·on95 <p>Before·using·raw·SQL,·explore·<a·class="reference·internal"·href="index.html"><span·class="doc">the·ORM</span></a>.·Ask·on
95 one·of·<a·class="reference·internal"·href="../../faq/help.html"><span·class="doc">the·support·channels</span></a>·to·see·if·the·ORM·supports96 one·of·<a·class="reference·internal"·href="../../faq/help.html"><span·class="doc">the·support·channels</span></a>·to·see·if·the·ORM·supports
96 your·use·case.</p>97 your·use·case.</p>
97 </div>98 </div>
98 <div·class="admonition·warning">99 <div·class="admonition·warning">
99 <p·class="admonition-title">Warning</p>100 <p·class="admonition-title">Hoiatus</p>
100 <p>You·should·be·very·careful·whenever·you·write·raw·SQL.·Every·time·you·use101 <p>You·should·be·very·careful·whenever·you·write·raw·SQL.·Every·time·you·use
101 it,·you·should·properly·escape·any·parameters·that·the·user·can·control102 it,·you·should·properly·escape·any·parameters·that·the·user·can·control
102 by·using·<code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>·in·order·to·protect·against·SQL·injection·attacks.103 by·using·<code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>·in·order·to·protect·against·SQL·injection·attacks.
103 Please·read·more·about·<a·class="reference·internal"·href="../security.html#sql-injection-protection"><span·class="std·std-ref">SQL·injection·protection</span></a>.</p>104 Please·read·more·about·<a·class="reference·internal"·href="../security.html#sql-injection-protection"><span·class="std·std-ref">SQL·injection·protection</span></a>.</p>
104 </div>105 </div>
105 <section·id="s-performing-raw-queries">106 <section·id="s-performing-raw-queries">
106 <span·id="s-executing-raw-queries"></span><span·id="performing-raw-queries"></span><span·id="executing-raw-queries"></span><h2>Performing·raw·queries<a·class="headerlink"·href="#performing-raw-queries"·title="Link·to·this·heading">¶</a></h2>107 <span·id="s-executing-raw-queries"></span><span·id="performing-raw-queries"></span><span·id="executing-raw-queries"></span><h2>Performing·raw·queries<a·class="headerlink"·href="#performing-raw-queries"·title="Link·to·this·heading">¶</a></h2>
Offset 133, 31 lines modifiedOffset 134, 31 lines modified
133 <p>This·example·isn’t·very·exciting··it’s·exactly·the·same·as·running134 <p>This·example·isn’t·very·exciting··it’s·exactly·the·same·as·running
134 <code·class="docutils·literal·notranslate"><span·class="pre">Person.objects.all()</span></code>.·However,·<code·class="docutils·literal·notranslate"><span·class="pre">raw()</span></code>·has·a·bunch·of·other·options·that135 <code·class="docutils·literal·notranslate"><span·class="pre">Person.objects.all()</span></code>.·However,·<code·class="docutils·literal·notranslate"><span·class="pre">raw()</span></code>·has·a·bunch·of·other·options·that
135 make·it·very·powerful.</p>136 make·it·very·powerful.</p>
136 <div·class="admonition-model-table-names·admonition">137 <div·class="admonition-model-table-names·admonition">
137 <p·class="admonition-title">Model·table·names</p>138 <p·class="admonition-title">Model·table·names</p>
138 <p>Where·did·the·name·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">Person</span></code>·table·come·from·in·that·example?</p>139 <p>Where·did·the·name·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">Person</span></code>·table·come·from·in·that·example?</p>
139 <p>By·default,·Django·figures·out·a·database·table·name·by·joining·the140 <p>By·default,·Django·figures·out·a·database·table·name·by·joining·the
140 model’s·app·label··the·name·you·used·in·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startapp</span></code>··to141 model’s·app·label··the·name·you·used·in·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">startapp</span></code>··to
141 the·model’s·class·name,·with·an·underscore·between·them.·In·the·example142 the·model’s·class·name,·with·an·underscore·between·them.·In·the·example
142 we’ve·assumed·that·the·<code·class="docutils·literal·notranslate"><span·class="pre">Person</span></code>·model·lives·in·an·app·named·<code·class="docutils·literal·notranslate"><span·class="pre">myapp</span></code>,143 we’ve·assumed·that·the·<code·class="docutils·literal·notranslate"><span·class="pre">Person</span></code>·model·lives·in·an·app·named·<code·class="docutils·literal·notranslate"><span·class="pre">myapp</span></code>,
143 so·its·table·would·be·<code·class="docutils·literal·notranslate"><span·class="pre">myapp_person</span></code>.</p>144 so·its·table·would·be·<code·class="docutils·literal·notranslate"><span·class="pre">myapp_person</span></code>.</p>
144 <p>For·more·details·check·out·the·documentation·for·the145 <p>For·more·details·check·out·the·documentation·for·the
145 <a·class="reference·internal"·href="../../ref/models/options.html#django.db.models.Options.db_table"·title="django.db.models.Options.db_table"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_table</span></code></a>·option,·which·also·lets·you·manually·set·the146 <a·class="reference·internal"·href="../../ref/models/options.html#django.db.models.Options.db_table"·title="django.db.models.Options.db_table"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">db_table</span></code></a>·option,·which·also·lets·you·manually·set·the
146 database·table·name.</p>147 database·table·name.</p>
147 </div>148 </div>
148 <div·class="admonition·warning">149 <div·class="admonition·warning">
149 <p·class="admonition-title">Warning</p>150 <p·class="admonition-title">Hoiatus</p>
150 <p>No·checking·is·done·on·the·SQL·statement·that·is·passed·in·to·<code·class="docutils·literal·notranslate"><span·class="pre">.raw()</span></code>.151 <p>No·checking·is·done·on·the·SQL·statement·that·is·passed·in·to·<code·class="docutils·literal·notranslate"><span·class="pre">.raw()</span></code>.
151 Django·expects·that·the·statement·will·return·a·set·of·rows·from·the152 Django·expects·that·the·statement·will·return·a·set·of·rows·from·the
152 database,·but·does·nothing·to·enforce·that.·If·the·query·does·not153 database,·but·does·nothing·to·enforce·that.·If·the·query·does·not
153 return·rows,·a·(possibly·cryptic)·error·will·result.</p>154 return·rows,·a·(possibly·cryptic)·error·will·result.</p>
154 </div>155 </div>
155 <div·class="admonition·warning">156 <div·class="admonition·warning">
156 <p·class="admonition-title">Warning</p>157 <p·class="admonition-title">Hoiatus</p>
157 <p>If·you·are·performing·queries·on·MySQL,·note·that·MySQL’s·silent·type·coercion158 <p>If·you·are·performing·queries·on·MySQL,·note·that·MySQL’s·silent·type·coercion
158 may·cause·unexpected·results·when·mixing·types.·If·you·query·on·a·string159 may·cause·unexpected·results·when·mixing·types.·If·you·query·on·a·string
159 type·column,·but·with·an·integer·value,·MySQL·will·coerce·the·types·of·all·values160 type·column,·but·with·an·integer·value,·MySQL·will·coerce·the·types·of·all·values
160 in·the·table·to·an·integer·before·performing·the·comparison.·For·example,·if·your161 in·the·table·to·an·integer·before·performing·the·comparison.·For·example,·if·your
161 table·contains·the·values·<code·class="docutils·literal·notranslate"><span·class="pre">'abc'</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">'def'</span></code>·and·you·query·for·<code·class="docutils·literal·notranslate"><span·class="pre">WHERE</span>·<span·class="pre">mycolumn=0</span></code>,162 table·contains·the·values·<code·class="docutils·literal·notranslate"><span·class="pre">'abc'</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">'def'</span></code>·and·you·query·for·<code·class="docutils·literal·notranslate"><span·class="pre">WHERE</span>·<span·class="pre">mycolumn=0</span></code>,
162 both·rows·will·match.·To·prevent·this,·perform·the·correct·typecasting163 both·rows·will·match.·To·prevent·this,·perform·the·correct·typecasting
163 before·using·the·value·in·a·query.</p>164 before·using·the·value·in·a·query.</p>
Offset 265, 20 lines modifiedOffset 266, 20 lines modified
265 </div>266 </div>
266 <p><code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>·is·a·list·or·dictionary·of·parameters.·You’ll·use·<code·class="docutils·literal·notranslate"><span·class="pre">%s</span></code>267 <p><code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>·is·a·list·or·dictionary·of·parameters.·You’ll·use·<code·class="docutils·literal·notranslate"><span·class="pre">%s</span></code>
267 placeholders·in·the·query·string·for·a·list,·or·<code·class="docutils·literal·notranslate"><span·class="pre">%(key)s</span></code>268 placeholders·in·the·query·string·for·a·list,·or·<code·class="docutils·literal·notranslate"><span·class="pre">%(key)s</span></code>
268 placeholders·for·a·dictionary·(where·<code·class="docutils·literal·notranslate"><span·class="pre">key</span></code>·is·replaced·by·a269 placeholders·for·a·dictionary·(where·<code·class="docutils·literal·notranslate"><span·class="pre">key</span></code>·is·replaced·by·a
269 dictionary·key),·regardless·of·your·database·engine.·Such·placeholders·will·be270 dictionary·key),·regardless·of·your·database·engine.·Such·placeholders·will·be
270 replaced·with·parameters·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>·argument.</p>271 replaced·with·parameters·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">params</span></code>·argument.</p>
271 <div·class="admonition·note">272 <div·class="admonition·note">
272 <p·class="admonition-title">Note</p>273 <p·class="admonition-title">rkus</p>
273 <p>Dictionary·params·are·not·supported·with·the·SQLite·backend;·with274 <p>Dictionary·params·are·not·supported·with·the·SQLite·backend;·with
274 this·backend,·you·must·pass·parameters·as·a·list.</p>275 this·backend,·you·must·pass·parameters·as·a·list.</p>
275 </div>276 </div>
276 <div·class="admonition·warning">277 <div·class="admonition·warning">
277 <p·class="admonition-title">Warning</p>278 <p·class="admonition-title">Hoiatus</p>
278 <p><strong>Do·not·use·string·formatting·on·raw·queries·or·quote·placeholders·in·your279 <p><strong>Do·not·use·string·formatting·on·raw·queries·or·quote·placeholders·in·your
279 SQL·strings!</strong></p>280 SQL·strings!</strong></p>
280 <p>It’s·tempting·to·write·the·above·query·as:</p>281 <p>It’s·tempting·to·write·the·above·query·as:</p>
281 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">query</span>·<span·class="o">=</span>·<span·class="s2">&quot;SELECT·*·FROM·myapp_person·WHERE·last_name·=·</span><span·class="si">%s</span><span·class="s2">&quot;</span>·<span·class="o">%</span>·<span·class="n">lname</span>282 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">query</span>·<span·class="o">=</span>·<span·class="s2">&quot;SELECT·*·FROM·myapp_person·WHERE·last_name·=·</span><span·class="si">%s</span><span·class="s2">&quot;</span>·<span·class="o">%</span>·<span·class="n">lname</span>
282 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Person</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">raw</span><span·class="p">(</span><span·class="n">query</span><span·class="p">)</span>283 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">Person</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">raw</span><span·class="p">(</span><span·class="n">query</span><span·class="p">)</span>
283 </pre></div>284 </pre></div>
284 </div>285 </div>
Offset 350, 15 lines modifiedOffset 351, 15 lines modified
350 <span·class="sd">····Return·all·rows·from·a·cursor·as·a·dict.</span>351 <span·class="sd">····Return·all·rows·from·a·cursor·as·a·dict.</span>
351 <span·class="sd">····Assume·the·column·names·are·unique.</span>352 <span·class="sd">····Assume·the·column·names·are·unique.</span>
352 <span·class="sd">····&quot;&quot;&quot;</span>353 <span·class="sd">····&quot;&quot;&quot;</span>
353 ····<span·class="n">columns</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">col</span><span·class="p">[</span><span·class="mi">0</span><span·class="p">]</span>·<span·class="k">for</span>·<span·class="n">col</span>·<span·class="ow">in</span>·<span·class="n">cursor</span><span·class="o">.</span><span·class="n">description</span><span·class="p">]</span>354 ····<span·class="n">columns</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">col</span><span·class="p">[</span><span·class="mi">0</span><span·class="p">]</span>·<span·class="k">for</span>·<span·class="n">col</span>·<span·class="ow">in</span>·<span·class="n">cursor</span><span·class="o">.</span><span·class="n">description</span><span·class="p">]</span>
354 ····<span·class="k">return</span>·<span·class="p">[</span><span·class="nb">dict</span><span·class="p">(</span><span·class="nb">zip</span><span·class="p">(</span><span·class="n">columns</span><span·class="p">,</span>·<span·class="n">row</span><span·class="p">))</span>·<span·class="k">for</span>·<span·class="n">row</span>·<span·class="ow">in</span>·<span·class="n">cursor</span><span·class="o">.</span><span·class="n">fetchall</span><span·class="p">()]</span>355 ····<span·class="k">return</span>·<span·class="p">[</span><span·class="nb">dict</span><span·class="p">(</span><span·class="nb">zip</span><span·class="p">(</span><span·class="n">columns</span><span·class="p">,</span>·<span·class="n">row</span><span·class="p">))</span>·<span·class="k">for</span>·<span·class="n">row</span>·<span·class="ow">in</span>·<span·class="n">cursor</span><span·class="o">.</span><span·class="n">fetchall</span><span·class="p">()]</span>
355 </pre></div>356 </pre></div>
356 </div>357 </div>
357 <p>Another·option·is·to·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/collections.html#collections.namedtuple"·title="(in·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">collections.namedtuple()</span></code></a>·from·the·Python358 <p>Another·option·is·to·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/collections.html#collections.namedtuple"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">collections.namedtuple()</span></code></a>·from·the·Python
358 standard·library.·A·<code·class="docutils·literal·notranslate"><span·class="pre">namedtuple</span></code>·is·a·tuple-like·object·that·has·fields359 standard·library.·A·<code·class="docutils·literal·notranslate"><span·class="pre">namedtuple</span></code>·is·a·tuple-like·object·that·has·fields
359 accessible·by·attribute·lookup;·it’s·also·indexable·and·iterable.·Results·are360 accessible·by·attribute·lookup;·it’s·also·indexable·and·iterable.·Results·are
360 immutable·and·accessible·by·field·names·or·indices,·which·might·be·useful:</p>361 immutable·and·accessible·by·field·names·or·indices,·which·might·be·useful:</p>
361 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">collections</span>·<span·class="kn">import</span>·<span·class="n">namedtuple</span>362 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">collections</span>·<span·class="kn">import</span>·<span·class="n">namedtuple</span>
  
  
362 <span·class="k">def</span>·<span·class="nf">namedtuplefetchall</span><span·class="p">(</span><span·class="n">cursor</span><span·class="p">):</span>363 <span·class="k">def</span>·<span·class="nf">namedtuplefetchall</span><span·class="p">(</span><span·class="n">cursor</span><span·class="p">):</span>
Offset 455, 15 lines modifiedOffset 456, 15 lines modified
455 ······456 ······
456 ········457 ········
Max diff block lines reached; 2308/13278 bytes (17.38%) of diff not shown.
6.7 KB
html2text {}
Max HTML report size reached
8.67 KB
./usr/share/doc/python-django-doc/html/topics/db/tablespaces.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Tablespaces·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Tablespaces·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Database·access·optimization"·href="optimization.html"·/>15 ····<link·rel="next"·title="Database·access·optimization"·href="optimization.html"·/>
15 ····<link·rel="prev"·title="Multiple·databases"·href="multi-db.html"·/>16 ····<link·rel="prev"·title="Multiple·databases"·href="multi-db.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 78, 15 lines modifiedOffset 79, 15 lines modified
78 ··········<div·class="yui-g"·id="topics-db-tablespaces">79 ··········<div·class="yui-g"·id="topics-db-tablespaces">
79 ············80 ············
80 ··<section·id="s-tablespaces">81 ··<section·id="s-tablespaces">
81 <span·id="tablespaces"></span><h1>Tablespaces<a·class="headerlink"·href="#tablespaces"·title="Link·to·this·heading">¶</a></h1>82 <span·id="tablespaces"></span><h1>Tablespaces<a·class="headerlink"·href="#tablespaces"·title="Link·to·this·heading">¶</a></h1>
82 <p>A·common·paradigm·for·optimizing·performance·in·database·systems·is·the·use·of83 <p>A·common·paradigm·for·optimizing·performance·in·database·systems·is·the·use·of
83 <a·class="reference·external"·href="https://en.wikipedia.org/wiki/Tablespace">tablespaces</a>·to·organize·disk·layout.</p>84 <a·class="reference·external"·href="https://en.wikipedia.org/wiki/Tablespace">tablespaces</a>·to·organize·disk·layout.</p>
84 <div·class="admonition·warning">85 <div·class="admonition·warning">
85 <p·class="admonition-title">Warning</p>86 <p·class="admonition-title">Hoiatus</p>
86 <p>Django·does·not·create·the·tablespaces·for·you.·Please·refer·to·your87 <p>Django·does·not·create·the·tablespaces·for·you.·Please·refer·to·your
87 database·engine’s·documentation·for·details·on·creating·and·managing88 database·engine’s·documentation·for·details·on·creating·and·managing
88 tablespaces.</p>89 tablespaces.</p>
89 </div>90 </div>
90 <section·id="s-declaring-tablespaces-for-tables">91 <section·id="s-declaring-tablespaces-for-tables">
91 <span·id="declaring-tablespaces-for-tables"></span><h2>Declaring·tablespaces·for·tables<a·class="headerlink"·href="#declaring-tablespaces-for-tables"·title="Link·to·this·heading">¶</a></h2>92 <span·id="declaring-tablespaces-for-tables"></span><h2>Declaring·tablespaces·for·tables<a·class="headerlink"·href="#declaring-tablespaces-for-tables"·title="Link·to·this·heading">¶</a></h2>
92 <p>A·tablespace·can·be·specified·for·the·table·generated·by·a·model·by·supplying93 <p>A·tablespace·can·be·specified·for·the·table·generated·by·a·model·by·supplying
Offset 148, 50 lines modifiedOffset 149, 50 lines modified
148 ······149 ······
149 ········150 ········
150 ··········<div·class="yui-b"·id="sidebar">151 ··········<div·class="yui-b"·id="sidebar">
151 ············152 ············
152 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">153 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
153 ········<div·class="sphinxsidebarwrapper">154 ········<div·class="sphinxsidebarwrapper">
154 ··<div>155 ··<div>
155 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>156 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
156 ····<ul>157 ····<ul>
157 <li><a·class="reference·internal"·href="#">Tablespaces</a><ul>158 <li><a·class="reference·internal"·href="#">Tablespaces</a><ul>
158 <li><a·class="reference·internal"·href="#declaring-tablespaces-for-tables">Declaring·tablespaces·for·tables</a></li>159 <li><a·class="reference·internal"·href="#declaring-tablespaces-for-tables">Declaring·tablespaces·for·tables</a></li>
159 <li><a·class="reference·internal"·href="#declaring-tablespaces-for-indexes">Declaring·tablespaces·for·indexes</a></li>160 <li><a·class="reference·internal"·href="#declaring-tablespaces-for-indexes">Declaring·tablespaces·for·indexes</a></li>
160 <li><a·class="reference·internal"·href="#an-example">An·example</a></li>161 <li><a·class="reference·internal"·href="#an-example">An·example</a></li>
161 <li><a·class="reference·internal"·href="#database-support">Database·support</a></li>162 <li><a·class="reference·internal"·href="#database-support">Database·support</a></li>
162 </ul>163 </ul>
163 </li>164 </li>
164 </ul>165 </ul>
  
165 ··</div>166 ··</div>
166 ··<div>167 ··<div>
167 ····<h4>Previous·topic</h4>168 ····<h4>Eelmine·teema</h4>
168 ····<p·class="topless"><a·href="multi-db.html"169 ····<p·class="topless"><a·href="multi-db.html"
169 ··························title="previous·chapter">Multiple·databases</a></p>170 ··························title="eelmine·jaotis">Multiple·databases</a></p>
170 ··</div>171 ··</div>
171 ··<div>172 ··<div>
172 ····<h4>Next·topic</h4>173 ····<h4>Järgmine·teema</h4>
173 ····<p·class="topless"><a·href="optimization.html"174 ····<p·class="topless"><a·href="optimization.html"
174 ··························title="next·chapter">Database·access·optimization</a></p>175 ··························title="järgmine·jaotis">Database·access·optimization</a></p>
175 ··</div>176 ··</div>
176 <search·id="searchbox"·style="display:·none"·role="search">177 <search·id="searchbox"·style="display:·none"·role="search">
177 ··<h3·id="searchlabel">Quick·search</h3>178 ··<h3·id="searchlabel">Kiirotsing</h3>
178 ····<div·class="searchformwrapper">179 ····<div·class="searchformwrapper">
179 ····<form·class="search"·action="../../search.html"·method="get">180 ····<form·class="search"·action="../../search.html"·method="get">
180 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>181 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
181 ······<input·type="submit"·value="Go"·/>182 ······<input·type="submit"·value="Otsi"·/>
182 ····</form>183 ····</form>
183 ····</div>184 ····</div>
184 </search>185 </search>
185 <script>document.getElementById('searchbox').style.display·=·"block"</script>186 <script>document.getElementById('searchbox').style.display·=·"block"</script>
186 ········</div>187 ········</div>
187 ······</div>188 ······</div>
188 ··············<h3>Last·update:</h3>189 ··············<h3>Last·update:</h3>
189 ··············<p·class="topless">Nov·05,·2024</p>190 ··············<p·class="topless">nov·05,·2024</p>
190 ··········</div>191 ··········</div>
191 ········192 ········
192 ······193 ······
193 ····</div>194 ····</div>
  
194 ····<div·id="ft">195 ····<div·id="ft">
195 ······<div·class="nav">196 ······<div·class="nav">
3.16 KB
html2text {}
Max HTML report size reached
60.6 KB
./usr/share/doc/python-django-doc/html/topics/db/transactions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Database·transactions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Database·transactions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Multiple·databases"·href="multi-db.html"·/>15 ····<link·rel="next"·title="Multiple·databases"·href="multi-db.html"·/>
15 ····<link·rel="prev"·title="Performing·raw·SQL·queries"·href="sql.html"·/>16 ····<link·rel="prev"·title="Performing·raw·SQL·queries"·href="sql.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 103, 15 lines modifiedOffset 104, 15 lines modified
103 transaction.·If·the·response·is·produced·without·problems,·Django·commits·the104 transaction.·If·the·response·is·produced·without·problems,·Django·commits·the
104 transaction.·If·the·view·produces·an·exception,·Django·rolls·back·the105 transaction.·If·the·view·produces·an·exception,·Django·rolls·back·the
105 transaction.</p>106 transaction.</p>
106 <p>You·may·perform·subtransactions·using·savepoints·in·your·view·code,·typically107 <p>You·may·perform·subtransactions·using·savepoints·in·your·view·code,·typically
107 with·the·<a·class="reference·internal"·href="#django.db.transaction.atomic"·title="django.db.transaction.atomic"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">atomic()</span></code></a>·context·manager.·However,·at·the·end·of·the·view,108 with·the·<a·class="reference·internal"·href="#django.db.transaction.atomic"·title="django.db.transaction.atomic"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">atomic()</span></code></a>·context·manager.·However,·at·the·end·of·the·view,
108 either·all·or·none·of·the·changes·will·be·committed.</p>109 either·all·or·none·of·the·changes·will·be·committed.</p>
109 <div·class="admonition·warning">110 <div·class="admonition·warning">
110 <p·class="admonition-title">Warning</p>111 <p·class="admonition-title">Hoiatus</p>
111 <p>While·the·simplicity·of·this·transaction·model·is·appealing,·it·also·makes·it112 <p>While·the·simplicity·of·this·transaction·model·is·appealing,·it·also·makes·it
112 inefficient·when·traffic·increases.·Opening·a·transaction·for·every·view·has113 inefficient·when·traffic·increases.·Opening·a·transaction·for·every·view·has
113 some·overhead.·The·impact·on·performance·depends·on·the·query·patterns·of·your114 some·overhead.·The·impact·on·performance·depends·on·the·query·patterns·of·your
114 application·and·on·how·well·your·database·handles·locking.</p>115 application·and·on·how·well·your·database·handles·locking.</p>
115 </div>116 </div>
116 <div·class="admonition-per-request-transactions-and-streaming-responses·admonition">117 <div·class="admonition-per-request-transactions-and-streaming-responses·admonition">
117 <p·class="admonition-title">Per-request·transactions·and·streaming·responses</p>118 <p·class="admonition-title">Per-request·transactions·and·streaming·responses</p>
Offset 128, 15 lines modifiedOffset 129, 15 lines modified
128 <p>Note·that·only·the·execution·of·your·view·is·enclosed·in·the·transactions.129 <p>Note·that·only·the·execution·of·your·view·is·enclosed·in·the·transactions.
129 Middleware·runs·outside·of·the·transaction,·and·so·does·the·rendering·of130 Middleware·runs·outside·of·the·transaction,·and·so·does·the·rendering·of
130 template·responses.</p>131 template·responses.</p>
131 <p>When·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-DATABASE-ATOMIC_REQUESTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ATOMIC_REQUESTS</span></code></a>·is·enabled,·it’s132 <p>When·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-DATABASE-ATOMIC_REQUESTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ATOMIC_REQUESTS</span></code></a>·is·enabled,·it’s
132 still·possible·to·prevent·views·from·running·in·a·transaction.</p>133 still·possible·to·prevent·views·from·running·in·a·transaction.</p>
133 <dl·class="py·function">134 <dl·class="py·function">
134 <dt·class="sig·sig-object·py"·id="django.db.transaction.non_atomic_requests">135 <dt·class="sig·sig-object·py"·id="django.db.transaction.non_atomic_requests">
135 <span·class="sig-name·descname"><span·class="pre">non_atomic_requests</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/transaction.py#L334"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.transaction.non_atomic_requests"·title="Link·to·this·definition">¶</a></dt>136 <span·class="sig-name·descname"><span·class="pre">non_atomic_requests</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/transaction.py#L334"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.transaction.non_atomic_requests"·title="Link·to·this·definition">¶</a></dt>
136 <dd><p>This·decorator·will·negate·the·effect·of·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-DATABASE-ATOMIC_REQUESTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ATOMIC_REQUESTS</span></code></a>·for·a·given·view:</p>137 <dd><p>This·decorator·will·negate·the·effect·of·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-DATABASE-ATOMIC_REQUESTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ATOMIC_REQUESTS</span></code></a>·for·a·given·view:</p>
137 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">transaction</span>138 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">transaction</span>
  
  
138 <span·class="nd">@transaction</span><span·class="o">.</span><span·class="n">non_atomic_requests</span>139 <span·class="nd">@transaction</span><span·class="o">.</span><span·class="n">non_atomic_requests</span>
139 <span·class="k">def</span>·<span·class="nf">my_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>140 <span·class="k">def</span>·<span·class="nf">my_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>
140 ····<span·class="n">do_stuff</span><span·class="p">()</span>141 ····<span·class="n">do_stuff</span><span·class="p">()</span>
Offset 152, 39 lines modifiedOffset 153, 39 lines modified
  
152 </section>153 </section>
153 <section·id="s-controlling-transactions-explicitly">154 <section·id="s-controlling-transactions-explicitly">
154 <span·id="controlling-transactions-explicitly"></span><h3>Controlling·transactions·explicitly<a·class="headerlink"·href="#controlling-transactions-explicitly"·title="Link·to·this·heading">¶</a></h3>155 <span·id="controlling-transactions-explicitly"></span><h3>Controlling·transactions·explicitly<a·class="headerlink"·href="#controlling-transactions-explicitly"·title="Link·to·this·heading">¶</a></h3>
155 <p>Django·provides·a·single·API·to·control·database·transactions.</p>156 <p>Django·provides·a·single·API·to·control·database·transactions.</p>
156 <dl·class="py·function">157 <dl·class="py·function">
157 <dt·class="sig·sig-object·py"·id="django.db.transaction.atomic">158 <dt·class="sig·sig-object·py"·id="django.db.transaction.atomic">
158 <span·class="sig-name·descname"><span·class="pre">atomic</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">savepoint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">durable</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/transaction.py#L316"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.transaction.atomic"·title="Link·to·this·definition">¶</a></dt>159 <span·class="sig-name·descname"><span·class="pre">atomic</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">savepoint</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">durable</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/transaction.py#L316"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.transaction.atomic"·title="Link·to·this·definition">¶</a></dt>
159 <dd><p>Atomicity·is·the·defining·property·of·database·transactions.·<code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>160 <dd><p>Atomicity·is·the·defining·property·of·database·transactions.·<code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>
160 allows·us·to·create·a·block·of·code·within·which·the·atomicity·on·the161 allows·us·to·create·a·block·of·code·within·which·the·atomicity·on·the
161 database·is·guaranteed.·If·the·block·of·code·is·successfully·completed,·the162 database·is·guaranteed.·If·the·block·of·code·is·successfully·completed,·the
162 changes·are·committed·to·the·database.·If·there·is·an·exception,·the163 changes·are·committed·to·the·database.·If·there·is·an·exception,·the
163 changes·are·rolled·back.</p>164 changes·are·rolled·back.</p>
164 <p><code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·blocks·can·be·nested.·In·this·case,·when·an·inner·block165 <p><code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·blocks·can·be·nested.·In·this·case,·when·an·inner·block
165 completes·successfully,·its·effects·can·still·be·rolled·back·if·an166 completes·successfully,·its·effects·can·still·be·rolled·back·if·an
166 exception·is·raised·in·the·outer·block·at·a·later·point.</p>167 exception·is·raised·in·the·outer·block·at·a·later·point.</p>
167 <p>It·is·sometimes·useful·to·ensure·an·<code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·block·is·always·the168 <p>It·is·sometimes·useful·to·ensure·an·<code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·block·is·always·the
168 outermost·<code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·block,·ensuring·that·any·database·changes·are169 outermost·<code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·block,·ensuring·that·any·database·changes·are
169 committed·when·the·block·is·exited·without·errors.·This·is·known·as170 committed·when·the·block·is·exited·without·errors.·This·is·known·as
170 durability·and·can·be·achieved·by·setting·<code·class="docutils·literal·notranslate"><span·class="pre">durable=True</span></code>.·If·the171 durability·and·can·be·achieved·by·setting·<code·class="docutils·literal·notranslate"><span·class="pre">durable=True</span></code>.·If·the
171 <code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·block·is·nested·within·another·it·raises·a·<code·class="docutils·literal·notranslate"><span·class="pre">RuntimeError</span></code>.</p>172 <code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·block·is·nested·within·another·it·raises·a·<code·class="docutils·literal·notranslate"><span·class="pre">RuntimeError</span></code>.</p>
172 <p><code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·is·usable·both·as·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-decorator"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">decorator</span></a>:</p>173 <p><code·class="docutils·literal·notranslate"><span·class="pre">atomic</span></code>·is·usable·both·as·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-decorator"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">decorator</span></a>:</p>
173 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">transaction</span>174 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">transaction</span>
  
  
174 <span·class="nd">@transaction</span><span·class="o">.</span><span·class="n">atomic</span>175 <span·class="nd">@transaction</span><span·class="o">.</span><span·class="n">atomic</span>
175 <span·class="k">def</span>·<span·class="nf">viewfunc</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>176 <span·class="k">def</span>·<span·class="nf">viewfunc</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>
176 ····<span·class="c1">#·This·code·executes·inside·a·transaction.</span>177 ····<span·class="c1">#·This·code·executes·inside·a·transaction.</span>
177 ····<span·class="n">do_stuff</span><span·class="p">()</span>178 ····<span·class="n">do_stuff</span><span·class="p">()</span>
178 </pre></div>179 </pre></div>
179 </div>180 </div>
180 <p>and·as·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-context-manager"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">context·manager</span></a>:</p>181 <p>and·as·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-context-manager"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">context·manager</span></a>:</p>
181 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">transaction</span>182 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">transaction</span>
  
  
182 <span·class="k">def</span>·<span·class="nf">viewfunc</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>183 <span·class="k">def</span>·<span·class="nf">viewfunc</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>
183 ····<span·class="c1">#·This·code·executes·in·autocommit·mode·(Django&#39;s·default).</span>184 ····<span·class="c1">#·This·code·executes·in·autocommit·mode·(Django&#39;s·default).</span>
184 ····<span·class="n">do_stuff</span><span·class="p">()</span>185 ····<span·class="n">do_stuff</span><span·class="p">()</span>
  
Offset 338, 29 lines modifiedOffset 339, 29 lines modified
338 <p>Sometimes·you·need·to·perform·an·action·related·to·the·current·database339 <p>Sometimes·you·need·to·perform·an·action·related·to·the·current·database
339 transaction,·but·only·if·the·transaction·successfully·commits.·Examples·might340 transaction,·but·only·if·the·transaction·successfully·commits.·Examples·might
340 include·a·background·task,·an·email·notification,·or·a·cache·invalidation.</p>341 include·a·background·task,·an·email·notification,·or·a·cache·invalidation.</p>
341 <p><a·class="reference·internal"·href="#django.db.transaction.on_commit"·title="django.db.transaction.on_commit"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">on_commit()</span></code></a>·allows·you·to·register·callbacks·that·will·be·executed·after342 <p><a·class="reference·internal"·href="#django.db.transaction.on_commit"·title="django.db.transaction.on_commit"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">on_commit()</span></code></a>·allows·you·to·register·callbacks·that·will·be·executed·after
342 the·open·transaction·is·successfully·committed:</p>343 the·open·transaction·is·successfully·committed:</p>
343 <dl·class="py·function">344 <dl·class="py·function">
344 <dt·class="sig·sig-object·py"·id="django.db.transaction.on_commit">345 <dt·class="sig·sig-object·py"·id="django.db.transaction.on_commit">
345 <span·class="sig-name·descname"><span·class="pre">on_commit</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">func</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">robust</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/transaction.py#L129"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.db.transaction.on_commit"·title="Link·to·this·definition">¶</a></dt>346 <span·class="sig-name·descname"><span·class="pre">on_commit</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">func</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">robust</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/db/transaction.py#L129"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.db.transaction.on_commit"·title="Link·to·this·definition">¶</a></dt>
346 <dd></dd></dl>347 <dd></dd></dl>
  
347 <p>Pass·a·function,·or·any·callable,·to·<a·class="reference·internal"·href="#django.db.transaction.on_commit"·title="django.db.transaction.on_commit"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">on_commit()</span></code></a>:</p>348 <p>Pass·a·function,·or·any·callable,·to·<a·class="reference·internal"·href="#django.db.transaction.on_commit"·title="django.db.transaction.on_commit"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">on_commit()</span></code></a>:</p>
348 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">transaction</span>349 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">transaction</span>
  
  
349 <span·class="k">def</span>·<span·class="nf">send_welcome_email</span><span·class="p">():</span>·<span·class="o">...</span>350 <span·class="k">def</span>·<span·class="nf">send_welcome_email</span><span·class="p">():</span>·<span·class="o">...</span>
Max diff block lines reached; 30259/45087 bytes (67.11%) of diff not shown.
16.4 KB
html2text {}
Max HTML report size reached
81.2 KB
./usr/share/doc/python-django-doc/html/topics/email.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Sending·email·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Sending·email·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Internationalization·and·localization"·href="i18n/index.html"·/>15 ····<link·rel="next"·title="Internationalization·and·localization"·href="i18n/index.html"·/>
15 ····<link·rel="prev"·title="Cryptographic·signing"·href="signing.html"·/>16 ····<link·rel="prev"·title="Cryptographic·signing"·href="signing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 15 lines modifiedOffset 76, 15 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-email">79 ··········<div·class="yui-g"·id="topics-email">
79 ············80 ············
80 ··<section·id="s-module-django.core.mail">81 ··<section·id="s-module-django.core.mail">
81 <span·id="s-sending-email"></span><span·id="module-django.core.mail"></span><span·id="sending-email"></span><h1>Sending·email<a·class="headerlink"·href="#module-django.core.mail"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-sending-email"></span><span·id="module-django.core.mail"></span><span·id="sending-email"></span><h1>Sending·email<a·class="headerlink"·href="#module-django.core.mail"·title="Link·to·this·heading">¶</a></h1>
82 <p>Although·Python·provides·a·mail·sending·interface·via·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/smtplib.html#module-smtplib"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">smtplib</span></code></a>83 <p>Although·Python·provides·a·mail·sending·interface·via·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/smtplib.html#module-smtplib"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">smtplib</span></code></a>
83 module,·Django·provides·a·couple·of·light·wrappers·over·it.·These·wrappers·are84 module,·Django·provides·a·couple·of·light·wrappers·over·it.·These·wrappers·are
84 provided·to·make·sending·email·extra·quick,·to·help·test·email·sending·during85 provided·to·make·sending·email·extra·quick,·to·help·test·email·sending·during
85 development,·and·to·provide·support·for·platforms·that·can’t·use·SMTP.</p>86 development,·and·to·provide·support·for·platforms·that·can’t·use·SMTP.</p>
86 <p>The·code·lives·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.mail</span></code>·module.</p>87 <p>The·code·lives·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.mail</span></code>·module.</p>
87 <section·id="s-quick-examples">88 <section·id="s-quick-examples">
88 <span·id="quick-examples"></span><h2>Quick·examples<a·class="headerlink"·href="#quick-examples"·title="Link·to·this·heading">¶</a></h2>89 <span·id="quick-examples"></span><h2>Quick·examples<a·class="headerlink"·href="#quick-examples"·title="Link·to·this·heading">¶</a></h2>
89 <p>Use·<a·class="reference·internal"·href="#django.core.mail.send_mail"·title="django.core.mail.send_mail"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">send_mail()</span></code></a>·for·straightforward·email·sending.·For·example,·to·send·a90 <p>Use·<a·class="reference·internal"·href="#django.core.mail.send_mail"·title="django.core.mail.send_mail"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">send_mail()</span></code></a>·for·straightforward·email·sending.·For·example,·to·send·a
Offset 135, 41 lines modifiedOffset 136, 41 lines modified
135 <p>Mail·is·sent·using·the·SMTP·host·and·port·specified·in·the136 <p>Mail·is·sent·using·the·SMTP·host·and·port·specified·in·the
136 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST</span></code></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_PORT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_PORT</span></code></a>·settings.·The137 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST</span></code></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_PORT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_PORT</span></code></a>·settings.·The
137 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_USER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_USER</span></code></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_PASSWORD"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_PASSWORD</span></code></a>·settings,·if138 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_USER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_USER</span></code></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_PASSWORD"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_PASSWORD</span></code></a>·settings,·if
138 set,·are·used·to·authenticate·to·the·SMTP·server,·and·the139 set,·are·used·to·authenticate·to·the·SMTP·server,·and·the
139 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_USE_TLS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_USE_TLS</span></code></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_USE_SSL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_USE_SSL</span></code></a>·settings·control·whether140 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_USE_TLS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_USE_TLS</span></code></a>·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_USE_SSL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_USE_SSL</span></code></a>·settings·control·whether
140 a·secure·connection·is·used.</p>141 a·secure·connection·is·used.</p>
141 <div·class="admonition·note">142 <div·class="admonition·note">
142 <p·class="admonition-title">Note</p>143 <p·class="admonition-title">rkus</p>
143 <p>The·character·set·of·email·sent·with·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.mail</span></code>·will·be·set·to144 <p>The·character·set·of·email·sent·with·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.mail</span></code>·will·be·set·to
144 the·value·of·your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DEFAULT_CHARSET"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_CHARSET</span></code></a>·setting.</p>145 the·value·of·your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DEFAULT_CHARSET"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_CHARSET</span></code></a>·setting.</p>
145 </div>146 </div>
146 </section>147 </section>
147 <section·id="s-send-mail">148 <section·id="s-send-mail">
148 <span·id="send-mail"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">send_mail()</span></code><a·class="headerlink"·href="#send-mail"·title="Link·to·this·heading">¶</a></h2>149 <span·id="send-mail"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">send_mail()</span></code><a·class="headerlink"·href="#send-mail"·title="Link·to·this·heading">¶</a></h2>
149 <dl·class="py·function">150 <dl·class="py·function">
150 <dt·class="sig·sig-object·py"·id="django.core.mail.send_mail">151 <dt·class="sig·sig-object·py"·id="django.core.mail.send_mail">
151 <span·class="sig-name·descname"><span·class="pre">send_mail</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">subject</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">from_email</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">recipient_list</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fail_silently</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">auth_user</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">auth_password</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">html_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/mail/__init__.py#L55"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.mail.send_mail"·title="Link·to·this·definition">¶</a></dt>152 <span·class="sig-name·descname"><span·class="pre">send_mail</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">subject</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">message</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">from_email</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">recipient_list</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fail_silently</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">auth_user</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">auth_password</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">html_message</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/mail/__init__.py#L55"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.mail.send_mail"·title="Link·to·this·definition">¶</a></dt>
152 <dd></dd></dl>153 <dd></dd></dl>
  
153 <p>In·most·cases,·you·can·send·email·using·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.mail.send_mail()</span></code>.</p>154 <p>In·most·cases,·you·can·send·email·using·<code·class="docutils·literal·notranslate"><span·class="pre">django.core.mail.send_mail()</span></code>.</p>
154 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">subject</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">message</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">from_email</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">recipient_list</span></code>·parameters155 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">subject</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">message</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">from_email</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">recipient_list</span></code>·parameters
155 are·required.</p>156 are·required.</p>
156 <ul·class="simple">157 <ul·class="simple">
157 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">subject</span></code>:·A·string.</p></li>158 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">subject</span></code>:·A·string.</p></li>
158 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">message</span></code>:·A·string.</p></li>159 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">message</span></code>:·A·string.</p></li>
159 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">from_email</span></code>:·A·string.·If·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·Django·will·use·the·value·of·the160 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">from_email</span></code>:·A·string.·If·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·Django·will·use·the·value·of·the
160 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DEFAULT_FROM_EMAIL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_FROM_EMAIL</span></code></a>·setting.</p></li>161 <a·class="reference·internal"·href="../ref/settings.html#std-setting-DEFAULT_FROM_EMAIL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEFAULT_FROM_EMAIL</span></code></a>·setting.</p></li>
161 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">recipient_list</span></code>:·A·list·of·strings,·each·an·email·address.·Each162 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">recipient_list</span></code>:·A·list·of·strings,·each·an·email·address.·Each
162 member·of·<code·class="docutils·literal·notranslate"><span·class="pre">recipient_list</span></code>·will·see·the·other·recipients·in·the·To:163 member·of·<code·class="docutils·literal·notranslate"><span·class="pre">recipient_list</span></code>·will·see·the·other·recipients·in·the·To:
163 field·of·the·email·message.</p></li>164 field·of·the·email·message.</p></li>
164 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">fail_silently</span></code>:·A·boolean.·When·it’s·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">send_mail()</span></code>·will·raise165 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">fail_silently</span></code>:·A·boolean.·When·it’s·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">send_mail()</span></code>·will·raise
165 an·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/smtplib.html#smtplib.SMTPException"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">smtplib.SMTPException</span></code></a>·if·an·error·occurs.·See·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/smtplib.html#modul[·...·truncated·by·diffoscope;·len:·21,·SHA:·f9bd2c1234ea6e803878e8d666b922c99e1892ee739ce4f965298c2437e8b82c·...·]·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">smtplib</span></code></a>166 an·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/smtplib.html#smtplib.SMTPException"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">smtplib.SMTPException</span></code></a>·if·an·error·occurs.·See·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/smtplib.htm[·...·truncated·by·diffoscope;·len:·35,·SHA:·46beed6b53e7431c654fa23a64dd15c7eddc24001d3ed003ba9f861ef7b993a7·...·]·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">smtplib</span></code></a>
166 docs·for·a·list·of·possible·exceptions,·all·of·which·are·subclasses·of167 docs·for·a·list·of·possible·exceptions,·all·of·which·are·subclasses·of
167 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/smtplib.html#smtplib.SMTPException"·title="(in·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">SMTPException</span></code></a>.</p></li>168 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/smtplib.html#smtplib.SMTPException"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">SMTPException</span></code></a>.</p></li>
168 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">auth_user</span></code>:·The·optional·username·to·use·to·authenticate·to·the·SMTP169 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">auth_user</span></code>:·The·optional·username·to·use·to·authenticate·to·the·SMTP
169 server.·If·this·isn’t·provided,·Django·will·use·the·value·of·the170 server.·If·this·isn’t·provided,·Django·will·use·the·value·of·the
170 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_USER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_USER</span></code></a>·setting.</p></li>171 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_USER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_USER</span></code></a>·setting.</p></li>
171 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">auth_password</span></code>:·The·optional·password·to·use·to·authenticate·to·the172 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">auth_password</span></code>:·The·optional·password·to·use·to·authenticate·to·the
172 SMTP·server.·If·this·isn’t·provided,·Django·will·use·the·value·of·the173 SMTP·server.·If·this·isn’t·provided,·Django·will·use·the·value·of·the
173 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_PASSWORD"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_PASSWORD</span></code></a>·setting.</p></li>174 <a·class="reference·internal"·href="../ref/settings.html#std-setting-EMAIL_HOST_PASSWORD"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">EMAIL_HOST_PASSWORD</span></code></a>·setting.</p></li>
174 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">connection</span></code>:·The·optional·email·backend·to·use·to·send·the·mail.175 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">connection</span></code>:·The·optional·email·backend·to·use·to·send·the·mail.
Offset 184, 28 lines modifiedOffset 185, 28 lines modified
184 <p>The·return·value·will·be·the·number·of·successfully·delivered·messages·(which185 <p>The·return·value·will·be·the·number·of·successfully·delivered·messages·(which
185 can·be·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>·since·it·can·only·send·one·message).</p>186 can·be·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>·since·it·can·only·send·one·message).</p>
186 </section>187 </section>
187 <section·id="s-send-mass-mail">188 <section·id="s-send-mass-mail">
188 <span·id="send-mass-mail"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">send_mass_mail()</span></code><a·class="headerlink"·href="#send-mass-mail"·title="Link·to·this·heading">¶</a></h2>189 <span·id="send-mass-mail"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">send_mass_mail()</span></code><a·class="headerlink"·href="#send-mass-mail"·title="Link·to·this·heading">¶</a></h2>
189 <dl·class="py·function">190 <dl·class="py·function">
190 <dt·class="sig·sig-object·py"·id="django.core.mail.send_mass_mail">191 <dt·class="sig·sig-object·py"·id="django.core.mail.send_mass_mail">
191 <span·class="sig-name·descname"><span·class="pre">send_mass_mail</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">datatuple</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fail_silently</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">auth_user</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">auth_password</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/mail/__init__.py#L91"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.mail.send_mass_mail"·title="Link·to·this·definition">¶</a></dt>192 <span·class="sig-name·descname"><span·class="pre">send_mass_mail</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">datatuple</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fail_silently</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">auth_user</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">auth_password</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">connection</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/mail/__init__.py#L91"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.mail.send_mass_mail"·title="Link·to·this·definition">¶</a></dt>
192 <dd></dd></dl>193 <dd></dd></dl>
  
193 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.core.mail.send_mass_mail()</span></code>·is·intended·to·handle·mass·emailing.</p>194 <p><code·class="docutils·literal·notranslate"><span·class="pre">django.core.mail.send_mass_mail()</span></code>·is·intended·to·handle·mass·emailing.</p>
194 <p><code·class="docutils·literal·notranslate"><span·class="pre">datatuple</span></code>·is·a·tuple·in·which·each·element·is·in·this·format:</p>195 <p><code·class="docutils·literal·notranslate"><span·class="pre">datatuple</span></code>·is·a·tuple·in·which·each·element·is·in·this·format:</p>
195 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="p">(</span><span·class="n">subject</span><span·class="p">,</span>·<span·class="n">message</span><span·class="p">,</span>·<span·class="n">from_email</span><span·class="p">,</span>·<span·class="n">recipient_list</span><span·class="p">)</span>196 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="p">(</span><span·class="n">subject</span><span·class="p">,</span>·<span·class="n">message</span><span·class="p">,</span>·<span·class="n">from_email</span><span·class="p">,</span>·<span·class="n">recipient_list</span><span·class="p">)</span>
196 </pre></div>197 </pre></div>
197 </div>198 </div>
198 <p><code·class="docutils·literal·notranslate"><span·class="pre">fail_silently</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">auth_user</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">auth_password</span></code>·have·the·same·functions199 <p><code·class="docutils·literal·notranslate"><span·class="pre">fail_silently</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">auth_user</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">auth_password</span></code>·have·the·same·functions
199 as·in·<a·class="reference·internal"·href="#django.core.mail.send_mail"·title="django.core.mail.send_mail"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">send_mail()</span></code></a>.</p>200 as·in·<a·class="reference·internal"·href="#django.core.mail.send_mail"·title="django.core.mail.send_mail"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">send_mail()</span></code></a>.</p>
200 <p>Each·separate·element·of·<code·class="docutils·literal·notranslate"><span·class="pre">datatuple</span></code>·results·in·a·separate·email·message.201 <p>Each·separate·element·of·<code·class="docutils·literal·notranslate"><span·class="pre">datatuple</span></code>·results·in·a·separate·email·message.
201 As·in·<a·class="reference·internal"·href="#django.core.mail.send_mail"·title="django.core.mail.send_mail"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">send_mail()</span></code></a>,·recipients·in·the·same202 As·in·<a·class="reference·internal"·href="#django.core.mail.send_mail"·title="django.core.mail.send_mail"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">send_mail()</span></code></a>,·recipients·in·the·same
202 <code·class="docutils·literal·notranslate"><span·class="pre">recipient_list</span></code>·will·all·see·the·other·addresses·in·the·email·messages203 <code·class="docutils·literal·notranslate"><span·class="pre">recipient_list</span></code>·will·all·see·the·other·addresses·in·the·email·messages
203 To:·field.</p>204 To:·field.</p>
204 <p>For·example,·the·following·code·would·send·two·different·messages·to205 <p>For·example,·the·following·code·would·send·two·different·messages·to
205 two·different·sets·of·recipients;·however,·only·one·connection·to·the206 two·different·sets·of·recipients;·however,·only·one·connection·to·the
206 mail·server·would·be·opened:</p>207 mail·server·would·be·opened:</p>
207 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">message1</span>·<span·class="o">=</span>·<span·class="p">(</span>208 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">message1</span>·<span·class="o">=</span>·<span·class="p">(</span>
208 ····<span·class="s2">&quot;Subject·here&quot;</span><span·class="p">,</span>209 ····<span·class="s2">&quot;Subject·here&quot;</span><span·class="p">,</span>
209 ····<span·class="s2">&quot;Here·is·the·message&quot;</span><span·class="p">,</span>210 ····<span·class="s2">&quot;Here·is·the·message&quot;</span><span·class="p">,</span>
210 ····<span·class="s2">&quot;from@example.com&quot;</span><span·class="p">,</span>211 ····<span·class="s2">&quot;from@example.com&quot;</span><span·class="p">,</span>
Offset 231, 44 lines modifiedOffset 232, 44 lines modified
Max diff block lines reached; 43047/63131 bytes (68.19%) of diff not shown.
19.5 KB
html2text {}
Max HTML report size reached
6.51 KB
./usr/share/doc/python-django-doc/html/topics/external-packages.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>External·packages·&#8212;·Django·5.1.3·documentation</title>6 ····<title>External·packages·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Asynchronous·support"·href="async.html"·/>15 ····<link·rel="next"·title="Asynchronous·support"·href="async.html"·/>
15 ····<link·rel="prev"·title="System·check·framework"·href="checks.html"·/>16 ····<link·rel="prev"·title="System·check·framework"·href="checks.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 122, 49 lines modifiedOffset 123, 49 lines modified
122 ······123 ······
123 ········124 ········
124 ··········<div·class="yui-b"·id="sidebar">125 ··········<div·class="yui-b"·id="sidebar">
125 ············126 ············
126 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">127 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
127 ········<div·class="sphinxsidebarwrapper">128 ········<div·class="sphinxsidebarwrapper">
128 ··<div>129 ··<div>
129 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>130 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
130 ····<ul>131 ····<ul>
131 <li><a·class="reference·internal"·href="#">External·packages</a><ul>132 <li><a·class="reference·internal"·href="#">External·packages</a><ul>
132 <li><a·class="reference·internal"·href="#localflavor">Localflavor</a></li>133 <li><a·class="reference·internal"·href="#localflavor">Localflavor</a></li>
133 <li><a·class="reference·internal"·href="#comments">Comments</a></li>134 <li><a·class="reference·internal"·href="#comments">Comments</a></li>
134 <li><a·class="reference·internal"·href="#formtools">Formtools</a></li>135 <li><a·class="reference·internal"·href="#formtools">Formtools</a></li>
135 </ul>136 </ul>
136 </li>137 </li>
137 </ul>138 </ul>
  
138 ··</div>139 ··</div>
139 ··<div>140 ··<div>
140 ····<h4>Previous·topic</h4>141 ····<h4>Eelmine·teema</h4>
141 ····<p·class="topless"><a·href="checks.html"142 ····<p·class="topless"><a·href="checks.html"
142 ··························title="previous·chapter">System·check·framework</a></p>143 ··························title="eelmine·jaotis">System·check·framework</a></p>
143 ··</div>144 ··</div>
144 ··<div>145 ··<div>
145 ····<h4>Next·topic</h4>146 ····<h4>Järgmine·teema</h4>
146 ····<p·class="topless"><a·href="async.html"147 ····<p·class="topless"><a·href="async.html"
147 ··························title="next·chapter">Asynchronous·support</a></p>148 ··························title="järgmine·jaotis">Asynchronous·support</a></p>
148 ··</div>149 ··</div>
149 <search·id="searchbox"·style="display:·none"·role="search">150 <search·id="searchbox"·style="display:·none"·role="search">
150 ··<h3·id="searchlabel">Quick·search</h3>151 ··<h3·id="searchlabel">Kiirotsing</h3>
151 ····<div·class="searchformwrapper">152 ····<div·class="searchformwrapper">
152 ····<form·class="search"·action="../search.html"·method="get">153 ····<form·class="search"·action="../search.html"·method="get">
153 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>154 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
154 ······<input·type="submit"·value="Go"·/>155 ······<input·type="submit"·value="Otsi"·/>
155 ····</form>156 ····</form>
156 ····</div>157 ····</div>
157 </search>158 </search>
158 <script>document.getElementById('searchbox').style.display·=·"block"</script>159 <script>document.getElementById('searchbox').style.display·=·"block"</script>
159 ········</div>160 ········</div>
160 ······</div>161 ······</div>
161 ··············<h3>Last·update:</h3>162 ··············<h3>Last·update:</h3>
162 ··············<p·class="topless">Nov·05,·2024</p>163 ··············<p·class="topless">nov·05,·2024</p>
163 ··········</div>164 ··········</div>
164 ········165 ········
165 ······166 ······
166 ····</div>167 ····</div>
  
167 ····<div·id="ft">168 ····<div·id="ft">
168 ······<div·class="nav">169 ······<div·class="nav">
2.28 KB
html2text {}
Max HTML report size reached
14.2 KB
./usr/share/doc/python-django-doc/html/topics/files.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Managing·files·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Managing·files·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Testing·in·Django"·href="testing/index.html"·/>15 ····<link·rel="next"·title="Testing·in·Django"·href="testing/index.html"·/>
15 ····<link·rel="prev"·title="Migrations"·href="migrations.html"·/>16 ····<link·rel="prev"·title="Migrations"·href="migrations.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 77, 15 lines modifiedOffset 78, 15 lines modified
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-files">79 ··········<div·class="yui-g"·id="topics-files">
79 ············80 ············
80 ··<section·id="s-managing-files">81 ··<section·id="s-managing-files">
81 <span·id="managing-files"></span><h1>Managing·files<a·class="headerlink"·href="#managing-files"·title="Link·to·this·heading">¶</a></h1>82 <span·id="managing-files"></span><h1>Managing·files<a·class="headerlink"·href="#managing-files"·title="Link·to·this·heading">¶</a></h1>
82 <p>This·document·describes·Django’s·file·access·APIs·for·files·such·as·those83 <p>This·document·describes·Django’s·file·access·APIs·for·files·such·as·those
83 uploaded·by·a·user.·The·lower·level·APIs·are·general·enough·that·you·could·use84 uploaded·by·a·user.·The·lower·level·APIs·are·general·enough·that·you·could·use
84 them·for·other·purposes.·If·you·want·to·handle·static·files·(JS,·CSS,·etc.),85 them·for·other·purposes.·If·you·want·to·handle·static·files·(JS,·CSS,·etc.),
85 see·<a·class="reference·internal"·href="../howto/static-files/index.html"><span·class="doc">How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)</span></a>.</p>86 see·<a·class="reference·internal"·href="../howto/static-files/index.html"><span·class="doc">How·to·manage·static·files·(e.g.·images,·JavaScript,·CSS)</span></a>.</p>
86 <p>By·default,·Django·stores·files·locally,·using·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>·and87 <p>By·default,·Django·stores·files·locally,·using·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>·and
87 <a·class="reference·internal"·href="../ref/settings.html#std-setting-MEDIA_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_URL</span></code></a>·settings.·The·examples·below·assume·that·you’re·using·these88 <a·class="reference·internal"·href="../ref/settings.html#std-setting-MEDIA_URL"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_URL</span></code></a>·settings.·The·examples·below·assume·that·you’re·using·these
88 defaults.</p>89 defaults.</p>
89 <p>However,·Django·provides·ways·to·write·custom·<a·class="reference·internal"·href="#file-storage">file·storage·systems</a>·that90 <p>However,·Django·provides·ways·to·write·custom·<a·class="reference·internal"·href="#file-storage">file·storage·systems</a>·that
90 allow·you·to·completely·customize·where·and·how·Django·stores·files.·The91 allow·you·to·completely·customize·where·and·how·Django·stores·files.·The
91 second·half·of·this·document·describes·how·these·storage·systems·work.</p>92 second·half·of·this·document·describes·how·these·storage·systems·work.</p>
Offset 118, 15 lines modifiedOffset 119, 15 lines modified
118 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">car</span><span·class="o">.</span><span·class="n">photo</span><span·class="o">.</span><span·class="n">url</span>119 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">car</span><span·class="o">.</span><span·class="n">photo</span><span·class="o">.</span><span·class="n">url</span>
119 <span·class="go">&#39;https://media.example.com/cars/chevy.jpg&#39;</span>120 <span·class="go">&#39;https://media.example.com/cars/chevy.jpg&#39;</span>
120 </pre></div>121 </pre></div>
121 </div>122 </div>
122 <p>This·object··<code·class="docutils·literal·notranslate"><span·class="pre">car.photo</span></code>·in·the·example··is·a·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object,·which·means123 <p>This·object··<code·class="docutils·literal·notranslate"><span·class="pre">car.photo</span></code>·in·the·example··is·a·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object,·which·means
123 it·has·all·the·methods·and·attributes·described·below.</p>124 it·has·all·the·methods·and·attributes·described·below.</p>
124 <div·class="admonition·note">125 <div·class="admonition·note">
125 <p·class="admonition-title">Note</p>126 <p·class="admonition-title">rkus</p>
126 <p>The·file·is·saved·as·part·of·saving·the·model·in·the·database,·so·the·actual127 <p>The·file·is·saved·as·part·of·saving·the·model·in·the·database,·so·the·actual
127 file·name·used·on·disk·cannot·be·relied·on·until·after·the·model·has·been128 file·name·used·on·disk·cannot·be·relied·on·until·after·the·model·has·been
128 saved.</p>129 saved.</p>
129 </div>130 </div>
130 <p>For·example,·you·can·change·the·file·name·by·setting·the·file’s131 <p>For·example,·you·can·change·the·file·name·by·setting·the·file’s
131 <a·class="reference·internal"·href="../ref/files/file.html#django.core.files.File.name"·title="django.core.files.File.name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">name</span></code></a>·to·a·path·relative·to·the·file·storage’s132 <a·class="reference·internal"·href="../ref/files/file.html#django.core.files.File.name"·title="django.core.files.File.name"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">name</span></code></a>·to·a·path·relative·to·the·file·storage’s
132 location·(<a·class="reference·internal"·href="../ref/settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>·if·you·are·using·the·default133 location·(<a·class="reference·internal"·href="../ref/settings.html#std-setting-MEDIA_ROOT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MEDIA_ROOT</span></code></a>·if·you·are·using·the·default
Offset 153, 15 lines modifiedOffset 154, 15 lines modified
153 <span·class="gp">&gt;&gt;&gt;·</span><span·class="k">with</span>·<span·class="n">path</span><span·class="o">.</span><span·class="n">open</span><span·class="p">(</span><span·class="n">mode</span><span·class="o">=</span><span·class="s2">&quot;rb&quot;</span><span·class="p">)</span>·<span·class="k">as</span>·<span·class="n">f</span><span·class="p">:</span>154 <span·class="gp">&gt;&gt;&gt;·</span><span·class="k">with</span>·<span·class="n">path</span><span·class="o">.</span><span·class="n">open</span><span·class="p">(</span><span·class="n">mode</span><span·class="o">=</span><span·class="s2">&quot;rb&quot;</span><span·class="p">)</span>·<span·class="k">as</span>·<span·class="n">f</span><span·class="p">:</span>
154 <span·class="gp">...·</span>····<span·class="n">car</span><span·class="o">.</span><span·class="n">specs</span>·<span·class="o">=</span>·<span·class="n">File</span><span·class="p">(</span><span·class="n">f</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="n">path</span><span·class="o">.</span><span·class="n">name</span><span·class="p">)</span>155 <span·class="gp">...·</span>····<span·class="n">car</span><span·class="o">.</span><span·class="n">specs</span>·<span·class="o">=</span>·<span·class="n">File</span><span·class="p">(</span><span·class="n">f</span><span·class="p">,</span>·<span·class="n">name</span><span·class="o">=</span><span·class="n">path</span><span·class="o">.</span><span·class="n">name</span><span·class="p">)</span>
155 <span·class="gp">...·</span>····<span·class="n">car</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>156 <span·class="gp">...·</span>····<span·class="n">car</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>
156 <span·class="gp">...</span>157 <span·class="gp">...</span>
157 </pre></div>158 </pre></div>
158 </div>159 </div>
159 <div·class="admonition·note">160 <div·class="admonition·note">
160 <p·class="admonition-title">Note</p>161 <p·class="admonition-title">rkus</p>
161 <p>While·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ImageField"·title="django.db.models.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ImageField</span></code></a>·non-image·data·attributes,·such162 <p>While·<a·class="reference·internal"·href="../ref/models/fields.html#django.db.models.ImageField"·title="django.db.models.ImageField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ImageField</span></code></a>·non-image·data·attributes,·such
162 as·<code·class="docutils·literal·notranslate"><span·class="pre">height</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">width</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">size</span></code>·are·available·on·the·instance,·the163 as·<code·class="docutils·literal·notranslate"><span·class="pre">height</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">width</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">size</span></code>·are·available·on·the·instance,·the
163 underlying·image·data·cannot·be·used·without·reopening·the·image.·For164 underlying·image·data·cannot·be·used·without·reopening·the·image.·For
164 example:</p>165 example:</p>
165 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">PIL</span>·<span·class="kn">import</span>·<span·class="n">Image</span>166 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">PIL</span>·<span·class="kn">import</span>·<span·class="n">Image</span>
166 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">car</span>·<span·class="o">=</span>·<span·class="n">Car</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;57·Chevy&quot;</span><span·class="p">)</span>167 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">car</span>·<span·class="o">=</span>·<span·class="n">Car</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;57·Chevy&quot;</span><span·class="p">)</span>
167 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">car</span><span·class="o">.</span><span·class="n">photo</span><span·class="o">.</span><span·class="n">width</span>168 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">car</span><span·class="o">.</span><span·class="n">photo</span><span·class="o">.</span><span·class="n">width</span>
Offset 324, 15 lines modifiedOffset 325, 15 lines modified
324 ······325 ······
325 ········326 ········
326 ··········<div·class="yui-b"·id="sidebar">327 ··········<div·class="yui-b"·id="sidebar">
327 ············328 ············
328 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">329 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
329 ········<div·class="sphinxsidebarwrapper">330 ········<div·class="sphinxsidebarwrapper">
330 ··<div>331 ··<div>
331 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>332 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
332 ····<ul>333 ····<ul>
333 <li><a·class="reference·internal"·href="#">Managing·files</a><ul>334 <li><a·class="reference·internal"·href="#">Managing·files</a><ul>
334 <li><a·class="reference·internal"·href="#using-files-in-models">Using·files·in·models</a></li>335 <li><a·class="reference·internal"·href="#using-files-in-models">Using·files·in·models</a></li>
335 <li><a·class="reference·internal"·href="#the-file-object">The·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object</a></li>336 <li><a·class="reference·internal"·href="#the-file-object">The·<code·class="docutils·literal·notranslate"><span·class="pre">File</span></code>·object</a></li>
336 <li><a·class="reference·internal"·href="#file-storage">File·storage</a><ul>337 <li><a·class="reference·internal"·href="#file-storage">File·storage</a><ul>
337 <li><a·class="reference·internal"·href="#storage-objects">Storage·objects</a></li>338 <li><a·class="reference·internal"·href="#storage-objects">Storage·objects</a></li>
338 <li><a·class="reference·internal"·href="#the-built-in-filesystem-storage-class">The·built-in·filesystem·storage·class</a></li>339 <li><a·class="reference·internal"·href="#the-built-in-filesystem-storage-class">The·built-in·filesystem·storage·class</a></li>
Offset 341, 37 lines modifiedOffset 342, 37 lines modified
341 </li>342 </li>
342 </ul>343 </ul>
343 </li>344 </li>
344 </ul>345 </ul>
  
345 ··</div>346 ··</div>
346 ··<div>347 ··<div>
347 ····<h4>Previous·topic</h4>348 ····<h4>Eelmine·teema</h4>
348 ····<p·class="topless"><a·href="migrations.html"349 ····<p·class="topless"><a·href="migrations.html"
349 ··························title="previous·chapter">Migrations</a></p>350 ··························title="eelmine·jaotis">Migrations</a></p>
350 ··</div>351 ··</div>
351 ··<div>352 ··<div>
352 ····<h4>Next·topic</h4>353 ····<h4>Järgmine·teema</h4>
353 ····<p·class="topless"><a·href="testing/index.html"354 ····<p·class="topless"><a·href="testing/index.html"
354 ··························title="next·chapter">Testing·in·Django</a></p>355 ··························title="järgmine·jaotis">Testing·in·Django</a></p>
355 ··</div>356 ··</div>
356 <search·id="searchbox"·style="display:·none"·role="search">357 <search·id="searchbox"·style="display:·none"·role="search">
357 ··<h3·id="searchlabel">Quick·search</h3>358 ··<h3·id="searchlabel">Kiirotsing</h3>
358 ····<div·class="searchformwrapper">359 ····<div·class="searchformwrapper">
359 ····<form·class="search"·action="../search.html"·method="get">360 ····<form·class="search"·action="../search.html"·method="get">
360 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>361 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
361 ······<input·type="submit"·value="Go"·/>362 ······<input·type="submit"·value="Otsi"·/>
362 ····</form>363 ····</form>
Max diff block lines reached; 353/9993 bytes (3.53%) of diff not shown.
4.37 KB
html2text {}
Max HTML report size reached
36.2 KB
./usr/share/doc/python-django-doc/html/topics/forms/formsets.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Formsets·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Formsets·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Creating·forms·from·models"·href="modelforms.html"·/>15 ····<link·rel="next"·title="Creating·forms·from·models"·href="modelforms.html"·/>
15 ····<link·rel="prev"·title="Working·with·forms"·href="index.html"·/>16 ····<link·rel="prev"·title="Working·with·forms"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 77, 15 lines modifiedOffset 78, 15 lines modified
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-forms-formsets">79 ··········<div·class="yui-g"·id="topics-forms-formsets">
79 ············80 ············
80 ··<section·id="s-formsets">81 ··<section·id="s-formsets">
81 <span·id="formsets"></span><h1>Formsets<a·class="headerlink"·href="#formsets"·title="Link·to·this·heading">¶</a></h1>82 <span·id="formsets"></span><h1>Formsets<a·class="headerlink"·href="#formsets"·title="Link·to·this·heading">¶</a></h1>
82 <dl·class="py·class">83 <dl·class="py·class">
83 <dt·class="sig·sig-object·py"·id="django.forms.formsets.BaseFormSet">84 <dt·class="sig·sig-object·py"·id="django.forms.formsets.BaseFormSet">
84 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseFormSet</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/formsets.py#L52"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.formsets.BaseFormSet"·title="Link·to·this·definition">¶</a></dt>85 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">BaseFormSet</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/formsets.py#L52"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.formsets.BaseFormSet"·title="Link·to·this·definition">¶</a></dt>
85 <dd></dd></dl>86 <dd></dd></dl>
  
86 <p>A·formset·is·a·layer·of·abstraction·to·work·with·multiple·forms·on·the·same87 <p>A·formset·is·a·layer·of·abstraction·to·work·with·multiple·forms·on·the·same
87 page.·It·can·be·best·compared·to·a·data·grid.·Let’s·say·you·have·the·following88 page.·It·can·be·best·compared·to·a·data·grid.·Let’s·say·you·have·the·following
88 form:</p>89 form:</p>
89 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django</span>·<span·class="kn">import</span>·<span·class="n">forms</span>90 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django</span>·<span·class="kn">import</span>·<span·class="n">forms</span>
90 <span·class="gp">&gt;&gt;&gt;·</span><span·class="k">class</span>·<span·class="nc">ArticleForm</span><span·class="p">(</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">Form</span><span·class="p">):</span>91 <span·class="gp">&gt;&gt;&gt;·</span><span·class="k">class</span>·<span·class="nc">ArticleForm</span><span·class="p">(</span><span·class="n">forms</span><span·class="o">.</span><span·class="n">Form</span><span·class="p">):</span>
Offset 159, 15 lines modifiedOffset 160, 15 lines modified
159 that·was·passed·in·and·two·extra·forms.·Also·note·that·we·are·passing·in·a160 that·was·passed·in·and·two·extra·forms.·Also·note·that·we·are·passing·in·a
160 list·of·dictionaries·as·the·initial·data.</p>161 list·of·dictionaries·as·the·initial·data.</p>
161 <p>If·you·use·an·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·for·displaying·a·formset,·you·should·pass·the·same162 <p>If·you·use·an·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·for·displaying·a·formset,·you·should·pass·the·same
162 <code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·when·processing·that·formset’s·submission·so·that·the·formset·can163 <code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·when·processing·that·formset’s·submission·so·that·the·formset·can
163 detect·which·forms·were·changed·by·the·user.·For·example,·you·might·have164 detect·which·forms·were·changed·by·the·user.·For·example,·you·might·have
164 something·like:·<code·class="docutils·literal·notranslate"><span·class="pre">ArticleFormSet(request.POST,</span>·<span·class="pre">initial=[...])</span></code>.</p>165 something·like:·<code·class="docutils·literal·notranslate"><span·class="pre">ArticleFormSet(request.POST,</span>·<span·class="pre">initial=[...])</span></code>.</p>
165 <div·class="admonition·seealso">166 <div·class="admonition·seealso">
166 <p·class="admonition-title">See·also</p>167 <p·class="admonition-title">Vaata·ka</p>
167 <p><a·class="reference·internal"·href="modelforms.html#model-formsets"><span·class="std·std-ref">Creating·formsets·from·models·with·model·formsets</span></a>.</p>168 <p><a·class="reference·internal"·href="modelforms.html#model-formsets"><span·class="std·std-ref">Creating·formsets·from·models·with·model·formsets</span></a>.</p>
168 </div>169 </div>
169 </section>170 </section>
170 <section·id="s-limiting-the-maximum-number-of-forms">171 <section·id="s-limiting-the-maximum-number-of-forms">
171 <span·id="s-formsets-max-num"></span><span·id="limiting-the-maximum-number-of-forms"></span><span·id="formsets-max-num"></span><h2>Limiting·the·maximum·number·of·forms<a·class="headerlink"·href="#limiting-the-maximum-number-of-forms"·title="Link·to·this·heading">¶</a></h2>172 <span·id="s-formsets-max-num"></span><span·id="limiting-the-maximum-number-of-forms"></span><span·id="formsets-max-num"></span><h2>Limiting·the·maximum·number·of·forms<a·class="headerlink"·href="#limiting-the-maximum-number-of-forms"·title="Link·to·this·heading">¶</a></h2>
172 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">max_num</span></code>·parameter·to·<a·class="reference·internal"·href="../../ref/forms/formsets.html#django.forms.formsets.formset_factory"·title="django.forms.formsets.formset_factory"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">formset_factory()</span></code></a>173 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">max_num</span></code>·parameter·to·<a·class="reference·internal"·href="../../ref/forms/formsets.html#django.forms.formsets.formset_factory"·title="django.forms.formsets.formset_factory"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">formset_factory()</span></code></a>
173 gives·you·the·ability·to·limit·the·number·of·forms·the·formset·will·display:</p>174 gives·you·the·ability·to·limit·the·number·of·forms·the·formset·will·display:</p>
Offset 265, 15 lines modifiedOffset 266, 15 lines modified
265 the·expected·error·message·appears·for·the·second·item.</p>266 the·expected·error·message·appears·for·the·second·item.</p>
266 <p>Just·like·when·using·a·normal·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>,·each·field·in·a·formset’s·forms·may267 <p>Just·like·when·using·a·normal·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>,·each·field·in·a·formset’s·forms·may
267 include·HTML·attributes·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">maxlength</span></code>·for·browser·validation.·However,268 include·HTML·attributes·such·as·<code·class="docutils·literal·notranslate"><span·class="pre">maxlength</span></code>·for·browser·validation.·However,
268 form·fields·of·formsets·won’t·include·the·<code·class="docutils·literal·notranslate"><span·class="pre">required</span></code>·attribute·as·that269 form·fields·of·formsets·won’t·include·the·<code·class="docutils·literal·notranslate"><span·class="pre">required</span></code>·attribute·as·that
269 validation·may·be·incorrect·when·adding·and·deleting·forms.</p>270 validation·may·be·incorrect·when·adding·and·deleting·forms.</p>
270 <dl·class="py·method">271 <dl·class="py·method">
271 <dt·class="sig·sig-object·py"·id="django.forms.formsets.BaseFormSet.total_error_count">272 <dt·class="sig·sig-object·py"·id="django.forms.formsets.BaseFormSet.total_error_count">
272 <span·class="sig-prename·descclassname"><span·class="pre">BaseFormSet.</span></span><span·class="sig-name·descname"><span·class="pre">total_error_count</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/formsets.py#L369"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.formsets.BaseFormSet.total_error_count"·title="Link·to·this·definition">¶</a></dt>273 <span·class="sig-prename·descclassname"><span·class="pre">BaseFormSet.</span></span><span·class="sig-name·descname"><span·class="pre">total_error_count</span></span>()<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/formsets.py#L369"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.formsets.BaseFormSet.total_error_count"·title="Link·to·this·definition">¶</a></dt>
273 <dd></dd></dl>274 <dd></dd></dl>
  
274 <p>To·check·how·many·errors·there·are·in·the·formset,·we·can·use·the275 <p>To·check·how·many·errors·there·are·in·the·formset,·we·can·use·the
275 <code·class="docutils·literal·notranslate"><span·class="pre">total_error_count</span></code>·method:</p>276 <code·class="docutils·literal·notranslate"><span·class="pre">total_error_count</span></code>·method:</p>
276 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·Using·the·previous·example</span>277 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="c1">#·Using·the·previous·example</span>
277 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">formset</span><span·class="o">.</span><span·class="n">errors</span>278 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">formset</span><span·class="o">.</span><span·class="n">errors</span>
278 <span·class="go">[{},·{&#39;pub_date&#39;:·[&#39;This·field·is·required.&#39;]}]</span>279 <span·class="go">[{},·{&#39;pub_date&#39;:·[&#39;This·field·is·required.&#39;]}]</span>
Offset 319, 15 lines modifiedOffset 320, 15 lines modified
319 are·properly·marked·for·deletion·by·including·<code·class="docutils·literal·notranslate"><span·class="pre">form-#-DELETE</span></code>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>320 are·properly·marked·for·deletion·by·including·<code·class="docutils·literal·notranslate"><span·class="pre">form-#-DELETE</span></code>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>
320 data.·It·is·expected·that·all·forms·are·present·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·data·regardless.</p>321 data.·It·is·expected·that·all·forms·are·present·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·data·regardless.</p>
321 <p>The·management·form·is·available·as·an·attribute·of·the·formset322 <p>The·management·form·is·available·as·an·attribute·of·the·formset
322 itself.·When·rendering·a·formset·in·a·template,·you·can·include·all323 itself.·When·rendering·a·formset·in·a·template,·you·can·include·all
323 the·management·data·by·rendering·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">my_formset.management_form</span>·<span·class="pre">}}</span></code>324 the·management·data·by·rendering·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>·<span·class="pre">my_formset.management_form</span>·<span·class="pre">}}</span></code>
324 (substituting·the·name·of·your·formset·as·appropriate).</p>325 (substituting·the·name·of·your·formset·as·appropriate).</p>
325 <div·class="admonition·note">326 <div·class="admonition·note">
326 <p·class="admonition-title">Note</p>327 <p·class="admonition-title">rkus</p>
327 <p>As·well·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">form-TOTAL_FORMS</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">form-INITIAL_FORMS</span></code>·fields·shown328 <p>As·well·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">form-TOTAL_FORMS</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">form-INITIAL_FORMS</span></code>·fields·shown
328 in·the·examples·here,·the·management·form·also·includes329 in·the·examples·here,·the·management·form·also·includes
329 <code·class="docutils·literal·notranslate"><span·class="pre">form-MIN_NUM_FORMS</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">form-MAX_NUM_FORMS</span></code>·fields.·They·are·output330 <code·class="docutils·literal·notranslate"><span·class="pre">form-MIN_NUM_FORMS</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">form-MAX_NUM_FORMS</span></code>·fields.·They·are·output
330 with·the·rest·of·the·management·form,·but·only·for·the·convenience·of331 with·the·rest·of·the·management·form,·but·only·for·the·convenience·of
331 client-side·code.·These·fields·are·not·required·and·so·are·not·shown·in332 client-side·code.·These·fields·are·not·required·and·so·are·not·shown·in
332 the·example·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·data.</p>333 the·example·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·data.</p>
333 </div>334 </div>
Offset 466, 15 lines modifiedOffset 467, 15 lines modified
466 </div>467 </div>
467 <p><code·class="docutils·literal·notranslate"><span·class="pre">validate_max=True</span></code>·validates·against·<code·class="docutils·literal·notranslate"><span·class="pre">max_num</span></code>·strictly·even·if468 <p><code·class="docutils·literal·notranslate"><span·class="pre">validate_max=True</span></code>·validates·against·<code·class="docutils·literal·notranslate"><span·class="pre">max_num</span></code>·strictly·even·if
468 <code·class="docutils·literal·notranslate"><span·class="pre">max_num</span></code>·was·exceeded·because·the·amount·of·initial·data·supplied·was469 <code·class="docutils·literal·notranslate"><span·class="pre">max_num</span></code>·was·exceeded·because·the·amount·of·initial·data·supplied·was
469 excessive.</p>470 excessive.</p>
470 <p>The·error·message·can·be·customized·by·passing·the·<code·class="docutils·literal·notranslate"><span·class="pre">'too_many_forms'</span></code>·message471 <p>The·error·message·can·be·customized·by·passing·the·<code·class="docutils·literal·notranslate"><span·class="pre">'too_many_forms'</span></code>·message
471 to·the·<a·class="reference·internal"·href="#formsets-error-messages"><span·class="std·std-ref">error_messages</span></a>·argument.</p>472 to·the·<a·class="reference·internal"·href="#formsets-error-messages"><span·class="std·std-ref">error_messages</span></a>·argument.</p>
472 <div·class="admonition·note">473 <div·class="admonition·note">
473 <p·class="admonition-title">Note</p>474 <p·class="admonition-title">rkus</p>
474 <p>Regardless·of·<code·class="docutils·literal·notranslate"><span·class="pre">validate_max</span></code>,·if·the·number·of·forms·in·a·data·set475 <p>Regardless·of·<code·class="docutils·literal·notranslate"><span·class="pre">validate_max</span></code>,·if·the·number·of·forms·in·a·data·set
475 exceeds·<code·class="docutils·literal·notranslate"><span·class="pre">absolute_max</span></code>,·then·the·form·will·fail·to·validate·as·if476 exceeds·<code·class="docutils·literal·notranslate"><span·class="pre">absolute_max</span></code>,·then·the·form·will·fail·to·validate·as·if
476 <code·class="docutils·literal·notranslate"><span·class="pre">validate_max</span></code>·were·set,·and·additionally·only·the·first·<code·class="docutils·literal·notranslate"><span·class="pre">absolute_max</span></code>477 <code·class="docutils·literal·notranslate"><span·class="pre">validate_max</span></code>·were·set,·and·additionally·only·the·first·<code·class="docutils·literal·notranslate"><span·class="pre">absolute_max</span></code>
477 forms·will·be·validated.·The·remainder·will·be·truncated·entirely.·This·is478 forms·will·be·validated.·The·remainder·will·be·truncated·entirely.·This·is
478 to·protect·against·memory·exhaustion·attacks·using·forged·POST·requests.479 to·protect·against·memory·exhaustion·attacks·using·forged·POST·requests.
479 See·<a·class="reference·internal"·href="#formsets-absolute-max"><span·class="std·std-ref">Limiting·the·maximum·number·of·instantiated·forms</span></a>.</p>480 See·<a·class="reference·internal"·href="#formsets-absolute-max"><span·class="std·std-ref">Limiting·the·maximum·number·of·instantiated·forms</span></a>.</p>
480 </div>481 </div>
Offset 504, 15 lines modifiedOffset 505, 15 lines modified
504 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">formset</span><span·class="o">.</span><span·class="n">non_form_errors</span><span·class="p">()</span>505 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">formset</span><span·class="o">.</span><span·class="n">non_form_errors</span><span·class="p">()</span>
505 <span·class="go">[&#39;Please·submit·at·least·3·forms.&#39;]</span>506 <span·class="go">[&#39;Please·submit·at·least·3·forms.&#39;]</span>
506 </pre></div>507 </pre></div>
507 </div>508 </div>
508 <p>The·error·message·can·be·customized·by·passing·the·<code·class="docutils·literal·notranslate"><span·class="pre">'too_few_forms'</span></code>·message509 <p>The·error·message·can·be·customized·by·passing·the·<code·class="docutils·literal·notranslate"><span·class="pre">'too_few_forms'</span></code>·message
509 to·the·<a·class="reference·internal"·href="#formsets-error-messages"><span·class="std·std-ref">error_messages</span></a>·argument.</p>510 to·the·<a·class="reference·internal"·href="#formsets-error-messages"><span·class="std·std-ref">error_messages</span></a>·argument.</p>
510 <div·class="admonition·note">511 <div·class="admonition·note">
Max diff block lines reached; 12050/24243 bytes (49.71%) of diff not shown.
12.4 KB
html2text {}
Max HTML report size reached
35.7 KB
./usr/share/doc/python-django-doc/html/topics/forms/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Working·with·forms·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Working·with·forms·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Formsets"·href="formsets.html"·/>15 ····<link·rel="next"·title="Formsets"·href="formsets.html"·/>
15 ····<link·rel="prev"·title="How·to·use·sessions"·href="../http/sessions.html"·/>16 ····<link·rel="prev"·title="How·to·use·sessions"·href="../http/sessions.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 107, 15 lines modifiedOffset 108, 15 lines modified
107 <li><p><em>where</em>:·the·URL·to·which·the·data·corresponding·to·the·user’s·input·should108 <li><p><em>where</em>:·the·URL·to·which·the·data·corresponding·to·the·user’s·input·should
108 be·returned</p></li>109 be·returned</p></li>
109 <li><p><em>how</em>:·the·HTTP·method·the·data·should·be·returned·by</p></li>110 <li><p><em>how</em>:·the·HTTP·method·the·data·should·be·returned·by</p></li>
110 </ul>111 </ul>
111 <p>As·an·example,·the·login·form·for·the·Django·admin·contains·several112 <p>As·an·example,·the·login·form·for·the·Django·admin·contains·several
112 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;input&gt;</span></code>·elements:·one·of·<code·class="docutils·literal·notranslate"><span·class="pre">type=&quot;text&quot;</span></code>·for·the·username,·one·of113 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;input&gt;</span></code>·elements:·one·of·<code·class="docutils·literal·notranslate"><span·class="pre">type=&quot;text&quot;</span></code>·for·the·username,·one·of
113 <code·class="docutils·literal·notranslate"><span·class="pre">type=&quot;password&quot;</span></code>·for·the·password,·and·one·of·<code·class="docutils·literal·notranslate"><span·class="pre">type=&quot;submit&quot;</span></code>·for·the114 <code·class="docutils·literal·notranslate"><span·class="pre">type=&quot;password&quot;</span></code>·for·the·password,·and·one·of·<code·class="docutils·literal·notranslate"><span·class="pre">type=&quot;submit&quot;</span></code>·for·the
114 Log·in·button.·It·also·contains·some·hidden·text·fields·that·the·user115 Log·in·button.·It·also·contains·some·hidden·text·fields·that·the·user
115 doesn’t·see,·which·Django·uses·to·determine·what·to·do·next.</p>116 doesn’t·see,·which·Django·uses·to·determine·what·to·do·next.</p>
116 <p>It·also·tells·the·browser·that·the·form·data·should·be·sent·to·the·URL117 <p>It·also·tells·the·browser·that·the·form·data·should·be·sent·to·the·URL
117 specified·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;form&gt;</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">action</span></code>·attribute·-·<code·class="docutils·literal·notranslate"><span·class="pre">/admin/</span></code>·-·and·that·it118 specified·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;form&gt;</span></code>’s·<code·class="docutils·literal·notranslate"><span·class="pre">action</span></code>·attribute·-·<code·class="docutils·literal·notranslate"><span·class="pre">/admin/</span></code>·-·and·that·it
118 should·be·sent·using·the·HTTP·mechanism·specified·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">method</span></code>·attribute·-119 should·be·sent·using·the·HTTP·mechanism·specified·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">method</span></code>·attribute·-
119 <code·class="docutils·literal·notranslate"><span·class="pre">post</span></code>.</p>120 <code·class="docutils·literal·notranslate"><span·class="pre">post</span></code>.</p>
120 <p>When·the·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;input</span>·<span·class="pre">type=&quot;submit&quot;</span>·<span·class="pre">value=&quot;Log</span>·<span·class="pre">in&quot;&gt;</span></code>·element·is·triggered,·the121 <p>When·the·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;input</span>·<span·class="pre">type=&quot;submit&quot;</span>·<span·class="pre">value=&quot;Log</span>·<span·class="pre">in&quot;&gt;</span></code>·element·is·triggered,·the
121 data·is·returned·to·<code·class="docutils·literal·notranslate"><span·class="pre">/admin/</span></code>.</p>122 data·is·returned·to·<code·class="docutils·literal·notranslate"><span·class="pre">/admin/</span></code>.</p>
Offset 165, 15 lines modifiedOffset 166, 15 lines modified
165 <p>It·is·<em>possible</em>·to·write·code·that·does·all·of·this·manually,·but·Django·can166 <p>It·is·<em>possible</em>·to·write·code·that·does·all·of·this·manually,·but·Django·can
166 take·care·of·it·all·for·you.</p>167 take·care·of·it·all·for·you.</p>
167 </section>168 </section>
168 <section·id="s-forms-in-django">169 <section·id="s-forms-in-django">
169 <span·id="forms-in-django"></span><h2>Forms·in·Django<a·class="headerlink"·href="#forms-in-django"·title="Link·to·this·heading">¶</a></h2>170 <span·id="forms-in-django"></span><h2>Forms·in·Django<a·class="headerlink"·href="#forms-in-django"·title="Link·to·this·heading">¶</a></h2>
170 <p>We’ve·described·HTML·forms·briefly,·but·an·HTML·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;form&gt;</span></code>·is·just·one·part·of171 <p>We’ve·described·HTML·forms·briefly,·but·an·HTML·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;form&gt;</span></code>·is·just·one·part·of
171 the·machinery·required.</p>172 the·machinery·required.</p>
172 <p>In·the·context·of·a·web·application,·form·might·refer·to·that·HTML173 <p>In·the·context·of·a·web·application,·form·might·refer·to·that·HTML
173 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;form&gt;</span></code>,·or·to·the·Django·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·that·produces·it,·or·to·the174 <code·class="docutils·literal·notranslate"><span·class="pre">&lt;form&gt;</span></code>,·or·to·the·Django·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·that·produces·it,·or·to·the
174 structured·data·returned·when·it·is·submitted,·or·to·the·end-to-end·working175 structured·data·returned·when·it·is·submitted,·or·to·the·end-to-end·working
175 collection·of·these·parts.</p>176 collection·of·these·parts.</p>
176 <section·id="s-the-django-form-class">177 <section·id="s-the-django-form-class">
177 <span·id="the-django-form-class"></span><h3>The·Django·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·class<a·class="headerlink"·href="#the-django-form-class"·title="Link·to·this·heading">¶</a></h3>178 <span·id="the-django-form-class"></span><h3>The·Django·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·class<a·class="headerlink"·href="#the-django-form-class"·title="Link·to·this·heading">¶</a></h3>
178 <p>At·the·heart·of·this·system·of·components·is·Django’s·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·class.·In179 <p>At·the·heart·of·this·system·of·components·is·Django’s·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>·class.·In
179 much·the·same·way·that·a·Django·model·describes·the·logical·structure·of·an180 much·the·same·way·that·a·Django·model·describes·the·logical·structure·of·an
Offset 183, 15 lines modifiedOffset 184, 15 lines modified
183 class’s·fields·map·to·HTML·form·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;input&gt;</span></code>·elements.·(A·<a·class="reference·internal"·href="modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>184 class’s·fields·map·to·HTML·form·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;input&gt;</span></code>·elements.·(A·<a·class="reference·internal"·href="modelforms.html#django.forms.ModelForm"·title="django.forms.ModelForm"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ModelForm</span></code></a>
184 maps·a·model·class’s·fields·to·HTML·form·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;input&gt;</span></code>·elements·via·a185 maps·a·model·class’s·fields·to·HTML·form·<code·class="docutils·literal·notranslate"><span·class="pre">&lt;input&gt;</span></code>·elements·via·a
185 <a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>;·this·is·what·the·Django·admin·is·based·upon.)</p>186 <a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form"·title="django.forms.Form"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Form</span></code></a>;·this·is·what·the·Django·admin·is·based·upon.)</p>
186 <p>A·form’s·fields·are·themselves·classes;·they·manage·form·data·and·perform187 <p>A·form’s·fields·are·themselves·classes;·they·manage·form·data·and·perform
187 validation·when·a·form·is·submitted.·A·<a·class="reference·internal"·href="../../ref/forms/fields.html#django.forms.DateField"·title="django.forms.DateField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DateField</span></code></a>·and·a188 validation·when·a·form·is·submitted.·A·<a·class="reference·internal"·href="../../ref/forms/fields.html#django.forms.DateField"·title="django.forms.DateField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">DateField</span></code></a>·and·a
188 <a·class="reference·internal"·href="../../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>·handle·very·different·kinds·of·data·and·have·to·do189 <a·class="reference·internal"·href="../../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>·handle·very·different·kinds·of·data·and·have·to·do
189 different·things·with·it.</p>190 different·things·with·it.</p>
190 <p>A·form·field·is·represented·to·a·user·in·the·browser·as·an·HTML·widget·-·a191 <p>A·form·field·is·represented·to·a·user·in·the·browser·as·an·HTML·widget·-·a
191 piece·of·user·interface·machinery.·Each·field·type·has·an·appropriate·default192 piece·of·user·interface·machinery.·Each·field·type·has·an·appropriate·default
192 <a·class="reference·internal"·href="../../ref/forms/widgets.html"><span·class="doc">Widget·class</span></a>,·but·these·can·be·overridden·as193 <a·class="reference·internal"·href="../../ref/forms/widgets.html"><span·class="doc">Widget·class</span></a>,·but·these·can·be·overridden·as
193 required.</p>194 required.</p>
194 </section>195 </section>
195 <section·id="s-instantiating-processing-and-rendering-forms">196 <section·id="s-instantiating-processing-and-rendering-forms">
196 <span·id="instantiating-processing-and-rendering-forms"></span><h3>Instantiating,·processing,·and·rendering·forms<a·class="headerlink"·href="#instantiating-processing-and-rendering-forms"·title="Link·to·this·heading">¶</a></h3>197 <span·id="instantiating-processing-and-rendering-forms"></span><h3>Instantiating,·processing,·and·rendering·forms<a·class="headerlink"·href="#instantiating-processing-and-rendering-forms"·title="Link·to·this·heading">¶</a></h3>
197 <p>When·rendering·an·object·in·Django,·we·generally:</p>198 <p>When·rendering·an·object·in·Django,·we·generally:</p>
Offset 231, 16 lines modifiedOffset 232, 16 lines modified
231 ····<span·class="p">&lt;</span><span·class="nt">label</span>·<span·class="na">for</span><span·class="o">=</span><span·class="s">&quot;your_name&quot;</span><span·class="p">&gt;</span>Your·name:·<span·class="p">&lt;/</span><span·class="nt">label</span><span·class="p">&gt;</span>232 ····<span·class="p">&lt;</span><span·class="nt">label</span>·<span·class="na">for</span><span·class="o">=</span><span·class="s">&quot;your_name&quot;</span><span·class="p">&gt;</span>Your·name:·<span·class="p">&lt;/</span><span·class="nt">label</span><span·class="p">&gt;</span>
232 ····<span·class="p">&lt;</span><span·class="nt">input</span>·<span·class="na">id</span><span·class="o">=</span><span·class="s">&quot;your_name&quot;</span>·<span·class="na">type</span><span·class="o">=</span><span·class="s">&quot;text&quot;</span>·<span·class="na">name</span><span·class="o">=</span><span·class="s">&quot;your_name&quot;</span>·<span·class="na">value</span><span·class="o">=</span><span·class="s">&quot;</span><span·class="cp">{{</span>·<span·class="nv">current_name</span>·<span·class="cp">}}</span><span·class="s">&quot;</span><span·class="p">&gt;</span>233 ····<span·class="p">&lt;</span><span·class="nt">input</span>·<span·class="na">id</span><span·class="o">=</span><span·class="s">&quot;your_name&quot;</span>·<span·class="na">type</span><span·class="o">=</span><span·class="s">&quot;text&quot;</span>·<span·class="na">name</span><span·class="o">=</span><span·class="s">&quot;your_name&quot;</span>·<span·class="na">value</span><span·class="o">=</span><span·class="s">&quot;</span><span·class="cp">{{</span>·<span·class="nv">current_name</span>·<span·class="cp">}}</span><span·class="s">&quot;</span><span·class="p">&gt;</span>
233 ····<span·class="p">&lt;</span><span·class="nt">input</span>·<span·class="na">type</span><span·class="o">=</span><span·class="s">&quot;submit&quot;</span>·<span·class="na">value</span><span·class="o">=</span><span·class="s">&quot;OK&quot;</span><span·class="p">&gt;</span>234 ····<span·class="p">&lt;</span><span·class="nt">input</span>·<span·class="na">type</span><span·class="o">=</span><span·class="s">&quot;submit&quot;</span>·<span·class="na">value</span><span·class="o">=</span><span·class="s">&quot;OK&quot;</span><span·class="p">&gt;</span>
234 <span·class="p">&lt;/</span><span·class="nt">form</span><span·class="p">&gt;</span>235 <span·class="p">&lt;/</span><span·class="nt">form</span><span·class="p">&gt;</span>
235 </pre></div>236 </pre></div>
236 </div>237 </div>
237 <p>This·tells·the·browser·to·return·the·form·data·to·the·URL·<code·class="docutils·literal·notranslate"><span·class="pre">/your-name/</span></code>,·using238 <p>This·tells·the·browser·to·return·the·form·data·to·the·URL·<code·class="docutils·literal·notranslate"><span·class="pre">/your-name/</span></code>,·using
238 the·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·method.·It·will·display·a·text·field,·labeled·Your·name:,·and·a239 the·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·method.·It·will·display·a·text·field,·labeled·Your·name:,·and·a
239 button·marked·OK.·If·the·template·context·contains·a·<code·class="docutils·literal·notranslate"><span·class="pre">current_name</span></code>240 button·marked·OK.·If·the·template·context·contains·a·<code·class="docutils·literal·notranslate"><span·class="pre">current_name</span></code>
240 variable,·that·will·be·used·to·pre-fill·the·<code·class="docutils·literal·notranslate"><span·class="pre">your_name</span></code>·field.</p>241 variable,·that·will·be·used·to·pre-fill·the·<code·class="docutils·literal·notranslate"><span·class="pre">your_name</span></code>·field.</p>
241 <p>You’ll·need·a·view·that·renders·the·template·containing·the·HTML·form,·and242 <p>You’ll·need·a·view·that·renders·the·template·containing·the·HTML·form,·and
242 that·can·supply·the·<code·class="docutils·literal·notranslate"><span·class="pre">current_name</span></code>·field·as·appropriate.</p>243 that·can·supply·the·<code·class="docutils·literal·notranslate"><span·class="pre">current_name</span></code>·field·as·appropriate.</p>
243 <p>When·the·form·is·submitted,·the·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·request·which·is·sent·to·the·server244 <p>When·the·form·is·submitted,·the·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·request·which·is·sent·to·the·server
244 will·contain·the·form·data.</p>245 will·contain·the·form·data.</p>
245 <p>Now·you’ll·also·need·a·view·corresponding·to·that·<code·class="docutils·literal·notranslate"><span·class="pre">/your-name/</span></code>·URL·which·will246 <p>Now·you’ll·also·need·a·view·corresponding·to·that·<code·class="docutils·literal·notranslate"><span·class="pre">/your-name/</span></code>·URL·which·will
246 find·the·appropriate·key/value·pairs·in·the·request,·and·then·process·them.</p>247 find·the·appropriate·key/value·pairs·in·the·request,·and·then·process·them.</p>
Offset 331, 15 lines modifiedOffset 332, 15 lines modified
331 </div>332 </div>
332 </div>333 </div>
333 <p>If·we·arrive·at·this·view·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·request,·it·will·create·an·empty·form334 <p>If·we·arrive·at·this·view·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>·request,·it·will·create·an·empty·form
334 instance·and·place·it·in·the·template·context·to·be·rendered.·This·is·what·we335 instance·and·place·it·in·the·template·context·to·be·rendered.·This·is·what·we
335 can·expect·to·happen·the·first·time·we·visit·the·URL.</p>336 can·expect·to·happen·the·first·time·we·visit·the·URL.</p>
336 <p>If·the·form·is·submitted·using·a·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·request,·the·view·will·once·again337 <p>If·the·form·is·submitted·using·a·<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>·request,·the·view·will·once·again
337 create·a·form·instance·and·populate·it·with·data·from·the·request:·<code·class="docutils·literal·notranslate"><span·class="pre">form</span>·<span·class="pre">=</span>338 create·a·form·instance·and·populate·it·with·data·from·the·request:·<code·class="docutils·literal·notranslate"><span·class="pre">form</span>·<span·class="pre">=</span>
338 <span·class="pre">NameForm(request.POST)</span></code>·This·is·called·binding·data·to·the·form·(it·is·now339 <span·class="pre">NameForm(request.POST)</span></code>·This·is·called·binding·data·to·the·form·(it·is·now
339 a·<em>bound</em>·form).</p>340 a·<em>bound</em>·form).</p>
340 <p>We·call·the·form’s·<code·class="docutils·literal·notranslate"><span·class="pre">is_valid()</span></code>·method;·if·it’s·not·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·we·go·back·to341 <p>We·call·the·form’s·<code·class="docutils·literal·notranslate"><span·class="pre">is_valid()</span></code>·method;·if·it’s·not·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·we·go·back·to
341 the·template·with·the·form.·This·time·the·form·is·no·longer·empty·(<em>unbound</em>)342 the·template·with·the·form.·This·time·the·form·is·no·longer·empty·(<em>unbound</em>)
342 so·the·HTML·form·will·be·populated·with·the·data·previously·submitted,·where·it343 so·the·HTML·form·will·be·populated·with·the·data·previously·submitted,·where·it
343 can·be·edited·and·corrected·as·required.</p>344 can·be·edited·and·corrected·as·required.</p>
344 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">is_valid()</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·we’ll·now·be·able·to·find·all·the·validated·form345 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">is_valid()</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·we’ll·now·be·able·to·find·all·the·validated·form
345 data·in·its·<code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>·attribute.·We·can·use·this·data·to·update·the346 data·in·its·<code·class="docutils·literal·notranslate"><span·class="pre">cleaned_data</span></code>·attribute.·We·can·use·this·data·to·update·the
Offset 412, 15 lines modifiedOffset 413, 15 lines modified
412 </ul>413 </ul>
413 <p>The·form’s·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form.is_bound"·title="django.forms.Form.is_bound"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_bound</span></code></a>·attribute·will·tell·you·whether·a·form·has414 <p>The·form’s·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form.is_bound"·title="django.forms.Form.is_bound"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">is_bound</span></code></a>·attribute·will·tell·you·whether·a·form·has
414 data·bound·to·it·or·not.</p>415 data·bound·to·it·or·not.</p>
415 </section>416 </section>
416 <section·id="s-more-on-fields">417 <section·id="s-more-on-fields">
417 <span·id="more-on-fields"></span><h3>More·on·fields<a·class="headerlink"·href="#more-on-fields"·title="Link·to·this·heading">¶</a></h3>418 <span·id="more-on-fields"></span><h3>More·on·fields<a·class="headerlink"·href="#more-on-fields"·title="Link·to·this·heading">¶</a></h3>
Max diff block lines reached; 9867/23132 bytes (42.66%) of diff not shown.
13.0 KB
html2text {}
Max HTML report size reached
10.8 KB
./usr/share/doc/python-django-doc/html/topics/forms/media.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Form·Assets·(the·Media·class)·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Form·Assets·(the·Media·class)·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Templates"·href="../templates.html"·/>15 ····<link·rel="next"·title="Templates"·href="../templates.html"·/>
15 ····<link·rel="prev"·title="Creating·forms·from·models"·href="modelforms.html"·/>16 ····<link·rel="prev"·title="Creating·forms·from·models"·href="modelforms.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 150, 16 lines modifiedOffset 151, 16 lines modified
150 <span·id="css"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">css</span></code><a·class="headerlink"·href="#css"·title="Link·to·this·heading">¶</a></h3>151 <span·id="css"></span><h3><code·class="docutils·literal·notranslate"><span·class="pre">css</span></code><a·class="headerlink"·href="#css"·title="Link·to·this·heading">¶</a></h3>
151 <p>A·dictionary·describing·the·CSS·files·required·for·various·forms·of·output152 <p>A·dictionary·describing·the·CSS·files·required·for·various·forms·of·output
152 media.</p>153 media.</p>
153 <p>The·values·in·the·dictionary·should·be·a·tuple/list·of·file·names.·See154 <p>The·values·in·the·dictionary·should·be·a·tuple/list·of·file·names.·See
154 <a·class="reference·internal"·href="#form-asset-paths"><span·class="std·std-ref">the·section·on·paths</span></a>·for·details·of·how·to155 <a·class="reference·internal"·href="#form-asset-paths"><span·class="std·std-ref">the·section·on·paths</span></a>·for·details·of·how·to
155 specify·paths·to·these·files.</p>156 specify·paths·to·these·files.</p>
156 <p>The·keys·in·the·dictionary·are·the·output·media·types.·These·are·the·same157 <p>The·keys·in·the·dictionary·are·the·output·media·types.·These·are·the·same
157 types·accepted·by·CSS·files·in·media·declarations:·all,·aural,·braille,158 types·accepted·by·CSS·files·in·media·declarations:·all,·aural,·braille,
158 embossed,·handheld,·print,·projection,·screen,·tty·and·tv.·If159 embossed,·handheld,·print,·projection,·screen,·tty·and·tv.·If
159 you·need·to·have·different·stylesheets·for·different·media·types,·provide160 you·need·to·have·different·stylesheets·for·different·media·types,·provide
160 a·list·of·CSS·files·for·each·output·medium.·The·following·example·would161 a·list·of·CSS·files·for·each·output·medium.·The·following·example·would
161 provide·two·CSS·options··one·for·the·screen,·and·one·for·print:</p>162 provide·two·CSS·options··one·for·the·screen,·and·one·for·print:</p>
162 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">Media</span><span·class="p">:</span>163 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">class</span>·<span·class="nc">Media</span><span·class="p">:</span>
163 ····<span·class="n">css</span>·<span·class="o">=</span>·<span·class="p">{</span>164 ····<span·class="n">css</span>·<span·class="o">=</span>·<span·class="p">{</span>
164 ········<span·class="s2">&quot;screen&quot;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s2">&quot;pretty.css&quot;</span><span·class="p">],</span>165 ········<span·class="s2">&quot;screen&quot;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s2">&quot;pretty.css&quot;</span><span·class="p">],</span>
165 ········<span·class="s2">&quot;print&quot;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s2">&quot;newspaper.css&quot;</span><span·class="p">],</span>166 ········<span·class="s2">&quot;print&quot;</span><span·class="p">:</span>·<span·class="p">[</span><span·class="s2">&quot;newspaper.css&quot;</span><span·class="p">],</span>
Offset 473, 15 lines modifiedOffset 474, 15 lines modified
473 ······474 ······
474 ········475 ········
475 ··········<div·class="yui-b"·id="sidebar">476 ··········<div·class="yui-b"·id="sidebar">
476 ············477 ············
477 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">478 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
478 ········<div·class="sphinxsidebarwrapper">479 ········<div·class="sphinxsidebarwrapper">
479 ··<div>480 ··<div>
480 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>481 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
481 ····<ul>482 ····<ul>
482 <li><a·class="reference·internal"·href="#">Form·Assets·(the·<code·class="docutils·literal·notranslate"><span·class="pre">Media</span></code>·class)</a><ul>483 <li><a·class="reference·internal"·href="#">Form·Assets·(the·<code·class="docutils·literal·notranslate"><span·class="pre">Media</span></code>·class)</a><ul>
483 <li><a·class="reference·internal"·href="#assets-as-a-static-definition">Assets·as·a·static·definition</a><ul>484 <li><a·class="reference·internal"·href="#assets-as-a-static-definition">Assets·as·a·static·definition</a><ul>
484 <li><a·class="reference·internal"·href="#css"><code·class="docutils·literal·notranslate"><span·class="pre">css</span></code></a></li>485 <li><a·class="reference·internal"·href="#css"><code·class="docutils·literal·notranslate"><span·class="pre">css</span></code></a></li>
485 <li><a·class="reference·internal"·href="#js"><code·class="docutils·literal·notranslate"><span·class="pre">js</span></code></a></li>486 <li><a·class="reference·internal"·href="#js"><code·class="docutils·literal·notranslate"><span·class="pre">js</span></code></a></li>
486 <li><a·class="reference·internal"·href="#extend"><code·class="docutils·literal·notranslate"><span·class="pre">extend</span></code></a></li>487 <li><a·class="reference·internal"·href="#extend"><code·class="docutils·literal·notranslate"><span·class="pre">extend</span></code></a></li>
487 </ul>488 </ul>
Offset 501, 37 lines modifiedOffset 502, 37 lines modified
501 <li><a·class="reference·internal"·href="#media-on-forms"><code·class="docutils·literal·notranslate"><span·class="pre">Media</span></code>·on·Forms</a></li>502 <li><a·class="reference·internal"·href="#media-on-forms"><code·class="docutils·literal·notranslate"><span·class="pre">Media</span></code>·on·Forms</a></li>
502 </ul>503 </ul>
503 </li>504 </li>
504 </ul>505 </ul>
  
505 ··</div>506 ··</div>
506 ··<div>507 ··<div>
507 ····<h4>Previous·topic</h4>508 ····<h4>Eelmine·teema</h4>
508 ····<p·class="topless"><a·href="modelforms.html"509 ····<p·class="topless"><a·href="modelforms.html"
509 ··························title="previous·chapter">Creating·forms·from·models</a></p>510 ··························title="eelmine·jaotis">Creating·forms·from·models</a></p>
510 ··</div>511 ··</div>
511 ··<div>512 ··<div>
512 ····<h4>Next·topic</h4>513 ····<h4>Järgmine·teema</h4>
513 ····<p·class="topless"><a·href="../templates.html"514 ····<p·class="topless"><a·href="../templates.html"
514 ··························title="next·chapter">Templates</a></p>515 ··························title="järgmine·jaotis">Templates</a></p>
515 ··</div>516 ··</div>
516 <search·id="searchbox"·style="display:·none"·role="search">517 <search·id="searchbox"·style="display:·none"·role="search">
517 ··<h3·id="searchlabel">Quick·search</h3>518 ··<h3·id="searchlabel">Kiirotsing</h3>
518 ····<div·class="searchformwrapper">519 ····<div·class="searchformwrapper">
519 ····<form·class="search"·action="../../search.html"·method="get">520 ····<form·class="search"·action="../../search.html"·method="get">
520 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>521 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
521 ······<input·type="submit"·value="Go"·/>522 ······<input·type="submit"·value="Otsi"·/>
522 ····</form>523 ····</form>
523 ····</div>524 ····</div>
524 </search>525 </search>
525 <script>document.getElementById('searchbox').style.display·=·"block"</script>526 <script>document.getElementById('searchbox').style.display·=·"block"</script>
526 ········</div>527 ········</div>
527 ······</div>528 ······</div>
528 ··············<h3>Last·update:</h3>529 ··············<h3>Last·update:</h3>
529 ··············<p·class="topless">Nov·05,·2024</p>530 ··············<p·class="topless">nov·05,·2024</p>
530 ··········</div>531 ··········</div>
531 ········532 ········
532 ······533 ······
533 ····</div>534 ····</div>
  
534 ····<div·id="ft">535 ····<div·id="ft">
535 ······<div·class="nav">536 ······<div·class="nav">
4.2 KB
html2text {}
Max HTML report size reached
34.9 KB
./usr/share/doc/python-django-doc/html/topics/forms/modelforms.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Creating·forms·from·models·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Creating·forms·from·models·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Form·Assets·(the·Media·class)"·href="media.html"·/>15 ····<link·rel="next"·title="Form·Assets·(the·Media·class)"·href="media.html"·/>
15 ····<link·rel="prev"·title="Formsets"·href="formsets.html"·/>16 ····<link·rel="prev"·title="Formsets"·href="formsets.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-creating-forms-from-models">81 ··<section·id="s-creating-forms-from-models">
81 <span·id="creating-forms-from-models"></span><h1>Creating·forms·from·models<a·class="headerlink"·href="#creating-forms-from-models"·title="Link·to·this·heading">¶</a></h1>82 <span·id="creating-forms-from-models"></span><h1>Creating·forms·from·models<a·class="headerlink"·href="#creating-forms-from-models"·title="Link·to·this·heading">¶</a></h1>
82 <section·id="s-modelform">83 <section·id="s-modelform">
83 <span·id="modelform"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code><a·class="headerlink"·href="#modelform"·title="Link·to·this·heading">¶</a></h2>84 <span·id="modelform"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code><a·class="headerlink"·href="#modelform"·title="Link·to·this·heading">¶</a></h2>
84 <dl·class="py·class">85 <dl·class="py·class">
85 <dt·class="sig·sig-object·py"·id="django.forms.ModelForm">86 <dt·class="sig·sig-object·py"·id="django.forms.ModelForm">
86 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ModelForm</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/models.py#L565"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.forms.ModelForm"·title="Link·to·this·definition">¶</a></dt>87 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">ModelForm</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/forms/models.py#L565"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.forms.ModelForm"·title="Link·to·this·definition">¶</a></dt>
87 <dd></dd></dl>88 <dd></dd></dl>
  
88 <p>If·you’re·building·a·database-driven·app,·chances·are·you’ll·have·forms·that89 <p>If·you’re·building·a·database-driven·app,·chances·are·you’ll·have·forms·that
89 map·closely·to·Django·models.·For·instance,·you·might·have·a·<code·class="docutils·literal·notranslate"><span·class="pre">BlogComment</span></code>90 map·closely·to·Django·models.·For·instance,·you·might·have·a·<code·class="docutils·literal·notranslate"><span·class="pre">BlogComment</span></code>
90 model,·and·you·want·to·create·a·form·that·lets·people·submit·comments.·In·this91 model,·and·you·want·to·create·a·form·that·lets·people·submit·comments.·In·this
91 case,·it·would·be·redundant·to·define·the·field·types·in·your·form,·because92 case,·it·would·be·redundant·to·define·the·field·types·in·your·form,·because
92 you’ve·already·defined·the·fields·in·your·model.</p>93 you’ve·already·defined·the·fields·in·your·model.</p>
Offset 335, 29 lines modifiedOffset 336, 29 lines modified
335 when·calling·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form.is_valid"·title="django.forms.Form.is_valid"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">is_valid()</span></code></a>·or·accessing·the336 when·calling·<a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form.is_valid"·title="django.forms.Form.is_valid"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">is_valid()</span></code></a>·or·accessing·the
336 <a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form.errors"·title="django.forms.Form.errors"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">errors</span></code></a>·attribute·and·explicitly·when·calling337 <a·class="reference·internal"·href="../../ref/forms/api.html#django.forms.Form.errors"·title="django.forms.Form.errors"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">errors</span></code></a>·attribute·and·explicitly·when·calling
337 <code·class="docutils·literal·notranslate"><span·class="pre">full_clean()</span></code>,·although·you·will·typically·not·use·the·latter·method·in338 <code·class="docutils·literal·notranslate"><span·class="pre">full_clean()</span></code>,·although·you·will·typically·not·use·the·latter·method·in
338 practice.</p>339 practice.</p>
339 <p><code·class="docutils·literal·notranslate"><span·class="pre">Model</span></code>·validation·(<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.full_clean"·title="django.db.models.Model.full_clean"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.full_clean()</span></code></a>)·is·triggered·from·within·the·form340 <p><code·class="docutils·literal·notranslate"><span·class="pre">Model</span></code>·validation·(<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.full_clean"·title="django.db.models.Model.full_clean"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Model.full_clean()</span></code></a>)·is·triggered·from·within·the·form
340 validation·step,·right·after·the·form’s·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·is·called.</p>341 validation·step,·right·after·the·form’s·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·is·called.</p>
341 <div·class="admonition·warning">342 <div·class="admonition·warning">
342 <p·class="admonition-title">Warning</p>343 <p·class="admonition-title">Hoiatus</p>
343 <p>The·cleaning·process·modifies·the·model·instance·passed·to·the344 <p>The·cleaning·process·modifies·the·model·instance·passed·to·the
344 <code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·constructor·in·various·ways.·For·instance,·any·date·fields·on345 <code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·constructor·in·various·ways.·For·instance,·any·date·fields·on
345 the·model·are·converted·into·actual·date·objects.·Failed·validation·may346 the·model·are·converted·into·actual·date·objects.·Failed·validation·may
346 leave·the·underlying·model·instance·in·an·inconsistent·state·and·therefore347 leave·the·underlying·model·instance·in·an·inconsistent·state·and·therefore
347 it’s·not·recommended·to·reuse·it.</p>348 it’s·not·recommended·to·reuse·it.</p>
348 </div>349 </div>
349 <section·id="s-overriding-the-clean-method">350 <section·id="s-overriding-the-clean-method">
350 <span·id="s-overriding-modelform-clean-method"></span><span·id="overriding-the-clean-method"></span><span·id="overriding-modelform-clean-method"></span><h4>Overriding·the·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method<a·class="headerlink"·href="#overriding-the-clean-method"·title="Link·to·this·heading">¶</a></h4>351 <span·id="s-overriding-modelform-clean-method"></span><span·id="overriding-the-clean-method"></span><span·id="overriding-modelform-clean-method"></span><h4>Overriding·the·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method<a·class="headerlink"·href="#overriding-the-clean-method"·title="Link·to·this·heading">¶</a></h4>
351 <p>You·can·override·the·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·on·a·model·form·to·provide·additional352 <p>You·can·override·the·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·on·a·model·form·to·provide·additional
352 validation·in·the·same·way·you·can·on·a·normal·form.</p>353 validation·in·the·same·way·you·can·on·a·normal·form.</p>
353 <p>A·model·form·instance·attached·to·a·model·object·will·contain·an·<code·class="docutils·literal·notranslate"><span·class="pre">instance</span></code>354 <p>A·model·form·instance·attached·to·a·model·object·will·contain·an·<code·class="docutils·literal·notranslate"><span·class="pre">instance</span></code>
354 attribute·that·gives·its·methods·access·to·that·specific·model·instance.</p>355 attribute·that·gives·its·methods·access·to·that·specific·model·instance.</p>
355 <div·class="admonition·warning">356 <div·class="admonition·warning">
356 <p·class="admonition-title">Warning</p>357 <p·class="admonition-title">Hoiatus</p>
357 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm.clean()</span></code>·method·sets·a·flag·that·makes·the·<a·class="reference·internal"·href="../../ref/models/instances.html#validating-objects"><span·class="std·std-ref">model358 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm.clean()</span></code>·method·sets·a·flag·that·makes·the·<a·class="reference·internal"·href="../../ref/models/instances.html#validating-objects"><span·class="std·std-ref">model
358 validation</span></a>·step·validate·the·uniqueness·of·model359 validation</span></a>·step·validate·the·uniqueness·of·model
359 fields·that·are·marked·as·<code·class="docutils·literal·notranslate"><span·class="pre">unique</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">unique_together</span></code>·or360 fields·that·are·marked·as·<code·class="docutils·literal·notranslate"><span·class="pre">unique</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">unique_together</span></code>·or
360 <code·class="docutils·literal·notranslate"><span·class="pre">unique_for_date|month|year</span></code>.</p>361 <code·class="docutils·literal·notranslate"><span·class="pre">unique_for_date|month|year</span></code>.</p>
361 <p>If·you·would·like·to·override·the·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·and·maintain·this362 <p>If·you·would·like·to·override·the·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method·and·maintain·this
362 validation,·you·must·call·the·parent·class’s·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method.</p>363 validation,·you·must·call·the·parent·class’s·<code·class="docutils·literal·notranslate"><span·class="pre">clean()</span></code>·method.</p>
363 </div>364 </div>
Offset 532, 15 lines modifiedOffset 533, 15 lines modified
532 <p>If·either·of·these·are·used,·the·order·the·fields·appear·in·the·form·will·be·the533 <p>If·either·of·these·are·used,·the·order·the·fields·appear·in·the·form·will·be·the
533 order·the·fields·are·defined·in·the·model,·with·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>·instances534 order·the·fields·are·defined·in·the·model,·with·<code·class="docutils·literal·notranslate"><span·class="pre">ManyToManyField</span></code>·instances
534 appearing·last.</p>535 appearing·last.</p>
535 <p>In·addition,·Django·applies·the·following·rule:·if·you·set·<code·class="docutils·literal·notranslate"><span·class="pre">editable=False</span></code>·on536 <p>In·addition,·Django·applies·the·following·rule:·if·you·set·<code·class="docutils·literal·notranslate"><span·class="pre">editable=False</span></code>·on
536 the·model·field,·<em>any</em>·form·created·from·the·model·via·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·will·not537 the·model·field,·<em>any</em>·form·created·from·the·model·via·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·will·not
537 include·that·field.</p>538 include·that·field.</p>
538 <div·class="admonition·note">539 <div·class="admonition·note">
539 <p·class="admonition-title">Note</p>540 <p·class="admonition-title">rkus</p>
540 <p>Any·fields·not·included·in·a·form·by·the·above·logic541 <p>Any·fields·not·included·in·a·form·by·the·above·logic
541 will·not·be·set·by·the·form’s·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·method.·Also,·if·you542 will·not·be·set·by·the·form’s·<code·class="docutils·literal·notranslate"><span·class="pre">save()</span></code>·method.·Also,·if·you
542 manually·add·the·excluded·fields·back·to·the·form,·they·will·not543 manually·add·the·excluded·fields·back·to·the·form,·they·will·not
543 be·initialized·from·the·model·instance.</p>544 be·initialized·from·the·model·instance.</p>
544 <p>Django·will·prevent·any·attempt·to·save·an·incomplete·model,·so·if545 <p>Django·will·prevent·any·attempt·to·save·an·incomplete·model,·so·if
545 the·model·does·not·allow·the·missing·fields·to·be·empty,·and·does546 the·model·does·not·allow·the·missing·fields·to·be·empty,·and·does
546 not·provide·a·default·value·for·the·missing·fields,·any·attempt·to547 not·provide·a·default·value·for·the·missing·fields,·any·attempt·to
Offset 666, 15 lines modifiedOffset 667, 15 lines modified
  
666 ····<span·class="k">class</span>·<span·class="nc">Meta</span><span·class="p">:</span>667 ····<span·class="k">class</span>·<span·class="nc">Meta</span><span·class="p">:</span>
667 ········<span·class="n">model</span>·<span·class="o">=</span>·<span·class="n">Article</span>668 ········<span·class="n">model</span>·<span·class="o">=</span>·<span·class="n">Article</span>
668 ········<span·class="n">fields</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;pub_date&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;headline&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;content&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;reporter&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;slug&quot;</span><span·class="p">]</span>669 ········<span·class="n">fields</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;pub_date&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;headline&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;content&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;reporter&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;slug&quot;</span><span·class="p">]</span>
669 </pre></div>670 </pre></div>
670 </div>671 </div>
671 <div·class="admonition·note">672 <div·class="admonition·note">
672 <p·class="admonition-title">Note</p>673 <p·class="admonition-title">rkus</p>
673 <p>When·you·explicitly·instantiate·a·form·field·like·this,·it·is·important·to674 <p>When·you·explicitly·instantiate·a·form·field·like·this,·it·is·important·to
674 understand·how·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·and·regular·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·are·related.</p>675 understand·how·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·and·regular·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·are·related.</p>
675 <p><code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·is·a·regular·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·which·can·automatically·generate676 <p><code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·is·a·regular·<code·class="docutils·literal·notranslate"><span·class="pre">Form</span></code>·which·can·automatically·generate
676 certain·fields.·The·fields·that·are·automatically·generated·depend·on677 certain·fields.·The·fields·that·are·automatically·generated·depend·on
677 the·content·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·class·and·on·which·fields·have·already·been678 the·content·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">Meta</span></code>·class·and·on·which·fields·have·already·been
678 defined·declaratively.·Basically,·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·will·<strong>only</strong>·generate·fields679 defined·declaratively.·Basically,·<code·class="docutils·literal·notranslate"><span·class="pre">ModelForm</span></code>·will·<strong>only</strong>·generate·fields
679 that·are·<strong>missing</strong>·from·the·form,·or·in·other·words,·fields·that·weren’t680 that·are·<strong>missing</strong>·from·the·form,·or·in·other·words,·fields·that·weren’t
Offset 832, 15 lines modifiedOffset 833, 15 lines modified
832 convenient.·Let’s·reuse·the·<code·class="docutils·literal·notranslate"><span·class="pre">Author</span></code>·model·from·above:</p>833 convenient.·Let’s·reuse·the·<code·class="docutils·literal·notranslate"><span·class="pre">Author</span></code>·model·from·above:</p>
833 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.forms</span>·<span·class="kn">import</span>·<span·class="n">modelformset_factory</span>834 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">django.forms</span>·<span·class="kn">import</span>·<span·class="n">modelformset_factory</span>
834 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">myapp.models</span>·<span·class="kn">import</span>·<span·class="n">Author</span>835 <span·class="gp">&gt;&gt;&gt;·</span><span·class="kn">from</span>·<span·class="nn">myapp.models</span>·<span·class="kn">import</span>·<span·class="n">Author</span>
835 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">AuthorFormSet</span>·<span·class="o">=</span>·<span·class="n">modelformset_factory</span><span·class="p">(</span><span·class="n">Author</span><span·class="p">,</span>·<span·class="n">fields</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;name&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;title&quot;</span><span·class="p">])</span>836 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">AuthorFormSet</span>·<span·class="o">=</span>·<span·class="n">modelformset_factory</span><span·class="p">(</span><span·class="n">Author</span><span·class="p">,</span>·<span·class="n">fields</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;name&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;title&quot;</span><span·class="p">])</span>
836 </pre></div>837 </pre></div>
837 </div>838 </div>
838 <p>Using·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·restricts·the·formset·to·use·only·the·given·fields.839 <p>Using·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·restricts·the·formset·to·use·only·the·given·fields.
839 Alternatively,·you·can·take·an·opt-out·approach,·specifying·which·fields·to840 Alternatively,·you·can·take·an·opt-out·approach,·specifying·which·fields·to
840 exclude:</p>841 exclude:</p>
Max diff block lines reached; 10695/23200 bytes (46.10%) of diff not shown.
12.1 KB
html2text {}
Max HTML report size reached
29.5 KB
./usr/share/doc/python-django-doc/html/topics/http/decorators.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>View·decorators·&#8212;·Django·5.1.3·documentation</title>6 ····<title>View·decorators·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="File·Uploads"·href="file-uploads.html"·/>15 ····<link·rel="next"·title="File·Uploads"·href="file-uploads.html"·/>
15 ····<link·rel="prev"·title="Writing·views"·href="views.html"·/>16 ····<link·rel="prev"·title="Writing·views"·href="views.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 86, 15 lines modifiedOffset 87, 15 lines modified
86 <section·id="s-allowed-http-methods">87 <section·id="s-allowed-http-methods">
87 <span·id="allowed-http-methods"></span><h2>Allowed·HTTP·methods<a·class="headerlink"·href="#allowed-http-methods"·title="Link·to·this·heading">¶</a></h2>88 <span·id="allowed-http-methods"></span><h2>Allowed·HTTP·methods<a·class="headerlink"·href="#allowed-http-methods"·title="Link·to·this·heading">¶</a></h2>
88 <p>The·decorators·in·<a·class="reference·internal"·href="#module-django.views.decorators.http"·title="django.views.decorators.http"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.views.decorators.http</span></code></a>·can·be·used·to·restrict89 <p>The·decorators·in·<a·class="reference·internal"·href="#module-django.views.decorators.http"·title="django.views.decorators.http"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.views.decorators.http</span></code></a>·can·be·used·to·restrict
89 access·to·views·based·on·the·request·method.·These·decorators·will·return90 access·to·views·based·on·the·request·method.·These·decorators·will·return
90 a·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponseNotAllowed"·title="django.http.HttpResponseNotAllowed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.http.HttpResponseNotAllowed</span></code></a>·if·the·conditions·are·not·met.</p>91 a·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponseNotAllowed"·title="django.http.HttpResponseNotAllowed"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.http.HttpResponseNotAllowed</span></code></a>·if·the·conditions·are·not·met.</p>
91 <dl·class="py·function">92 <dl·class="py·function">
92 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.require_http_methods">93 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.require_http_methods">
93 <span·class="sig-name·descname"><span·class="pre">require_http_methods</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request_method_list</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/http.py#L21"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.decorators.http.require_http_methods"·title="Link·to·this·definition">¶</a></dt>94 <span·class="sig-name·descname"><span·class="pre">require_http_methods</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request_method_list</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/http.py#L21"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.decorators.http.require_http_methods"·title="Link·to·this·definition">¶</a></dt>
94 <dd><p>Decorator·to·require·that·a·view·only·accepts·particular·request95 <dd><p>Decorator·to·require·that·a·view·only·accepts·particular·request
95 methods.·Usage:</p>96 methods.·Usage:</p>
96 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.views.decorators.http</span>·<span·class="kn">import</span>·<span·class="n">require_http_methods</span>97 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.views.decorators.http</span>·<span·class="kn">import</span>·<span·class="n">require_http_methods</span>
  
  
97 <span·class="nd">@require_http_methods</span><span·class="p">([</span><span·class="s2">&quot;GET&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;POST&quot;</span><span·class="p">])</span>98 <span·class="nd">@require_http_methods</span><span·class="p">([</span><span·class="s2">&quot;GET&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;POST&quot;</span><span·class="p">])</span>
98 <span·class="k">def</span>·<span·class="nf">my_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>99 <span·class="k">def</span>·<span·class="nf">my_view</span><span·class="p">(</span><span·class="n">request</span><span·class="p">):</span>
Offset 127, 19 lines modifiedOffset 128, 19 lines modified
127 </div>128 </div>
128 </dd></dl>129 </dd></dl>
  
129 <dl·class="py·function">130 <dl·class="py·function">
130 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.require_safe">131 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.require_safe">
131 <span·class="sig-name·descname"><span·class="pre">require_safe</span></span>()<a·class="headerlink"·href="#django.views.decorators.http.require_safe"·title="Link·to·this·definition">¶</a></dt>132 <span·class="sig-name·descname"><span·class="pre">require_safe</span></span>()<a·class="headerlink"·href="#django.views.decorators.http.require_safe"·title="Link·to·this·definition">¶</a></dt>
132 <dd><p>Decorator·to·require·that·a·view·only·accepts·the·GET·and·HEAD·methods.133 <dd><p>Decorator·to·require·that·a·view·only·accepts·the·GET·and·HEAD·methods.
133 These·methods·are·commonly·considered·safe·because·they·should·not·have134 These·methods·are·commonly·considered·safe·because·they·should·not·have
134 the·significance·of·taking·an·action·other·than·retrieving·the·requested135 the·significance·of·taking·an·action·other·than·retrieving·the·requested
135 resource.</p>136 resource.</p>
136 <div·class="admonition·note">137 <div·class="admonition·note">
137 <p·class="admonition-title">Note</p>138 <p·class="admonition-title">rkus</p>
138 <p>Web·servers·should·automatically·strip·the·content·of·responses·to·HEAD139 <p>Web·servers·should·automatically·strip·the·content·of·responses·to·HEAD
139 requests·while·leaving·the·headers·unchanged,·so·you·may·handle·HEAD140 requests·while·leaving·the·headers·unchanged,·so·you·may·handle·HEAD
140 requests·exactly·like·GET·requests·in·your·views.·Since·some·software,141 requests·exactly·like·GET·requests·in·your·views.·Since·some·software,
141 such·as·link·checkers,·rely·on·HEAD·requests,·you·might·prefer142 such·as·link·checkers,·rely·on·HEAD·requests,·you·might·prefer
142 using·<code·class="docutils·literal·notranslate"><span·class="pre">require_safe</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">require_GET</span></code>.</p>143 using·<code·class="docutils·literal·notranslate"><span·class="pre">require_safe</span></code>·instead·of·<code·class="docutils·literal·notranslate"><span·class="pre">require_GET</span></code>.</p>
143 </div>144 </div>
144 <div·class="versionchanged">145 <div·class="versionchanged">
Offset 150, 25 lines modifiedOffset 151, 25 lines modified
150 </section>151 </section>
151 <section·id="s-conditional-view-processing">152 <section·id="s-conditional-view-processing">
152 <span·id="conditional-view-processing"></span><h2>Conditional·view·processing<a·class="headerlink"·href="#conditional-view-processing"·title="Link·to·this·heading">¶</a></h2>153 <span·id="conditional-view-processing"></span><h2>Conditional·view·processing<a·class="headerlink"·href="#conditional-view-processing"·title="Link·to·this·heading">¶</a></h2>
153 <p>The·following·decorators·in·<a·class="reference·internal"·href="#module-django.views.decorators.http"·title="django.views.decorators.http"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.views.decorators.http</span></code></a>·can·be·used·to154 <p>The·following·decorators·in·<a·class="reference·internal"·href="#module-django.views.decorators.http"·title="django.views.decorators.http"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.views.decorators.http</span></code></a>·can·be·used·to
154 control·caching·behavior·on·particular·views.</p>155 control·caching·behavior·on·particular·views.</p>
155 <dl·class="py·function">156 <dl·class="py·function">
156 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.condition">157 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.condition">
157 <span·class="sig-name·descname"><span·class="pre">condition</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">etag_func</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">last_modified_func</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/http.py#L83"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.decorators.http.condition"·title="Link·to·this·definition">¶</a></dt>158 <span·class="sig-name·descname"><span·class="pre">condition</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">etag_func</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">last_modified_func</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/http.py#L83"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.decorators.http.condition"·title="Link·to·this·definition">¶</a></dt>
158 <dd></dd></dl>159 <dd></dd></dl>
  
159 <dl·class="py·function">160 <dl·class="py·function">
160 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.etag">161 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.etag">
161 <span·class="sig-name·descname"><span·class="pre">etag</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">etag_func</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/http.py#L164"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.decorators.http.etag"·title="Link·to·this·definition">¶</a></dt>162 <span·class="sig-name·descname"><span·class="pre">etag</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">etag_func</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/http.py#L164"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.decorators.http.etag"·title="Link·to·this·definition">¶</a></dt>
162 <dd></dd></dl>163 <dd></dd></dl>
  
163 <dl·class="py·function">164 <dl·class="py·function">
164 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.last_modified">165 <dt·class="sig·sig-object·py"·id="django.views.decorators.http.last_modified">
165 <span·class="sig-name·descname"><span·class="pre">last_modified</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">last_modified_func</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/http.py#L168"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.decorators.http.last_modified"·title="Link·to·this·definition">¶</a></dt>166 <span·class="sig-name·descname"><span·class="pre">last_modified</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">last_modified_func</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/http.py#L168"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.decorators.http.last_modified"·title="Link·to·this·definition">¶</a></dt>
166 <dd><p>These·decorators·can·be·used·to·generate·<code·class="docutils·literal·notranslate"><span·class="pre">ETag</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Last-Modified</span></code>167 <dd><p>These·decorators·can·be·used·to·generate·<code·class="docutils·literal·notranslate"><span·class="pre">ETag</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">Last-Modified</span></code>
167 headers;·see168 headers;·see
168 <a·class="reference·internal"·href="../conditional-view-processing.html"><span·class="doc">conditional·view·processing</span></a>.</p>169 <a·class="reference·internal"·href="../conditional-view-processing.html"><span·class="doc">conditional·view·processing</span></a>.</p>
169 <div·class="versionchanged">170 <div·class="versionchanged">
170 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·wrapping·asynchronous·view·functions·was·added.</p>171 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·wrapping·asynchronous·view·functions·was·added.</p>
171 </div>172 </div>
172 </dd></dl>173 </dd></dl>
Offset 200, 15 lines modifiedOffset 201, 15 lines modified
200 <dd><div·class="versionchanged">201 <dd><div·class="versionchanged">
201 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·wrapping·asynchronous·view·functions·was·added.</p>202 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·wrapping·asynchronous·view·functions·was·added.</p>
202 </div>203 </div>
203 </dd></dl>204 </dd></dl>
  
204 <dl·class="py·function">205 <dl·class="py·function">
205 <dt·class="sig·sig-object·py"·id="django.views.decorators.vary.vary_on_headers">206 <dt·class="sig·sig-object·py"·id="django.views.decorators.vary.vary_on_headers">
206 <span·class="sig-name·descname"><span·class="pre">vary_on_headers</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">headers</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/vary.py#L8"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.decorators.vary.vary_on_headers"·title="Link·to·this·definition">¶</a></dt>207 <span·class="sig-name·descname"><span·class="pre">vary_on_headers</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">headers</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/vary.py#L8"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.decorators.vary.vary_on_headers"·title="Link·to·this·definition">¶</a></dt>
207 <dd><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·header·defines·which·request·headers·a·cache·mechanism·should·take208 <dd><p>The·<code·class="docutils·literal·notranslate"><span·class="pre">Vary</span></code>·header·defines·which·request·headers·a·cache·mechanism·should·take
208 into·account·when·building·its·cache·key.</p>209 into·account·when·building·its·cache·key.</p>
209 <p>See·<a·class="reference·internal"·href="../cache.html#using-vary-headers"><span·class="std·std-ref">using·vary·headers</span></a>.</p>210 <p>See·<a·class="reference·internal"·href="../cache.html#using-vary-headers"><span·class="std·std-ref">using·vary·headers</span></a>.</p>
210 <div·class="versionchanged">211 <div·class="versionchanged">
211 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·wrapping·asynchronous·view·functions·was·added.</p>212 <span·class="title">Changed·in·Django·5.0:</span>·<p>Support·for·wrapping·asynchronous·view·functions·was·added.</p>
212 </div>213 </div>
213 </dd></dl>214 </dd></dl>
Offset 216, 27 lines modifiedOffset 217, 27 lines modified
216 </section>217 </section>
217 <section·id="s-caching">218 <section·id="s-caching">
218 <span·id="s-module-django.views.decorators.cache"></span><span·id="caching"></span><span·id="module-django.views.decorators.cache"></span><h2>Caching<a·class="headerlink"·href="#caching"·title="Link·to·this·heading">¶</a></h2>219 <span·id="s-module-django.views.decorators.cache"></span><span·id="caching"></span><span·id="module-django.views.decorators.cache"></span><h2>Caching<a·class="headerlink"·href="#caching"·title="Link·to·this·heading">¶</a></h2>
219 <p>The·decorators·in·<a·class="reference·internal"·href="#module-django.views.decorators.cache"·title="django.views.decorators.cache"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.views.decorators.cache</span></code></a>·control·server·and220 <p>The·decorators·in·<a·class="reference·internal"·href="#module-django.views.decorators.cache"·title="django.views.decorators.cache"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.views.decorators.cache</span></code></a>·control·server·and
220 client-side·caching.</p>221 client-side·caching.</p>
221 <dl·class="py·function">222 <dl·class="py·function">
222 <dt·class="sig·sig-object·py"·id="django.views.decorators.cache.cache_control">223 <dt·class="sig·sig-object·py"·id="django.views.decorators.cache.cache_control">
223 <span·class="sig-name·descname"><span·class="pre">cache_control</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/cache.py#L40"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.views.decorators.cache.cache_control"·title="Link·to·this·definition">¶</a></dt>224 <span·class="sig-name·descname"><span·class="pre">cache_control</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/views/decorators/cache.py#L40"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.views.decorators.cache.cache_control"·title="Link·to·this·definition">¶</a></dt>
224 <dd><p>This·decorator·patches·the·response’s·<code·class="docutils·literal·notranslate"><span·class="pre">Cache-Control</span></code>·header·by·adding225 <dd><p>This·decorator·patches·the·response’s·<code·class="docutils·literal·notranslate"><span·class="pre">Cache-Control</span></code>·header·by·adding
Max diff block lines reached; 6846/21728 bytes (31.51%) of diff not shown.
8.14 KB
html2text {}
Max HTML report size reached
16.3 KB
./usr/share/doc/python-django-doc/html/topics/http/file-uploads.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>File·Uploads·&#8212;·Django·5.1.3·documentation</title>6 ····<title>File·Uploads·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Django·shortcut·functions"·href="shortcuts.html"·/>15 ····<link·rel="next"·title="Django·shortcut·functions"·href="shortcuts.html"·/>
15 ····<link·rel="prev"·title="View·decorators"·href="decorators.html"·/>16 ····<link·rel="prev"·title="View·decorators"·href="decorators.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 15 lines modifiedOffset 81, 15 lines modified
80 ··<section·id="s-file-uploads">81 ··<section·id="s-file-uploads">
81 <span·id="file-uploads"></span><h1>File·Uploads<a·class="headerlink"·href="#file-uploads"·title="Link·to·this·heading">¶</a></h1>82 <span·id="file-uploads"></span><h1>File·Uploads<a·class="headerlink"·href="#file-uploads"·title="Link·to·this·heading">¶</a></h1>
82 <p>When·Django·handles·a·file·upload,·the·file·data·ends·up·placed·in83 <p>When·Django·handles·a·file·upload,·the·file·data·ends·up·placed·in
83 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest.FILES"·title="django.http.HttpRequest.FILES"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.FILES</span></code></a>·(for·more·on·the84 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest.FILES"·title="django.http.HttpRequest.FILES"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.FILES</span></code></a>·(for·more·on·the
84 <code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·object·see·the·documentation·for·<a·class="reference·internal"·href="../../ref/request-response.html"><span·class="doc">request·and·response·objects</span></a>).·This·document·explains·how·files·are·stored·on·disk85 <code·class="docutils·literal·notranslate"><span·class="pre">request</span></code>·object·see·the·documentation·for·<a·class="reference·internal"·href="../../ref/request-response.html"><span·class="doc">request·and·response·objects</span></a>).·This·document·explains·how·files·are·stored·on·disk
85 and·in·memory,·and·how·to·customize·the·default·behavior.</p>86 and·in·memory,·and·how·to·customize·the·default·behavior.</p>
86 <div·class="admonition·warning">87 <div·class="admonition·warning">
87 <p·class="admonition-title">Warning</p>88 <p·class="admonition-title">Hoiatus</p>
88 <p>There·are·security·risks·if·you·are·accepting·uploaded·content·from89 <p>There·are·security·risks·if·you·are·accepting·uploaded·content·from
89 untrusted·users!·See·the·security·guide’s·topic·on90 untrusted·users!·See·the·security·guide’s·topic·on
90 <a·class="reference·internal"·href="../security.html#user-uploaded-content-security"><span·class="std·std-ref">User-uploaded·content</span></a>·for·mitigation·details.</p>91 <a·class="reference·internal"·href="../security.html#user-uploaded-content-security"><span·class="std·std-ref">User-uploaded·content</span></a>·for·mitigation·details.</p>
91 </div>92 </div>
92 <section·id="s-basic-file-uploads">93 <section·id="s-basic-file-uploads">
93 <span·id="basic-file-uploads"></span><h2>Basic·file·uploads<a·class="headerlink"·href="#basic-file-uploads"·title="Link·to·this·heading">¶</a></h2>94 <span·id="basic-file-uploads"></span><h2>Basic·file·uploads<a·class="headerlink"·href="#basic-file-uploads"·title="Link·to·this·heading">¶</a></h2>
94 <p>Consider·a·form·containing·a·<a·class="reference·internal"·href="../../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>:</p>95 <p>Consider·a·form·containing·a·<a·class="reference·internal"·href="../../ref/forms/fields.html#django.forms.FileField"·title="django.forms.FileField"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">FileField</span></code></a>:</p>
Offset 271, 15 lines modifiedOffset 272, 15 lines modified
271 ········<span·class="k">for</span>·<span·class="n">f</span>·<span·class="ow">in</span>·<span·class="n">files</span><span·class="p">:</span>272 ········<span·class="k">for</span>·<span·class="n">f</span>·<span·class="ow">in</span>·<span·class="n">files</span><span·class="p">:</span>
272 ············<span·class="o">...</span>··<span·class="c1">#·Do·something·with·each·file.</span>273 ············<span·class="o">...</span>··<span·class="c1">#·Do·something·with·each·file.</span>
273 ········<span·class="k">return</span>·<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">form_valid</span><span·class="p">(</span><span·class="n">form</span><span·class="p">)</span>274 ········<span·class="k">return</span>·<span·class="nb">super</span><span·class="p">()</span><span·class="o">.</span><span·class="n">form_valid</span><span·class="p">(</span><span·class="n">form</span><span·class="p">)</span>
274 </pre></div>275 </pre></div>
275 </div>276 </div>
276 </div>277 </div>
277 <div·class="admonition·warning">278 <div·class="admonition·warning">
278 <p·class="admonition-title">Warning</p>279 <p·class="admonition-title">Hoiatus</p>
279 <p>This·will·allow·you·to·handle·multiple·files·at·the·form·level·only.·Be280 <p>This·will·allow·you·to·handle·multiple·files·at·the·form·level·only.·Be
280 aware·that·you·cannot·use·it·to·put·multiple·files·on·a·single·model281 aware·that·you·cannot·use·it·to·put·multiple·files·on·a·single·model
281 instance·(in·a·single·field),·for·example,·even·if·the·custom·widget·is·used282 instance·(in·a·single·field),·for·example,·even·if·the·custom·widget·is·used
282 with·a·form·field·related·to·a·model·<code·class="docutils·literal·notranslate"><span·class="pre">FileField</span></code>.</p>283 with·a·form·field·related·to·a·model·<code·class="docutils·literal·notranslate"><span·class="pre">FileField</span></code>.</p>
283 </div>284 </div>
284 </section>285 </section>
285 </section>286 </section>
Offset 310, 15 lines modifiedOffset 311, 15 lines modified
310 the·entire·contents·of·the·upload·in·memory.·This·means·that·saving·the·file311 the·entire·contents·of·the·upload·in·memory.·This·means·that·saving·the·file
311 involves·only·a·read·from·memory·and·a·write·to·disk·and·thus·is·very·fast.</p>312 involves·only·a·read·from·memory·and·a·write·to·disk·and·thus·is·very·fast.</p>
312 <p>However,·if·an·uploaded·file·is·too·large,·Django·will·write·the·uploaded·file313 <p>However,·if·an·uploaded·file·is·too·large,·Django·will·write·the·uploaded·file
313 to·a·temporary·file·stored·in·your·system’s·temporary·directory.·On·a·Unix-like314 to·a·temporary·file·stored·in·your·system’s·temporary·directory.·On·a·Unix-like
314 platform·this·means·you·can·expect·Django·to·generate·a·file·called·something315 platform·this·means·you·can·expect·Django·to·generate·a·file·called·something
315 like·<code·class="docutils·literal·notranslate"><span·class="pre">/tmp/tmpzfp6I6.upload</span></code>.·If·an·upload·is·large·enough,·you·can·watch·this316 like·<code·class="docutils·literal·notranslate"><span·class="pre">/tmp/tmpzfp6I6.upload</span></code>.·If·an·upload·is·large·enough,·you·can·watch·this
316 file·grow·in·size·as·Django·streams·the·data·onto·disk.</p>317 file·grow·in·size·as·Django·streams·the·data·onto·disk.</p>
317 <p>These·specifics··2.5·megabytes;·<code·class="docutils·literal·notranslate"><span·class="pre">/tmp</span></code>;·etc.··are·reasonable·defaults318 <p>These·specifics··2.5·megabytes;·<code·class="docutils·literal·notranslate"><span·class="pre">/tmp</span></code>;·etc.··are·reasonable·defaults
318 which·can·be·customized·as·described·in·the·next·section.</p>319 which·can·be·customized·as·described·in·the·next·section.</p>
319 </section>320 </section>
320 <section·id="s-changing-upload-handler-behavior">321 <section·id="s-changing-upload-handler-behavior">
321 <span·id="changing-upload-handler-behavior"></span><h3>Changing·upload·handler·behavior<a·class="headerlink"·href="#changing-upload-handler-behavior"·title="Link·to·this·heading">¶</a></h3>322 <span·id="changing-upload-handler-behavior"></span><h3>Changing·upload·handler·behavior<a·class="headerlink"·href="#changing-upload-handler-behavior"·title="Link·to·this·heading">¶</a></h3>
322 <p>There·are·a·few·settings·which·control·Django’s·file·upload·behavior.·See323 <p>There·are·a·few·settings·which·control·Django’s·file·upload·behavior.·See
323 <a·class="reference·internal"·href="../../ref/settings.html#file-upload-settings"><span·class="std·std-ref">File·Upload·Settings</span></a>·for·details.</p>324 <a·class="reference·internal"·href="../../ref/settings.html#file-upload-settings"><span·class="std·std-ref">File·Upload·Settings</span></a>·for·details.</p>
324 </section>325 </section>
Offset 340, 15 lines modifiedOffset 341, 15 lines modified
340 other·handlers.·Remember,·the·upload·handlers·are·processed·in·order.</p>341 other·handlers.·Remember,·the·upload·handlers·are·processed·in·order.</p>
341 <p>If·you·want·to·replace·the·upload·handlers·completely,·you·can·assign·a·new342 <p>If·you·want·to·replace·the·upload·handlers·completely,·you·can·assign·a·new
342 list:</p>343 list:</p>
343 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">request</span><span·class="o">.</span><span·class="n">upload_handlers</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">ProgressBarUploadHandler</span><span·class="p">(</span><span·class="n">request</span><span·class="p">)]</span>344 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">request</span><span·class="o">.</span><span·class="n">upload_handlers</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="n">ProgressBarUploadHandler</span><span·class="p">(</span><span·class="n">request</span><span·class="p">)]</span>
344 </pre></div>345 </pre></div>
345 </div>346 </div>
346 <div·class="admonition·note">347 <div·class="admonition·note">
347 <p·class="admonition-title">Note</p>348 <p·class="admonition-title">rkus</p>
348 <p>You·can·only·modify·upload·handlers·<em>before</em>·accessing349 <p>You·can·only·modify·upload·handlers·<em>before</em>·accessing
349 <code·class="docutils·literal·notranslate"><span·class="pre">request.POST</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">request.FILES</span></code>··it·doesn’t·make·sense·to350 <code·class="docutils·literal·notranslate"><span·class="pre">request.POST</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">request.FILES</span></code>··it·doesn’t·make·sense·to
350 change·upload·handlers·after·upload·handling·has·already351 change·upload·handlers·after·upload·handling·has·already
351 started.·If·you·try·to·modify·<code·class="docutils·literal·notranslate"><span·class="pre">request.upload_handlers</span></code>·after352 started.·If·you·try·to·modify·<code·class="docutils·literal·notranslate"><span·class="pre">request.upload_handlers</span></code>·after
352 reading·from·<code·class="docutils·literal·notranslate"><span·class="pre">request.POST</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">request.FILES</span></code>·Django·will353 reading·from·<code·class="docutils·literal·notranslate"><span·class="pre">request.POST</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">request.FILES</span></code>·Django·will
353 throw·an·error.</p>354 throw·an·error.</p>
354 <p>Thus,·you·should·always·modify·uploading·handlers·as·early·in·your·view·as355 <p>Thus,·you·should·always·modify·uploading·handlers·as·early·in·your·view·as
Offset 411, 15 lines modifiedOffset 412, 15 lines modified
411 ······412 ······
412 ········413 ········
413 ··········<div·class="yui-b"·id="sidebar">414 ··········<div·class="yui-b"·id="sidebar">
414 ············415 ············
415 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">416 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
416 ········<div·class="sphinxsidebarwrapper">417 ········<div·class="sphinxsidebarwrapper">
417 ··<div>418 ··<div>
418 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>419 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
419 ····<ul>420 ····<ul>
420 <li><a·class="reference·internal"·href="#">File·Uploads</a><ul>421 <li><a·class="reference·internal"·href="#">File·Uploads</a><ul>
421 <li><a·class="reference·internal"·href="#basic-file-uploads">Basic·file·uploads</a><ul>422 <li><a·class="reference·internal"·href="#basic-file-uploads">Basic·file·uploads</a><ul>
422 <li><a·class="reference·internal"·href="#handling-uploaded-files-with-a-model">Handling·uploaded·files·with·a·model</a></li>423 <li><a·class="reference·internal"·href="#handling-uploaded-files-with-a-model">Handling·uploaded·files·with·a·model</a></li>
423 <li><a·class="reference·internal"·href="#uploading-multiple-files">Uploading·multiple·files</a></li>424 <li><a·class="reference·internal"·href="#uploading-multiple-files">Uploading·multiple·files</a></li>
424 </ul>425 </ul>
425 </li>426 </li>
Offset 431, 37 lines modifiedOffset 432, 37 lines modified
431 </li>432 </li>
432 </ul>433 </ul>
433 </li>434 </li>
434 </ul>435 </ul>
  
435 ··</div>436 ··</div>
436 ··<div>437 ··<div>
Max diff block lines reached; 1304/10116 bytes (12.89%) of diff not shown.
6.29 KB
html2text {}
Max HTML report size reached
5.18 KB
./usr/share/doc/python-django-doc/html/topics/http/generic-views.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Generic·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Generic·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Middleware"·href="middleware.html"·/>15 ····<link·rel="next"·title="Middleware"·href="middleware.html"·/>
15 ····<link·rel="prev"·title="Django·shortcut·functions"·href="shortcuts.html"·/>16 ····<link·rel="prev"·title="Django·shortcut·functions"·href="shortcuts.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 89, 37 lines modifiedOffset 90, 37 lines modified
89 ······90 ······
90 ········91 ········
91 ··········<div·class="yui-b"·id="sidebar">92 ··········<div·class="yui-b"·id="sidebar">
92 ············93 ············
93 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">94 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
94 ········<div·class="sphinxsidebarwrapper">95 ········<div·class="sphinxsidebarwrapper">
95 ··<div>96 ··<div>
96 ····<h4>Previous·topic</h4>97 ····<h4>Eelmine·teema</h4>
97 ····<p·class="topless"><a·href="shortcuts.html"98 ····<p·class="topless"><a·href="shortcuts.html"
98 ··························title="previous·chapter">Django·shortcut·functions</a></p>99 ··························title="eelmine·jaotis">Django·shortcut·functions</a></p>
99 ··</div>100 ··</div>
100 ··<div>101 ··<div>
101 ····<h4>Next·topic</h4>102 ····<h4>Järgmine·teema</h4>
102 ····<p·class="topless"><a·href="middleware.html"103 ····<p·class="topless"><a·href="middleware.html"
103 ··························title="next·chapter">Middleware</a></p>104 ··························title="järgmine·jaotis">Middleware</a></p>
104 ··</div>105 ··</div>
105 <search·id="searchbox"·style="display:·none"·role="search">106 <search·id="searchbox"·style="display:·none"·role="search">
106 ··<h3·id="searchlabel">Quick·search</h3>107 ··<h3·id="searchlabel">Kiirotsing</h3>
107 ····<div·class="searchformwrapper">108 ····<div·class="searchformwrapper">
108 ····<form·class="search"·action="../../search.html"·method="get">109 ····<form·class="search"·action="../../search.html"·method="get">
109 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>110 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
110 ······<input·type="submit"·value="Go"·/>111 ······<input·type="submit"·value="Otsi"·/>
111 ····</form>112 ····</form>
112 ····</div>113 ····</div>
113 </search>114 </search>
114 <script>document.getElementById('searchbox').style.display·=·"block"</script>115 <script>document.getElementById('searchbox').style.display·=·"block"</script>
115 ········</div>116 ········</div>
116 ······</div>117 ······</div>
117 ··············<h3>Last·update:</h3>118 ··············<h3>Last·update:</h3>
118 ··············<p·class="topless">Nov·05,·2024</p>119 ··············<p·class="topless">nov·05,·2024</p>
119 ··········</div>120 ··········</div>
120 ········121 ········
121 ······122 ······
122 ····</div>123 ····</div>
  
123 ····<div·id="ft">124 ····<div·id="ft">
124 ······<div·class="nav">125 ······<div·class="nav">
1.36 KB
html2text {}
    
Offset 1, 14 lines modifiedOffset 1, 14 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·G\x8Ge\x8en\x8ne\x8er\x8ri\x8ic\x8c·v\x8vi\x8ie\x8ew\x8ws\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·G\x8Ge\x8en\x8ne\x8er\x8ri\x8ic\x8c·v\x8vi\x8ie\x8ew\x8ws\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 See·_\x8B_\x8u_\x8i_\x8l_\x8t_\x8-_\x8i_\x8n_\x8·_\x8c_\x8l_\x8a_\x8s_\x8s_\x8-_\x8b_\x8a_\x8s_\x8e_\x8d_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s_\x8·_\x8A_\x8P_\x8I.5 See·_\x8B_\x8u_\x8i_\x8l_\x8t_\x8-_\x8i_\x8n_\x8·_\x8c_\x8l_\x8a_\x8s_\x8s_\x8-_\x8b_\x8a_\x8s_\x8e_\x8d_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s_\x8·_\x8A_\x8P_\x8I.
6 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*6 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
7 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8s_\x8h_\x8o_\x8r_\x8t_\x8c_\x8u_\x8t_\x8·_\x8f_\x8u_\x8n_\x8c_\x8t_\x8i_\x8o_\x8n_\x8s7 _\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8s_\x8h_\x8o_\x8r_\x8t_\x8c_\x8u_\x8t_\x8·_\x8f_\x8u_\x8n_\x8c_\x8t_\x8i_\x8o_\x8n_\x8s
8 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*8 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
9 _\x8M_\x8i_\x8d_\x8d_\x8l_\x8e_\x8w_\x8a_\x8r_\x8e9 _\x8M_\x8i_\x8d_\x8d_\x8l_\x8e_\x8w_\x8a_\x8r_\x8e
10 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*10 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
11 [q···················][Go]11 [q···················][Otsi]
12 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*12 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
13 Nov·05,·202413 nov·05,·2024
14 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»14 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
5.62 KB
./usr/share/doc/python-django-doc/html/topics/http/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Handling·HTTP·requests·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Handling·HTTP·requests·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="URL·dispatcher"·href="urls.html"·/>15 ····<link·rel="next"·title="URL·dispatcher"·href="urls.html"·/>
15 ····<link·rel="prev"·title="One-to-one·relationships"·href="../db/examples/one_to_one.html"·/>16 ····<link·rel="prev"·title="One-to-one·relationships"·href="../db/examples/one_to_one.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 101, 37 lines modifiedOffset 102, 37 lines modified
101 ······102 ······
102 ········103 ········
103 ··········<div·class="yui-b"·id="sidebar">104 ··········<div·class="yui-b"·id="sidebar">
104 ············105 ············
105 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">106 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
106 ········<div·class="sphinxsidebarwrapper">107 ········<div·class="sphinxsidebarwrapper">
107 ··<div>108 ··<div>
108 ····<h4>Previous·topic</h4>109 ····<h4>Eelmine·teema</h4>
109 ····<p·class="topless"><a·href="../db/examples/one_to_one.html"110 ····<p·class="topless"><a·href="../db/examples/one_to_one.html"
110 ··························title="previous·chapter">One-to-one·relationships</a></p>111 ··························title="eelmine·jaotis">One-to-one·relationships</a></p>
111 ··</div>112 ··</div>
112 ··<div>113 ··<div>
113 ····<h4>Next·topic</h4>114 ····<h4>Järgmine·teema</h4>
114 ····<p·class="topless"><a·href="urls.html"115 ····<p·class="topless"><a·href="urls.html"
115 ··························title="next·chapter">URL·dispatcher</a></p>116 ··························title="järgmine·jaotis">URL·dispatcher</a></p>
116 ··</div>117 ··</div>
117 <search·id="searchbox"·style="display:·none"·role="search">118 <search·id="searchbox"·style="display:·none"·role="search">
118 ··<h3·id="searchlabel">Quick·search</h3>119 ··<h3·id="searchlabel">Kiirotsing</h3>
119 ····<div·class="searchformwrapper">120 ····<div·class="searchformwrapper">
120 ····<form·class="search"·action="../../search.html"·method="get">121 ····<form·class="search"·action="../../search.html"·method="get">
121 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>122 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
122 ······<input·type="submit"·value="Go"·/>123 ······<input·type="submit"·value="Otsi"·/>
123 ····</form>124 ····</form>
124 ····</div>125 ····</div>
125 </search>126 </search>
126 <script>document.getElementById('searchbox').style.display·=·"block"</script>127 <script>document.getElementById('searchbox').style.display·=·"block"</script>
127 ········</div>128 ········</div>
128 ······</div>129 ······</div>
129 ··············<h3>Last·update:</h3>130 ··············<h3>Last·update:</h3>
130 ··············<p·class="topless">Nov·05,·2024</p>131 ··············<p·class="topless">nov·05,·2024</p>
131 ··········</div>132 ··········</div>
132 ········133 ········
133 ······134 ······
134 ····</div>135 ····</div>
  
135 ····<div·id="ft">136 ····<div·id="ft">
136 ······<div·class="nav">137 ······<div·class="nav">
1.76 KB
html2text {}
    
Offset 1, 22 lines modifiedOffset 1, 22 lines modified
1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8c.c_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.i.i_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*1 *\x8**\x8**\x8**\x8**\x8**\x8*·_\x8D\x8D_\x8j\x8j_\x8a\x8a_\x8n\x8n_\x8g\x8g_\x8o\x8o_\x8·_\x85\x85_\x8.\x8._\x81\x81_\x8.\x8._\x83\x83_\x8·_\x8d\x8d_\x8o\x8o_\x8k.k_.u.u_.m.m_.e.e_.n.n_.t.t_.a.a_.t.t_.s.s_.i.i_.o.o_\x8o\x8o_\x8n\x8n·*\x8**\x8**\x8**\x8**\x8**\x8*
2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s2 _\x8H_\x8o_\x8m_\x8e·|·_\x8T_\x8a_\x8b_\x8l_\x8e_\x8·_\x8o_\x8f_\x8·_\x8c_\x8o_\x8n_\x8t_\x8e_\x8n_\x8t_\x8s·|·_\x8I_\x8n_\x8d_\x8e_\x8x·|·_\x8M_\x8o_\x8d_\x8u_\x8l_\x8e_\x8s
3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»3 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
4 *\x8**\x8**\x8**\x8**\x8**\x8*·H\x8Ha\x8an\x8nd\x8dl\x8li\x8in\x8ng\x8g·H\x8HT\x8TT\x8TP\x8P·r\x8re\x8eq\x8qu\x8ue\x8es\x8st\x8ts\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*4 *\x8**\x8**\x8**\x8**\x8**\x8*·H\x8Ha\x8an\x8nd\x8dl\x8li\x8in\x8ng\x8g·H\x8HT\x8TT\x8TP\x8P·r\x8re\x8eq\x8qu\x8ue\x8es\x8st\x8ts\x8s_\x8?\x8·*\x8**\x8**\x8**\x8**\x8**\x8*
5 Information·on·handling·HTTP·requests·in·Django:5 Information·on·handling·HTTP·requests·in·Django:
6 ····*·_\x8U_\x8R_\x8L_\x8·_\x8d_\x8i_\x8s_\x8p_\x8a_\x8t_\x8c_\x8h_\x8e_\x8r6 ····*·_\x8U_\x8R_\x8L_\x8·_\x8d_\x8i_\x8s_\x8p_\x8a_\x8t_\x8c_\x8h_\x8e_\x8r
7 ····*·_\x8W_\x8r_\x8i_\x8t_\x8i_\x8n_\x8g_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s7 ····*·_\x8W_\x8r_\x8i_\x8t_\x8i_\x8n_\x8g_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s
8 ····*·_\x8V_\x8i_\x8e_\x8w_\x8·_\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s8 ····*·_\x8V_\x8i_\x8e_\x8w_\x8·_\x8d_\x8e_\x8c_\x8o_\x8r_\x8a_\x8t_\x8o_\x8r_\x8s
9 ····*·_\x8F_\x8i_\x8l_\x8e_\x8·_\x8U_\x8p_\x8l_\x8o_\x8a_\x8d_\x8s9 ····*·_\x8F_\x8i_\x8l_\x8e_\x8·_\x8U_\x8p_\x8l_\x8o_\x8a_\x8d_\x8s
10 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8s_\x8h_\x8o_\x8r_\x8t_\x8c_\x8u_\x8t_\x8·_\x8f_\x8u_\x8n_\x8c_\x8t_\x8i_\x8o_\x8n_\x8s10 ····*·_\x8D_\x8j_\x8a_\x8n_\x8g_\x8o_\x8·_\x8s_\x8h_\x8o_\x8r_\x8t_\x8c_\x8u_\x8t_\x8·_\x8f_\x8u_\x8n_\x8c_\x8t_\x8i_\x8o_\x8n_\x8s
11 ····*·_\x8G_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s11 ····*·_\x8G_\x8e_\x8n_\x8e_\x8r_\x8i_\x8c_\x8·_\x8v_\x8i_\x8e_\x8w_\x8s
12 ····*·_\x8M_\x8i_\x8d_\x8d_\x8l_\x8e_\x8w_\x8a_\x8r_\x8e12 ····*·_\x8M_\x8i_\x8d_\x8d_\x8l_\x8e_\x8w_\x8a_\x8r_\x8e
13 ····*·_\x8H_\x8o_\x8w_\x8·_\x8t_\x8o_\x8·_\x8u_\x8s_\x8e_\x8·_\x8s_\x8e_\x8s_\x8s_\x8i_\x8o_\x8n_\x8s13 ····*·_\x8H_\x8o_\x8w_\x8·_\x8t_\x8o_\x8·_\x8u_\x8s_\x8e_\x8·_\x8s_\x8e_\x8s_\x8s_\x8i_\x8o_\x8n_\x8s
14 *\x8**\x8**\x8*·P.Pr.re.ev.vi.io.ou.us.s·t.to.op.pi.ic.c·*\x8**\x8**\x8*14 *\x8**\x8**\x8*·E.Ee.el.lm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
15 _\x8O_\x8n_\x8e_\x8-_\x8t_\x8o_\x8-_\x8o_\x8n_\x8e_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s15 _\x8O_\x8n_\x8e_\x8-_\x8t_\x8o_\x8-_\x8o_\x8n_\x8e_\x8·_\x8r_\x8e_\x8l_\x8a_\x8t_\x8i_\x8o_\x8n_\x8s_\x8h_\x8i_\x8p_\x8s
16 *\x8**\x8**\x8*·N.Ne.ex.xt.t·t.to.op.pi.ic.c·*\x8**\x8**\x8*16 *\x8**\x8**\x8*·J.J?.är.rg.gm.mi.in.ne.e·t.te.ee.em.ma.a·*\x8**\x8**\x8*
17 _\x8U_\x8R_\x8L_\x8·_\x8d_\x8i_\x8s_\x8p_\x8a_\x8t_\x8c_\x8h_\x8e_\x8r17 _\x8U_\x8R_\x8L_\x8·_\x8d_\x8i_\x8s_\x8p_\x8a_\x8t_\x8c_\x8h_\x8e_\x8r
18 *\x8**\x8**\x8**\x8*·Q.Qu.ui.ic.ck.k·s.se.ea.ar.rc.ch.h·*\x8**\x8**\x8**\x8*18 *\x8**\x8**\x8**\x8*·K.Ki.ii.ir.ro.ot.ts.si.in.ng.g·*\x8**\x8**\x8**\x8*
19 [q···················][Go]19 [q···················][Otsi]
20 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*20 *\x8**\x8**\x8**\x8*·L\x8La\x8as\x8st\x8t·u\x8up\x8pd\x8da\x8at\x8te\x8e:\x8:·*\x8**\x8**\x8**\x8*
21 Nov·05,·202421 nov·05,·2024
22 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»22 «·_\x8p_\x8r_\x8e_\x8v_\x8i_\x8o_\x8u_\x8s·|·_\x8u_\x8p·|·_\x8n_\x8e_\x8x_\x8t·»
20.1 KB
./usr/share/doc/python-django-doc/html/topics/http/middleware.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Middleware·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Middleware·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="How·to·use·sessions"·href="sessions.html"·/>15 ····<link·rel="next"·title="How·to·use·sessions"·href="sessions.html"·/>
15 ····<link·rel="prev"·title="Generic·views"·href="generic-views.html"·/>16 ····<link·rel="prev"·title="Generic·views"·href="generic-views.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-http-middleware">79 ··········<div·class="yui-g"·id="topics-http-middleware">
79 ············80 ············
80 ··<section·id="s-middleware">81 ··<section·id="s-middleware">
81 <span·id="middleware"></span><h1>Middleware<a·class="headerlink"·href="#middleware"·title="Link·to·this·heading">¶</a></h1>82 <span·id="middleware"></span><h1>Middleware<a·class="headerlink"·href="#middleware"·title="Link·to·this·heading">¶</a></h1>
82 <p>Middleware·is·a·framework·of·hooks·into·Django’s·request/response·processing.83 <p>Middleware·is·a·framework·of·hooks·into·Django’s·request/response·processing.
83 It’s·a·light,·low-level·plugin·system·for·globally·altering·Django’s·input84 It’s·a·light,·low-level·plugin·system·for·globally·altering·Django’s·input
84 or·output.</p>85 or·output.</p>
85 <p>Each·middleware·component·is·responsible·for·doing·some·specific·function.·For86 <p>Each·middleware·component·is·responsible·for·doing·some·specific·function.·For
86 example,·Django·includes·a·middleware·component,87 example,·Django·includes·a·middleware·component,
87 <a·class="reference·internal"·href="../../ref/middleware.html#django.contrib.auth.middleware.AuthenticationMiddleware"·title="django.contrib.auth.middleware.AuthenticationMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AuthenticationMiddleware</span></code></a>,·that88 <a·class="reference·internal"·href="../../ref/middleware.html#django.contrib.auth.middleware.AuthenticationMiddleware"·title="django.contrib.auth.middleware.AuthenticationMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">AuthenticationMiddleware</span></code></a>,·that
88 associates·users·with·requests·using·sessions.</p>89 associates·users·with·requests·using·sessions.</p>
89 <p>This·document·explains·how·middleware·works,·how·you·activate·middleware,·and90 <p>This·document·explains·how·middleware·works,·how·you·activate·middleware,·and
90 how·to·write·your·own·middleware.·Django·ships·with·some·built-in·middleware91 how·to·write·your·own·middleware.·Django·ships·with·some·built-in·middleware
Offset 195, 15 lines modifiedOffset 196, 15 lines modified
195 <a·class="reference·internal"·href="../../ref/middleware.html#middleware-ordering"><span·class="std·std-ref">Middleware·ordering</span></a>·for·some·common·hints·about·ordering·of·Django196 <a·class="reference·internal"·href="../../ref/middleware.html#middleware-ordering"><span·class="std·std-ref">Middleware·ordering</span></a>·for·some·common·hints·about·ordering·of·Django
196 middleware·classes.</p>197 middleware·classes.</p>
197 </section>198 </section>
198 <section·id="s-middleware-order-and-layering">199 <section·id="s-middleware-order-and-layering">
199 <span·id="middleware-order-and-layering"></span><h2>Middleware·order·and·layering<a·class="headerlink"·href="#middleware-order-and-layering"·title="Link·to·this·heading">¶</a></h2>200 <span·id="middleware-order-and-layering"></span><h2>Middleware·order·and·layering<a·class="headerlink"·href="#middleware-order-and-layering"·title="Link·to·this·heading">¶</a></h2>
200 <p>During·the·request·phase,·before·calling·the·view,·Django·applies·middleware·in201 <p>During·the·request·phase,·before·calling·the·view,·Django·applies·middleware·in
201 the·order·it’s·defined·in·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>,·top-down.</p>202 the·order·it’s·defined·in·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>,·top-down.</p>
202 <p>You·can·think·of·it·like·an·onion:·each·middleware·class·is·a·layer·that203 <p>You·can·think·of·it·like·an·onion:·each·middleware·class·is·a·layer·that
203 wraps·the·view,·which·is·in·the·core·of·the·onion.·If·the·request·passes204 wraps·the·view,·which·is·in·the·core·of·the·onion.·If·the·request·passes
204 through·all·the·layers·of·the·onion·(each·one·calls·<code·class="docutils·literal·notranslate"><span·class="pre">get_response</span></code>·to·pass205 through·all·the·layers·of·the·onion·(each·one·calls·<code·class="docutils·literal·notranslate"><span·class="pre">get_response</span></code>·to·pass
205 the·request·in·to·the·next·layer),·all·the·way·to·the·view·at·the·core,·the206 the·request·in·to·the·next·layer),·all·the·way·to·the·view·at·the·core,·the
206 response·will·then·pass·through·every·layer·(in·reverse·order)·on·the·way·back207 response·will·then·pass·through·every·layer·(in·reverse·order)·on·the·way·back
207 out.</p>208 out.</p>
208 <p>If·one·of·the·layers·decides·to·short-circuit·and·return·a·response·without209 <p>If·one·of·the·layers·decides·to·short-circuit·and·return·a·response·without
209 ever·calling·its·<code·class="docutils·literal·notranslate"><span·class="pre">get_response</span></code>,·none·of·the·layers·of·the·onion·inside·that210 ever·calling·its·<code·class="docutils·literal·notranslate"><span·class="pre">get_response</span></code>,·none·of·the·layers·of·the·onion·inside·that
Offset 232, 15 lines modifiedOffset 233, 15 lines modified
232 <p>It·should·return·either·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·or·an·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>233 <p>It·should·return·either·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>·or·an·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>
233 object.·If·it·returns·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·Django·will·continue·processing·this·request,234 object.·If·it·returns·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>,·Django·will·continue·processing·this·request,
234 executing·any·other·<code·class="docutils·literal·notranslate"><span·class="pre">process_view()</span></code>·middleware·and,·then,·the·appropriate235 executing·any·other·<code·class="docutils·literal·notranslate"><span·class="pre">process_view()</span></code>·middleware·and,·then,·the·appropriate
235 view.·If·it·returns·an·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·object,·Django·won’t236 view.·If·it·returns·an·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·object,·Django·won’t
236 bother·calling·the·appropriate·view;·it’ll·apply·response·middleware·to·that237 bother·calling·the·appropriate·view;·it’ll·apply·response·middleware·to·that
237 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·and·return·the·result.</p>238 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·and·return·the·result.</p>
238 <div·class="admonition·note">239 <div·class="admonition·note">
239 <p·class="admonition-title">Note</p>240 <p·class="admonition-title">rkus</p>
240 <p>Accessing·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.POST</span></code></a>·inside241 <p>Accessing·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest.POST"·title="django.http.HttpRequest.POST"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">request.POST</span></code></a>·inside
241 middleware·before·the·view·runs·or·in·<code·class="docutils·literal·notranslate"><span·class="pre">process_view()</span></code>·will·prevent·any242 middleware·before·the·view·runs·or·in·<code·class="docutils·literal·notranslate"><span·class="pre">process_view()</span></code>·will·prevent·any
242 view·running·after·the·middleware·from·being·able·to·<a·class="reference·internal"·href="file-uploads.html#modifying-upload-handlers-on-the-fly"><span·class="std·std-ref">modify·the243 view·running·after·the·middleware·from·being·able·to·<a·class="reference·internal"·href="file-uploads.html#modifying-upload-handlers-on-the-fly"><span·class="std·std-ref">modify·the
243 upload·handlers·for·the·request</span></a>,244 upload·handlers·for·the·request</span></a>,
244 and·should·normally·be·avoided.</p>245 and·should·normally·be·avoided.</p>
245 <p>The·<a·class="reference·internal"·href="../../ref/middleware.html#django.middleware.csrf.CsrfViewMiddleware"·title="django.middleware.csrf.CsrfViewMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code></a>·class·can·be246 <p>The·<a·class="reference·internal"·href="../../ref/middleware.html#django.middleware.csrf.CsrfViewMiddleware"·title="django.middleware.csrf.CsrfViewMiddleware"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code></a>·class·can·be
246 considered·an·exception,·as·it·provides·the247 considered·an·exception,·as·it·provides·the
Offset 303, 15 lines modifiedOffset 304, 15 lines modified
303 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">if</span>·<span·class="n">response</span><span·class="o">.</span><span·class="n">streaming</span><span·class="p">:</span>304 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">if</span>·<span·class="n">response</span><span·class="o">.</span><span·class="n">streaming</span><span·class="p">:</span>
304 ····<span·class="n">response</span><span·class="o">.</span><span·class="n">streaming_content</span>·<span·class="o">=</span>·<span·class="n">wrap_streaming_content</span><span·class="p">(</span><span·class="n">response</span><span·class="o">.</span><span·class="n">streaming_content</span><span·class="p">)</span>305 ····<span·class="n">response</span><span·class="o">.</span><span·class="n">streaming_content</span>·<span·class="o">=</span>·<span·class="n">wrap_streaming_content</span><span·class="p">(</span><span·class="n">response</span><span·class="o">.</span><span·class="n">streaming_content</span><span·class="p">)</span>
305 <span·class="k">else</span><span·class="p">:</span>306 <span·class="k">else</span><span·class="p">:</span>
306 ····<span·class="n">response</span><span·class="o">.</span><span·class="n">content</span>·<span·class="o">=</span>·<span·class="n">alter_content</span><span·class="p">(</span><span·class="n">response</span><span·class="o">.</span><span·class="n">content</span><span·class="p">)</span>307 ····<span·class="n">response</span><span·class="o">.</span><span·class="n">content</span>·<span·class="o">=</span>·<span·class="n">alter_content</span><span·class="p">(</span><span·class="n">response</span><span·class="o">.</span><span·class="n">content</span><span·class="p">)</span>
307 </pre></div>308 </pre></div>
308 </div>309 </div>
309 <div·class="admonition·note">310 <div·class="admonition·note">
310 <p·class="admonition-title">Note</p>311 <p·class="admonition-title">rkus</p>
311 <p><code·class="docutils·literal·notranslate"><span·class="pre">streaming_content</span></code>·should·be·assumed·to·be·too·large·to·hold·in·memory.312 <p><code·class="docutils·literal·notranslate"><span·class="pre">streaming_content</span></code>·should·be·assumed·to·be·too·large·to·hold·in·memory.
312 Response·middleware·may·wrap·it·in·a·new·generator,·but·must·not·consume313 Response·middleware·may·wrap·it·in·a·new·generator,·but·must·not·consume
313 it.·Wrapping·is·typically·implemented·as·follows:</p>314 it.·Wrapping·is·typically·implemented·as·follows:</p>
314 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">def</span>·<span·class="nf">wrap_streaming_content</span><span·class="p">(</span><span·class="n">content</span><span·class="p">):</span>315 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">def</span>·<span·class="nf">wrap_streaming_content</span><span·class="p">(</span><span·class="n">content</span><span·class="p">):</span>
315 ····<span·class="k">for</span>·<span·class="n">chunk</span>·<span·class="ow">in</span>·<span·class="n">content</span><span·class="p">:</span>316 ····<span·class="k">for</span>·<span·class="n">chunk</span>·<span·class="ow">in</span>·<span·class="n">content</span><span·class="p">:</span>
316 ········<span·class="k">yield</span>·<span·class="n">alter_content</span><span·class="p">(</span><span·class="n">chunk</span><span·class="p">)</span>317 ········<span·class="k">yield</span>·<span·class="n">alter_content</span><span·class="p">(</span><span·class="n">chunk</span><span·class="p">)</span>
317 </pre></div>318 </pre></div>
Offset 394, 15 lines modifiedOffset 395, 15 lines modified
394 ············<span·class="n">response</span>·<span·class="o">=</span>·<span·class="n">get_response</span><span·class="p">(</span><span·class="n">request</span><span·class="p">)</span>395 ············<span·class="n">response</span>·<span·class="o">=</span>·<span·class="n">get_response</span><span·class="p">(</span><span·class="n">request</span><span·class="p">)</span>
395 ············<span·class="k">return</span>·<span·class="n">response</span>396 ············<span·class="k">return</span>·<span·class="n">response</span>
  
396 ····<span·class="k">return</span>·<span·class="n">middleware</span>397 ····<span·class="k">return</span>·<span·class="n">middleware</span>
397 </pre></div>398 </pre></div>
398 </div>399 </div>
399 <div·class="admonition·note">400 <div·class="admonition·note">
400 <p·class="admonition-title">Note</p>401 <p·class="admonition-title">rkus</p>
401 <p>If·you·declare·a·hybrid·middleware·that·supports·both·synchronous·and402 <p>If·you·declare·a·hybrid·middleware·that·supports·both·synchronous·and
402 asynchronous·calls,·the·kind·of·call·you·get·may·not·match·the·underlying403 asynchronous·calls,·the·kind·of·call·you·get·may·not·match·the·underlying
403 view.·Django·will·optimize·the·middleware·call·stack·to·have·as·few404 view.·Django·will·optimize·the·middleware·call·stack·to·have·as·few
404 sync/async·transitions·as·possible.</p>405 sync/async·transitions·as·possible.</p>
405 <p>Thus,·even·if·you·are·wrapping·an·async·view,·you·may·be·called·in·sync406 <p>Thus,·even·if·you·are·wrapping·an·async·view,·you·may·be·called·in·sync
406 mode·if·there·is·other,·synchronous·middleware·between·you·and·the·view.</p>407 mode·if·there·is·other,·synchronous·middleware·between·you·and·the·view.</p>
407 </div>408 </div>
Offset 494, 15 lines modifiedOffset 495, 15 lines modified
494 ······495 ······
495 ········496 ········
496 ··········<div·class="yui-b"·id="sidebar">497 ··········<div·class="yui-b"·id="sidebar">
497 ············498 ············
498 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">499 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
499 ········<div·class="sphinxsidebarwrapper">500 ········<div·class="sphinxsidebarwrapper">
500 ··<div>501 ··<div>
Max diff block lines reached; 2061/12537 bytes (16.44%) of diff not shown.
7.76 KB
html2text {}
Max HTML report size reached
43.5 KB
./usr/share/doc/python-django-doc/html/topics/http/sessions.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·use·sessions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·use·sessions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Working·with·forms"·href="../forms/index.html"·/>15 ····<link·rel="next"·title="Working·with·forms"·href="../forms/index.html"·/>
15 ····<link·rel="prev"·title="Middleware"·href="middleware.html"·/>16 ····<link·rel="prev"·title="Middleware"·href="middleware.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 114, 15 lines modifiedOffset 115, 15 lines modified
114 </section>115 </section>
115 <section·id="s-using-cached-sessions">116 <section·id="s-using-cached-sessions">
116 <span·id="s-cached-sessions-backend"></span><span·id="using-cached-sessions"></span><span·id="cached-sessions-backend"></span><h3>Using·cached·sessions<a·class="headerlink"·href="#using-cached-sessions"·title="Link·to·this·heading">¶</a></h3>117 <span·id="s-cached-sessions-backend"></span><span·id="using-cached-sessions"></span><span·id="cached-sessions-backend"></span><h3>Using·cached·sessions<a·class="headerlink"·href="#using-cached-sessions"·title="Link·to·this·heading">¶</a></h3>
117 <p>For·better·performance,·you·may·want·to·use·a·cache-based·session·backend.</p>118 <p>For·better·performance,·you·may·want·to·use·a·cache-based·session·backend.</p>
118 <p>To·store·session·data·using·Django’s·cache·system,·you’ll·first·need·to·make119 <p>To·store·session·data·using·Django’s·cache·system,·you’ll·first·need·to·make
119 sure·you’ve·configured·your·cache;·see·the·<a·class="reference·internal"·href="../cache.html"><span·class="doc">cache·documentation</span></a>·for·details.</p>120 sure·you’ve·configured·your·cache;·see·the·<a·class="reference·internal"·href="../cache.html"><span·class="doc">cache·documentation</span></a>·for·details.</p>
120 <div·class="admonition·warning">121 <div·class="admonition·warning">
121 <p·class="admonition-title">Warning</p>122 <p·class="admonition-title">Hoiatus</p>
122 <p>You·should·only·use·cache-based·sessions·if·you’re·using·the·Memcached·or123 <p>You·should·only·use·cache-based·sessions·if·you’re·using·the·Memcached·or
123 Redis·cache·backend.·The·local-memory·cache·backend·doesn’t·retain·data124 Redis·cache·backend.·The·local-memory·cache·backend·doesn’t·retain·data
124 long·enough·to·be·a·good·choice,·and·it’ll·be·faster·to·use·file·or125 long·enough·to·be·a·good·choice,·and·it’ll·be·faster·to·use·file·or
125 database·sessions·directly·instead·of·sending·everything·through·the·file126 database·sessions·directly·instead·of·sending·everything·through·the·file
126 or·database·cache·backends.·Additionally,·the·local-memory·cache·backend·is127 or·database·cache·backends.·Additionally,·the·local-memory·cache·backend·is
127 NOT·multi-process·safe,·therefore·probably·not·a·good·choice·for·production128 NOT·multi-process·safe,·therefore·probably·not·a·good·choice·for·production
128 environments.</p>129 environments.</p>
Offset 167, 20 lines modifiedOffset 168, 20 lines modified
167 <section·id="s-using-cookie-based-sessions">168 <section·id="s-using-cookie-based-sessions">
168 <span·id="s-cookie-session-backend"></span><span·id="using-cookie-based-sessions"></span><span·id="cookie-session-backend"></span><h3>Using·cookie-based·sessions<a·class="headerlink"·href="#using-cookie-based-sessions"·title="Link·to·this·heading">¶</a></h3>169 <span·id="s-cookie-session-backend"></span><span·id="using-cookie-based-sessions"></span><span·id="cookie-session-backend"></span><h3>Using·cookie-based·sessions<a·class="headerlink"·href="#using-cookie-based-sessions"·title="Link·to·this·heading">¶</a></h3>
169 <p>To·use·cookies-based·sessions,·set·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_ENGINE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_ENGINE</span></code></a>·setting·to170 <p>To·use·cookies-based·sessions,·set·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_ENGINE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_ENGINE</span></code></a>·setting·to
170 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;django.contrib.sessions.backends.signed_cookies&quot;</span></code>.·The·session·data·will·be171 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;django.contrib.sessions.backends.signed_cookies&quot;</span></code>.·The·session·data·will·be
171 stored·using·Django’s·tools·for·<a·class="reference·internal"·href="../signing.html"><span·class="doc">cryptographic·signing</span></a>172 stored·using·Django’s·tools·for·<a·class="reference·internal"·href="../signing.html"><span·class="doc">cryptographic·signing</span></a>
172 and·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SECRET_KEY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a>·setting.</p>173 and·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SECRET_KEY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a>·setting.</p>
173 <div·class="admonition·note">174 <div·class="admonition·note">
174 <p·class="admonition-title">Note</p>175 <p·class="admonition-title">rkus</p>
175 <p>It’s·recommended·to·leave·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_COOKIE_HTTPONLY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_HTTPONLY</span></code></a>·setting176 <p>It’s·recommended·to·leave·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_COOKIE_HTTPONLY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_HTTPONLY</span></code></a>·setting
176 on·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·to·prevent·access·to·the·stored·data·from·JavaScript.</p>177 on·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>·to·prevent·access·to·the·stored·data·from·JavaScript.</p>
177 </div>178 </div>
178 <div·class="admonition·warning">179 <div·class="admonition·warning">
179 <p·class="admonition-title">Warning</p>180 <p·class="admonition-title">Hoiatus</p>
180 <p><strong>The·session·data·is·signed·but·not·encrypted</strong></p>181 <p><strong>The·session·data·is·signed·but·not·encrypted</strong></p>
181 <p>When·using·the·cookies·backend·the·session·data·can·be·read·by·the·client.</p>182 <p>When·using·the·cookies·backend·the·session·data·can·be·read·by·the·client.</p>
182 <p>A·MAC·(Message·Authentication·Code)·is·used·to·protect·the·data·against183 <p>A·MAC·(Message·Authentication·Code)·is·used·to·protect·the·data·against
183 changes·by·the·client,·so·that·the·session·data·will·be·invalidated·when·being184 changes·by·the·client,·so·that·the·session·data·will·be·invalidated·when·being
184 tampered·with.·The·same·invalidation·happens·if·the·client·storing·the185 tampered·with.·The·same·invalidation·happens·if·the·client·storing·the
185 cookie·(e.g.·your·user’s·browser)·can’t·store·all·of·the·session·cookie·and186 cookie·(e.g.·your·user’s·browser)·can’t·store·all·of·the·session·cookie·and
186 drops·data.·Even·though·Django·compresses·the·data,·it’s·still·entirely187 drops·data.·Even·though·Django·compresses·the·data,·it’s·still·entirely
Offset 193, 15 lines modifiedOffset 194, 15 lines modified
193 guarantee·freshness·i.e.·that·you·are·being·sent·back·the·last·thing·you194 guarantee·freshness·i.e.·that·you·are·being·sent·back·the·last·thing·you
194 sent·to·the·client.·This·means·that·for·some·uses·of·session·data,·the195 sent·to·the·client.·This·means·that·for·some·uses·of·session·data,·the
195 cookie·backend·might·open·you·up·to·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Replay_attack">replay·attacks</a>.·Unlike·other·session196 cookie·backend·might·open·you·up·to·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Replay_attack">replay·attacks</a>.·Unlike·other·session
196 backends·which·keep·a·server-side·record·of·each·session·and·invalidate·it197 backends·which·keep·a·server-side·record·of·each·session·and·invalidate·it
197 when·a·user·logs·out,·cookie-based·sessions·are·not·invalidated·when·a·user198 when·a·user·logs·out,·cookie-based·sessions·are·not·invalidated·when·a·user
198 logs·out.·Thus·if·an·attacker·steals·a·user’s·cookie,·they·can·use·that199 logs·out.·Thus·if·an·attacker·steals·a·user’s·cookie,·they·can·use·that
199 cookie·to·login·as·that·user·even·if·the·user·logs·out.·Cookies·will·only200 cookie·to·login·as·that·user·even·if·the·user·logs·out.·Cookies·will·only
200 be·detected·as·stale·if·they·are·older·than·your201 be·detected·as·stale·if·they·are·older·than·your
201 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_COOKIE_AGE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_AGE</span></code></a>.</p>202 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_COOKIE_AGE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_AGE</span></code></a>.</p>
202 <p><strong>Performance</strong></p>203 <p><strong>Performance</strong></p>
203 <p>Finally,·the·size·of·a·cookie·can·have·an·impact·on·the·speed·of·your·site.</p>204 <p>Finally,·the·size·of·a·cookie·can·have·an·impact·on·the·speed·of·your·site.</p>
204 </div>205 </div>
205 </section>206 </section>
206 </section>207 </section>
207 <section·id="s-using-sessions-in-views">208 <section·id="s-using-sessions-in-views">
Offset 489, 22 lines modifiedOffset 490, 22 lines modified
489 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">aget_expiry_age()</span></code></p>490 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">aget_expiry_age()</span></code></p>
490 <p>Returns·the·number·of·seconds·until·this·session·expires.·For·sessions491 <p>Returns·the·number·of·seconds·until·this·session·expires.·For·sessions
491 with·no·custom·expiration·(or·those·set·to·expire·at·browser·close),·this492 with·no·custom·expiration·(or·those·set·to·expire·at·browser·close),·this
492 will·equal·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_COOKIE_AGE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_AGE</span></code></a>.</p>493 will·equal·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_COOKIE_AGE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_AGE</span></code></a>.</p>
493 <p>This·function·accepts·two·optional·keyword·arguments:</p>494 <p>This·function·accepts·two·optional·keyword·arguments:</p>
494 <ul·class="simple">495 <ul·class="simple">
495 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">modification</span></code>:·last·modification·of·the·session,·as·a496 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">modification</span></code>:·last·modification·of·the·session,·as·a
496 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·object.·Defaults·to·the·current·time.</p></li>497 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·object.·Defaults·to·the·current·time.</p></li>
497 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">expiry</span></code>:·expiry·information·for·the·session,·as·a498 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">expiry</span></code>:·expiry·information·for·the·session,·as·a
498 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·object,·an·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#int"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">int</span></code></a>·(in·seconds),·or499 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime</span></code></a>·object,·an·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/functions.html#int"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">int</span></code></a>·(in·seconds),·or
499 <code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.·Defaults·to·the·value·stored·in·the·session·by500 <code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.·Defaults·to·the·value·stored·in·the·session·by
500 <a·class="reference·internal"·href="#django.contrib.sessions.backends.base.SessionBase.set_expiry"·title="django.contrib.sessions.backends.base.SessionBase.set_expiry"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">set_expiry()</span></code></a>/<a·class="reference·internal"·href="#django.contrib.sessions.backends.base.SessionBase.aset_expiry"·title="django.contrib.sessions.backends.base.SessionBase.aset_expiry"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">aset_expiry()</span></code></a>,·if·there·is·one,·or·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p></li>501 <a·class="reference·internal"·href="#django.contrib.sessions.backends.base.SessionBase.set_expiry"·title="django.contrib.sessions.backends.base.SessionBase.set_expiry"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">set_expiry()</span></code></a>/<a·class="reference·internal"·href="#django.contrib.sessions.backends.base.SessionBase.aset_expiry"·title="django.contrib.sessions.backends.base.SessionBase.aset_expiry"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">aset_expiry()</span></code></a>,·if·there·is·one,·or·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.</p></li>
501 </ul>502 </ul>
502 <div·class="admonition·note">503 <div·class="admonition·note">
503 <p·class="admonition-title">Note</p>504 <p·class="admonition-title">rkus</p>
504 <p>This·method·is·used·by·session·backends·to·determine·the·session·expiry505 <p>This·method·is·used·by·session·backends·to·determine·the·session·expiry
505 age·in·seconds·when·saving·the·session.·It·is·not·really·intended·for506 age·in·seconds·when·saving·the·session.·It·is·not·really·intended·for
506 usage·outside·of·that·context.</p>507 usage·outside·of·that·context.</p>
507 <p>In·particular,·while·it·is·<strong>possible</strong>·to·determine·the·remaining508 <p>In·particular,·while·it·is·<strong>possible</strong>·to·determine·the·remaining
508 lifetime·of·a·session·<strong>just·when</strong>·you·have·the·correct509 lifetime·of·a·session·<strong>just·when</strong>·you·have·the·correct
509 <code·class="docutils·literal·notranslate"><span·class="pre">modification</span></code>·value·<strong>and</strong>·the·<code·class="docutils·literal·notranslate"><span·class="pre">expiry</span></code>·is·set·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">datetime</span></code>510 <code·class="docutils·literal·notranslate"><span·class="pre">modification</span></code>·value·<strong>and</strong>·the·<code·class="docutils·literal·notranslate"><span·class="pre">expiry</span></code>·is·set·as·a·<code·class="docutils·literal·notranslate"><span·class="pre">datetime</span></code>
510 object,·where·you·do·have·the·<code·class="docutils·literal·notranslate"><span·class="pre">modification</span></code>·value,·it·is·more511 object,·where·you·do·have·the·<code·class="docutils·literal·notranslate"><span·class="pre">modification</span></code>·value,·it·is·more
Offset 591, 15 lines modifiedOffset 592, 15 lines modified
591 <section·id="s-session-serialization">592 <section·id="s-session-serialization">
592 <span·id="s-id1"></span><span·id="session-serialization"></span><span·id="id1"></span><h3>Session·serialization<a·class="headerlink"·href="#session-serialization"·title="Link·to·this·heading">¶</a></h3>593 <span·id="s-id1"></span><span·id="session-serialization"></span><span·id="id1"></span><h3>Session·serialization<a·class="headerlink"·href="#session-serialization"·title="Link·to·this·heading">¶</a></h3>
593 <p>By·default,·Django·serializes·session·data·using·JSON.·You·can·use·the594 <p>By·default,·Django·serializes·session·data·using·JSON.·You·can·use·the
594 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_SERIALIZER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SERIALIZER</span></code></a>·setting·to·customize·the·session·serialization595 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-SESSION_SERIALIZER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_SERIALIZER</span></code></a>·setting·to·customize·the·session·serialization
595 format.·Even·with·the·caveats·described·in·<a·class="reference·internal"·href="#custom-serializers"><span·class="std·std-ref">Write·your·own·serializer</span></a>,·we·highly596 format.·Even·with·the·caveats·described·in·<a·class="reference·internal"·href="#custom-serializers"><span·class="std·std-ref">Write·your·own·serializer</span></a>,·we·highly
596 recommend·sticking·with·JSON·serialization·<em>especially·if·you·are·using·the597 recommend·sticking·with·JSON·serialization·<em>especially·if·you·are·using·the
597 cookie·backend</em>.</p>598 cookie·backend</em>.</p>
598 <p>For·example,·here’s·an·attack·scenario·if·you·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>·to·serialize599 <p>For·example,·here’s·an·attack·scenario·if·you·use·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/pickle.html#module-pickle"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">pickle</span></code></a>·to·serialize
599 session·data.·If·you’re·using·the·<a·class="reference·internal"·href="#cookie-session-backend"><span·class="std·std-ref">signed·cookie·session·backend</span></a>·and·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SECRET_KEY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a>·(or·any·key·of600 session·data.·If·you’re·using·the·<a·class="reference·internal"·href="#cookie-session-backend"><span·class="std·std-ref">signed·cookie·session·backend</span></a>·and·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-SECRET_KEY"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY</span></code></a>·(or·any·key·of
600 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-SECRET_KEY_FALLBACKS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY_FALLBACKS</span></code></a>)·is·known·by·an·attacker·(there·isn’t·an601 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-SECRET_KEY_FALLBACKS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY_FALLBACKS</span></code></a>)·is·known·by·an·attacker·(there·isn’t·an
601 inherent·vulnerability·in·Django·that·would·cause·it·to·leak),·the·attacker602 inherent·vulnerability·in·Django·that·would·cause·it·to·leak),·the·attacker
Max diff block lines reached; 17740/30966 bytes (57.29%) of diff not shown.
13.1 KB
html2text {}
Max HTML report size reached
25.0 KB
./usr/share/doc/python-django-doc/html/topics/http/shortcuts.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·shortcut·functions·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·shortcut·functions·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Generic·views"·href="generic-views.html"·/>15 ····<link·rel="next"·title="Generic·views"·href="generic-views.html"·/>
15 ····<link·rel="prev"·title="File·Uploads"·href="file-uploads.html"·/>16 ····<link·rel="prev"·title="File·Uploads"·href="file-uploads.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 21 lines modifiedOffset 77, 21 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-http-shortcuts">79 ··········<div·class="yui-g"·id="topics-http-shortcuts">
79 ············80 ············
80 ··<section·id="s-module-django.shortcuts">81 ··<section·id="s-module-django.shortcuts">
81 <span·id="s-django-shortcut-functions"></span><span·id="module-django.shortcuts"></span><span·id="django-shortcut-functions"></span><h1>Django·shortcut·functions<a·class="headerlink"·href="#module-django.shortcuts"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-django-shortcut-functions"></span><span·id="module-django.shortcuts"></span><span·id="django-shortcut-functions"></span><h1>Django·shortcut·functions<a·class="headerlink"·href="#module-django.shortcuts"·title="Link·to·this·heading">¶</a></h1>
82 <p·id="index-0">The·package·<code·class="docutils·literal·notranslate"><span·class="pre">django.shortcuts</span></code>·collects·helper·functions·and·classes·that83 <p·id="index-0">The·package·<code·class="docutils·literal·notranslate"><span·class="pre">django.shortcuts</span></code>·collects·helper·functions·and·classes·that
83 span·multiple·levels·of·MVC.·In·other·words,·these·functions/classes84 span·multiple·levels·of·MVC.·In·other·words,·these·functions/classes
84 introduce·controlled·coupling·for·convenience’s·sake.</p>85 introduce·controlled·coupling·for·convenience’s·sake.</p>
85 <section·id="s-render">86 <section·id="s-render">
86 <span·id="render"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">render()</span></code><a·class="headerlink"·href="#render"·title="Link·to·this·heading">¶</a></h2>87 <span·id="render"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">render()</span></code><a·class="headerlink"·href="#render"·title="Link·to·this·heading">¶</a></h2>
87 <dl·class="py·function">88 <dl·class="py·function">
88 <dt·class="sig·sig-object·py"·id="django.shortcuts.render">89 <dt·class="sig·sig-object·py"·id="django.shortcuts.render">
89 <span·class="sig-name·descname"><span·class="pre">render</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">context</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">content_type</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">status</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/shortcuts.py#L18"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.shortcuts.render"·title="Link·to·this·definition">¶</a></dt>90 <span·class="sig-name·descname"><span·class="pre">render</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">request</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">context</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">content_type</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">status</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/shortcuts.py#L18"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.shortcuts.render"·title="Link·to·this·definition">¶</a></dt>
90 <dd><p>Combines·a·given·template·with·a·given·context·dictionary·and·returns·an91 <dd><p>Combines·a·given·template·with·a·given·context·dictionary·and·returns·an
91 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·object·with·that·rendered·text.</p>92 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·object·with·that·rendered·text.</p>
92 <p>Django·does·not·provide·a·shortcut·function·which·returns·a93 <p>Django·does·not·provide·a·shortcut·function·which·returns·a
93 <a·class="reference·internal"·href="../../ref/template-response.html#django.template.response.TemplateResponse"·title="django.template.response.TemplateResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplateResponse</span></code></a>·because·the·constructor94 <a·class="reference·internal"·href="../../ref/template-response.html#django.template.response.TemplateResponse"·title="django.template.response.TemplateResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplateResponse</span></code></a>·because·the·constructor
94 of·<a·class="reference·internal"·href="../../ref/template-response.html#django.template.response.TemplateResponse"·title="django.template.response.TemplateResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplateResponse</span></code></a>·offers·the·same·level95 of·<a·class="reference·internal"·href="../../ref/template-response.html#django.template.response.TemplateResponse"·title="django.template.response.TemplateResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">TemplateResponse</span></code></a>·offers·the·same·level
95 of·convenience·as·<a·class="reference·internal"·href="#django.shortcuts.render"·title="django.shortcuts.render"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">render()</span></code></a>.</p>96 of·convenience·as·<a·class="reference·internal"·href="#django.shortcuts.render"·title="django.shortcuts.render"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">render()</span></code></a>.</p>
96 </dd></dl>97 </dd></dl>
Offset 157, 15 lines modifiedOffset 158, 15 lines modified
157 </div>158 </div>
158 </section>159 </section>
159 </section>160 </section>
160 <section·id="s-redirect">161 <section·id="s-redirect">
161 <span·id="redirect"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">redirect()</span></code><a·class="headerlink"·href="#redirect"·title="Link·to·this·heading">¶</a></h2>162 <span·id="redirect"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">redirect()</span></code><a·class="headerlink"·href="#redirect"·title="Link·to·this·heading">¶</a></h2>
162 <dl·class="py·function">163 <dl·class="py·function">
163 <dt·class="sig·sig-object·py"·id="django.shortcuts.redirect">164 <dt·class="sig·sig-object·py"·id="django.shortcuts.redirect">
164 <span·class="sig-name·descname"><span·class="pre">redirect</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">to</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">permanent</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/shortcuts.py#L29"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.shortcuts.redirect"·title="Link·to·this·definition">¶</a></dt>165 <span·class="sig-name·descname"><span·class="pre">redirect</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">to</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">permanent</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/shortcuts.py#L29"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.shortcuts.redirect"·title="Link·to·this·definition">¶</a></dt>
165 <dd><p>Returns·an·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponseRedirect</span></code></a>·to·the·appropriate·URL166 <dd><p>Returns·an·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponseRedirect"·title="django.http.HttpResponseRedirect"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponseRedirect</span></code></a>·to·the·appropriate·URL
166 for·the·arguments·passed.</p>167 for·the·arguments·passed.</p>
167 <p>The·arguments·could·be:</p>168 <p>The·arguments·could·be:</p>
168 <ul·class="simple">169 <ul·class="simple">
169 <li><p>A·model:·the·model’s·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.get_absolute_url"·title="django.db.models.Model.get_absolute_url"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code></a>170 <li><p>A·model:·the·model’s·<a·class="reference·internal"·href="../../ref/models/instances.html#django.db.models.Model.get_absolute_url"·title="django.db.models.Model.get_absolute_url"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_absolute_url()</span></code></a>
170 function·will·be·called.</p></li>171 function·will·be·called.</p></li>
171 <li><p>A·view·name,·possibly·with·arguments:·<a·class="reference·internal"·href="../../ref/urlresolvers.html#django.urls.reverse"·title="django.urls.reverse"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a>·will·be172 <li><p>A·view·name,·possibly·with·arguments:·<a·class="reference·internal"·href="../../ref/urlresolvers.html#django.urls.reverse"·title="django.urls.reverse"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">reverse()</span></code></a>·will·be
Offset 228, 15 lines modifiedOffset 229, 15 lines modified
228 </div>229 </div>
229 </section>230 </section>
230 </section>231 </section>
231 <section·id="s-get-object-or-404">232 <section·id="s-get-object-or-404">
232 <span·id="get-object-or-404"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">get_object_or_404()</span></code><a·class="headerlink"·href="#get-object-or-404"·title="Link·to·this·heading">¶</a></h2>233 <span·id="get-object-or-404"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">get_object_or_404()</span></code><a·class="headerlink"·href="#get-object-or-404"·title="Link·to·this·heading">¶</a></h2>
233 <dl·class="py·function">234 <dl·class="py·function">
234 <dt·class="sig·sig-object·py"·id="django.shortcuts.get_object_or_404">235 <dt·class="sig·sig-object·py"·id="django.shortcuts.get_object_or_404">
235 <span·class="sig-name·descname"><span·class="pre">get_object_or_404</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">klass</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/shortcuts.py#L65"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.shortcuts.get_object_or_404"·title="Link·to·this·definition">¶</a></dt>236 <span·class="sig-name·descname"><span·class="pre">get_object_or_404</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">klass</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/shortcuts.py#L65"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.shortcuts.get_object_or_404"·title="Link·to·this·definition">¶</a></dt>
236 <dd></dd></dl>237 <dd></dd></dl>
  
237 <dl·class="py·function">238 <dl·class="py·function">
238 <dt·class="sig·sig-object·py"·id="django.shortcuts.aget_object_or_404">239 <dt·class="sig·sig-object·py"·id="django.shortcuts.aget_object_or_404">
239 <span·class="sig-name·descname"><span·class="pre">aget_object_or_404</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">klass</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="headerlink"·href="#django.shortcuts.aget_object_or_404"·title="Link·to·this·definition">¶</a></dt>240 <span·class="sig-name·descname"><span·class="pre">aget_object_or_404</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">klass</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="headerlink"·href="#django.shortcuts.aget_object_or_404"·title="Link·to·this·definition">¶</a></dt>
240 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">aget_object_or_404()</span></code></p>241 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">aget_object_or_404()</span></code></p>
241 <p>Calls·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.get"·title="django.db.models.query.QuerySet.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get()</span></code></a>·on·a·given·model242 <p>Calls·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.get"·title="django.db.models.query.QuerySet.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get()</span></code></a>·on·a·given·model
Offset 314, 15 lines modifiedOffset 315, 15 lines modified
314 </div>315 </div>
315 </section>316 </section>
316 </section>317 </section>
317 <section·id="s-get-list-or-404">318 <section·id="s-get-list-or-404">
318 <span·id="get-list-or-404"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">get_list_or_404()</span></code><a·class="headerlink"·href="#get-list-or-404"·title="Link·to·this·heading">¶</a></h2>319 <span·id="get-list-or-404"></span><h2><code·class="docutils·literal·notranslate"><span·class="pre">get_list_or_404()</span></code><a·class="headerlink"·href="#get-list-or-404"·title="Link·to·this·heading">¶</a></h2>
319 <dl·class="py·function">320 <dl·class="py·function">
320 <dt·class="sig·sig-object·py"·id="django.shortcuts.get_list_or_404">321 <dt·class="sig·sig-object·py"·id="django.shortcuts.get_list_or_404">
321 <span·class="sig-name·descname"><span·class="pre">get_list_or_404</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">klass</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/shortcuts.py#L110"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.shortcuts.get_list_or_404"·title="Link·to·this·definition">¶</a></dt>322 <span·class="sig-name·descname"><span·class="pre">get_list_or_404</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">klass</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/shortcuts.py#L110"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.shortcuts.get_list_or_404"·title="Link·to·this·definition">¶</a></dt>
322 <dd></dd></dl>323 <dd></dd></dl>
  
323 <dl·class="py·function">324 <dl·class="py·function">
324 <dt·class="sig·sig-object·py"·id="django.shortcuts.aget_list_or_404">325 <dt·class="sig·sig-object·py"·id="django.shortcuts.aget_list_or_404">
325 <span·class="sig-name·descname"><span·class="pre">aget_list_or_404</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">klass</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="headerlink"·href="#django.shortcuts.aget_list_or_404"·title="Link·to·this·definition">¶</a></dt>326 <span·class="sig-name·descname"><span·class="pre">aget_list_or_404</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">klass</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span><span·class="n"><span·class="pre">args</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="headerlink"·href="#django.shortcuts.aget_list_or_404"·title="Link·to·this·definition">¶</a></dt>
326 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">aget_list_or_404()</span></code></p>327 <dd><p><em>Asynchronous·version</em>:·<code·class="docutils·literal·notranslate"><span·class="pre">aget_list_or_404()</span></code></p>
327 <p>Returns·the·result·of·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.filter"·title="django.db.models.query.QuerySet.filter"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">filter()</span></code></a>·on328 <p>Returns·the·result·of·<a·class="reference·internal"·href="../../ref/models/querysets.html#django.db.models.query.QuerySet.filter"·title="django.db.models.query.QuerySet.filter"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">filter()</span></code></a>·on
Offset 378, 15 lines modifiedOffset 379, 15 lines modified
378 ······379 ······
379 ········380 ········
380 ··········<div·class="yui-b"·id="sidebar">381 ··········<div·class="yui-b"·id="sidebar">
381 ············382 ············
382 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">383 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
383 ········<div·class="sphinxsidebarwrapper">384 ········<div·class="sphinxsidebarwrapper">
384 ··<div>385 ··<div>
385 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>386 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
386 ····<ul>387 ····<ul>
387 <li><a·class="reference·internal"·href="#">Django·shortcut·functions</a><ul>388 <li><a·class="reference·internal"·href="#">Django·shortcut·functions</a><ul>
388 <li><a·class="reference·internal"·href="#render"><code·class="docutils·literal·notranslate"><span·class="pre">render()</span></code></a><ul>389 <li><a·class="reference·internal"·href="#render"><code·class="docutils·literal·notranslate"><span·class="pre">render()</span></code></a><ul>
389 <li><a·class="reference·internal"·href="#required-arguments">Required·arguments</a></li>390 <li><a·class="reference·internal"·href="#required-arguments">Required·arguments</a></li>
390 <li><a·class="reference·internal"·href="#optional-arguments">Optional·arguments</a></li>391 <li><a·class="reference·internal"·href="#optional-arguments">Optional·arguments</a></li>
391 <li><a·class="reference·internal"·href="#example">Example</a></li>392 <li><a·class="reference·internal"·href="#example">Example</a></li>
392 </ul>393 </ul>
Offset 407, 37 lines modifiedOffset 408, 37 lines modified
407 </li>408 </li>
Max diff block lines reached; 1422/18465 bytes (7.70%) of diff not shown.
6.81 KB
html2text {}
Max HTML report size reached
26.0 KB
./usr/share/doc/python-django-doc/html/topics/http/urls.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>URL·dispatcher·&#8212;·Django·5.1.3·documentation</title>6 ····<title>URL·dispatcher·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Writing·views"·href="views.html"·/>15 ····<link·rel="next"·title="Writing·views"·href="views.html"·/>
15 ····<link·rel="prev"·title="Handling·HTTP·requests"·href="index.html"·/>16 ····<link·rel="prev"·title="Handling·HTTP·requests"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 102, 15 lines modifiedOffset 103, 15 lines modified
102 <ol·class="arabic·simple">103 <ol·class="arabic·simple">
103 <li><p>Django·determines·the·root·URLconf·module·to·use.·Ordinarily,104 <li><p>Django·determines·the·root·URLconf·module·to·use.·Ordinarily,
104 this·is·the·value·of·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-ROOT_URLCONF"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ROOT_URLCONF</span></code></a>·setting,·but·if·the·incoming105 this·is·the·value·of·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-ROOT_URLCONF"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ROOT_URLCONF</span></code></a>·setting,·but·if·the·incoming
105 <code·class="docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code>·object·has·a·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest.urlconf"·title="django.http.HttpRequest.urlconf"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">urlconf</span></code></a>106 <code·class="docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code>·object·has·a·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest.urlconf"·title="django.http.HttpRequest.urlconf"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">urlconf</span></code></a>
106 attribute·(set·by·middleware),·its·value·will·be·used·in·place·of·the107 attribute·(set·by·middleware),·its·value·will·be·used·in·place·of·the
107 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-ROOT_URLCONF"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ROOT_URLCONF</span></code></a>·setting.</p></li>108 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-ROOT_URLCONF"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ROOT_URLCONF</span></code></a>·setting.</p></li>
108 <li><p>Django·loads·that·Python·module·and·looks·for·the·variable109 <li><p>Django·loads·that·Python·module·and·looks·for·the·variable
109 <code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>.·This·should·be·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·of110 <code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>.·This·should·be·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·of
110 <a·class="reference·internal"·href="../../ref/urls.html#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.urls.path()</span></code></a>·and/or·<a·class="reference·internal"·href="../../ref/urls.html#django.urls.re_path"·title="django.urls.re_path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.urls.re_path()</span></code></a>·instances.</p></li>111 <a·class="reference·internal"·href="../../ref/urls.html#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.urls.path()</span></code></a>·and/or·<a·class="reference·internal"·href="../../ref/urls.html#django.urls.re_path"·title="django.urls.re_path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.urls.re_path()</span></code></a>·instances.</p></li>
111 <li><p>Django·runs·through·each·URL·pattern,·in·order,·and·stops·at·the·first112 <li><p>Django·runs·through·each·URL·pattern,·in·order,·and·stops·at·the·first
112 one·that·matches·the·requested·URL,·matching·against113 one·that·matches·the·requested·URL,·matching·against
113 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest.path_info"·title="django.http.HttpRequest.path_info"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">path_info</span></code></a>.</p></li>114 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpRequest.path_info"·title="django.http.HttpRequest.path_info"><code·class="xref·py·py-attr·docutils·literal·notranslate"><span·class="pre">path_info</span></code></a>.</p></li>
114 <li><p>Once·one·of·the·URL·patterns·matches,·Django·imports·and·calls·the·given115 <li><p>Once·one·of·the·URL·patterns·matches,·Django·imports·and·calls·the·given
115 view,·which·is·a·Python·function·(or·a·<a·class="reference·internal"·href="../class-based-views/index.html"><span·class="doc">class-based·view</span></a>).·The·view·gets·passed·the·following116 view,·which·is·a·Python·function·(or·a·<a·class="reference·internal"·href="../class-based-views/index.html"><span·class="doc">class-based·view</span></a>).·The·view·gets·passed·the·following
116 arguments:</p>117 arguments:</p>
Offset 179, 15 lines modifiedOffset 180, 15 lines modified
179 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">int</span></code>·-·Matches·zero·or·any·positive·integer.·Returns·an·<code·class="docutils·literal·notranslate"><span·class="pre">int</span></code>.</p></li>180 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">int</span></code>·-·Matches·zero·or·any·positive·integer.·Returns·an·<code·class="docutils·literal·notranslate"><span·class="pre">int</span></code>.</p></li>
180 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">slug</span></code>·-·Matches·any·slug·string·consisting·of·ASCII·letters·or·numbers,181 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">slug</span></code>·-·Matches·any·slug·string·consisting·of·ASCII·letters·or·numbers,
181 plus·the·hyphen·and·underscore·characters.·For·example,182 plus·the·hyphen·and·underscore·characters.·For·example,
182 <code·class="docutils·literal·notranslate"><span·class="pre">building-your-1st-django-site</span></code>.</p></li>183 <code·class="docutils·literal·notranslate"><span·class="pre">building-your-1st-django-site</span></code>.</p></li>
183 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">uuid</span></code>·-·Matches·a·formatted·UUID.·To·prevent·multiple·URLs·from·mapping·to184 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">uuid</span></code>·-·Matches·a·formatted·UUID.·To·prevent·multiple·URLs·from·mapping·to
184 the·same·page,·dashes·must·be·included·and·letters·must·be·lowercase.·For185 the·same·page,·dashes·must·be·included·and·letters·must·be·lowercase.·For
185 example,·<code·class="docutils·literal·notranslate"><span·class="pre">075194d3-6885-417e-a8a8-6c931e272f00</span></code>.·Returns·a186 example,·<code·class="docutils·literal·notranslate"><span·class="pre">075194d3-6885-417e-a8a8-6c931e272f00</span></code>.·Returns·a
186 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/uuid.html#uuid.UUID"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UUID</span></code></a>·instance.</p></li>187 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/uuid.html#uuid.UUID"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">UUID</span></code></a>·instance.</p></li>
187 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">path</span></code>·-·Matches·any·non-empty·string,·including·the·path·separator,188 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">path</span></code>·-·Matches·any·non-empty·string,·including·the·path·separator,
188 <code·class="docutils·literal·notranslate"><span·class="pre">'/'</span></code>.·This·allows·you·to·match·against·a·complete·URL·path·rather·than189 <code·class="docutils·literal·notranslate"><span·class="pre">'/'</span></code>.·This·allows·you·to·match·against·a·complete·URL·path·rather·than
189 a·segment·of·a·URL·path·as·with·<code·class="docutils·literal·notranslate"><span·class="pre">str</span></code>.</p></li>190 a·segment·of·a·URL·path·as·with·<code·class="docutils·literal·notranslate"><span·class="pre">str</span></code>.</p></li>
190 </ul>191 </ul>
191 </section>192 </section>
192 <section·id="s-registering-custom-path-converters">193 <section·id="s-registering-custom-path-converters">
193 <span·id="s-id2"></span><span·id="registering-custom-path-converters"></span><span·id="id2"></span><h2>Registering·custom·path·converters<a·class="headerlink"·href="#registering-custom-path-converters"·title="Link·to·this·heading">¶</a></h2>194 <span·id="s-id2"></span><span·id="registering-custom-path-converters"></span><span·id="id2"></span><h2>Registering·custom·path·converters<a·class="headerlink"·href="#registering-custom-path-converters"·title="Link·to·this·heading">¶</a></h2>
Offset 229, 15 lines modifiedOffset 230, 15 lines modified
229 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/2003/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">special_case_2003</span><span·class="p">),</span>230 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/2003/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">special_case_2003</span><span·class="p">),</span>
230 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/&lt;yyyy:year&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">year_archive</span><span·class="p">),</span>231 ····<span·class="n">path</span><span·class="p">(</span><span·class="s2">&quot;articles/&lt;yyyy:year&gt;/&quot;</span><span·class="p">,</span>·<span·class="n">views</span><span·class="o">.</span><span·class="n">year_archive</span><span·class="p">),</span>
231 ····<span·class="o">...</span><span·class="p">,</span>232 ····<span·class="o">...</span><span·class="p">,</span>
232 <span·class="p">]</span>233 <span·class="p">]</span>
233 </pre></div>234 </pre></div>
234 </div>235 </div>
235 <div·class="deprecated">236 <div·class="deprecated">
236 <p><span·class="versionmodified·deprecated">Deprecated·since·version·5.1:·</span>Overriding·existing·converters·with·<code·class="docutils·literal·notranslate"><span·class="pre">django.urls.register_converter()</span></code>·is237 <p><span·class="versionmodified·deprecated">Iganenud·alates·versioonist·5.1:·</span>Overriding·existing·converters·with·<code·class="docutils·literal·notranslate"><span·class="pre">django.urls.register_converter()</span></code>·is
237 deprecated.</p>238 deprecated.</p>
238 </div>239 </div>
239 </section>240 </section>
240 <section·id="s-using-regular-expressions">241 <section·id="s-using-regular-expressions">
241 <span·id="using-regular-expressions"></span><h2>Using·regular·expressions<a·class="headerlink"·href="#using-regular-expressions"·title="Link·to·this·heading">¶</a></h2>242 <span·id="using-regular-expressions"></span><h2>Using·regular·expressions<a·class="headerlink"·href="#using-regular-expressions"·title="Link·to·this·heading">¶</a></h2>
242 <p>If·the·paths·and·converters·syntax·isn’t·sufficient·for·defining·your·URL243 <p>If·the·paths·and·converters·syntax·isn’t·sufficient·for·defining·your·URL
243 patterns,·you·can·also·use·regular·expressions.·To·do·so,·use244 patterns,·you·can·also·use·regular·expressions.·To·do·so,·use
Offset 327, 15 lines modifiedOffset 328, 15 lines modified
327 for·<code·class="docutils·literal·notranslate"><span·class="pre">myapp/</span></code>.</p>328 for·<code·class="docutils·literal·notranslate"><span·class="pre">myapp/</span></code>.</p>
328 <p>The·URLconf·doesn’t·look·at·the·request·method.·In·other·words,·all·request329 <p>The·URLconf·doesn’t·look·at·the·request·method.·In·other·words,·all·request
329 methods··<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">HEAD</span></code>,·etc.··will·be·routed·to·the·same330 methods··<code·class="docutils·literal·notranslate"><span·class="pre">POST</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">GET</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">HEAD</span></code>,·etc.··will·be·routed·to·the·same
330 function·for·the·same·URL.</p>331 function·for·the·same·URL.</p>
331 </section>332 </section>
332 <section·id="s-specifying-defaults-for-view-arguments">333 <section·id="s-specifying-defaults-for-view-arguments">
333 <span·id="specifying-defaults-for-view-arguments"></span><h2>Specifying·defaults·for·view·arguments<a·class="headerlink"·href="#specifying-defaults-for-view-arguments"·title="Link·to·this·heading">¶</a></h2>334 <span·id="specifying-defaults-for-view-arguments"></span><h2>Specifying·defaults·for·view·arguments<a·class="headerlink"·href="#specifying-defaults-for-view-arguments"·title="Link·to·this·heading">¶</a></h2>
334 <p>A·convenient·trick·is·to·specify·default·parameters·for·your·views·arguments.335 <p>A·convenient·trick·is·to·specify·default·parameters·for·your·views·arguments.
335 Here’s·an·example·URLconf·and·view:</p>336 Here’s·an·example·URLconf·and·view:</p>
336 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·URLconf</span>337 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·URLconf</span>
337 <span·class="kn">from</span>·<span·class="nn">django.urls</span>·<span·class="kn">import</span>·<span·class="n">path</span>338 <span·class="kn">from</span>·<span·class="nn">django.urls</span>·<span·class="kn">import</span>·<span·class="n">path</span>
  
338 <span·class="kn">from</span>·<span·class="nn">.</span>·<span·class="kn">import</span>·<span·class="n">views</span>339 <span·class="kn">from</span>·<span·class="nn">.</span>·<span·class="kn">import</span>·<span·class="n">views</span>
  
339 <span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>340 <span·class="n">urlpatterns</span>·<span·class="o">=</span>·<span·class="p">[</span>
Offset 360, 15 lines modifiedOffset 361, 15 lines modified
360 <span·id="performance"></span><h2>Performance<a·class="headerlink"·href="#performance"·title="Link·to·this·heading">¶</a></h2>361 <span·id="performance"></span><h2>Performance<a·class="headerlink"·href="#performance"·title="Link·to·this·heading">¶</a></h2>
361 <p>Django·processes·regular·expressions·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>·list·which·is362 <p>Django·processes·regular·expressions·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>·list·which·is
362 compiled·the·first·time·it’s·accessed.·Subsequent·requests·use·the·cached363 compiled·the·first·time·it’s·accessed.·Subsequent·requests·use·the·cached
363 configuration·via·the·URL·resolver.</p>364 configuration·via·the·URL·resolver.</p>
364 </section>365 </section>
365 <section·id="s-syntax-of-the-urlpatterns-variable">366 <section·id="s-syntax-of-the-urlpatterns-variable">
366 <span·id="syntax-of-the-urlpatterns-variable"></span><h2>Syntax·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>·variable<a·class="headerlink"·href="#syntax-of-the-urlpatterns-variable"·title="Link·to·this·heading">¶</a></h2>367 <span·id="syntax-of-the-urlpatterns-variable"></span><h2>Syntax·of·the·<code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>·variable<a·class="headerlink"·href="#syntax-of-the-urlpatterns-variable"·title="Link·to·this·heading">¶</a></h2>
367 <p><code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>·should·be·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·of·<a·class="reference·internal"·href="../../ref/urls.html#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">path()</span></code></a>368 <p><code·class="docutils·literal·notranslate"><span·class="pre">urlpatterns</span></code>·should·be·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-sequence"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">sequence</span></a>·of·<a·class="reference·internal"·href="../../ref/urls.html#django.urls.path"·title="django.urls.path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">path()</span></code></a>
368 and/or·<a·class="reference·internal"·href="../../ref/urls.html#django.urls.re_path"·title="django.urls.re_path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re_path()</span></code></a>·instances.</p>369 and/or·<a·class="reference·internal"·href="../../ref/urls.html#django.urls.re_path"·title="django.urls.re_path"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">re_path()</span></code></a>·instances.</p>
369 </section>370 </section>
370 <section·id="s-error-handling">371 <section·id="s-error-handling">
371 <span·id="error-handling"></span><h2>Error·handling<a·class="headerlink"·href="#error-handling"·title="Link·to·this·heading">¶</a></h2>372 <span·id="error-handling"></span><h2>Error·handling<a·class="headerlink"·href="#error-handling"·title="Link·to·this·heading">¶</a></h2>
372 <p>When·Django·can’t·find·a·match·for·the·requested·URL,·or·when·an·exception·is373 <p>When·Django·can’t·find·a·match·for·the·requested·URL,·or·when·an·exception·is
373 raised,·Django·invokes·an·error-handling·view.</p>374 raised,·Django·invokes·an·error-handling·view.</p>
374 <p>The·views·to·use·for·these·cases·are·specified·by·four·variables.·Their375 <p>The·views·to·use·for·these·cases·are·specified·by·four·variables.·Their
Offset 385, 16 lines modifiedOffset 386, 16 lines modified
385 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">handler403</span></code>··See·<a·class="reference·internal"·href="../../ref/urls.html#django.conf.urls.handler403"·title="django.conf.urls.handler403"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">django.conf.urls.handler403</span></code></a>.</p></li>386 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">handler403</span></code>··See·<a·class="reference·internal"·href="../../ref/urls.html#django.conf.urls.handler403"·title="django.conf.urls.handler403"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">django.conf.urls.handler403</span></code></a>.</p></li>
386 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">handler404</span></code>··See·<a·class="reference·internal"·href="../../ref/urls.html#django.conf.urls.handler404"·title="django.conf.urls.handler404"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">django.conf.urls.handler404</span></code></a>.</p></li>387 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">handler404</span></code>··See·<a·class="reference·internal"·href="../../ref/urls.html#django.conf.urls.handler404"·title="django.conf.urls.handler404"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">django.conf.urls.handler404</span></code></a>.</p></li>
387 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">handler500</span></code>··See·<a·class="reference·internal"·href="../../ref/urls.html#django.conf.urls.handler500"·title="django.conf.urls.handler500"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">django.conf.urls.handler500</span></code></a>.</p></li>388 <li><p><code·class="docutils·literal·notranslate"><span·class="pre">handler500</span></code>··See·<a·class="reference·internal"·href="../../ref/urls.html#django.conf.urls.handler500"·title="django.conf.urls.handler500"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">django.conf.urls.handler500</span></code></a>.</p></li>
388 </ul>389 </ul>
389 </section>390 </section>
390 <section·id="s-including-other-urlconfs">391 <section·id="s-including-other-urlconfs">
391 <span·id="s-id3"></span><span·id="including-other-urlconfs"></span><span·id="id3"></span><h2>Including·other·URLconfs<a·class="headerlink"·href="#including-other-urlconfs"·title="Link·to·this·heading">¶</a></h2>392 <span·id="s-id3"></span><span·id="including-other-urlconfs"></span><span·id="id3"></span><h2>Including·other·URLconfs<a·class="headerlink"·href="#including-other-urlconfs"·title="Link·to·this·heading">¶</a></h2>
Max diff block lines reached; 4786/19130 bytes (25.02%) of diff not shown.
7.15 KB
html2text {}
Max HTML report size reached
16.6 KB
./usr/share/doc/python-django-doc/html/topics/http/views.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·views·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·views·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="View·decorators"·href="decorators.html"·/>15 ····<link·rel="next"·title="View·decorators"·href="decorators.html"·/>
15 ····<link·rel="prev"·title="URL·dispatcher"·href="urls.html"·/>16 ····<link·rel="prev"·title="URL·dispatcher"·href="urls.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 80, 15 lines modifiedOffset 81, 15 lines modified
80 ··<section·id="s-writing-views">81 ··<section·id="s-writing-views">
81 <span·id="writing-views"></span><h1>Writing·views<a·class="headerlink"·href="#writing-views"·title="Link·to·this·heading">¶</a></h1>82 <span·id="writing-views"></span><h1>Writing·views<a·class="headerlink"·href="#writing-views"·title="Link·to·this·heading">¶</a></h1>
82 <p>A·view·function,·or·<em>view</em>·for·short,·is·a·Python·function·that·takes·a83 <p>A·view·function,·or·<em>view</em>·for·short,·is·a·Python·function·that·takes·a
83 web·request·and·returns·a·web·response.·This·response·can·be·the·HTML·contents84 web·request·and·returns·a·web·response.·This·response·can·be·the·HTML·contents
84 of·a·web·page,·or·a·redirect,·or·a·404·error,·or·an·XML·document,·or·an·image·.85 of·a·web·page,·or·a·redirect,·or·a·404·error,·or·an·XML·document,·or·an·image·.
85 .·.·or·anything,·really.·The·view·itself·contains·whatever·arbitrary·logic·is86 .·.·or·anything,·really.·The·view·itself·contains·whatever·arbitrary·logic·is
86 necessary·to·return·that·response.·This·code·can·live·anywhere·you·want,·as·long87 necessary·to·return·that·response.·This·code·can·live·anywhere·you·want,·as·long
87 as·it’s·on·your·Python·path.·There’s·no·other·requirement–no·magic,·so·to88 as·it’s·on·your·Python·path.·There’s·no·other·requirement–no·magic,·so·to
88 speak.·For·the·sake·of·putting·the·code·<em>somewhere</em>,·the·convention·is·to89 speak.·For·the·sake·of·putting·the·code·<em>somewhere</em>,·the·convention·is·to
89 put·views·in·a·file·called·<code·class="docutils·literal·notranslate"><span·class="pre">views.py</span></code>,·placed·in·your·project·or90 put·views·in·a·file·called·<code·class="docutils·literal·notranslate"><span·class="pre">views.py</span></code>,·placed·in·your·project·or
90 application·directory.</p>91 application·directory.</p>
91 <section·id="s-a-simple-view">92 <section·id="s-a-simple-view">
92 <span·id="a-simple-view"></span><h2>A·simple·view<a·class="headerlink"·href="#a-simple-view"·title="Link·to·this·heading">¶</a></h2>93 <span·id="a-simple-view"></span><h2>A·simple·view<a·class="headerlink"·href="#a-simple-view"·title="Link·to·this·heading">¶</a></h2>
93 <p>Here’s·a·view·that·returns·the·current·date·and·time,·as·an·HTML·document:</p>94 <p>Here’s·a·view·that·returns·the·current·date·and·time,·as·an·HTML·document:</p>
94 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span>95 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span>
Offset 131, 15 lines modifiedOffset 132, 15 lines modified
131 date·and·time.·To·display·this·view·at·a·particular·URL,·you’ll·need·to·create·a132 date·and·time.·To·display·this·view·at·a·particular·URL,·you’ll·need·to·create·a
132 <em>URLconf</em>;·see·<a·class="reference·internal"·href="urls.html"><span·class="doc">URL·dispatcher</span></a>·for·instructions.</p>133 <em>URLconf</em>;·see·<a·class="reference·internal"·href="urls.html"><span·class="doc">URL·dispatcher</span></a>·for·instructions.</p>
133 </section>134 </section>
134 <section·id="s-returning-errors">135 <section·id="s-returning-errors">
135 <span·id="returning-errors"></span><h2>Returning·errors<a·class="headerlink"·href="#returning-errors"·title="Link·to·this·heading">¶</a></h2>136 <span·id="returning-errors"></span><h2>Returning·errors<a·class="headerlink"·href="#returning-errors"·title="Link·to·this·heading">¶</a></h2>
136 <p>Django·provides·help·for·returning·HTTP·error·codes.·There·are·subclasses·of137 <p>Django·provides·help·for·returning·HTTP·error·codes.·There·are·subclasses·of
137 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·for·a·number·of·common·HTTP·status·codes138 <a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·for·a·number·of·common·HTTP·status·codes
138 other·than·200·(which·means·<em>OK</em>).·You·can·find·the·full·list·of·available139 other·than·200·(which·means·<em>OK</em>).·You·can·find·the·full·list·of·available
139 subclasses·in·the·<a·class="reference·internal"·href="../../ref/request-response.html#ref-httpresponse-subclasses"><span·class="std·std-ref">request/response</span></a>140 subclasses·in·the·<a·class="reference·internal"·href="../../ref/request-response.html#ref-httpresponse-subclasses"><span·class="std·std-ref">request/response</span></a>
140 documentation.·Return·an·instance·of·one·of·those·subclasses·instead·of·a141 documentation.·Return·an·instance·of·one·of·those·subclasses·instead·of·a
141 normal·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·in·order·to·signify·an·error.·For142 normal·<a·class="reference·internal"·href="../../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>·in·order·to·signify·an·error.·For
142 example:</p>143 example:</p>
143 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span><span·class="p">,</span>·<span·class="n">HttpResponseNotFound</span>144 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span><span·class="p">,</span>·<span·class="n">HttpResponseNotFound</span>
  
  
Offset 231, 15 lines modifiedOffset 232, 15 lines modified
231 </div>232 </div>
232 <p>The·<a·class="reference·internal"·href="../../ref/views.html#django.views.defaults.bad_request"·title="django.views.defaults.bad_request"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">bad_request()</span></code></a>·view·is·overridden·by233 <p>The·<a·class="reference·internal"·href="../../ref/views.html#django.views.defaults.bad_request"·title="django.views.defaults.bad_request"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">bad_request()</span></code></a>·view·is·overridden·by
233 <a·class="reference·internal"·href="../../ref/urls.html#django.conf.urls.handler400"·title="django.conf.urls.handler400"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">handler400</span></code></a>:</p>234 <a·class="reference·internal"·href="../../ref/urls.html#django.conf.urls.handler400"·title="django.conf.urls.handler400"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">handler400</span></code></a>:</p>
234 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">handler400</span>·<span·class="o">=</span>·<span·class="s2">&quot;mysite.views.my_custom_bad_request_view&quot;</span>235 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">handler400</span>·<span·class="o">=</span>·<span·class="s2">&quot;mysite.views.my_custom_bad_request_view&quot;</span>
235 </pre></div>236 </pre></div>
236 </div>237 </div>
237 <div·class="admonition·seealso">238 <div·class="admonition·seealso">
238 <p·class="admonition-title">See·also</p>239 <p·class="admonition-title">Vaata·ka</p>
239 <p>Use·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-CSRF_FAILURE_VIEW"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_FAILURE_VIEW</span></code></a>·setting·to·override·the·CSRF·error240 <p>Use·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-CSRF_FAILURE_VIEW"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_FAILURE_VIEW</span></code></a>·setting·to·override·the·CSRF·error
240 view.</p>241 view.</p>
241 </div>242 </div>
242 <section·id="s-testing-custom-error-views">243 <section·id="s-testing-custom-error-views">
243 <span·id="testing-custom-error-views"></span><h3>Testing·custom·error·views<a·class="headerlink"·href="#testing-custom-error-views"·title="Link·to·this·heading">¶</a></h3>244 <span·id="testing-custom-error-views"></span><h3>Testing·custom·error·views<a·class="headerlink"·href="#testing-custom-error-views"·title="Link·to·this·heading">¶</a></h3>
244 <p>To·test·the·response·of·a·custom·error·handler,·raise·the·appropriate·exception245 <p>To·test·the·response·of·a·custom·error·handler,·raise·the·appropriate·exception
245 in·a·test·view.·For·example:</p>246 in·a·test·view.·For·example:</p>
Offset 274, 15 lines modifiedOffset 275, 15 lines modified
274 </pre></div>275 </pre></div>
275 </div>276 </div>
276 </section>277 </section>
277 </section>278 </section>
278 <section·id="s-async-views">279 <section·id="s-async-views">
279 <span·id="s-id2"></span><span·id="async-views"></span><span·id="id2"></span><h2>Async·views<a·class="headerlink"·href="#async-views"·title="Link·to·this·heading">¶</a></h2>280 <span·id="s-id2"></span><span·id="async-views"></span><span·id="id2"></span><h2>Async·views<a·class="headerlink"·href="#async-views"·title="Link·to·this·heading">¶</a></h2>
280 <p>As·well·as·being·synchronous·functions,·views·can·also·be·asynchronous281 <p>As·well·as·being·synchronous·functions,·views·can·also·be·asynchronous
281 (async)·functions,·normally·defined·using·Python’s·<code·class="docutils·literal·notranslate"><span·class="pre">async</span>·<span·class="pre">def</span></code>·syntax.282 (async)·functions,·normally·defined·using·Python’s·<code·class="docutils·literal·notranslate"><span·class="pre">async</span>·<span·class="pre">def</span></code>·syntax.
282 Django·will·automatically·detect·these·and·run·them·in·an·async·context.283 Django·will·automatically·detect·these·and·run·them·in·an·async·context.
283 However,·you·will·need·to·use·an·async·server·based·on·ASGI·to·get·their284 However,·you·will·need·to·use·an·async·server·based·on·ASGI·to·get·their
284 performance·benefits.</p>285 performance·benefits.</p>
285 <p>Here’s·an·example·of·an·async·view:</p>286 <p>Here’s·an·example·of·an·async·view:</p>
286 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">datetime</span>287 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">datetime</span>
287 <span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span>288 <span·class="kn">from</span>·<span·class="nn">django.http</span>·<span·class="kn">import</span>·<span·class="n">HttpResponse</span>
  
Offset 305, 15 lines modifiedOffset 306, 15 lines modified
305 ······306 ······
306 ········307 ········
307 ··········<div·class="yui-b"·id="sidebar">308 ··········<div·class="yui-b"·id="sidebar">
308 ············309 ············
309 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">310 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
310 ········<div·class="sphinxsidebarwrapper">311 ········<div·class="sphinxsidebarwrapper">
311 ··<div>312 ··<div>
312 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>313 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
313 ····<ul>314 ····<ul>
314 <li><a·class="reference·internal"·href="#">Writing·views</a><ul>315 <li><a·class="reference·internal"·href="#">Writing·views</a><ul>
315 <li><a·class="reference·internal"·href="#a-simple-view">A·simple·view</a></li>316 <li><a·class="reference·internal"·href="#a-simple-view">A·simple·view</a></li>
316 <li><a·class="reference·internal"·href="#mapping-urls-to-views">Mapping·URLs·to·views</a></li>317 <li><a·class="reference·internal"·href="#mapping-urls-to-views">Mapping·URLs·to·views</a></li>
317 <li><a·class="reference·internal"·href="#returning-errors">Returning·errors</a><ul>318 <li><a·class="reference·internal"·href="#returning-errors">Returning·errors</a><ul>
318 <li><a·class="reference·internal"·href="#the-http404-exception">The·<code·class="docutils·literal·notranslate"><span·class="pre">Http404</span></code>·exception</a></li>319 <li><a·class="reference·internal"·href="#the-http404-exception">The·<code·class="docutils·literal·notranslate"><span·class="pre">Http404</span></code>·exception</a></li>
319 </ul>320 </ul>
Offset 325, 37 lines modifiedOffset 326, 37 lines modified
325 <li><a·class="reference·internal"·href="#async-views">Async·views</a></li>326 <li><a·class="reference·internal"·href="#async-views">Async·views</a></li>
326 </ul>327 </ul>
327 </li>328 </li>
328 </ul>329 </ul>
  
329 ··</div>330 ··</div>
330 ··<div>331 ··<div>
Max diff block lines reached; 1283/10484 bytes (12.24%) of diff not shown.
6.2 KB
html2text {}
Max HTML report size reached
12.3 KB
./usr/share/doc/python-django-doc/html/topics/i18n/formatting.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Format·localization·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Format·localization·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Time·zones"·href="timezones.html"·/>15 ····<link·rel="next"·title="Time·zones"·href="timezones.html"·/>
15 ····<link·rel="prev"·title="Translation"·href="translation.html"·/>16 ····<link·rel="prev"·title="Translation"·href="translation.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 83, 34 lines modifiedOffset 84, 34 lines modified
83 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>84 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>
84 <p>Django’s·formatting·system·is·capable·of·displaying·dates,·times·and·numbers·in85 <p>Django’s·formatting·system·is·capable·of·displaying·dates,·times·and·numbers·in
85 templates·using·the·format·specified·for·the·current86 templates·using·the·format·specified·for·the·current
86 <a·class="reference·internal"·href="index.html#term-locale-name"><span·class="xref·std·std-term">locale</span></a>.·It·also·handles·localized·input·in·forms.</p>87 <a·class="reference·internal"·href="index.html#term-locale-name"><span·class="xref·std·std-term">locale</span></a>.·It·also·handles·localized·input·in·forms.</p>
87 <p>Two·users·accessing·the·same·content·may·see·dates,·times·and·numbers·formatted88 <p>Two·users·accessing·the·same·content·may·see·dates,·times·and·numbers·formatted
88 in·different·ways,·depending·on·the·formats·for·their·current·locale.</p>89 in·different·ways,·depending·on·the·formats·for·their·current·locale.</p>
89 <div·class="admonition·note">90 <div·class="admonition·note">
90 <p·class="admonition-title">Note</p>91 <p·class="admonition-title">rkus</p>
91 <p>To·enable·number·formatting·with·thousand·separators,·it·is·necessary·to92 <p>To·enable·number·formatting·with·thousand·separators,·it·is·necessary·to
92 set·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_THOUSAND_SEPARATOR"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_THOUSAND_SEPARATOR</span>·<span·class="pre">=</span>·<span·class="pre">True</span></code></a>·in93 set·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_THOUSAND_SEPARATOR"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_THOUSAND_SEPARATOR</span>·<span·class="pre">=</span>·<span·class="pre">True</span></code></a>·in
93 your·settings·file.·Alternatively,·you·could·use·<a·class="reference·internal"·href="../../ref/contrib/humanize.html#std-templatefilter-intcomma"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">intcomma</span></code></a>·to94 your·settings·file.·Alternatively,·you·could·use·<a·class="reference·internal"·href="../../ref/contrib/humanize.html#std-templatefilter-intcomma"><code·class="xref·std·std-tfilter·docutils·literal·notranslate"><span·class="pre">intcomma</span></code></a>·to
94 format·numbers·in·your·template.</p>95 format·numbers·in·your·template.</p>
95 </div>96 </div>
96 <div·class="admonition·note">97 <div·class="admonition·note">
97 <p·class="admonition-title">Note</p>98 <p·class="admonition-title">rkus</p>
98 <p>There·is·a·related·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_I18N"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_I18N</span></code></a>·setting·that·controls·if·Django99 <p>There·is·a·related·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_I18N"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_I18N</span></code></a>·setting·that·controls·if·Django
99 should·activate·translation.·See·<a·class="reference·internal"·href="translation.html"><span·class="doc">Translation</span></a>·for·more100 should·activate·translation.·See·<a·class="reference·internal"·href="translation.html"><span·class="doc">Translation</span></a>·for·more
100 details.</p>101 details.</p>
101 </div>102 </div>
102 </section>103 </section>
103 <section·id="s-locale-aware-input-in-forms">104 <section·id="s-locale-aware-input-in-forms">
104 <span·id="locale-aware-input-in-forms"></span><h2>Locale·aware·input·in·forms<a·class="headerlink"·href="#locale-aware-input-in-forms"·title="Link·to·this·heading">¶</a></h2>105 <span·id="locale-aware-input-in-forms"></span><h2>Locale·aware·input·in·forms<a·class="headerlink"·href="#locale-aware-input-in-forms"·title="Link·to·this·heading">¶</a></h2>
105 <p>When·formatting·is·enabled,·Django·can·use·localized·formats·when·parsing·dates,106 <p>When·formatting·is·enabled,·Django·can·use·localized·formats·when·parsing·dates,
106 times·and·numbers·in·forms.·That·means·it·tries·different·formats·for·different107 times·and·numbers·in·forms.·That·means·it·tries·different·formats·for·different
107 locales·when·guessing·the·format·used·by·the·user·when·inputting·data·on·forms.</p>108 locales·when·guessing·the·format·used·by·the·user·when·inputting·data·on·forms.</p>
108 <div·class="admonition·note">109 <div·class="admonition·note">
109 <p·class="admonition-title">Note</p>110 <p·class="admonition-title">rkus</p>
110 <p>Django·uses·different·formats·for·displaying·data·to·those·it·uses·for111 <p>Django·uses·different·formats·for·displaying·data·to·those·it·uses·for
111 parsing·data.·Most·notably,·the·formats·for·parsing·dates·can’t·use·the112 parsing·data.·Most·notably,·the·formats·for·parsing·dates·can’t·use·the
112 <code·class="docutils·literal·notranslate"><span·class="pre">%a</span></code>·(abbreviated·weekday·name),·<code·class="docutils·literal·notranslate"><span·class="pre">%A</span></code>·(full·weekday·name),113 <code·class="docutils·literal·notranslate"><span·class="pre">%a</span></code>·(abbreviated·weekday·name),·<code·class="docutils·literal·notranslate"><span·class="pre">%A</span></code>·(full·weekday·name),
113 <code·class="docutils·literal·notranslate"><span·class="pre">%b</span></code>·(abbreviated·month·name),·<code·class="docutils·literal·notranslate"><span·class="pre">%B</span></code>·(full·month·name),114 <code·class="docutils·literal·notranslate"><span·class="pre">%b</span></code>·(abbreviated·month·name),·<code·class="docutils·literal·notranslate"><span·class="pre">%B</span></code>·(full·month·name),
114 or·<code·class="docutils·literal·notranslate"><span·class="pre">%p</span></code>·(AM/PM).</p>115 or·<code·class="docutils·literal·notranslate"><span·class="pre">%p</span></code>·(AM/PM).</p>
115 </div>116 </div>
116 <p>To·enable·a·form·field·to·localize·input·and·output·data·use·its·<code·class="docutils·literal·notranslate"><span·class="pre">localize</span></code>117 <p>To·enable·a·form·field·to·localize·input·and·output·data·use·its·<code·class="docutils·literal·notranslate"><span·class="pre">localize</span></code>
Offset 248, 15 lines modifiedOffset 249, 15 lines modified
248 ······249 ······
249 ········250 ········
250 ··········<div·class="yui-b"·id="sidebar">251 ··········<div·class="yui-b"·id="sidebar">
251 ············252 ············
252 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">253 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
253 ········<div·class="sphinxsidebarwrapper">254 ········<div·class="sphinxsidebarwrapper">
254 ··<div>255 ··<div>
255 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>256 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
256 ····<ul>257 ····<ul>
257 <li><a·class="reference·internal"·href="#">Format·localization</a><ul>258 <li><a·class="reference·internal"·href="#">Format·localization</a><ul>
258 <li><a·class="reference·internal"·href="#overview">Overview</a></li>259 <li><a·class="reference·internal"·href="#overview">Overview</a></li>
259 <li><a·class="reference·internal"·href="#locale-aware-input-in-forms">Locale·aware·input·in·forms</a></li>260 <li><a·class="reference·internal"·href="#locale-aware-input-in-forms">Locale·aware·input·in·forms</a></li>
260 <li><a·class="reference·internal"·href="#controlling-localization-in-templates">Controlling·localization·in·templates</a><ul>261 <li><a·class="reference·internal"·href="#controlling-localization-in-templates">Controlling·localization·in·templates</a><ul>
261 <li><a·class="reference·internal"·href="#template-tags">Template·tags</a><ul>262 <li><a·class="reference·internal"·href="#template-tags">Template·tags</a><ul>
262 <li><a·class="reference·internal"·href="#localize"><code·class="docutils·literal·notranslate"><span·class="pre">localize</span></code></a></li>263 <li><a·class="reference·internal"·href="#localize"><code·class="docutils·literal·notranslate"><span·class="pre">localize</span></code></a></li>
Offset 276, 37 lines modifiedOffset 277, 37 lines modified
276 </li>277 </li>
277 </ul>278 </ul>
278 </li>279 </li>
279 </ul>280 </ul>
  
280 ··</div>281 ··</div>
281 ··<div>282 ··<div>
282 ····<h4>Previous·topic</h4>283 ····<h4>Eelmine·teema</h4>
283 ····<p·class="topless"><a·href="translation.html"284 ····<p·class="topless"><a·href="translation.html"
284 ··························title="previous·chapter">Translation</a></p>285 ··························title="eelmine·jaotis">Translation</a></p>
285 ··</div>286 ··</div>
286 ··<div>287 ··<div>
287 ····<h4>Next·topic</h4>288 ····<h4>Järgmine·teema</h4>
288 ····<p·class="topless"><a·href="timezones.html"289 ····<p·class="topless"><a·href="timezones.html"
289 ··························title="next·chapter">Time·zones</a></p>290 ··························title="järgmine·jaotis">Time·zones</a></p>
290 ··</div>291 ··</div>
291 <search·id="searchbox"·style="display:·none"·role="search">292 <search·id="searchbox"·style="display:·none"·role="search">
292 ··<h3·id="searchlabel">Quick·search</h3>293 ··<h3·id="searchlabel">Kiirotsing</h3>
293 ····<div·class="searchformwrapper">294 ····<div·class="searchformwrapper">
294 ····<form·class="search"·action="../../search.html"·method="get">295 ····<form·class="search"·action="../../search.html"·method="get">
295 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>296 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
296 ······<input·type="submit"·value="Go"·/>297 ······<input·type="submit"·value="Otsi"·/>
297 ····</form>298 ····</form>
298 ····</div>299 ····</div>
299 </search>300 </search>
300 <script>document.getElementById('searchbox').style.display·=·"block"</script>301 <script>document.getElementById('searchbox').style.display·=·"block"</script>
301 ········</div>302 ········</div>
302 ······</div>303 ······</div>
303 ··············<h3>Last·update:</h3>304 ··············<h3>Last·update:</h3>
304 ··············<p·class="topless">Nov·05,·2024</p>305 ··············<p·class="topless">nov·05,·2024</p>
305 ··········</div>306 ··········</div>
306 ········307 ········
307 ······308 ······
308 ····</div>309 ····</div>
  
309 ····<div·id="ft">310 ····<div·id="ft">
Max diff block lines reached; 0/7858 bytes (0.00%) of diff not shown.
4.47 KB
html2text {}
Max HTML report size reached
10.5 KB
./usr/share/doc/python-django-doc/html/topics/i18n/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Internationalization·and·localization·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Internationalization·and·localization·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Translation"·href="translation.html"·/>15 ····<link·rel="next"·title="Translation"·href="translation.html"·/>
15 ····<link·rel="prev"·title="Sending·email"·href="../email.html"·/>16 ····<link·rel="prev"·title="Sending·email"·href="../email.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 25 lines modifiedOffset 97, 25 lines modified
96 </ul>97 </ul>
97 <p>Translation·depends·on·the·target·language,·and·formatting·usually·depends·on98 <p>Translation·depends·on·the·target·language,·and·formatting·usually·depends·on
98 the·target·country.·This·information·is·provided·by·browsers·in·the99 the·target·country.·This·information·is·provided·by·browsers·in·the
99 <code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·header.·However,·the·time·zone·isn’t·readily·available.</p>100 <code·class="docutils·literal·notranslate"><span·class="pre">Accept-Language</span></code>·header.·However,·the·time·zone·isn’t·readily·available.</p>
100 </section>101 </section>
101 <section·id="s-definitions">102 <section·id="s-definitions">
102 <span·id="definitions"></span><h2>Definitions<a·class="headerlink"·href="#definitions"·title="Link·to·this·heading">¶</a></h2>103 <span·id="definitions"></span><h2>Definitions<a·class="headerlink"·href="#definitions"·title="Link·to·this·heading">¶</a></h2>
103 <p>The·words·internationalization·and·localization·often·cause·confusion;104 <p>The·words·internationalization·and·localization·often·cause·confusion;
104 here’s·a·simplified·definition:</p>105 here’s·a·simplified·definition:</p>
105 <dl·class="simple·glossary">106 <dl·class="simple·glossary">
106 <dt·id="term-internationalization">internationalization<a·class="headerlink"·href="#term-internationalization"·title="Link·to·this·term">¶</a></dt><dd><p>Preparing·the·software·for·localization.·Usually·done·by·developers.</p>107 <dt·id="term-internationalization">internationalization<a·class="headerlink"·href="#term-internationalization"·title="Link·to·this·term">¶</a></dt><dd><p>Preparing·the·software·for·localization.·Usually·done·by·developers.</p>
107 </dd>108 </dd>
108 <dt·id="term-localization">localization<a·class="headerlink"·href="#term-localization"·title="Link·to·this·term">¶</a></dt><dd><p>Writing·the·translations·and·local·formats.·Usually·done·by·translators.</p>109 <dt·id="term-localization">localization<a·class="headerlink"·href="#term-localization"·title="Link·to·this·term">¶</a></dt><dd><p>Writing·the·translations·and·local·formats.·Usually·done·by·translators.</p>
109 </dd>110 </dd>
110 </dl>111 </dl>
111 <p>More·details·can·be·found·in·the·<a·class="reference·external"·href="https://www.w3.org/International/questions/qa-i18n">W3C·Web·Internationalization·FAQ</a>,·the·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Internationalization_and_localization">Wikipedia·article</a>·or·the·<a·class="reference·external"·href="https://www.gnu.org/software/gettext/manual/gettext.html#Concepts">GNU·gettext·documentation</a>.</p>112 <p>More·details·can·be·found·in·the·<a·class="reference·external"·href="https://www.w3.org/International/questions/qa-i18n">W3C·Web·Internationalization·FAQ</a>,·the·<a·class="reference·external"·href="https://en.wikipedia.org/wiki/Internationalization_and_localization">Wikipedia·article</a>·or·the·<a·class="reference·external"·href="https://www.gnu.org/software/gettext/manual/gettext.html#Concepts">GNU·gettext·documentation</a>.</p>
112 <div·class="admonition·warning">113 <div·class="admonition·warning">
113 <p·class="admonition-title">Warning</p>114 <p·class="admonition-title">Hoiatus</p>
114 <p>Translation·is·controlled·by·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_I18N"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_I18N</span></code></a>·setting.·However,·it115 <p>Translation·is·controlled·by·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_I18N"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_I18N</span></code></a>·setting.·However,·it
115 involves·internationalization·and·localization.·The·name·of·the·setting·is116 involves·internationalization·and·localization.·The·name·of·the·setting·is
116 an·unfortunate·result·of·Django’s·history.</p>117 an·unfortunate·result·of·Django’s·history.</p>
117 </div>118 </div>
118 <p>Here·are·some·other·terms·that·will·help·us·to·handle·a·common·language:</p>119 <p>Here·are·some·other·terms·that·will·help·us·to·handle·a·common·language:</p>
119 <dl·class="simple·glossary">120 <dl·class="simple·glossary">
120 <dt·id="term-locale-name">locale·name<a·class="headerlink"·href="#term-locale-name"·title="Link·to·this·term">¶</a></dt><dd><p>A·locale·name,·either·a·language·specification·of·the·form·<code·class="docutils·literal·notranslate"><span·class="pre">ll</span></code>·or·a121 <dt·id="term-locale-name">locale·name<a·class="headerlink"·href="#term-locale-name"·title="Link·to·this·term">¶</a></dt><dd><p>A·locale·name,·either·a·language·specification·of·the·form·<code·class="docutils·literal·notranslate"><span·class="pre">ll</span></code>·or·a
Offset 150, 48 lines modifiedOffset 151, 48 lines modified
150 ······151 ······
151 ········152 ········
152 ··········<div·class="yui-b"·id="sidebar">153 ··········<div·class="yui-b"·id="sidebar">
153 ············154 ············
154 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">155 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
155 ········<div·class="sphinxsidebarwrapper">156 ········<div·class="sphinxsidebarwrapper">
156 ··<div>157 ··<div>
157 ····<h3><a·href="../../contents.html">Table·of·Contents</a></h3>158 ····<h3><a·href="../../contents.html">Sisukorratabel</a></h3>
158 ····<ul>159 ····<ul>
159 <li><a·class="reference·internal"·href="#">Internationalization·and·localization</a><ul>160 <li><a·class="reference·internal"·href="#">Internationalization·and·localization</a><ul>
160 <li><a·class="reference·internal"·href="#overview">Overview</a></li>161 <li><a·class="reference·internal"·href="#overview">Overview</a></li>
161 <li><a·class="reference·internal"·href="#definitions">Definitions</a></li>162 <li><a·class="reference·internal"·href="#definitions">Definitions</a></li>
162 </ul>163 </ul>
163 </li>164 </li>
164 </ul>165 </ul>
  
165 ··</div>166 ··</div>
166 ··<div>167 ··<div>
167 ····<h4>Previous·topic</h4>168 ····<h4>Eelmine·teema</h4>
168 ····<p·class="topless"><a·href="../email.html"169 ····<p·class="topless"><a·href="../email.html"
169 ··························title="previous·chapter">Sending·email</a></p>170 ··························title="eelmine·jaotis">Sending·email</a></p>
170 ··</div>171 ··</div>
171 ··<div>172 ··<div>
172 ····<h4>Next·topic</h4>173 ····<h4>Järgmine·teema</h4>
173 ····<p·class="topless"><a·href="translation.html"174 ····<p·class="topless"><a·href="translation.html"
174 ··························title="next·chapter">Translation</a></p>175 ··························title="järgmine·jaotis">Translation</a></p>
175 ··</div>176 ··</div>
176 <search·id="searchbox"·style="display:·none"·role="search">177 <search·id="searchbox"·style="display:·none"·role="search">
177 ··<h3·id="searchlabel">Quick·search</h3>178 ··<h3·id="searchlabel">Kiirotsing</h3>
178 ····<div·class="searchformwrapper">179 ····<div·class="searchformwrapper">
179 ····<form·class="search"·action="../../search.html"·method="get">180 ····<form·class="search"·action="../../search.html"·method="get">
180 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>181 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
181 ······<input·type="submit"·value="Go"·/>182 ······<input·type="submit"·value="Otsi"·/>
182 ····</form>183 ····</form>
183 ····</div>184 ····</div>
184 </search>185 </search>
185 <script>document.getElementById('searchbox').style.display·=·"block"</script>186 <script>document.getElementById('searchbox').style.display·=·"block"</script>
186 ········</div>187 ········</div>
187 ······</div>188 ······</div>
188 ··············<h3>Last·update:</h3>189 ··············<h3>Last·update:</h3>
189 ··············<p·class="topless">Nov·05,·2024</p>190 ··············<p·class="topless">nov·05,·2024</p>
190 ··········</div>191 ··········</div>
191 ········192 ········
192 ······193 ······
193 ····</div>194 ····</div>
  
194 ····<div·id="ft">195 ····<div·id="ft">
195 ······<div·class="nav">196 ······<div·class="nav">
3.79 KB
html2text {}
Max HTML report size reached
49.5 KB
./usr/share/doc/python-django-doc/html/topics/i18n/timezones.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Time·zones·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Time·zones·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Logging"·href="../logging.html"·/>15 ····<link·rel="next"·title="Logging"·href="../logging.html"·/>
15 ····<link·rel="prev"·title="Format·localization"·href="formatting.html"·/>16 ····<link·rel="prev"·title="Format·localization"·href="formatting.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 96, 26 lines modifiedOffset 97, 26 lines modified
96 solution·to·this·problem·is·to·use·UTC·in·the·code·and·use·local·time·only·when97 solution·to·this·problem·is·to·use·UTC·in·the·code·and·use·local·time·only·when
97 interacting·with·end·users.</p>98 interacting·with·end·users.</p>
98 <p>Time·zone·support·is·enabled·by·default.·To·disable·it,·set·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span>·<span·class="pre">=</span>99 <p>Time·zone·support·is·enabled·by·default.·To·disable·it,·set·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span>·<span·class="pre">=</span>
99 <span·class="pre">False</span></code></a>·in·your·settings·file.</p>100 <span·class="pre">False</span></code></a>·in·your·settings·file.</p>
100 <div·class="versionchanged">101 <div·class="versionchanged">
101 <span·class="title">Changed·in·Django·5.0:</span>·<p>In·older·version,·time·zone·support·was·disabled·by·default.</p>102 <span·class="title">Changed·in·Django·5.0:</span>·<p>In·older·version,·time·zone·support·was·disabled·by·default.</p>
102 </div>103 </div>
103 <p>Time·zone·support·uses·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>,·which·is·part·of·the·Python·standard104 <p>Time·zone·support·uses·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>,·which·is·part·of·the·Python·standard
104 library·from·Python·3.9.</p>105 library·from·Python·3.9.</p>
105 <p>If·you’re·wrestling·with·a·particular·problem,·start·with·the·<a·class="reference·internal"·href="#time-zones-faq"><span·class="std·std-ref">time·zone106 <p>If·you’re·wrestling·with·a·particular·problem,·start·with·the·<a·class="reference·internal"·href="#time-zones-faq"><span·class="std·std-ref">time·zone
106 FAQ</span></a>.</p>107 FAQ</span></a>.</p>
107 </section>108 </section>
108 <section·id="s-concepts">109 <section·id="s-concepts">
109 <span·id="concepts"></span><h2>Concepts<a·class="headerlink"·href="#concepts"·title="Link·to·this·heading">¶</a></h2>110 <span·id="concepts"></span><h2>Concepts<a·class="headerlink"·href="#concepts"·title="Link·to·this·heading">¶</a></h2>
110 <section·id="s-naive-and-aware-datetime-objects">111 <section·id="s-naive-and-aware-datetime-objects">
111 <span·id="s-naive-vs-aware-datetimes"></span><span·id="naive-and-aware-datetime-objects"></span><span·id="naive-vs-aware-datetimes"></span><h3>Naive·and·aware·datetime·objects<a·class="headerlink"·href="#naive-and-aware-datetime-objects"·title="Link·to·this·heading">¶</a></h3>112 <span·id="s-naive-vs-aware-datetimes"></span><span·id="naive-and-aware-datetime-objects"></span><span·id="naive-vs-aware-datetimes"></span><h3>Naive·and·aware·datetime·objects<a·class="headerlink"·href="#naive-and-aware-datetime-objects"·title="Link·to·this·heading">¶</a></h3>
112 <p>Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.datetime</span></code></a>·objects·have·a·<code·class="docutils·literal·notranslate"><span·class="pre">tzinfo</span></code>·attribute·that113 <p>Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.datetime"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.datetime</span></code></a>·objects·have·a·<code·class="docutils·literal·notranslate"><span·class="pre">tzinfo</span></code>·attribute·that
113 can·be·used·to·store·time·zone·information,·represented·as·an·instance·of·a114 can·be·used·to·store·time·zone·information,·represented·as·an·instance·of·a
114 subclass·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.tzinfo"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.tzinfo</span></code></a>.·When·this·attribute·is·set·and·describes115 subclass·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.tzinfo"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.tzinfo</span></code></a>.·When·this·attribute·is·set·and·describes
115 an·offset,·a·datetime·object·is·<strong>aware</strong>.·Otherwise,·it’s·<strong>naive</strong>.</p>116 an·offset,·a·datetime·object·is·<strong>aware</strong>.·Otherwise,·it’s·<strong>naive</strong>.</p>
116 <p>You·can·use·<a·class="reference·internal"·href="../../ref/utils.html#django.utils.timezone.is_aware"·title="django.utils.timezone.is_aware"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">is_aware()</span></code></a>·and117 <p>You·can·use·<a·class="reference·internal"·href="../../ref/utils.html#django.utils.timezone.is_aware"·title="django.utils.timezone.is_aware"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">is_aware()</span></code></a>·and
117 <a·class="reference·internal"·href="../../ref/utils.html#django.utils.timezone.is_naive"·title="django.utils.timezone.is_naive"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">is_naive()</span></code></a>·to·determine·whether·datetimes·are118 <a·class="reference·internal"·href="../../ref/utils.html#django.utils.timezone.is_naive"·title="django.utils.timezone.is_naive"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">is_naive()</span></code></a>·to·determine·whether·datetimes·are
118 aware·or·naive.</p>119 aware·or·naive.</p>
119 <p>When·time·zone·support·is·disabled,·Django·uses·naive·datetime·objects·in·local120 <p>When·time·zone·support·is·disabled,·Django·uses·naive·datetime·objects·in·local
120 time.·This·is·sufficient·for·many·use·cases.·In·this·mode,·to·obtain·the121 time.·This·is·sufficient·for·many·use·cases.·In·this·mode,·to·obtain·the
121 current·time,·you·would·write:</p>122 current·time,·you·would·write:</p>
Offset 129, 83 lines modifiedOffset 130, 83 lines modified
129 should·be·aware·too.·In·this·mode,·the·example·above·becomes:</p>130 should·be·aware·too.·In·this·mode,·the·example·above·becomes:</p>
130 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.utils</span>·<span·class="kn">import</span>·<span·class="n">timezone</span>131 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.utils</span>·<span·class="kn">import</span>·<span·class="n">timezone</span>
  
131 <span·class="n">now</span>·<span·class="o">=</span>·<span·class="n">timezone</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>132 <span·class="n">now</span>·<span·class="o">=</span>·<span·class="n">timezone</span><span·class="o">.</span><span·class="n">now</span><span·class="p">()</span>
132 </pre></div>133 </pre></div>
133 </div>134 </div>
134 <div·class="admonition·warning">135 <div·class="admonition·warning">
135 <p·class="admonition-title">Warning</p>136 <p·class="admonition-title">Hoiatus</p>
136 <p>Dealing·with·aware·datetime·objects·isn’t·always·intuitive.·For·instance,137 <p>Dealing·with·aware·datetime·objects·isn’t·always·intuitive.·For·instance,
137 the·<code·class="docutils·literal·notranslate"><span·class="pre">tzinfo</span></code>·argument·of·the·standard·datetime·constructor·doesn’t·work138 the·<code·class="docutils·literal·notranslate"><span·class="pre">tzinfo</span></code>·argument·of·the·standard·datetime·constructor·doesn’t·work
138 reliably·for·time·zones·with·DST.·Using·UTC·is·generally·safe;·if·you’re139 reliably·for·time·zones·with·DST.·Using·UTC·is·generally·safe;·if·you’re
139 using·other·time·zones,·you·should·review·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>140 using·other·time·zones,·you·should·review·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">zoneinfo</span></code></a>
140 documentation·carefully.</p>141 documentation·carefully.</p>
141 </div>142 </div>
142 <div·class="admonition·note">143 <div·class="admonition·note">
143 <p·class="admonition-title">Note</p>144 <p·class="admonition-title">rkus</p>
144 <p>Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.time"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.time</span></code></a>·objects·also·feature·a·<code·class="docutils·literal·notranslate"><span·class="pre">tzinfo</span></code>145 <p>Python’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.time"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.time</span></code></a>·objects·also·feature·a·<code·class="docutils·literal·notranslate"><span·class="pre">tzinfo</span></code>
145 attribute,·and·PostgreSQL·has·a·matching·<code·class="docutils·literal·notranslate"><span·class="pre">time</span>·<span·class="pre">with</span>·<span·class="pre">time</span>·<span·class="pre">zone</span></code>·type.146 attribute,·and·PostgreSQL·has·a·matching·<code·class="docutils·literal·notranslate"><span·class="pre">time</span>·<span·class="pre">with</span>·<span·class="pre">time</span>·<span·class="pre">zone</span></code>·type.
146 However,·as·PostgreSQL’s·docs·put·it,·this·type·exhibits·properties·which147 However,·as·PostgreSQL’s·docs·put·it,·this·type·exhibits·properties·which
147 lead·to·questionable·usefulness.</p>148 lead·to·questionable·usefulness.</p>
148 <p>Django·only·supports·naive·time·objects·and·will·raise·an·exception·if·you149 <p>Django·only·supports·naive·time·objects·and·will·raise·an·exception·if·you
149 attempt·to·save·an·aware·time·object,·as·a·timezone·for·a·time·with·no150 attempt·to·save·an·aware·time·object,·as·a·timezone·for·a·time·with·no
150 associated·date·does·not·make·sense.</p>151 associated·date·does·not·make·sense.</p>
151 </div>152 </div>
152 </section>153 </section>
153 <section·id="s-interpretation-of-naive-datetime-objects">154 <section·id="s-interpretation-of-naive-datetime-objects">
154 <span·id="s-naive-datetime-objects"></span><span·id="interpretation-of-naive-datetime-objects"></span><span·id="naive-datetime-objects"></span><h3>Interpretation·of·naive·datetime·objects<a·class="headerlink"·href="#interpretation-of-naive-datetime-objects"·title="Link·to·this·heading">¶</a></h3>155 <span·id="s-naive-datetime-objects"></span><span·id="interpretation-of-naive-datetime-objects"></span><span·id="naive-datetime-objects"></span><h3>Interpretation·of·naive·datetime·objects<a·class="headerlink"·href="#interpretation-of-naive-datetime-objects"·title="Link·to·this·heading">¶</a></h3>
155 <p>When·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·Django·still·accepts·naive·datetime156 <p>When·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·Django·still·accepts·naive·datetime
156 objects,·in·order·to·preserve·backwards-compatibility.·When·the·database·layer157 objects,·in·order·to·preserve·backwards-compatibility.·When·the·database·layer
157 receives·one,·it·attempts·to·make·it·aware·by·interpreting·it·in·the158 receives·one,·it·attempts·to·make·it·aware·by·interpreting·it·in·the
158 <a·class="reference·internal"·href="#default-current-time-zone"><span·class="std·std-ref">default·time·zone</span></a>·and·raises·a·warning.</p>159 <a·class="reference·internal"·href="#default-current-time-zone"><span·class="std·std-ref">default·time·zone</span></a>·and·raises·a·warning.</p>
159 <p>Unfortunately,·during·DST·transitions,·some·datetimes·don’t·exist·or·are160 <p>Unfortunately,·during·DST·transitions,·some·datetimes·don’t·exist·or·are
160 ambiguous.·That’s·why·you·should·always·create·aware·datetime·objects·when·time161 ambiguous.·That’s·why·you·should·always·create·aware·datetime·objects·when·time
161 zone·support·is·enabled.·(See·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">Using</span>·<span·class="pre">ZoneInfo</span>·<span·class="pre">section</span>·<span·class="pre">of</span>·<span·class="pre">the</span>·<span·class="pre">zoneinfo</span>162 zone·support·is·enabled.·(See·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/zoneinfo.html#module-zoneinfo"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">Using</span>·<span·class="pre">ZoneInfo</span>·<span·class="pre">section</span>·<span·class="pre">of</span>·<span·class="pre">the</span>·<span·class="pre">zoneinfo</span>
162 <span·class="pre">docs</span></code></a>·for·examples·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">fold</span></code>·attribute·to·specify·the163 <span·class="pre">docs</span></code></a>·for·examples·using·the·<code·class="docutils·literal·notranslate"><span·class="pre">fold</span></code>·attribute·to·specify·the
163 offset·that·should·apply·to·a·datetime·during·a·DST·transition.)</p>164 offset·that·should·apply·to·a·datetime·during·a·DST·transition.)</p>
164 <p>In·practice,·this·is·rarely·an·issue.·Django·gives·you·aware·datetime·objects165 <p>In·practice,·this·is·rarely·an·issue.·Django·gives·you·aware·datetime·objects
165 in·the·models·and·forms,·and·most·often,·new·datetime·objects·are·created·from166 in·the·models·and·forms,·and·most·often,·new·datetime·objects·are·created·from
166 existing·ones·through·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>·arithmetic.·The·only167 existing·ones·through·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">timedelta</span></code></a>·arithmetic.·The·only
167 datetime·that’s·often·created·in·application·code·is·the·current·time,·and168 datetime·that’s·often·created·in·application·code·is·the·current·time,·and
168 <a·class="reference·internal"·href="../../ref/utils.html#django.utils.timezone.now"·title="django.utils.timezone.now"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">timezone.now()</span></code></a>·automatically·does·the169 <a·class="reference·internal"·href="../../ref/utils.html#django.utils.timezone.now"·title="django.utils.timezone.now"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">timezone.now()</span></code></a>·automatically·does·the
169 right·thing.</p>170 right·thing.</p>
170 </section>171 </section>
171 <section·id="s-default-time-zone-and-current-time-zone">172 <section·id="s-default-time-zone-and-current-time-zone">
172 <span·id="s-default-current-time-zone"></span><span·id="default-time-zone-and-current-time-zone"></span><span·id="default-current-time-zone"></span><h3>Default·time·zone·and·current·time·zone<a·class="headerlink"·href="#default-time-zone-and-current-time-zone"·title="Link·to·this·heading">¶</a></h3>173 <span·id="s-default-current-time-zone"></span><span·id="default-time-zone-and-current-time-zone"></span><span·id="default-current-time-zone"></span><h3>Default·time·zone·and·current·time·zone<a·class="headerlink"·href="#default-time-zone-and-current-time-zone"·title="Link·to·this·heading">¶</a></h3>
173 <p>The·<strong>default·time·zone</strong>·is·the·time·zone·defined·by·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TIME_ZONE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIME_ZONE</span></code></a>174 <p>The·<strong>default·time·zone</strong>·is·the·time·zone·defined·by·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TIME_ZONE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIME_ZONE</span></code></a>
174 setting.</p>175 setting.</p>
175 <p>The·<strong>current·time·zone</strong>·is·the·time·zone·that’s·used·for·rendering.</p>176 <p>The·<strong>current·time·zone</strong>·is·the·time·zone·that’s·used·for·rendering.</p>
176 <p>You·should·set·the·current·time·zone·to·the·end·user’s·actual·time·zone·with177 <p>You·should·set·the·current·time·zone·to·the·end·user’s·actual·time·zone·with
177 <a·class="reference·internal"·href="../../ref/utils.html#django.utils.timezone.activate"·title="django.utils.timezone.activate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">activate()</span></code></a>.·Otherwise,·the·default·time·zone·is178 <a·class="reference·internal"·href="../../ref/utils.html#django.utils.timezone.activate"·title="django.utils.timezone.activate"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">activate()</span></code></a>.·Otherwise,·the·default·time·zone·is
178 used.</p>179 used.</p>
179 <div·class="admonition·note">180 <div·class="admonition·note">
180 <p·class="admonition-title">Note</p>181 <p·class="admonition-title">rkus</p>
181 <p>As·explained·in·the·documentation·of·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TIME_ZONE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIME_ZONE</span></code></a>,·Django·sets182 <p>As·explained·in·the·documentation·of·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TIME_ZONE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TIME_ZONE</span></code></a>,·Django·sets
182 environment·variables·so·that·its·process·runs·in·the·default·time·zone.183 environment·variables·so·that·its·process·runs·in·the·default·time·zone.
183 This·happens·regardless·of·the·value·of·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span></code></a>·and·of·the184 This·happens·regardless·of·the·value·of·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span></code></a>·and·of·the
184 current·time·zone.</p>185 current·time·zone.</p>
185 <p>When·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·this·is·useful·to·preserve186 <p>When·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_TZ"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_TZ</span></code></a>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·this·is·useful·to·preserve
186 backwards-compatibility·with·applications·that·still·rely·on·local·time.187 backwards-compatibility·with·applications·that·still·rely·on·local·time.
187 However,·<a·class="reference·internal"·href="#naive-datetime-objects"><span·class="std·std-ref">as·explained·above</span></a>,·this·isn’t188 However,·<a·class="reference·internal"·href="#naive-datetime-objects"><span·class="std·std-ref">as·explained·above</span></a>,·this·isn’t
Max diff block lines reached; 25041/40090 bytes (62.46%) of diff not shown.
10.2 KB
html2text {}
Max HTML report size reached
88.8 KB
./usr/share/doc/python-django-doc/html/topics/i18n/translation.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Translation·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Translation·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Format·localization"·href="formatting.html"·/>15 ····<link·rel="next"·title="Format·localization"·href="formatting.html"·/>
15 ····<link·rel="prev"·title="Internationalization·and·localization"·href="index.html"·/>16 ····<link·rel="prev"·title="Internationalization·and·localization"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 57 lines modifiedOffset 80, 57 lines modified
79 ············80 ············
80 ··<section·id="s-translation">81 ··<section·id="s-translation">
81 <span·id="translation"></span><h1>Translation<a·class="headerlink"·href="#translation"·title="Link·to·this·heading">¶</a></h1>82 <span·id="translation"></span><h1>Translation<a·class="headerlink"·href="#translation"·title="Link·to·this·heading">¶</a></h1>
82 <section·id="s-overview">83 <section·id="s-overview">
83 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>84 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>
84 <p>In·order·to·make·a·Django·project·translatable,·you·have·to·add·a·minimal85 <p>In·order·to·make·a·Django·project·translatable,·you·have·to·add·a·minimal
85 number·of·hooks·to·your·Python·code·and·templates.·These·hooks·are·called86 number·of·hooks·to·your·Python·code·and·templates.·These·hooks·are·called
86 <a·class="reference·internal"·href="index.html#term-translation-string"><span·class="xref·std·std-term">translation·strings</span></a>.·They·tell·Django:·This·text87 <a·class="reference·internal"·href="index.html#term-translation-string"><span·class="xref·std·std-term">translation·strings</span></a>.·They·tell·Django:·This·text
87 should·be·translated·into·the·end·user’s·language,·if·a·translation·for·this88 should·be·translated·into·the·end·user’s·language,·if·a·translation·for·this
88 text·is·available·in·that·language.·It’s·your·responsibility·to·mark89 text·is·available·in·that·language.·It’s·your·responsibility·to·mark
89 translatable·strings;·the·system·can·only·translate·strings·it·knows·about.</p>90 translatable·strings;·the·system·can·only·translate·strings·it·knows·about.</p>
90 <p>Django·then·provides·utilities·to·extract·the·translation·strings·into·a91 <p>Django·then·provides·utilities·to·extract·the·translation·strings·into·a
91 <a·class="reference·internal"·href="index.html#term-message-file"><span·class="xref·std·std-term">message·file</span></a>.·This·file·is·a·convenient·way·for·translators·to·provide92 <a·class="reference·internal"·href="index.html#term-message-file"><span·class="xref·std·std-term">message·file</span></a>.·This·file·is·a·convenient·way·for·translators·to·provide
92 the·equivalent·of·the·translation·strings·in·the·target·language.·Once·the93 the·equivalent·of·the·translation·strings·in·the·target·language.·Once·the
93 translators·have·filled·in·the·message·file,·it·must·be·compiled.·This·process94 translators·have·filled·in·the·message·file,·it·must·be·compiled.·This·process
94 relies·on·the·GNU·gettext·toolset.</p>95 relies·on·the·GNU·gettext·toolset.</p>
95 <p>Once·this·is·done,·Django·takes·care·of·translating·web·apps·on·the·fly·in·each96 <p>Once·this·is·done,·Django·takes·care·of·translating·web·apps·on·the·fly·in·each
96 available·language,·according·to·users·language·preferences.</p>97 available·language,·according·to·users·language·preferences.</p>
97 <p>Django’s·internationalization·hooks·are·on·by·default,·and·that·means·there’s·a98 <p>Django’s·internationalization·hooks·are·on·by·default,·and·that·means·there’s·a
98 bit·of·i18n-related·overhead·in·certain·places·of·the·framework.·If·you·don’t99 bit·of·i18n-related·overhead·in·certain·places·of·the·framework.·If·you·don’t
99 use·internationalization,·you·should·take·the·two·seconds·to·set100 use·internationalization,·you·should·take·the·two·seconds·to·set
100 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_I18N"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_I18N</span>·<span·class="pre">=</span>·<span·class="pre">False</span></code></a>·in·your·settings·file.·Then·Django·will101 <a·class="reference·internal"·href="../../ref/settings.html#std-setting-USE_I18N"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USE_I18N</span>·<span·class="pre">=</span>·<span·class="pre">False</span></code></a>·in·your·settings·file.·Then·Django·will
101 make·some·optimizations·so·as·not·to·load·the·internationalization·machinery.</p>102 make·some·optimizations·so·as·not·to·load·the·internationalization·machinery.</p>
102 <div·class="admonition·note">103 <div·class="admonition·note">
103 <p·class="admonition-title">Note</p>104 <p·class="admonition-title">rkus</p>
104 <p>Make·sure·you’ve·activated·translation·for·your·project·(the·fastest·way·is105 <p>Make·sure·you’ve·activated·translation·for·your·project·(the·fastest·way·is
105 to·check·if·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>·includes106 to·check·if·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-MIDDLEWARE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIDDLEWARE</span></code></a>·includes
106 <a·class="reference·internal"·href="../../ref/middleware.html#django.middleware.locale.LocaleMiddleware"·title="django.middleware.locale.LocaleMiddleware"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.middleware.locale.LocaleMiddleware</span></code></a>).·If·you·haven’t·yet,107 <a·class="reference·internal"·href="../../ref/middleware.html#django.middleware.locale.LocaleMiddleware"·title="django.middleware.locale.LocaleMiddleware"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.middleware.locale.LocaleMiddleware</span></code></a>).·If·you·haven’t·yet,
107 see·<a·class="reference·internal"·href="#how-django-discovers-language-preference"><span·class="std·std-ref">How·Django·discovers·language·preference</span></a>.</p>108 see·<a·class="reference·internal"·href="#how-django-discovers-language-preference"><span·class="std·std-ref">How·Django·discovers·language·preference</span></a>.</p>
108 </div>109 </div>
109 </section>110 </section>
110 <section·id="s-internationalization-in-python-code">111 <section·id="s-internationalization-in-python-code">
111 <span·id="internationalization-in-python-code"></span><h2>Internationalization:·in·Python·code<a·class="headerlink"·href="#internationalization-in-python-code"·title="Link·to·this·heading">¶</a></h2>112 <span·id="internationalization-in-python-code"></span><h2>Internationalization:·in·Python·code<a·class="headerlink"·href="#internationalization-in-python-code"·title="Link·to·this·heading">¶</a></h2>
112 <section·id="s-standard-translation">113 <section·id="s-standard-translation">
113 <span·id="standard-translation"></span><h3>Standard·translation<a·class="headerlink"·href="#standard-translation"·title="Link·to·this·heading">¶</a></h3>114 <span·id="standard-translation"></span><h3>Standard·translation<a·class="headerlink"·href="#standard-translation"·title="Link·to·this·heading">¶</a></h3>
114 <p>Specify·a·translation·string·by·using·the·function115 <p>Specify·a·translation·string·by·using·the·function
115 <a·class="reference·internal"·href="../../ref/utils.html#django.utils.translation.gettext"·title="django.utils.translation.gettext"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">gettext()</span></code></a>.·It’s·convention·to·import·this116 <a·class="reference·internal"·href="../../ref/utils.html#django.utils.translation.gettext"·title="django.utils.translation.gettext"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">gettext()</span></code></a>.·It’s·convention·to·import·this
116 as·a·shorter·alias,·<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>,·to·save·typing.</p>117 as·a·shorter·alias,·<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>,·to·save·typing.</p>
117 <div·class="admonition·note">118 <div·class="admonition·note">
118 <p·class="admonition-title">Note</p>119 <p·class="admonition-title">rkus</p>
119 <p>Python’s·standard·library·<code·class="docutils·literal·notranslate"><span·class="pre">gettext</span></code>·module·installs·<code·class="docutils·literal·notranslate"><span·class="pre">_()</span></code>·into·the120 <p>Python’s·standard·library·<code·class="docutils·literal·notranslate"><span·class="pre">gettext</span></code>·module·installs·<code·class="docutils·literal·notranslate"><span·class="pre">_()</span></code>·into·the
120 global·namespace,·as·an·alias·for·<code·class="docutils·literal·notranslate"><span·class="pre">gettext()</span></code>.·In·Django,·we·have·chosen121 global·namespace,·as·an·alias·for·<code·class="docutils·literal·notranslate"><span·class="pre">gettext()</span></code>.·In·Django,·we·have·chosen
121 not·to·follow·this·practice,·for·a·couple·of·reasons:</p>122 not·to·follow·this·practice,·for·a·couple·of·reasons:</p>
122 <ol·class="arabic·simple">123 <ol·class="arabic·simple">
123 <li><p>Sometimes,·you·should·use·<a·class="reference·internal"·href="../../ref/utils.html#django.utils.translation.gettext_lazy"·title="django.utils.translation.gettext_lazy"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">gettext_lazy()</span></code></a>124 <li><p>Sometimes,·you·should·use·<a·class="reference·internal"·href="../../ref/utils.html#django.utils.translation.gettext_lazy"·title="django.utils.translation.gettext_lazy"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">gettext_lazy()</span></code></a>
124 as·the·default·translation·method·for·a·particular·file.·Without·<code·class="docutils·literal·notranslate"><span·class="pre">_()</span></code>125 as·the·default·translation·method·for·a·particular·file.·Without·<code·class="docutils·literal·notranslate"><span·class="pre">_()</span></code>
125 in·the·global·namespace,·the·developer·has·to·think·about·which·is·the126 in·the·global·namespace,·the·developer·has·to·think·about·which·is·the
126 most·appropriate·translation·function.</p></li>127 most·appropriate·translation·function.</p></li>
127 <li><p>The·underscore·character·(<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>)·is·used·to·represent·the·previous128 <li><p>The·underscore·character·(<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>)·is·used·to·represent·the·previous
128 result·in·Python’s·interactive·shell·and·doctest·tests.·Installing·a129 result·in·Python’s·interactive·shell·and·doctest·tests.·Installing·a
129 global·<code·class="docutils·literal·notranslate"><span·class="pre">_()</span></code>·function·causes·interference.·Explicitly·importing130 global·<code·class="docutils·literal·notranslate"><span·class="pre">_()</span></code>·function·causes·interference.·Explicitly·importing
130 <code·class="docutils·literal·notranslate"><span·class="pre">gettext()</span></code>·as·<code·class="docutils·literal·notranslate"><span·class="pre">_()</span></code>·avoids·this·problem.</p></li>131 <code·class="docutils·literal·notranslate"><span·class="pre">gettext()</span></code>·as·<code·class="docutils·literal·notranslate"><span·class="pre">_()</span></code>·avoids·this·problem.</p></li>
131 </ol>132 </ol>
132 </div>133 </div>
133 <div·class="admonition-what-functions-may-be-aliased-as·admonition">134 <div·class="admonition-what-functions-may-be-aliased-as·admonition">
134 <p·class="admonition-title">What·functions·may·be·aliased·as·<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>?</p>135 <p·class="admonition-title">What·functions·may·be·aliased·as·<code·class="docutils·literal·notranslate"><span·class="pre">_</span></code>?</p>
135 <p>Because·of·how·<code·class="docutils·literal·notranslate"><span·class="pre">xgettext</span></code>·(used·by·<a·class="reference·internal"·href="../../ref/django-admin.html#django-admin-makemessages"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">makemessages</span></code></a>)·works,·only136 <p>Because·of·how·<code·class="docutils·literal·notranslate"><span·class="pre">xgettext</span></code>·(used·by·<a·class="reference·internal"·href="../../ref/django-admin.html#django-admin-makemessages"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">makemessages</span></code></a>)·works,·only
Offset 193, 15 lines modifiedOffset 194, 15 lines modified
193 month·and·the·day·placeholders·swapped.</p>194 month·and·the·day·placeholders·swapped.</p>
194 <p>For·this·reason,·you·should·use·named-string·interpolation·(e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">%(day)s</span></code>)195 <p>For·this·reason,·you·should·use·named-string·interpolation·(e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">%(day)s</span></code>)
195 instead·of·positional·interpolation·(e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">%s</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">%d</span></code>)·whenever·you196 instead·of·positional·interpolation·(e.g.,·<code·class="docutils·literal·notranslate"><span·class="pre">%s</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">%d</span></code>)·whenever·you
196 have·more·than·a·single·parameter.·If·you·used·positional·interpolation,197 have·more·than·a·single·parameter.·If·you·used·positional·interpolation,
197 translations·wouldn’t·be·able·to·reorder·placeholder·text.</p>198 translations·wouldn’t·be·able·to·reorder·placeholder·text.</p>
198 <p>Since·string·extraction·is·done·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">xgettext</span></code>·command,·only·syntaxes199 <p>Since·string·extraction·is·done·by·the·<code·class="docutils·literal·notranslate"><span·class="pre">xgettext</span></code>·command,·only·syntaxes
199 supported·by·<code·class="docutils·literal·notranslate"><span·class="pre">gettext</span></code>·are·supported·by·Django.·In·particular,·Python200 supported·by·<code·class="docutils·literal·notranslate"><span·class="pre">gettext</span></code>·are·supported·by·Django.·In·particular,·Python
200 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/lexical_analysis.html#f-strings"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">f-strings</span></a>·are·not·yet·supported·by·<code·class="docutils·literal·notranslate"><span·class="pre">xgettext</span></code>,·and201 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/reference/lexical_analysis.html#f-strings"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">f-strings</span></a>·are·not·yet·supported·by·<code·class="docutils·literal·notranslate"><span·class="pre">xgettext</span></code>,·and
201 JavaScript·template·strings·need·<code·class="docutils·literal·notranslate"><span·class="pre">gettext</span></code>·0.21+.</p>202 JavaScript·template·strings·need·<code·class="docutils·literal·notranslate"><span·class="pre">gettext</span></code>·0.21+.</p>
202 </section>203 </section>
203 <section·id="s-comments-for-translators">204 <section·id="s-comments-for-translators">
204 <span·id="s-translator-comments"></span><span·id="comments-for-translators"></span><span·id="translator-comments"></span><h3>Comments·for·translators<a·class="headerlink"·href="#comments-for-translators"·title="Link·to·this·heading">¶</a></h3>205 <span·id="s-translator-comments"></span><span·id="comments-for-translators"></span><span·id="translator-comments"></span><h3>Comments·for·translators<a·class="headerlink"·href="#comments-for-translators"·title="Link·to·this·heading">¶</a></h3>
205 <p>If·you·would·like·to·give·translators·hints·about·a·translatable·string,·you206 <p>If·you·would·like·to·give·translators·hints·about·a·translatable·string,·you
206 can·add·a·comment·prefixed·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">Translators</span></code>·keyword·on·the·line207 can·add·a·comment·prefixed·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">Translators</span></code>·keyword·on·the·line
207 preceding·the·string,·e.g.:</p>208 preceding·the·string,·e.g.:</p>
Offset 210, 15 lines modifiedOffset 211, 15 lines modified
210 ····<span·class="n">output</span>·<span·class="o">=</span>·<span·class="n">gettext</span><span·class="p">(</span><span·class="s2">&quot;Welcome·to·my·site.&quot;</span><span·class="p">)</span>211 ····<span·class="n">output</span>·<span·class="o">=</span>·<span·class="n">gettext</span><span·class="p">(</span><span·class="s2">&quot;Welcome·to·my·site.&quot;</span><span·class="p">)</span>
211 </pre></div>212 </pre></div>
212 </div>213 </div>
213 <p>The·comment·will·then·appear·in·the·resulting·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·file·associated·with·the214 <p>The·comment·will·then·appear·in·the·resulting·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·file·associated·with·the
214 translatable·construct·located·below·it·and·should·also·be·displayed·by·most215 translatable·construct·located·below·it·and·should·also·be·displayed·by·most
215 translation·tools.</p>216 translation·tools.</p>
216 <div·class="admonition·note">217 <div·class="admonition·note">
217 <p·class="admonition-title">Note</p>218 <p·class="admonition-title">rkus</p>
218 <p>Just·for·completeness,·this·is·the·corresponding·fragment·of·the219 <p>Just·for·completeness,·this·is·the·corresponding·fragment·of·the
219 resulting·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·file:</p>220 resulting·<code·class="docutils·literal·notranslate"><span·class="pre">.po</span></code>·file:</p>
220 <div·class="highlight-po·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#.·Translators:·This·message·appears·on·the·home·page·only</span>221 <div·class="highlight-po·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#.·Translators:·This·message·appears·on·the·home·page·only</span>
221 <span·class="c1">#·path/to/python/file.py:123</span>222 <span·class="c1">#·path/to/python/file.py:123</span>
222 <span·class="nv">msgid</span>·<span·class="s">&quot;Welcome·to·my·site.&quot;</span>223 <span·class="nv">msgid</span>·<span·class="s">&quot;Welcome·to·my·site.&quot;</span>
Max diff block lines reached; 51523/63649 bytes (80.95%) of diff not shown.
26.5 KB
html2text {}
Max HTML report size reached
6.75 KB
./usr/share/doc/python-django-doc/html/topics/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Using·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Using·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="How·to·install·Django"·href="install.html"·/>15 ····<link·rel="next"·title="How·to·install·Django"·href="install.html"·/>
15 ····<link·rel="prev"·title="Writing·your·first·contribution·for·Django"·href="../intro/contributing.html"·/>16 ····<link·rel="prev"·title="Writing·your·first·contribution·for·Django"·href="../intro/contributing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 25 lines modifiedOffset 54, 25 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
66 ····&laquo;·<a·href="../intro/contributing.html"·title="Writing·your·first·contribution·for·Django">previous</a>67 ····&laquo;·<a·href="../intro/contributing.html"·title="Writing·your·first·contribution·for·Django">previous</a>
67 ·····|68 ·····|
68 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>69 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
69 ···|70 ···|
70 ····<a·href="install.html"·title="How·to·install·Django">next</a>·&raquo;</div>71 ····<a·href="install.html"·title="How·to·install·Django">next</a>·&raquo;</div>
71 ····</div>72 ····</div>
  
72 ····<div·id="bd">73 ····<div·id="bd">
73 ······<div·id="yui-main">74 ······<div·id="yui-main">
74 ········<div·class="yui-b">75 ········<div·class="yui-b">
Offset 310, 47 lines modifiedOffset 311, 47 lines modified
310 ······311 ······
311 ········312 ········
312 ··········<div·class="yui-b"·id="sidebar">313 ··········<div·class="yui-b"·id="sidebar">
313 ············314 ············
314 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">315 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
315 ········<div·class="sphinxsidebarwrapper">316 ········<div·class="sphinxsidebarwrapper">
316 ··<div>317 ··<div>
317 ····<h4>Previous·topic</h4>318 ····<h4>Eelmine·teema</h4>
318 ····<p·class="topless"><a·href="../intro/contributing.html"319 ····<p·class="topless"><a·href="../intro/contributing.html"
319 ··························title="previous·chapter">Writing·your·first·contribution·for·Django</a></p>320 ··························title="eelmine·jaotis">Writing·your·first·contribution·for·Django</a></p>
320 ··</div>321 ··</div>
321 ··<div>322 ··<div>
322 ····<h4>Next·topic</h4>323 ····<h4>Järgmine·teema</h4>
323 ····<p·class="topless"><a·href="install.html"324 ····<p·class="topless"><a·href="install.html"
324 ··························title="next·chapter">How·to·install·Django</a></p>325 ··························title="järgmine·jaotis">How·to·install·Django</a></p>
325 ··</div>326 ··</div>
326 <search·id="searchbox"·style="display:·none"·role="search">327 <search·id="searchbox"·style="display:·none"·role="search">
327 ··<h3·id="searchlabel">Quick·search</h3>328 ··<h3·id="searchlabel">Kiirotsing</h3>
328 ····<div·class="searchformwrapper">329 ····<div·class="searchformwrapper">
329 ····<form·class="search"·action="../search.html"·method="get">330 ····<form·class="search"·action="../search.html"·method="get">
330 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>331 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
331 ······<input·type="submit"·value="Go"·/>332 ······<input·type="submit"·value="Otsi"·/>
332 ····</form>333 ····</form>
333 ····</div>334 ····</div>
334 </search>335 </search>
335 <script>document.getElementById('searchbox').style.display·=·"block"</script>336 <script>document.getElementById('searchbox').style.display·=·"block"</script>
336 ········</div>337 ········</div>
337 ······</div>338 ······</div>
338 ··············<h3>Last·update:</h3>339 ··············<h3>Last·update:</h3>
339 ··············<p·class="topless">Nov·05,·2024</p>340 ··············<p·class="topless">nov·05,·2024</p>
340 ··········</div>341 ··········</div>
341 ········342 ········
342 ······343 ······
343 ····</div>344 ····</div>
  
344 ····<div·id="ft">345 ····<div·id="ft">
345 ······<div·class="nav">346 ······<div·class="nav">
346 ····&laquo;·<a·href="../intro/contributing.html"·title="Writing·your·first·contribution·for·Django">previous</a>347 ····&laquo;·<a·href="../intro/contributing.html"·title="Writing·your·first·contribution·for·Django">previous</a>
347 ·····|348 ·····|
348 ····<a·title="Django·5.1.3·documentation"·href="../index.html"·accesskey="U">up</a>349 ····<a·title="Django·5.1.3·dokumentatsioon"·href="../index.html"·accesskey="U">up</a>
349 ···|350 ···|
350 ····<a·href="install.html"·title="How·to·install·Django">next</a>·&raquo;</div>351 ····<a·href="install.html"·title="How·to·install·Django">next</a>·&raquo;</div>
351 ····</div>352 ····</div>
352 ··</div>353 ··</div>
  
353 ······<div·class="clearer"></div>354 ······<div·class="clearer"></div>
354 ····</div>355 ····</div>
2.01 KB
html2text {}
Max HTML report size reached
13.0 KB
./usr/share/doc/python-django-doc/html/topics/install.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>How·to·install·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>How·to·install·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Models·and·databases"·href="db/index.html"·/>15 ····<link·rel="next"·title="Models·and·databases"·href="db/index.html"·/>
15 ····<link·rel="prev"·title="Using·Django"·href="index.html"·/>16 ····<link·rel="prev"·title="Using·Django"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 181, 15 lines modifiedOffset 182, 15 lines modified
181 </ul>182 </ul>
182 <div·class="admonition-for-databases-other-than-sqlite·admonition">183 <div·class="admonition-for-databases-other-than-sqlite·admonition">
183 <p·class="admonition-title">For·databases·other·than·SQLite</p>184 <p·class="admonition-title">For·databases·other·than·SQLite</p>
184 <p>If·you·are·not·using·SQLite·as·your·database,·additional·settings·such·as185 <p>If·you·are·not·using·SQLite·as·your·database,·additional·settings·such·as
185 <a·class="reference·internal"·href="../ref/settings.html#std-setting-USER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USER</span></code></a>,·<a·class="reference·internal"·href="../ref/settings.html#std-setting-PASSWORD"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">PASSWORD</span></code></a>,·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>·must·be·added.186 <a·class="reference·internal"·href="../ref/settings.html#std-setting-USER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">USER</span></code></a>,·<a·class="reference·internal"·href="../ref/settings.html#std-setting-PASSWORD"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">PASSWORD</span></code></a>,·and·<a·class="reference·internal"·href="../ref/settings.html#std-setting-HOST"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">HOST</span></code></a>·must·be·added.
186 For·more·details,·see·the·reference·documentation·for·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DATABASES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASES</span></code></a>.</p>187 For·more·details,·see·the·reference·documentation·for·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DATABASES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DATABASES</span></code></a>.</p>
187 <p>Also,·make·sure·that·you’ve·created·the·database·by·this·point.·Do·that188 <p>Also,·make·sure·that·you’ve·created·the·database·by·this·point.·Do·that
188 with·<code·class="docutils·literal·notranslate"><span·class="pre">CREATE</span>·<span·class="pre">DATABASE</span>·<span·class="pre">database_name;</span></code>·within·your·database’s189 with·<code·class="docutils·literal·notranslate"><span·class="pre">CREATE</span>·<span·class="pre">DATABASE</span>·<span·class="pre">database_name;</span></code>·within·your·database’s
189 interactive·prompt.</p>190 interactive·prompt.</p>
190 </div>191 </div>
191 <p>If·you·plan·to·use·Django’s·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">migrate</span></code>·command·to·automatically192 <p>If·you·plan·to·use·Django’s·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span>·<span·class="pre">migrate</span></code>·command·to·automatically
192 create·database·tables·for·your·models·(after·first·installing·Django·and193 create·database·tables·for·your·models·(after·first·installing·Django·and
193 creating·a·project),·you’ll·need·to·ensure·that·Django·has·permission·to·create194 creating·a·project),·you’ll·need·to·ensure·that·Django·has·permission·to·create
194 and·alter·tables·in·the·database·you’re·using;·if·you·plan·to·manually·create195 and·alter·tables·in·the·database·you’re·using;·if·you·plan·to·manually·create
195 the·tables,·you·can·grant·Django·<code·class="docutils·literal·notranslate"><span·class="pre">SELECT</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">INSERT</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">UPDATE</span></code>·and196 the·tables,·you·can·grant·Django·<code·class="docutils·literal·notranslate"><span·class="pre">SELECT</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">INSERT</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">UPDATE</span></code>·and
Offset 208, 15 lines modifiedOffset 209, 15 lines modified
208 <span·id="s-installing-official-release"></span><span·id="installing-an-official-release-with-pip"></span><span·id="installing-official-release"></span><h3>Installing·an·official·release·with·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code><a·class="headerlink"·href="#installing-an-official-release-with-pip"·title="Link·to·this·heading">¶</a></h3>209 <span·id="s-installing-official-release"></span><span·id="installing-an-official-release-with-pip"></span><span·id="installing-official-release"></span><h3>Installing·an·official·release·with·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code><a·class="headerlink"·href="#installing-an-official-release-with-pip"·title="Link·to·this·heading">¶</a></h3>
209 <p>This·is·the·recommended·way·to·install·Django.</p>210 <p>This·is·the·recommended·way·to·install·Django.</p>
210 <ol·class="arabic">211 <ol·class="arabic">
211 <li><p>Install·<a·class="reference·external"·href="https://pip.pypa.io/">pip</a>.·The·easiest·is·to·use·the·<a·class="reference·external"·href="https://pip.pypa.io/en/latest/installation/">standalone·pip·installer</a>.·If·your212 <li><p>Install·<a·class="reference·external"·href="https://pip.pypa.io/">pip</a>.·The·easiest·is·to·use·the·<a·class="reference·external"·href="https://pip.pypa.io/en/latest/installation/">standalone·pip·installer</a>.·If·your
212 distribution·already·has·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>·installed,·you·might·need·to·update·it·if213 distribution·already·has·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code>·installed,·you·might·need·to·update·it·if
213 it’s·outdated.·If·it’s·outdated,·you’ll·know·because·installation·won’t214 it’s·outdated.·If·it’s·outdated,·you’ll·know·because·installation·won’t
214 work.</p></li>215 work.</p></li>
215 <li><p>Take·a·look·at·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/venv.html"·title="(in·Python·v3.12)"><span·class="xref·std·std-doc">venv</span></a>.·This·tool·provides216 <li><p>Take·a·look·at·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/tutorial/venv.html"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-doc">venv</span></a>.·This·tool·provides
216 isolated·Python·environments,·which·are·more·practical·than·installing217 isolated·Python·environments,·which·are·more·practical·than·installing
217 packages·systemwide.·It·also·allows·installing·packages·without218 packages·systemwide.·It·also·allows·installing·packages·without
218 administrator·privileges.·The·<a·class="reference·internal"·href="../intro/contributing.html"><span·class="doc">contributing·tutorial</span></a>·walks·through·how·to·create·a·virtual·environment.</p></li>219 administrator·privileges.·The·<a·class="reference·internal"·href="../intro/contributing.html"><span·class="doc">contributing·tutorial</span></a>·walks·through·how·to·create·a·virtual·environment.</p></li>
219 <li><p>After·you’ve·created·and·activated·a·virtual·environment,·enter·the·command:</p>220 <li><p>After·you’ve·created·and·activated·a·virtual·environment,·enter·the·command:</p>
220 <div·class="console-block"·id="console-block-0">221 <div·class="console-block"·id="console-block-0">
221 <input·class="c-tab-unix"·id="c-tab-0-unix"·type="radio"·name="console-0"·checked>222 <input·class="c-tab-unix"·id="c-tab-0-unix"·type="radio"·name="console-0"·checked>
222 <label·for="c-tab-0-unix"·title="Linux/macOS">&#xf17c/&#xf179</label>223 <label·for="c-tab-0-unix"·title="Linux/macOS">&#xf17c/&#xf179</label>
Offset 319, 15 lines modifiedOffset 320, 15 lines modified
319 ······320 ······
320 ········321 ········
321 ··········<div·class="yui-b"·id="sidebar">322 ··········<div·class="yui-b"·id="sidebar">
322 ············323 ············
323 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">324 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
324 ········<div·class="sphinxsidebarwrapper">325 ········<div·class="sphinxsidebarwrapper">
325 ··<div>326 ··<div>
326 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>327 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
327 ····<ul>328 ····<ul>
328 <li><a·class="reference·internal"·href="#">How·to·install·Django</a><ul>329 <li><a·class="reference·internal"·href="#">How·to·install·Django</a><ul>
329 <li><a·class="reference·internal"·href="#install-python">Install·Python</a></li>330 <li><a·class="reference·internal"·href="#install-python">Install·Python</a></li>
330 <li><a·class="reference·internal"·href="#install-apache-and-mod-wsgi">Install·Apache·and·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a></li>331 <li><a·class="reference·internal"·href="#install-apache-and-mod-wsgi">Install·Apache·and·<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code></a></li>
331 <li><a·class="reference·internal"·href="#get-your-database-running">Get·your·database·running</a></li>332 <li><a·class="reference·internal"·href="#get-your-database-running">Get·your·database·running</a></li>
332 <li><a·class="reference·internal"·href="#install-the-django-code">Install·the·Django·code</a><ul>333 <li><a·class="reference·internal"·href="#install-the-django-code">Install·the·Django·code</a><ul>
333 <li><a·class="reference·internal"·href="#installing-an-official-release-with-pip">Installing·an·official·release·with·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code></a></li>334 <li><a·class="reference·internal"·href="#installing-an-official-release-with-pip">Installing·an·official·release·with·<code·class="docutils·literal·notranslate"><span·class="pre">pip</span></code></a></li>
Offset 337, 37 lines modifiedOffset 338, 37 lines modified
337 </li>338 </li>
338 </ul>339 </ul>
339 </li>340 </li>
340 </ul>341 </ul>
  
341 ··</div>342 ··</div>
342 ··<div>343 ··<div>
343 ····<h4>Previous·topic</h4>344 ····<h4>Eelmine·teema</h4>
344 ····<p·class="topless"><a·href="index.html"345 ····<p·class="topless"><a·href="index.html"
345 ··························title="previous·chapter">Using·Django</a></p>346 ··························title="eelmine·jaotis">Using·Django</a></p>
346 ··</div>347 ··</div>
347 ··<div>348 ··<div>
348 ····<h4>Next·topic</h4>349 ····<h4>Järgmine·teema</h4>
349 ····<p·class="topless"><a·href="db/index.html"350 ····<p·class="topless"><a·href="db/index.html"
350 ··························title="next·chapter">Models·and·databases</a></p>351 ··························title="järgmine·jaotis">Models·and·databases</a></p>
351 ··</div>352 ··</div>
352 <search·id="searchbox"·style="display:·none"·role="search">353 <search·id="searchbox"·style="display:·none"·role="search">
353 ··<h3·id="searchlabel">Quick·search</h3>354 ··<h3·id="searchlabel">Kiirotsing</h3>
354 ····<div·class="searchformwrapper">355 ····<div·class="searchformwrapper">
355 ····<form·class="search"·action="../search.html"·method="get">356 ····<form·class="search"·action="../search.html"·method="get">
356 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>357 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
357 ······<input·type="submit"·value="Go"·/>358 ······<input·type="submit"·value="Otsi"·/>
358 ····</form>359 ····</form>
359 ····</div>360 ····</div>
360 </search>361 </search>
361 <script>document.getElementById('searchbox').style.display·=·"block"</script>362 <script>document.getElementById('searchbox').style.display·=·"block"</script>
362 ········</div>363 ········</div>
363 ······</div>364 ······</div>
364 ··············<h3>Last·update:</h3>365 ··············<h3>Last·update:</h3>
365 ··············<p·class="topless">Nov·05,·2024</p>366 ··············<p·class="topless">nov·05,·2024</p>
366 ··········</div>367 ··········</div>
367 ········368 ········
368 ······369 ······
369 ····</div>370 ····</div>
  
370 ····<div·id="ft">371 ····<div·id="ft">
371 ······<div·class="nav">372 ······<div·class="nav">
4.15 KB
html2text {}
Max HTML report size reached
22.2 KB
./usr/share/doc/python-django-doc/html/topics/logging.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Logging·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Logging·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Pagination"·href="pagination.html"·/>15 ····<link·rel="next"·title="Pagination"·href="pagination.html"·/>
15 ····<link·rel="prev"·title="Time·zones"·href="i18n/timezones.html"·/>16 ····<link·rel="prev"·title="Time·zones"·href="i18n/timezones.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 28 lines modifiedOffset 77, 28 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-logging">79 ··········<div·class="yui-g"·id="topics-logging">
79 ············80 ············
80 ··<section·id="s-logging">81 ··<section·id="s-logging">
81 <span·id="s-logging-explanation"></span><span·id="logging"></span><span·id="logging-explanation"></span><h1>Logging<a·class="headerlink"·href="#logging"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-logging-explanation"></span><span·id="logging"></span><span·id="logging-explanation"></span><h1>Logging<a·class="headerlink"·href="#logging"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·seealso">83 <div·class="admonition·seealso">
83 <p·class="admonition-title">See·also</p>84 <p·class="admonition-title">Vaata·ka</p>
84 <ul·class="simple">85 <ul·class="simple">
85 <li><p><a·class="reference·internal"·href="../howto/logging.html#logging-how-to"><span·class="std·std-ref">How·to·configure·and·use·logging</span></a></p></li>86 <li><p><a·class="reference·internal"·href="../howto/logging.html#logging-how-to"><span·class="std·std-ref">How·to·configure·and·use·logging</span></a></p></li>
86 <li><p><a·class="reference·internal"·href="../ref/logging.html#logging-ref"><span·class="std·std-ref">Django·logging·reference</span></a></p></li>87 <li><p><a·class="reference·internal"·href="../ref/logging.html#logging-ref"><span·class="std·std-ref">Django·logging·reference</span></a></p></li>
87 </ul>88 </ul>
88 </div>89 </div>
89 <p>Python·programmers·will·often·use·<code·class="docutils·literal·notranslate"><span·class="pre">print()</span></code>·in·their·code·as·a·quick·and90 <p>Python·programmers·will·often·use·<code·class="docutils·literal·notranslate"><span·class="pre">print()</span></code>·in·their·code·as·a·quick·and
90 convenient·debugging·tool.·Using·the·logging·framework·is·only·a·little·more91 convenient·debugging·tool.·Using·the·logging·framework·is·only·a·little·more
91 effort·than·that,·but·it’s·much·more·elegant·and·flexible.·As·well·as·being92 effort·than·that,·but·it’s·much·more·elegant·and·flexible.·As·well·as·being
92 useful·for·debugging,·logging·can·also·provide·you·with·more·-·and·better93 useful·for·debugging,·logging·can·also·provide·you·with·more·-·and·better
93 structured·-·information·about·the·state·and·health·of·your·application.</p>94 structured·-·information·about·the·state·and·health·of·your·application.</p>
94 <section·id="s-overview">95 <section·id="s-overview">
95 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>96 <span·id="overview"></span><h2>Overview<a·class="headerlink"·href="#overview"·title="Link·to·this·heading">¶</a></h2>
96 <p>Django·uses·and·extends·Python’s·builtin·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#module-logging"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">logging</span></code></a>·module·to·perform97 <p>Django·uses·and·extends·Python’s·builtin·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#module-logging"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">logging</span></code></a>·module·to·perform
97 system·logging.·This·module·is·discussed·in·detail·in·Python’s·own98 system·logging.·This·module·is·discussed·in·detail·in·Python’s·own
98 documentation;·this·section·provides·a·quick·overview.</p>99 documentation;·this·section·provides·a·quick·overview.</p>
99 <section·id="s-the-cast-of-players">100 <section·id="s-the-cast-of-players">
100 <span·id="the-cast-of-players"></span><h3>The·cast·of·players<a·class="headerlink"·href="#the-cast-of-players"·title="Link·to·this·heading">¶</a></h3>101 <span·id="the-cast-of-players"></span><h3>The·cast·of·players<a·class="headerlink"·href="#the-cast-of-players"·title="Link·to·this·heading">¶</a></h3>
101 <p>A·Python·logging·configuration·consists·of·four·parts:</p>102 <p>A·Python·logging·configuration·consists·of·four·parts:</p>
102 <ul·class="simple">103 <ul·class="simple">
103 <li><p><a·class="reference·internal"·href="#topic-logging-parts-loggers"><span·class="std·std-ref">Loggers</span></a></p></li>104 <li><p><a·class="reference·internal"·href="#topic-logging-parts-loggers"><span·class="std·std-ref">Loggers</span></a></p></li>
Offset 168, 15 lines modifiedOffset 169, 15 lines modified
168 can·be·used·in·a·chain·to·perform·multiple·filtering·actions.</p>169 can·be·used·in·a·chain·to·perform·multiple·filtering·actions.</p>
169 </section>170 </section>
170 <section·id="s-formatters">171 <section·id="s-formatters">
171 <span·id="s-topic-logging-parts-formatters"></span><span·id="formatters"></span><span·id="topic-logging-parts-formatters"></span><h4>Formatters<a·class="headerlink"·href="#formatters"·title="Link·to·this·heading">¶</a></h4>172 <span·id="s-topic-logging-parts-formatters"></span><span·id="formatters"></span><span·id="topic-logging-parts-formatters"></span><h4>Formatters<a·class="headerlink"·href="#formatters"·title="Link·to·this·heading">¶</a></h4>
172 <p>Ultimately,·a·log·record·needs·to·be·rendered·as·text.·<em>Formatters</em>173 <p>Ultimately,·a·log·record·needs·to·be·rendered·as·text.·<em>Formatters</em>
173 describe·the·exact·format·of·that·text.·A·formatter·usually·consists174 describe·the·exact·format·of·that·text.·A·formatter·usually·consists
174 of·a·Python·formatting·string·containing175 of·a·Python·formatting·string·containing
175 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logrecord-attributes"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">LogRecord·attributes</span></a>;·however,176 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.html#logrecord-attributes"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">LogRecord·attributes</span></a>;·however,
176 you·can·also·write·custom·formatters·to·implement·specific·formatting·behavior.</p>177 you·can·also·write·custom·formatters·to·implement·specific·formatting·behavior.</p>
177 </section>178 </section>
178 </section>179 </section>
179 </section>180 </section>
180 <section·id="s-security-implications">181 <section·id="s-security-implications">
181 <span·id="s-logging-security-implications"></span><span·id="security-implications"></span><span·id="logging-security-implications"></span><h2>Security·implications<a·class="headerlink"·href="#security-implications"·title="Link·to·this·heading">¶</a></h2>182 <span·id="s-logging-security-implications"></span><span·id="security-implications"></span><span·id="logging-security-implications"></span><h2>Security·implications<a·class="headerlink"·href="#security-implications"·title="Link·to·this·heading">¶</a></h2>
182 <p>The·logging·system·handles·potentially·sensitive·information.·For·example,·the183 <p>The·logging·system·handles·potentially·sensitive·information.·For·example,·the
Offset 207, 15 lines modifiedOffset 208, 15 lines modified
207 and·has·access·to·the·information,·and·so·on.</p>208 and·has·access·to·the·information,·and·so·on.</p>
208 </section>209 </section>
209 </section>210 </section>
210 <section·id="s-configuring-logging">211 <section·id="s-configuring-logging">
211 <span·id="s-id1"></span><span·id="configuring-logging"></span><span·id="id1"></span><h2>Configuring·logging<a·class="headerlink"·href="#configuring-logging"·title="Link·to·this·heading">¶</a></h2>212 <span·id="s-id1"></span><span·id="configuring-logging"></span><span·id="id1"></span><h2>Configuring·logging<a·class="headerlink"·href="#configuring-logging"·title="Link·to·this·heading">¶</a></h2>
212 <p>Python’s·logging·library·provides·several·techniques·to·configure213 <p>Python’s·logging·library·provides·several·techniques·to·configure
213 logging,·ranging·from·a·programmatic·interface·to·configuration·files.214 logging,·ranging·from·a·programmatic·interface·to·configuration·files.
214 By·default,·Django·uses·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#logging-config-dictschema"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">dictConfig·format</span></a>.</p>215 By·default,·Django·uses·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#logging-config-dictschema"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">dictConfig·format</span></a>.</p>
215 <p>In·order·to·configure·logging,·you·use·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGGING"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGGING</span></code></a>·to·define·a216 <p>In·order·to·configure·logging,·you·use·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGGING"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGGING</span></code></a>·to·define·a
216 dictionary·of·logging·settings.·These·settings·describe·the·loggers,217 dictionary·of·logging·settings.·These·settings·describe·the·loggers,
217 handlers,·filters·and·formatters·that·you·want·in·your·logging·setup,218 handlers,·filters·and·formatters·that·you·want·in·your·logging·setup,
218 and·the·log·levels·and·other·properties·that·you·want·those·components219 and·the·log·levels·and·other·properties·that·you·want·those·components
219 to·have.</p>220 to·have.</p>
220 <p>By·default,·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGGING"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGGING</span></code></a>·setting·is·merged·with·<a·class="reference·internal"·href="../ref/logging.html#default-logging-configuration"><span·class="std·std-ref">Django’s221 <p>By·default,·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGGING"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGGING</span></code></a>·setting·is·merged·with·<a·class="reference·internal"·href="../ref/logging.html#default-logging-configuration"><span·class="std·std-ref">Django’s
221 default·logging·configuration</span></a>·using·the222 default·logging·configuration</span></a>·using·the
Offset 231, 15 lines modifiedOffset 232, 15 lines modified
231 of·the·default·loggers;·or·you·can·set·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGGING_CONFIG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGGING_CONFIG</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>232 of·the·default·loggers;·or·you·can·set·<a·class="reference·internal"·href="../ref/settings.html#std-setting-LOGGING_CONFIG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">LOGGING_CONFIG</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>
232 and·<a·class="reference·internal"·href="#disabling-logging-configuration"><span·class="std·std-ref">handle·logging·config·yourself</span></a>.</p>233 and·<a·class="reference·internal"·href="#disabling-logging-configuration"><span·class="std·std-ref">handle·logging·config·yourself</span></a>.</p>
233 <p>Logging·is·configured·as·part·of·the·general·Django·<code·class="docutils·literal·notranslate"><span·class="pre">setup()</span></code>·function.234 <p>Logging·is·configured·as·part·of·the·general·Django·<code·class="docutils·literal·notranslate"><span·class="pre">setup()</span></code>·function.
234 Therefore,·you·can·be·certain·that·loggers·are·always·ready·for·use·in·your235 Therefore,·you·can·be·certain·that·loggers·are·always·ready·for·use·in·your
235 project·code.</p>236 project·code.</p>
236 <section·id="s-examples">237 <section·id="s-examples">
237 <span·id="examples"></span><h3>Examples<a·class="headerlink"·href="#examples"·title="Link·to·this·heading">¶</a></h3>238 <span·id="examples"></span><h3>Examples<a·class="headerlink"·href="#examples"·title="Link·to·this·heading">¶</a></h3>
238 <p>The·full·documentation·for·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#logging-config-dictschema"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">dictConfig·format</span></a>239 <p>The·full·documentation·for·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/logging.config.html#logging-config-dictschema"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">dictConfig·format</span></a>
239 is·the·best·source·of·information·about·logging·configuration·dictionaries.240 is·the·best·source·of·information·about·logging·configuration·dictionaries.
240 However,·to·give·you·a·taste·of·what·is·possible,·here·are·several·examples.</p>241 However,·to·give·you·a·taste·of·what·is·possible,·here·are·several·examples.</p>
241 <p>To·begin,·here’s·a·small·configuration·that·will·allow·you·to·output·all·log242 <p>To·begin,·here’s·a·small·configuration·that·will·allow·you·to·output·all·log
242 messages·to·the·console:</p>243 messages·to·the·console:</p>
243 <div·class="literal-block-wrapper·docutils·container"·id="id3">244 <div·class="literal-block-wrapper·docutils·container"·id="id3">
244 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code></span><a·class="headerlink"·href="#id3"·title="Link·to·this·code">¶</a></div>245 <div·class="code-block-caption"><span·class="caption-text"><code·class="docutils·literal·notranslate"><span·class="pre">settings.py</span></code></span><a·class="headerlink"·href="#id3"·title="Link·to·this·code">¶</a></div>
245 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">os</span>246 <div·class="highlight-python·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">os</span>
Offset 384, 24 lines modifiedOffset 385, 24 lines modified
384 ····<span·class="p">},</span>385 ····<span·class="p">},</span>
385 <span·class="p">}</span>386 <span·class="p">}</span>
386 </pre></div>387 </pre></div>
387 </div>388 </div>
388 </div>389 </div>
389 <p>This·logging·configuration·does·the·following·things:</p>390 <p>This·logging·configuration·does·the·following·things:</p>
390 <ul>391 <ul>
391 <li><p>Identifies·the·configuration·as·being·in·dictConfig·version·1392 <li><p>Identifies·the·configuration·as·being·in·dictConfig·version·1
392 format.·At·present,·this·is·the·only·dictConfig·format·version.</p></li>393 format.·At·present,·this·is·the·only·dictConfig·format·version.</p></li>
393 <li><p>Defines·two·formatters:</p>394 <li><p>Defines·two·formatters:</p>
Max diff block lines reached; 8032/18490 bytes (43.44%) of diff not shown.
3.98 KB
html2text {}
Max HTML report size reached
57.5 KB
./usr/share/doc/python-django-doc/html/topics/migrations.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Migrations·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Migrations·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Managing·files"·href="files.html"·/>15 ····<link·rel="next"·title="Managing·files"·href="files.html"·/>
15 ····<link·rel="prev"·title="Using·mixins·with·class-based·views"·href="class-based-views/mixins.html"·/>16 ····<link·rel="prev"·title="Using·mixins·with·class-based·views"·href="class-based-views/mixins.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 109, 21 lines modifiedOffset 110, 21 lines modified
109 <li><p><a·class="reference·internal"·href="../ref/django-admin.html#django-admin-showmigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">showmigrations</span></code></a>,·which·lists·a·project’s·migrations·and·their110 <li><p><a·class="reference·internal"·href="../ref/django-admin.html#django-admin-showmigrations"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">showmigrations</span></code></a>,·which·lists·a·project’s·migrations·and·their
110 status.</p></li>111 status.</p></li>
111 </ul>112 </ul>
112 <p>You·should·think·of·migrations·as·a·version·control·system·for·your·database113 <p>You·should·think·of·migrations·as·a·version·control·system·for·your·database
113 schema.·<code·class="docutils·literal·notranslate"><span·class="pre">makemigrations</span></code>·is·responsible·for·packaging·up·your·model·changes114 schema.·<code·class="docutils·literal·notranslate"><span·class="pre">makemigrations</span></code>·is·responsible·for·packaging·up·your·model·changes
114 into·individual·migration·files·-·analogous·to·commits·-·and·<code·class="docutils·literal·notranslate"><span·class="pre">migrate</span></code>·is115 into·individual·migration·files·-·analogous·to·commits·-·and·<code·class="docutils·literal·notranslate"><span·class="pre">migrate</span></code>·is
115 responsible·for·applying·those·to·your·database.</p>116 responsible·for·applying·those·to·your·database.</p>
116 <p>The·migration·files·for·each·app·live·in·a·migrations·directory·inside117 <p>The·migration·files·for·each·app·live·in·a·migrations·directory·inside
117 of·that·app,·and·are·designed·to·be·committed·to,·and·distributed·as·part118 of·that·app,·and·are·designed·to·be·committed·to,·and·distributed·as·part
118 of,·its·codebase.·You·should·be·making·them·once·on·your·development·machine119 of,·its·codebase.·You·should·be·making·them·once·on·your·development·machine
119 and·then·running·the·same·migrations·on·your·colleagues·machines,·your120 and·then·running·the·same·migrations·on·your·colleagues·machines,·your
120 staging·machines,·and·eventually·your·production·machines.</p>121 staging·machines,·and·eventually·your·production·machines.</p>
121 <div·class="admonition·note">122 <div·class="admonition·note">
122 <p·class="admonition-title">Note</p>123 <p·class="admonition-title">rkus</p>
123 <p>It·is·possible·to·override·the·name·of·the·package·which·contains·the124 <p>It·is·possible·to·override·the·name·of·the·package·which·contains·the
124 migrations·on·a·per-app·basis·by·modifying·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MIGRATION_MODULES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIGRATION_MODULES</span></code></a>125 migrations·on·a·per-app·basis·by·modifying·the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-MIGRATION_MODULES"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">MIGRATION_MODULES</span></code></a>
125 setting.</p>126 setting.</p>
126 </div>127 </div>
127 <p>Migrations·will·run·the·same·way·on·the·same·dataset·and·produce·consistent128 <p>Migrations·will·run·the·same·way·on·the·same·dataset·and·produce·consistent
128 results,·meaning·that·what·you·see·in·development·and·staging·is,·under·the129 results,·meaning·that·what·you·see·in·development·and·staging·is,·under·the
129 same·circumstances,·exactly·what·will·happen·in·production.</p>130 same·circumstances,·exactly·what·will·happen·in·production.</p>
Offset 215, 15 lines modifiedOffset 216, 15 lines modified
215 </div>216 </div>
216 <section·id="s-version-control">217 <section·id="s-version-control">
217 <span·id="version-control"></span><h3>Version·control<a·class="headerlink"·href="#version-control"·title="Link·to·this·heading">¶</a></h3>218 <span·id="version-control"></span><h3>Version·control<a·class="headerlink"·href="#version-control"·title="Link·to·this·heading">¶</a></h3>
218 <p>Because·migrations·are·stored·in·version·control,·you’ll·occasionally219 <p>Because·migrations·are·stored·in·version·control,·you’ll·occasionally
219 come·across·situations·where·you·and·another·developer·have·both·committed220 come·across·situations·where·you·and·another·developer·have·both·committed
220 a·migration·to·the·same·app·at·the·same·time,·resulting·in·two·migrations221 a·migration·to·the·same·app·at·the·same·time,·resulting·in·two·migrations
221 with·the·same·number.</p>222 with·the·same·number.</p>
222 <p>Don’t·worry·-·the·numbers·are·just·there·for·developers·reference,·Django223 <p>Don’t·worry·-·the·numbers·are·just·there·for·developers·reference,·Django
223 just·cares·that·each·migration·has·a·different·name.·Migrations·specify·which224 just·cares·that·each·migration·has·a·different·name.·Migrations·specify·which
224 other·migrations·they·depend·on·-·including·earlier·migrations·in·the·same225 other·migrations·they·depend·on·-·including·earlier·migrations·in·the·same
225 app·-·in·the·file,·so·it’s·possible·to·detect·when·there’s·two·new·migrations226 app·-·in·the·file,·so·it’s·possible·to·detect·when·there’s·two·new·migrations
226 for·the·same·app·that·aren’t·ordered.</p>227 for·the·same·app·that·aren’t·ordered.</p>
227 <p>When·this·happens,·Django·will·prompt·you·and·give·you·some·options.·If·it228 <p>When·this·happens,·Django·will·prompt·you·and·give·you·some·options.·If·it
228 thinks·it’s·safe·enough,·it·will·offer·to·automatically·linearize·the·two229 thinks·it’s·safe·enough,·it·will·offer·to·automatically·linearize·the·two
229 migrations·for·you.·If·not,·you’ll·have·to·go·in·and·modify·the·migrations230 migrations·for·you.·If·not,·you’ll·have·to·go·in·and·modify·the·migrations
Offset 276, 15 lines modifiedOffset 277, 15 lines modified
276 <span·id="swappable-dependencies"></span><h3>Swappable·dependencies<a·class="headerlink"·href="#swappable-dependencies"·title="Link·to·this·heading">¶</a></h3>277 <span·id="swappable-dependencies"></span><h3>Swappable·dependencies<a·class="headerlink"·href="#swappable-dependencies"·title="Link·to·this·heading">¶</a></h3>
277 <dl·class="py·function">278 <dl·class="py·function">
278 <dt·class="sig·sig-object·py"·id="django.db.migrations.django.db.migrations.swappable_dependency">279 <dt·class="sig·sig-object·py"·id="django.db.migrations.django.db.migrations.swappable_dependency">
279 <span·class="sig-prename·descclassname"><span·class="pre">django.db.migrations.</span></span><span·class="sig-name·descname"><span·class="pre">swappable_dependency</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="headerlink"·href="#django.db.migrations.django.db.migrations.swappable_dependency"·title="Link·to·this·definition">¶</a></dt>280 <span·class="sig-prename·descclassname"><span·class="pre">django.db.migrations.</span></span><span·class="sig-name·descname"><span·class="pre">swappable_dependency</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="headerlink"·href="#django.db.migrations.django.db.migrations.swappable_dependency"·title="Link·to·this·definition">¶</a></dt>
280 <dd></dd></dl>281 <dd></dd></dl>
  
281 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">swappable_dependency()</span></code>·function·is·used·in·migrations·to·declare282 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">swappable_dependency()</span></code>·function·is·used·in·migrations·to·declare
282 swappable·dependencies·on·migrations·in·the·app·of·the·swapped-in·model,283 swappable·dependencies·on·migrations·in·the·app·of·the·swapped-in·model,
283 currently,·on·the·first·migration·of·this·app.·As·a·consequence,·the·swapped-in284 currently,·on·the·first·migration·of·this·app.·As·a·consequence,·the·swapped-in
284 model·should·be·created·in·the·initial·migration.·The·argument·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·is·a285 model·should·be·created·in·the·initial·migration.·The·argument·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·is·a
285 string·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;&lt;app</span>·<span·class="pre">label&gt;.&lt;model&gt;&quot;</span></code>·describing·an·app·label·and·a·model·name,·e.g.286 string·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;&lt;app</span>·<span·class="pre">label&gt;.&lt;model&gt;&quot;</span></code>·describing·an·app·label·and·a·model·name,·e.g.
286 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;myapp.MyModel&quot;</span></code>.</p>287 <code·class="docutils·literal·notranslate"><span·class="pre">&quot;myapp.MyModel&quot;</span></code>.</p>
287 <p>By·using·<code·class="docutils·literal·notranslate"><span·class="pre">swappable_dependency()</span></code>,·you·inform·the·migration·framework·that288 <p>By·using·<code·class="docutils·literal·notranslate"><span·class="pre">swappable_dependency()</span></code>,·you·inform·the·migration·framework·that
288 the·migration·relies·on·another·migration·which·sets·up·a·swappable·model,289 the·migration·relies·on·another·migration·which·sets·up·a·swappable·model,
289 allowing·for·the·possibility·of·substituting·the·model·with·a·different290 allowing·for·the·possibility·of·substituting·the·model·with·a·different
Offset 293, 15 lines modifiedOffset 294, 15 lines modified
293 model·(<code·class="docutils·literal·notranslate"><span·class="pre">settings.AUTH_USER_MODEL</span></code>,·which·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;auth.User&quot;</span></code>)·in294 model·(<code·class="docutils·literal·notranslate"><span·class="pre">settings.AUTH_USER_MODEL</span></code>,·which·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">&quot;auth.User&quot;</span></code>)·in
294 Django’s·authentication·system.</p>295 Django’s·authentication·system.</p>
295 </section>296 </section>
296 </section>297 </section>
297 <section·id="s-migration-files">298 <section·id="s-migration-files">
298 <span·id="s-id1"></span><span·id="migration-files"></span><span·id="id1"></span><h2>Migration·files<a·class="headerlink"·href="#migration-files"·title="Link·to·this·heading">¶</a></h2>299 <span·id="s-id1"></span><span·id="migration-files"></span><span·id="id1"></span><h2>Migration·files<a·class="headerlink"·href="#migration-files"·title="Link·to·this·heading">¶</a></h2>
299 <p>Migrations·are·stored·as·an·on-disk·format,·referred·to·here·as300 <p>Migrations·are·stored·as·an·on-disk·format,·referred·to·here·as
300 migration·files.·These·files·are·actually·normal·Python·files·with·an301 migration·files.·These·files·are·actually·normal·Python·files·with·an
301 agreed-upon·object·layout,·written·in·a·declarative·style.</p>302 agreed-upon·object·layout,·written·in·a·declarative·style.</p>
302 <p>A·basic·migration·file·looks·like·this:</p>303 <p>A·basic·migration·file·looks·like·this:</p>
303 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">migrations</span><span·class="p">,</span>·<span·class="n">models</span>304 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.db</span>·<span·class="kn">import</span>·<span·class="n">migrations</span><span·class="p">,</span>·<span·class="n">models</span>
  
  
304 <span·class="k">class</span>·<span·class="nc">Migration</span><span·class="p">(</span><span·class="n">migrations</span><span·class="o">.</span><span·class="n">Migration</span><span·class="p">):</span>305 <span·class="k">class</span>·<span·class="nc">Migration</span><span·class="p">(</span><span·class="n">migrations</span><span·class="o">.</span><span·class="n">Migration</span><span·class="p">):</span>
305 ····<span·class="n">dependencies</span>·<span·class="o">=</span>·<span·class="p">[(</span><span·class="s2">&quot;migrations&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;0001_initial&quot;</span><span·class="p">)]</span>306 ····<span·class="n">dependencies</span>·<span·class="o">=</span>·<span·class="p">[(</span><span·class="s2">&quot;migrations&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;0001_initial&quot;</span><span·class="p">)]</span>
Offset 373, 20 lines modifiedOffset 374, 20 lines modified
373 <section·id="s-initial-migrations">374 <section·id="s-initial-migrations">
374 <span·id="initial-migrations"></span><h3>Initial·migrations<a·class="headerlink"·href="#initial-migrations"·title="Link·to·this·heading">¶</a></h3>375 <span·id="initial-migrations"></span><h3>Initial·migrations<a·class="headerlink"·href="#initial-migrations"·title="Link·to·this·heading">¶</a></h3>
375 <dl·class="py·attribute">376 <dl·class="py·attribute">
376 <dt·class="sig·sig-object·py"·id="django.db.migrations.Migration.initial">377 <dt·class="sig·sig-object·py"·id="django.db.migrations.Migration.initial">
377 <span·class="sig-prename·descclassname"><span·class="pre">Migration.</span></span><span·class="sig-name·descname"><span·class="pre">initial</span></span><a·class="headerlink"·href="#django.db.migrations.Migration.initial"·title="Link·to·this·definition">¶</a></dt>378 <span·class="sig-prename·descclassname"><span·class="pre">Migration.</span></span><span·class="sig-name·descname"><span·class="pre">initial</span></span><a·class="headerlink"·href="#django.db.migrations.Migration.initial"·title="Link·to·this·definition">¶</a></dt>
378 <dd></dd></dl>379 <dd></dd></dl>
  
379 <p>The·initial·migrations·for·an·app·are·the·migrations·that·create·the·first380 <p>The·initial·migrations·for·an·app·are·the·migrations·that·create·the·first
380 version·of·that·app’s·tables.·Usually·an·app·will·have·one·initial·migration,381 version·of·that·app’s·tables.·Usually·an·app·will·have·one·initial·migration,
381 but·in·some·cases·of·complex·model·interdependencies·it·may·have·two·or·more.</p>382 but·in·some·cases·of·complex·model·interdependencies·it·may·have·two·or·more.</p>
382 <p>Initial·migrations·are·marked·with·an·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span>·<span·class="pre">=</span>·<span·class="pre">True</span></code>·class·attribute·on·the383 <p>Initial·migrations·are·marked·with·an·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span>·<span·class="pre">=</span>·<span·class="pre">True</span></code>·class·attribute·on·the
383 migration·class.·If·an·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·class·attribute·isn’t·found,·a·migration384 migration·class.·If·an·<code·class="docutils·literal·notranslate"><span·class="pre">initial</span></code>·class·attribute·isn’t·found,·a·migration
384 will·be·considered·initial·if·it·is·the·first·migration·in·the·app·(i.e.·if385 will·be·considered·initial·if·it·is·the·first·migration·in·the·app·(i.e.·if
385 it·has·no·dependencies·on·any·other·migration·in·the·same·app).</p>386 it·has·no·dependencies·on·any·other·migration·in·the·same·app).</p>
386 <p>When·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-migrate-fake-initial"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">migrate</span>·<span·class="pre">--fake-initial</span></code></a>·option·is·used,·these·initial387 <p>When·the·<a·class="reference·internal"·href="../ref/django-admin.html#cmdoption-migrate-fake-initial"><code·class="xref·std·std-option·docutils·literal·notranslate"><span·class="pre">migrate</span>·<span·class="pre">--fake-initial</span></code></a>·option·is·used,·these·initial
387 migrations·are·treated·specially.·For·an·initial·migration·that·creates·one·or388 migrations·are·treated·specially.·For·an·initial·migration·that·creates·one·or
388 more·tables·(<code·class="docutils·literal·notranslate"><span·class="pre">CreateModel</span></code>·operation),·Django·checks·that·all·of·those·tables389 more·tables·(<code·class="docutils·literal·notranslate"><span·class="pre">CreateModel</span></code>·operation),·Django·checks·that·all·of·those·tables
Max diff block lines reached; 29218/39970 bytes (73.10%) of diff not shown.
18.4 KB
html2text {}
Max HTML report size reached
11.3 KB
./usr/share/doc/python-django-doc/html/topics/pagination.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Pagination·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Pagination·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Security·in·Django"·href="security.html"·/>15 ····<link·rel="next"·title="Security·in·Django"·href="security.html"·/>
15 ····<link·rel="prev"·title="Logging"·href="logging.html"·/>16 ····<link·rel="prev"·title="Logging"·href="logging.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 15 lines modifiedOffset 77, 15 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-pagination">79 ··········<div·class="yui-g"·id="topics-pagination">
79 ············80 ············
80 ··<section·id="s-pagination">81 ··<section·id="s-pagination">
81 <span·id="pagination"></span><h1>Pagination<a·class="headerlink"·href="#pagination"·title="Link·to·this·heading">¶</a></h1>82 <span·id="pagination"></span><h1>Pagination<a·class="headerlink"·href="#pagination"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django·provides·high-level·and·low-level·ways·to·help·you·manage·paginated·data83 <p>Django·provides·high-level·and·low-level·ways·to·help·you·manage·paginated·data
83 ·that·is,·data·that’s·split·across·several·pages,·with·Previous/Next·links.</p>84 ·that·is,·data·that’s·split·across·several·pages,·with·Previous/Next·links.</p>
84 <section·id="s-the-paginator-class">85 <section·id="s-the-paginator-class">
85 <span·id="the-paginator-class"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·class<a·class="headerlink"·href="#the-paginator-class"·title="Link·to·this·heading">¶</a></h2>86 <span·id="the-paginator-class"></span><h2>The·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·class<a·class="headerlink"·href="#the-paginator-class"·title="Link·to·this·heading">¶</a></h2>
86 <p>Under·the·hood,·all·methods·of·pagination·use·the87 <p>Under·the·hood,·all·methods·of·pagination·use·the
87 <a·class="reference·internal"·href="../ref/paginator.html#django.core.paginator.Paginator"·title="django.core.paginator.Paginator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Paginator</span></code></a>·class.·It·does·all·the·heavy·lifting88 <a·class="reference·internal"·href="../ref/paginator.html#django.core.paginator.Paginator"·title="django.core.paginator.Paginator"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Paginator</span></code></a>·class.·It·does·all·the·heavy·lifting
88 of·actually·splitting·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·into·<a·class="reference·internal"·href="../ref/paginator.html#django.core.paginator.Page"·title="django.core.paginator.Page"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Page</span></code></a>89 of·actually·splitting·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·into·<a·class="reference·internal"·href="../ref/paginator.html#django.core.paginator.Page"·title="django.core.paginator.Page"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Page</span></code></a>
89 objects.</p>90 objects.</p>
90 </section>91 </section>
Offset 139, 15 lines modifiedOffset 140, 15 lines modified
139 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p</span><span·class="o">.</span><span·class="n">page</span><span·class="p">(</span><span·class="mi">3</span><span·class="p">)</span>140 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">p</span><span·class="o">.</span><span·class="n">page</span><span·class="p">(</span><span·class="mi">3</span><span·class="p">)</span>
140 <span·class="gt">Traceback·(most·recent·call·last):</span>141 <span·class="gt">Traceback·(most·recent·call·last):</span>
141 <span·class="c">...</span>142 <span·class="c">...</span>
142 <span·class="gr">EmptyPage</span>:·<span·class="n">That·page·contains·no·results</span>143 <span·class="gr">EmptyPage</span>:·<span·class="n">That·page·contains·no·results</span>
143 </pre></div>144 </pre></div>
144 </div>145 </div>
145 <div·class="admonition·note">146 <div·class="admonition·note">
146 <p·class="admonition-title">Note</p>147 <p·class="admonition-title">rkus</p>
147 <p>Note·that·you·can·give·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·a·list/tuple,·a·Django·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,148 <p>Note·that·you·can·give·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·a·list/tuple,·a·Django·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>,
148 or·any·other·object·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">__len__()</span></code>·method.·When149 or·any·other·object·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">__len__()</span></code>·method.·When
149 determining·the·number·of·objects·contained·in·the·passed·object,150 determining·the·number·of·objects·contained·in·the·passed·object,
150 <code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·will·first·try·calling·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>,·then·fallback·to·using151 <code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·will·first·try·calling·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>,·then·fallback·to·using
151 <code·class="docutils·literal·notranslate"><span·class="pre">len()</span></code>·if·the·passed·object·has·no·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·method.·This·allows152 <code·class="docutils·literal·notranslate"><span·class="pre">len()</span></code>·if·the·passed·object·has·no·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·method.·This·allows
152 objects·such·as·Django’s·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·to·use·a·more·efficient·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>153 objects·such·as·Django’s·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·to·use·a·more·efficient·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>
153 method·when·available.</p>154 method·when·available.</p>
Offset 229, 50 lines modifiedOffset 230, 50 lines modified
229 ······230 ······
230 ········231 ········
231 ··········<div·class="yui-b"·id="sidebar">232 ··········<div·class="yui-b"·id="sidebar">
232 ············233 ············
233 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">234 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
234 ········<div·class="sphinxsidebarwrapper">235 ········<div·class="sphinxsidebarwrapper">
235 ··<div>236 ··<div>
236 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>237 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
237 ····<ul>238 ····<ul>
238 <li><a·class="reference·internal"·href="#">Pagination</a><ul>239 <li><a·class="reference·internal"·href="#">Pagination</a><ul>
239 <li><a·class="reference·internal"·href="#the-paginator-class">The·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·class</a></li>240 <li><a·class="reference·internal"·href="#the-paginator-class">The·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·class</a></li>
240 <li><a·class="reference·internal"·href="#example">Example</a></li>241 <li><a·class="reference·internal"·href="#example">Example</a></li>
241 <li><a·class="reference·internal"·href="#paginating-a-listview">Paginating·a·<code·class="docutils·literal·notranslate"><span·class="pre">ListView</span></code></a></li>242 <li><a·class="reference·internal"·href="#paginating-a-listview">Paginating·a·<code·class="docutils·literal·notranslate"><span·class="pre">ListView</span></code></a></li>
242 <li><a·class="reference·internal"·href="#using-paginator-in-a-view-function">Using·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·in·a·view·function</a></li>243 <li><a·class="reference·internal"·href="#using-paginator-in-a-view-function">Using·<code·class="docutils·literal·notranslate"><span·class="pre">Paginator</span></code>·in·a·view·function</a></li>
243 </ul>244 </ul>
244 </li>245 </li>
245 </ul>246 </ul>
  
246 ··</div>247 ··</div>
247 ··<div>248 ··<div>
248 ····<h4>Previous·topic</h4>249 ····<h4>Eelmine·teema</h4>
249 ····<p·class="topless"><a·href="logging.html"250 ····<p·class="topless"><a·href="logging.html"
250 ··························title="previous·chapter">Logging</a></p>251 ··························title="eelmine·jaotis">Logging</a></p>
251 ··</div>252 ··</div>
252 ··<div>253 ··<div>
253 ····<h4>Next·topic</h4>254 ····<h4>Järgmine·teema</h4>
254 ····<p·class="topless"><a·href="security.html"255 ····<p·class="topless"><a·href="security.html"
255 ··························title="next·chapter">Security·in·Django</a></p>256 ··························title="järgmine·jaotis">Security·in·Django</a></p>
256 ··</div>257 ··</div>
257 <search·id="searchbox"·style="display:·none"·role="search">258 <search·id="searchbox"·style="display:·none"·role="search">
258 ··<h3·id="searchlabel">Quick·search</h3>259 ··<h3·id="searchlabel">Kiirotsing</h3>
259 ····<div·class="searchformwrapper">260 ····<div·class="searchformwrapper">
260 ····<form·class="search"·action="../search.html"·method="get">261 ····<form·class="search"·action="../search.html"·method="get">
261 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>262 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
262 ······<input·type="submit"·value="Go"·/>263 ······<input·type="submit"·value="Otsi"·/>
263 ····</form>264 ····</form>
264 ····</div>265 ····</div>
265 </search>266 </search>
266 <script>document.getElementById('searchbox').style.display·=·"block"</script>267 <script>document.getElementById('searchbox').style.display·=·"block"</script>
267 ········</div>268 ········</div>
268 ······</div>269 ······</div>
269 ··············<h3>Last·update:</h3>270 ··············<h3>Last·update:</h3>
270 ··············<p·class="topless">Nov·05,·2024</p>271 ··············<p·class="topless">nov·05,·2024</p>
271 ··········</div>272 ··········</div>
272 ········273 ········
273 ······274 ······
274 ····</div>275 ····</div>
  
275 ····<div·id="ft">276 ····<div·id="ft">
276 ······<div·class="nav">277 ······<div·class="nav">
3.62 KB
html2text {}
Max HTML report size reached
31.1 KB
./usr/share/doc/python-django-doc/html/topics/performance.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Performance·and·optimization·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Performance·and·optimization·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Serializing·Django·objects"·href="serialization.html"·/>15 ····<link·rel="next"·title="Serializing·Django·objects"·href="serialization.html"·/>
15 ····<link·rel="prev"·title="Security·in·Django"·href="security.html"·/>16 ····<link·rel="prev"·title="Security·in·Django"·href="security.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 91, 15 lines modifiedOffset 92, 15 lines modified
91 of·things·-·to·improve·the·code’s·performance·without,·or·only·minimally,92 of·things·-·to·improve·the·code’s·performance·without,·or·only·minimally,
92 affecting·its·behavior.</p>93 affecting·its·behavior.</p>
93 </section>94 </section>
94 <section·id="s-general-approaches">95 <section·id="s-general-approaches">
95 <span·id="general-approaches"></span><h2>General·approaches<a·class="headerlink"·href="#general-approaches"·title="Link·to·this·heading">¶</a></h2>96 <span·id="general-approaches"></span><h2>General·approaches<a·class="headerlink"·href="#general-approaches"·title="Link·to·this·heading">¶</a></h2>
96 <section·id="s-what-are-you-optimizing-for">97 <section·id="s-what-are-you-optimizing-for">
97 <span·id="what-are-you-optimizing-for"></span><h3>What·are·you·optimizing·<em>for</em>?<a·class="headerlink"·href="#what-are-you-optimizing-for"·title="Link·to·this·heading">¶</a></h3>98 <span·id="what-are-you-optimizing-for"></span><h3>What·are·you·optimizing·<em>for</em>?<a·class="headerlink"·href="#what-are-you-optimizing-for"·title="Link·to·this·heading">¶</a></h3>
98 <p>It’s·important·to·have·a·clear·idea·what·you·mean·by·performance.·There·is99 <p>It’s·important·to·have·a·clear·idea·what·you·mean·by·performance.·There·is
99 not·just·one·metric·of·it.</p>100 not·just·one·metric·of·it.</p>
100 <p>Improved·speed·might·be·the·most·obvious·aim·for·a·program,·but·sometimes·other101 <p>Improved·speed·might·be·the·most·obvious·aim·for·a·program,·but·sometimes·other
101 performance·improvements·might·be·sought,·such·as·lower·memory·consumption·or102 performance·improvements·might·be·sought,·such·as·lower·memory·consumption·or
102 fewer·demands·on·the·database·or·network.</p>103 fewer·demands·on·the·database·or·network.</p>
103 <p>Improvements·in·one·area·will·often·bring·about·improved·performance·in104 <p>Improvements·in·one·area·will·often·bring·about·improved·performance·in
104 another,·but·not·always;·sometimes·one·can·even·be·at·the·expense·of·another.105 another,·but·not·always;·sometimes·one·can·even·be·at·the·expense·of·another.
105 For·example,·an·improvement·in·a·program’s·speed·might·cause·it·to·use·more106 For·example,·an·improvement·in·a·program’s·speed·might·cause·it·to·use·more
Offset 148, 15 lines modifiedOffset 149, 15 lines modified
148 <span·id="get-things-right-from-the-start"></span><h3>Get·things·right·from·the·start<a·class="headerlink"·href="#get-things-right-from-the-start"·title="Link·to·this·heading">¶</a></h3>149 <span·id="get-things-right-from-the-start"></span><h3>Get·things·right·from·the·start<a·class="headerlink"·href="#get-things-right-from-the-start"·title="Link·to·this·heading">¶</a></h3>
149 <p>Some·work·in·optimization·involves·tackling·performance·shortcomings,·but·some150 <p>Some·work·in·optimization·involves·tackling·performance·shortcomings,·but·some
150 of·the·work·can·be·built-in·to·what·you’d·do·anyway,·as·part·of·the·good151 of·the·work·can·be·built-in·to·what·you’d·do·anyway,·as·part·of·the·good
151 practices·you·should·adopt·even·before·you·start·thinking·about·improving152 practices·you·should·adopt·even·before·you·start·thinking·about·improving
152 performance.</p>153 performance.</p>
153 <p>In·this·respect·Python·is·an·excellent·language·to·work·with,·because·solutions154 <p>In·this·respect·Python·is·an·excellent·language·to·work·with,·because·solutions
154 that·look·elegant·and·feel·right·usually·are·the·best·performing·ones.·As·with155 that·look·elegant·and·feel·right·usually·are·the·best·performing·ones.·As·with
155 most·skills,·learning·what·looks·right·takes·practice,·but·one·of·the·most156 most·skills,·learning·what·looks·right·takes·practice,·but·one·of·the·most
156 useful·guidelines·is:</p>157 useful·guidelines·is:</p>
157 <section·id="s-work-at-the-appropriate-level">158 <section·id="s-work-at-the-appropriate-level">
158 <span·id="work-at-the-appropriate-level"></span><h4>Work·at·the·appropriate·level<a·class="headerlink"·href="#work-at-the-appropriate-level"·title="Link·to·this·heading">¶</a></h4>159 <span·id="work-at-the-appropriate-level"></span><h4>Work·at·the·appropriate·level<a·class="headerlink"·href="#work-at-the-appropriate-level"·title="Link·to·this·heading">¶</a></h4>
159 <p>Django·offers·many·different·ways·of·approaching·things,·but·just·because·it’s160 <p>Django·offers·many·different·ways·of·approaching·things,·but·just·because·it’s
160 possible·to·do·something·in·a·certain·way·doesn’t·mean·that·it’s·the·most161 possible·to·do·something·in·a·certain·way·doesn’t·mean·that·it’s·the·most
161 appropriate·way·to·do·it.·For·example,·you·might·find·that·you·could·calculate162 appropriate·way·to·do·it.·For·example,·you·might·find·that·you·could·calculate
162 the·same·thing·-·the·number·of·items·in·a·collection,·perhaps·-·in·a163 the·same·thing·-·the·number·of·items·in·a·collection,·perhaps·-·in·a
Offset 183, 15 lines modifiedOffset 184, 15 lines modified
183 <span·class="cm">--&gt;</span>184 <span·class="cm">--&gt;</span>
184 <span·class="cp">{{</span>·<span·class="nv">my_bicycles</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="cp">}}</span>185 <span·class="cp">{{</span>·<span·class="nv">my_bicycles</span><span·class="o">|</span><span·class="nf">length</span>·<span·class="cp">}}</span>
185 </pre></div>186 </pre></div>
186 </div>187 </div>
187 <p>Generally·speaking,·the·most·appropriate·level·for·the·job·is·the·lowest-level188 <p>Generally·speaking,·the·most·appropriate·level·for·the·job·is·the·lowest-level
188 one·that·it·is·comfortable·to·code·for.</p>189 one·that·it·is·comfortable·to·code·for.</p>
189 <div·class="admonition·note">190 <div·class="admonition·note">
190 <p·class="admonition-title">Note</p>191 <p·class="admonition-title">rkus</p>
191 <p>The·example·above·is·merely·illustrative.</p>192 <p>The·example·above·is·merely·illustrative.</p>
192 <p>Firstly,·in·a·real-life·case·you·need·to·consider·what·is·happening·before193 <p>Firstly,·in·a·real-life·case·you·need·to·consider·what·is·happening·before
193 and·after·your·count·to·work·out·what’s·an·optimal·way·of·doing·it·<em>in·that194 and·after·your·count·to·work·out·what’s·an·optimal·way·of·doing·it·<em>in·that
194 particular·context</em>.·The·database·optimization·documents·describes·<a·class="reference·internal"·href="db/optimization.html#overuse-of-count-and-exists"><span·class="std·std-ref">a195 particular·context</em>.·The·database·optimization·documents·describes·<a·class="reference·internal"·href="db/optimization.html#overuse-of-count-and-exists"><span·class="std·std-ref">a
195 case·where·counting·in·the·template·would·be·better</span></a>.</p>196 case·where·counting·in·the·template·would·be·better</span></a>.</p>
196 <p>Secondly,·there·are·other·options·to·consider:·in·a·real-life·case,·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>197 <p>Secondly,·there·are·other·options·to·consider:·in·a·real-life·case,·<code·class="docutils·literal·notranslate"><span·class="pre">{{</span>
197 <span·class="pre">my_bicycles.count</span>·<span·class="pre">}}</span></code>,·which·invokes·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·method198 <span·class="pre">my_bicycles.count</span>·<span·class="pre">}}</span></code>,·which·invokes·the·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·<code·class="docutils·literal·notranslate"><span·class="pre">count()</span></code>·method
Offset 245, 15 lines modifiedOffset 246, 15 lines modified
245 translated·string·is·actually·required,·such·as·in·a·rendered·template.</p>246 translated·string·is·actually·required,·such·as·in·a·rendered·template.</p>
246 <p>Laziness·is·also·a·way·to·save·effort·by·trying·to·avoid·work·in·the·first247 <p>Laziness·is·also·a·way·to·save·effort·by·trying·to·avoid·work·in·the·first
247 place.·That·is,·one·aspect·of·laziness·is·not·doing·anything·until·it·has·to·be248 place.·That·is,·one·aspect·of·laziness·is·not·doing·anything·until·it·has·to·be
248 done,·because·it·may·not·turn·out·to·be·necessary·after·all.·Laziness·can249 done,·because·it·may·not·turn·out·to·be·necessary·after·all.·Laziness·can
249 therefore·have·performance·implications,·and·the·more·expensive·the·work250 therefore·have·performance·implications,·and·the·more·expensive·the·work
250 concerned,·the·more·there·is·to·gain·through·laziness.</p>251 concerned,·the·more·there·is·to·gain·through·laziness.</p>
251 <p>Python·provides·a·number·of·tools·for·lazy·evaluation,·particularly·through·the252 <p>Python·provides·a·number·of·tools·for·lazy·evaluation,·particularly·through·the
252 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-generator"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">generator</span></a>·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-generator-expression"·title="(in·Python·v3.12)"><span·class="xref·std·std-term">generator·expression</span></a>·constructs.·It’s·worth253 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-generator"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">generator</span></a>·and·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/glossary.html#term-generator-expression"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-term">generator·expression</span></a>·constructs.·It’s·worth
253 reading·up·on·laziness·in·Python·to·discover·opportunities·for·making·use·of254 reading·up·on·laziness·in·Python·to·discover·opportunities·for·making·use·of
254 lazy·patterns·in·your·code.</p>255 lazy·patterns·in·your·code.</p>
255 <section·id="s-laziness-in-django">256 <section·id="s-laziness-in-django">
256 <span·id="laziness-in-django"></span><h3>Laziness·in·Django<a·class="headerlink"·href="#laziness-in-django"·title="Link·to·this·heading">¶</a></h3>257 <span·id="laziness-in-django"></span><h3>Laziness·in·Django<a·class="headerlink"·href="#laziness-in-django"·title="Link·to·this·heading">¶</a></h3>
257 <p>Django·is·itself·quite·lazy.·A·good·example·of·this·can·be·found·in·the258 <p>Django·is·itself·quite·lazy.·A·good·example·of·this·can·be·found·in·the
258 evaluation·of·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySets</span></code>.·<a·class="reference·internal"·href="db/queries.html#querysets-are-lazy"><span·class="std·std-ref">QuerySets·are·lazy</span></a>.259 evaluation·of·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySets</span></code>.·<a·class="reference·internal"·href="db/queries.html#querysets-are-lazy"><span·class="std·std-ref">QuerySets·are·lazy</span></a>.
259 Thus·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·can·be·created,·passed·around·and·combined·with·other260 Thus·a·<code·class="docutils·literal·notranslate"><span·class="pre">QuerySet</span></code>·can·be·created,·passed·around·and·combined·with·other
Offset 319, 24 lines modifiedOffset 320, 24 lines modified
319 </section>320 </section>
320 <section·id="s-static-files">321 <section·id="s-static-files">
321 <span·id="static-files"></span><h3>Static·files<a·class="headerlink"·href="#static-files"·title="Link·to·this·heading">¶</a></h3>322 <span·id="static-files"></span><h3>Static·files<a·class="headerlink"·href="#static-files"·title="Link·to·this·heading">¶</a></h3>
322 <p>Static·files,·which·by·definition·are·not·dynamic,·make·an·excellent·target·for323 <p>Static·files,·which·by·definition·are·not·dynamic,·make·an·excellent·target·for
323 optimization·gains.</p>324 optimization·gains.</p>
324 <section·id="s-manifeststaticfilesstorage">325 <section·id="s-manifeststaticfilesstorage">
325 <span·id="manifeststaticfilesstorage"></span><h4><a·class="reference·internal"·href="../ref/contrib/staticfiles.html#django.contrib.staticfiles.storage.ManifestStaticFilesStorage"·title="django.contrib.staticfiles.storage.ManifestStaticFilesStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManifestStaticFilesStorage</span></code></a><a·class="headerlink"·href="#manifeststaticfilesstorage"·title="Link·to·this·heading">¶</a></h4>326 <span·id="manifeststaticfilesstorage"></span><h4><a·class="reference·internal"·href="../ref/contrib/staticfiles.html#django.contrib.staticfiles.storage.ManifestStaticFilesStorage"·title="django.contrib.staticfiles.storage.ManifestStaticFilesStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManifestStaticFilesStorage</span></code></a><a·class="headerlink"·href="#manifeststaticfilesstorage"·title="Link·to·this·heading">¶</a></h4>
326 <p>By·taking·advantage·of·web·browsers·caching·abilities,·you·can327 <p>By·taking·advantage·of·web·browsers·caching·abilities,·you·can
327 eliminate·network·hits·entirely·for·a·given·file·after·the·initial·download.</p>328 eliminate·network·hits·entirely·for·a·given·file·after·the·initial·download.</p>
328 <p><a·class="reference·internal"·href="../ref/contrib/staticfiles.html#django.contrib.staticfiles.storage.ManifestStaticFilesStorage"·title="django.contrib.staticfiles.storage.ManifestStaticFilesStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManifestStaticFilesStorage</span></code></a>·appends·a329 <p><a·class="reference·internal"·href="../ref/contrib/staticfiles.html#django.contrib.staticfiles.storage.ManifestStaticFilesStorage"·title="django.contrib.staticfiles.storage.ManifestStaticFilesStorage"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">ManifestStaticFilesStorage</span></code></a>·appends·a
329 content-dependent·tag·to·the·filenames·of·<a·class="reference·internal"·href="../ref/contrib/staticfiles.html"><span·class="doc">static·files</span></a>·to·make·it·safe·for·browsers·to·cache·them330 content-dependent·tag·to·the·filenames·of·<a·class="reference·internal"·href="../ref/contrib/staticfiles.html"><span·class="doc">static·files</span></a>·to·make·it·safe·for·browsers·to·cache·them
330 long-term·without·missing·future·changes·-·when·a·file·changes,·so·will·the331 long-term·without·missing·future·changes·-·when·a·file·changes,·so·will·the
331 tag,·so·browsers·will·reload·the·asset·automatically.</p>332 tag,·so·browsers·will·reload·the·asset·automatically.</p>
332 </section>333 </section>
333 <section·id="s-minification">334 <section·id="s-minification">
334 <span·id="minification"></span><h4>Minification<a·class="headerlink"·href="#minification"·title="Link·to·this·heading">¶</a></h4>335 <span·id="minification"></span><h4>Minification<a·class="headerlink"·href="#minification"·title="Link·to·this·heading">¶</a></h4>
335 <p>Several·third-party·Django·tools·and·packages·provide·the·ability·to·minify336 <p>Several·third-party·Django·tools·and·packages·provide·the·ability·to·minify
336 HTML,·CSS,·and·JavaScript.·They·remove·unnecessary·whitespace,·newlines,·and337 HTML,·CSS,·and·JavaScript.·They·remove·unnecessary·whitespace,·newlines,·and
337 comments,·and·shorten·variable·names,·and·thus·reduce·the·size·of·the·documents338 comments,·and·shorten·variable·names,·and·thus·reduce·the·size·of·the·documents
338 that·your·site·publishes.</p>339 that·your·site·publishes.</p>
339 </section>340 </section>
340 </section>341 </section>
341 </section>342 </section>
Max diff block lines reached; 7509/18089 bytes (41.51%) of diff not shown.
13.4 KB
html2text {}
Max HTML report size reached
19.9 KB
./usr/share/doc/python-django-doc/html/topics/security.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Security·in·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Security·in·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Performance·and·optimization"·href="performance.html"·/>15 ····<link·rel="next"·title="Performance·and·optimization"·href="performance.html"·/>
15 ····<link·rel="prev"·title="Pagination"·href="pagination.html"·/>16 ····<link·rel="prev"·title="Pagination"·href="pagination.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 118, 15 lines modifiedOffset 119, 15 lines modified
118 <p>Django·has·built-in·protection·against·most·types·of·CSRF·attacks,·providing·you119 <p>Django·has·built-in·protection·against·most·types·of·CSRF·attacks,·providing·you
119 have·<a·class="reference·internal"·href="../howto/csrf.html#using-csrf"><span·class="std·std-ref">enabled·and·used·it</span></a>·where·appropriate.·However,·as·with120 have·<a·class="reference·internal"·href="../howto/csrf.html#using-csrf"><span·class="std·std-ref">enabled·and·used·it</span></a>·where·appropriate.·However,·as·with
120 any·mitigation·technique,·there·are·limitations.·For·example,·it·is·possible·to121 any·mitigation·technique,·there·are·limitations.·For·example,·it·is·possible·to
121 disable·the·CSRF·module·globally·or·for·particular·views.·You·should·only·do122 disable·the·CSRF·module·globally·or·for·particular·views.·You·should·only·do
122 this·if·you·know·what·you·are·doing.·There·are·other·<a·class="reference·internal"·href="../ref/csrf.html#csrf-limitations"><span·class="std·std-ref">limitations</span></a>·if·your·site·has·subdomains·that·are·outside·of·your123 this·if·you·know·what·you·are·doing.·There·are·other·<a·class="reference·internal"·href="../ref/csrf.html#csrf-limitations"><span·class="std·std-ref">limitations</span></a>·if·your·site·has·subdomains·that·are·outside·of·your
123 control.</p>124 control.</p>
124 <p><a·class="reference·internal"·href="../ref/csrf.html#how-csrf-works"><span·class="std·std-ref">CSRF·protection·works</span></a>·by·checking·for·a·secret·in·each125 <p><a·class="reference·internal"·href="../ref/csrf.html#how-csrf-works"><span·class="std·std-ref">CSRF·protection·works</span></a>·by·checking·for·a·secret·in·each
125 POST·request.·This·ensures·that·a·malicious·user·cannot·replay·a·form·POST·to126 POST·request.·This·ensures·that·a·malicious·user·cannot·replay·a·form·POST·to
126 your·website·and·have·another·logged·in·user·unwittingly·submit·that·form.·The127 your·website·and·have·another·logged·in·user·unwittingly·submit·that·form.·The
127 malicious·user·would·have·to·know·the·secret,·which·is·user·specific·(using·a128 malicious·user·would·have·to·know·the·secret,·which·is·user·specific·(using·a
128 cookie).</p>129 cookie).</p>
129 <p>When·deployed·with·<a·class="reference·internal"·href="#security-recommendation-ssl"><span·class="std·std-ref">HTTPS</span></a>,130 <p>When·deployed·with·<a·class="reference·internal"·href="#security-recommendation-ssl"><span·class="std·std-ref">HTTPS</span></a>,
130 <code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>·will·check·that·the·HTTP·referer·header·is·set·to·a131 <code·class="docutils·literal·notranslate"><span·class="pre">CsrfViewMiddleware</span></code>·will·check·that·the·HTTP·referer·header·is·set·to·a
131 URL·on·the·same·origin·(including·subdomain·and·port).·Because·HTTPS132 URL·on·the·same·origin·(including·subdomain·and·port).·Because·HTTPS
132 provides·additional·security,·it·is·imperative·to·ensure·connections·use·HTTPS133 provides·additional·security,·it·is·imperative·to·ensure·connections·use·HTTPS
Offset 181, 15 lines modifiedOffset 182, 15 lines modified
181 dangerous!</p></li>182 dangerous!</p></li>
182 <li><p>Set·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SECURE_SSL_REDIRECT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECURE_SSL_REDIRECT</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·so·that·requests·over·HTTP183 <li><p>Set·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SECURE_SSL_REDIRECT"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECURE_SSL_REDIRECT</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·so·that·requests·over·HTTP
183 are·redirected·to·HTTPS.</p>184 are·redirected·to·HTTPS.</p>
184 <p>Please·note·the·caveats·under·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SECURE_PROXY_SSL_HEADER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECURE_PROXY_SSL_HEADER</span></code></a>.·For·the185 <p>Please·note·the·caveats·under·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SECURE_PROXY_SSL_HEADER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECURE_PROXY_SSL_HEADER</span></code></a>.·For·the
185 case·of·a·reverse·proxy,·it·may·be·easier·or·more·secure·to·configure·the186 case·of·a·reverse·proxy,·it·may·be·easier·or·more·secure·to·configure·the
186 main·web·server·to·do·the·redirect·to·HTTPS.</p>187 main·web·server·to·do·the·redirect·to·HTTPS.</p>
187 </li>188 </li>
188 <li><p>Use·secure·cookies.</p>189 <li><p>Use·secure·cookies.</p>
189 <p>If·a·browser·connects·initially·via·HTTP,·which·is·the·default·for·most190 <p>If·a·browser·connects·initially·via·HTTP,·which·is·the·default·for·most
190 browsers,·it·is·possible·for·existing·cookies·to·be·leaked.·For·this·reason,191 browsers,·it·is·possible·for·existing·cookies·to·be·leaked.·For·this·reason,
191 you·should·set·your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_COOKIE_SECURE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_SECURE</span></code></a>·and192 you·should·set·your·<a·class="reference·internal"·href="../ref/settings.html#std-setting-SESSION_COOKIE_SECURE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SESSION_COOKIE_SECURE</span></code></a>·and
192 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_COOKIE_SECURE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_SECURE</span></code></a>·settings·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·This·instructs·the·browser193 <a·class="reference·internal"·href="../ref/settings.html#std-setting-CSRF_COOKIE_SECURE"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">CSRF_COOKIE_SECURE</span></code></a>·settings·to·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>.·This·instructs·the·browser
193 to·only·send·these·cookies·over·HTTPS·connections.·Note·that·this·will·mean194 to·only·send·these·cookies·over·HTTPS·connections.·Note·that·this·will·mean
194 that·sessions·will·not·work·over·HTTP,·and·the·CSRF·protection·will·prevent195 that·sessions·will·not·work·over·HTTP,·and·the·CSRF·protection·will·prevent
195 any·POST·data·being·accepted·over·HTTP·(which·will·be·fine·if·you·are196 any·POST·data·being·accepted·over·HTTP·(which·will·be·fine·if·you·are
Offset 217, 15 lines modifiedOffset 218, 15 lines modified
217 <a·class="reference·internal"·href="../ref/settings.html#std-setting-ALLOWED_HOSTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ALLOWED_HOSTS</span></code></a>·setting·in·the218 <a·class="reference·internal"·href="../ref/settings.html#std-setting-ALLOWED_HOSTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ALLOWED_HOSTS</span></code></a>·setting·in·the
218 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.get_host"·title="django.http.HttpRequest.get_host"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">django.http.HttpRequest.get_host()</span></code></a>·method.</p>219 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.get_host"·title="django.http.HttpRequest.get_host"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">django.http.HttpRequest.get_host()</span></code></a>·method.</p>
219 <p>This·validation·only·applies·via·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.get_host"·title="django.http.HttpRequest.get_host"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_host()</span></code></a>;220 <p>This·validation·only·applies·via·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest.get_host"·title="django.http.HttpRequest.get_host"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get_host()</span></code></a>;
220 if·your·code·accesses·the·<code·class="docutils·literal·notranslate"><span·class="pre">Host</span></code>·header·directly·from·<code·class="docutils·literal·notranslate"><span·class="pre">request.META</span></code>·you221 if·your·code·accesses·the·<code·class="docutils·literal·notranslate"><span·class="pre">Host</span></code>·header·directly·from·<code·class="docutils·literal·notranslate"><span·class="pre">request.META</span></code>·you
221 are·bypassing·this·security·protection.</p>222 are·bypassing·this·security·protection.</p>
222 <p>For·more·details·see·the·full·<a·class="reference·internal"·href="../ref/settings.html#std-setting-ALLOWED_HOSTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ALLOWED_HOSTS</span></code></a>·documentation.</p>223 <p>For·more·details·see·the·full·<a·class="reference·internal"·href="../ref/settings.html#std-setting-ALLOWED_HOSTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ALLOWED_HOSTS</span></code></a>·documentation.</p>
223 <div·class="admonition·warning">224 <div·class="admonition·warning">
224 <p·class="admonition-title">Warning</p>225 <p·class="admonition-title">Hoiatus</p>
225 <p>Previous·versions·of·this·document·recommended·configuring·your·web·server·to226 <p>Previous·versions·of·this·document·recommended·configuring·your·web·server·to
226 ensure·it·validates·incoming·HTTP·<code·class="docutils·literal·notranslate"><span·class="pre">Host</span></code>·headers.·While·this·is·still227 ensure·it·validates·incoming·HTTP·<code·class="docutils·literal·notranslate"><span·class="pre">Host</span></code>·headers.·While·this·is·still
227 recommended,·in·many·common·web·servers·a·configuration·that·seems·to228 recommended,·in·many·common·web·servers·a·configuration·that·seems·to
228 validate·the·<code·class="docutils·literal·notranslate"><span·class="pre">Host</span></code>·header·may·not·in·fact·do·so.·For·instance,·even·if229 validate·the·<code·class="docutils·literal·notranslate"><span·class="pre">Host</span></code>·header·may·not·in·fact·do·so.·For·instance,·even·if
229 Apache·is·configured·such·that·your·Django·site·is·served·from·a·non-default230 Apache·is·configured·such·that·your·Django·site·is·served·from·a·non-default
230 virtual·host·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">ServerName</span></code>·set,·it·is·still·possible·for·an·HTTP231 virtual·host·with·the·<code·class="docutils·literal·notranslate"><span·class="pre">ServerName</span></code>·set,·it·is·still·possible·for·an·HTTP
231 request·to·match·this·virtual·host·and·supply·a·fake·<code·class="docutils·literal·notranslate"><span·class="pre">Host</span></code>·header.·Thus,232 request·to·match·this·virtual·host·and·supply·a·fake·<code·class="docutils·literal·notranslate"><span·class="pre">Host</span></code>·header.·Thus,
Offset 260, 15 lines modifiedOffset 261, 15 lines modified
260 be·deployed·such·that·untrusted·users·don’t·have·access·to·any·subdomains,261 be·deployed·such·that·untrusted·users·don’t·have·access·to·any·subdomains,
261 <a·class="reference·internal"·href="http/sessions.html#module-django.contrib.sessions"·title="django.contrib.sessions:·Provides·session·management·for·Django·projects."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a>·also·has·limitations.·See·<a·class="reference·internal"·href="http/sessions.html#topics-session-security"><span·class="std·std-ref">the·session262 <a·class="reference·internal"·href="http/sessions.html#module-django.contrib.sessions"·title="django.contrib.sessions:·Provides·session·management·for·Django·projects."><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">django.contrib.sessions</span></code></a>·also·has·limitations.·See·<a·class="reference·internal"·href="http/sessions.html#topics-session-security"><span·class="std·std-ref">the·session
262 topic·guide·section·on·security</span></a>·for·details.</p>263 topic·guide·section·on·security</span></a>·for·details.</p>
263 </section>264 </section>
264 <section·id="s-user-uploaded-content">265 <section·id="s-user-uploaded-content">
265 <span·id="s-user-uploaded-content-security"></span><span·id="user-uploaded-content"></span><span·id="user-uploaded-content-security"></span><h2>User-uploaded·content<a·class="headerlink"·href="#user-uploaded-content"·title="Link·to·this·heading">¶</a></h2>266 <span·id="s-user-uploaded-content-security"></span><span·id="user-uploaded-content"></span><span·id="user-uploaded-content-security"></span><h2>User-uploaded·content<a·class="headerlink"·href="#user-uploaded-content"·title="Link·to·this·heading">¶</a></h2>
266 <div·class="admonition·note">267 <div·class="admonition·note">
267 <p·class="admonition-title">Note</p>268 <p·class="admonition-title">rkus</p>
268 <p>Consider·<a·class="reference·internal"·href="../howto/static-files/deployment.html#staticfiles-from-cdn"><span·class="std·std-ref">serving·static·files·from·a·cloud·service·or·CDN</span></a>·to·avoid·some·of·these·issues.</p>269 <p>Consider·<a·class="reference·internal"·href="../howto/static-files/deployment.html#staticfiles-from-cdn"><span·class="std·std-ref">serving·static·files·from·a·cloud·service·or·CDN</span></a>·to·avoid·some·of·these·issues.</p>
269 </div>270 </div>
270 <ul>271 <ul>
271 <li><p>If·your·site·accepts·file·uploads,·it·is·strongly·advised·that·you·limit272 <li><p>If·your·site·accepts·file·uploads,·it·is·strongly·advised·that·you·limit
272 these·uploads·in·your·web·server·configuration·to·a·reasonable273 these·uploads·in·your·web·server·configuration·to·a·reasonable
273 size·in·order·to·prevent·denial·of·service·(DOS)·attacks.·In·Apache,·this274 size·in·order·to·prevent·denial·of·service·(DOS)·attacks.·In·Apache,·this
274 can·be·easily·set·using·the·<a·class="reference·external"·href="https://httpd.apache.org/docs/2.4/mod/core.html#limitrequestbody">LimitRequestBody</a>·directive.</p></li>275 can·be·easily·set·using·the·<a·class="reference·external"·href="https://httpd.apache.org/docs/2.4/mod/core.html#limitrequestbody">LimitRequestBody</a>·directive.</p></li>
Offset 336, 15 lines modifiedOffset 337, 15 lines modified
336 ······337 ······
337 ········338 ········
338 ··········<div·class="yui-b"·id="sidebar">339 ··········<div·class="yui-b"·id="sidebar">
339 ············340 ············
340 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">341 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
341 ········<div·class="sphinxsidebarwrapper">342 ········<div·class="sphinxsidebarwrapper">
342 ··<div>343 ··<div>
343 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>344 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
344 ····<ul>345 ····<ul>
345 <li><a·class="reference·internal"·href="#">Security·in·Django</a><ul>346 <li><a·class="reference·internal"·href="#">Security·in·Django</a><ul>
346 <li><a·class="reference·internal"·href="#cross-site-scripting-xss-protection">Cross·site·scripting·(XSS)·protection</a></li>347 <li><a·class="reference·internal"·href="#cross-site-scripting-xss-protection">Cross·site·scripting·(XSS)·protection</a></li>
347 <li><a·class="reference·internal"·href="#cross-site-request-forgery-csrf-protection">Cross·site·request·forgery·(CSRF)·protection</a></li>348 <li><a·class="reference·internal"·href="#cross-site-request-forgery-csrf-protection">Cross·site·request·forgery·(CSRF)·protection</a></li>
348 <li><a·class="reference·internal"·href="#sql-injection-protection">SQL·injection·protection</a></li>349 <li><a·class="reference·internal"·href="#sql-injection-protection">SQL·injection·protection</a></li>
349 <li><a·class="reference·internal"·href="#clickjacking-protection">Clickjacking·protection</a></li>350 <li><a·class="reference·internal"·href="#clickjacking-protection">Clickjacking·protection</a></li>
350 <li><a·class="reference·internal"·href="#ssl-https">SSL/HTTPS</a></li>351 <li><a·class="reference·internal"·href="#ssl-https">SSL/HTTPS</a></li>
Offset 356, 37 lines modifiedOffset 357, 37 lines modified
356 <li><a·class="reference·internal"·href="#additional-security-topics">Additional·security·topics</a></li>357 <li><a·class="reference·internal"·href="#additional-security-topics">Additional·security·topics</a></li>
357 </ul>358 </ul>
358 </li>359 </li>
359 </ul>360 </ul>
  
360 ··</div>361 ··</div>
361 ··<div>362 ··<div>
Max diff block lines reached; 1299/11968 bytes (10.85%) of diff not shown.
8.11 KB
html2text {}
Max HTML report size reached
48.0 KB
./usr/share/doc/python-django-doc/html/topics/serialization.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Serializing·Django·objects·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Serializing·Django·objects·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Django·settings"·href="settings.html"·/>15 ····<link·rel="next"·title="Django·settings"·href="settings.html"·/>
15 ····<link·rel="prev"·title="Performance·and·optimization"·href="performance.html"·/>16 ····<link·rel="prev"·title="Performance·and·optimization"·href="performance.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 20 lines modifiedOffset 76, 20 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-serialization">79 ··········<div·class="yui-g"·id="topics-serialization">
79 ············80 ············
80 ··<section·id="s-serializing-django-objects">81 ··<section·id="s-serializing-django-objects">
81 <span·id="serializing-django-objects"></span><h1>Serializing·Django·objects<a·class="headerlink"·href="#serializing-django-objects"·title="Link·to·this·heading">¶</a></h1>82 <span·id="serializing-django-objects"></span><h1>Serializing·Django·objects<a·class="headerlink"·href="#serializing-django-objects"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django’s·serialization·framework·provides·a·mechanism·for·translating·Django83 <p>Django’s·serialization·framework·provides·a·mechanism·for·translating·Django
83 models·into·other·formats.·Usually·these·other·formats·will·be·text-based·and84 models·into·other·formats.·Usually·these·other·formats·will·be·text-based·and
84 used·for·sending·Django·data·over·a·wire,·but·it’s·possible·for·a85 used·for·sending·Django·data·over·a·wire,·but·it’s·possible·for·a
85 serializer·to·handle·any·format·(text-based·or·not).</p>86 serializer·to·handle·any·format·(text-based·or·not).</p>
86 <div·class="admonition·seealso">87 <div·class="admonition·seealso">
87 <p·class="admonition-title">See·also</p>88 <p·class="admonition-title">Vaata·ka</p>
88 <p>If·you·just·want·to·get·some·data·from·your·tables·into·a·serialized89 <p>If·you·just·want·to·get·some·data·from·your·tables·into·a·serialized
89 form,·you·could·use·the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-dumpdata"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dumpdata</span></code></a>·management·command.</p>90 form,·you·could·use·the·<a·class="reference·internal"·href="../ref/django-admin.html#django-admin-dumpdata"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">dumpdata</span></code></a>·management·command.</p>
90 </div>91 </div>
91 <section·id="s-serializing-data">92 <section·id="s-serializing-data">
92 <span·id="serializing-data"></span><h2>Serializing·data<a·class="headerlink"·href="#serializing-data"·title="Link·to·this·heading">¶</a></h2>93 <span·id="serializing-data"></span><h2>Serializing·data<a·class="headerlink"·href="#serializing-data"·title="Link·to·this·heading">¶</a></h2>
93 <p>At·the·highest·level,·you·can·serialize·data·like·this:</p>94 <p>At·the·highest·level,·you·can·serialize·data·like·this:</p>
94 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.core</span>·<span·class="kn">import</span>·<span·class="n">serializers</span>95 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.core</span>·<span·class="kn">import</span>·<span·class="n">serializers</span>
Offset 116, 15 lines modifiedOffset 117, 15 lines modified
116 <p>This·is·useful·if·you·want·to·serialize·data·directly·to·a·file-like·object117 <p>This·is·useful·if·you·want·to·serialize·data·directly·to·a·file-like·object
117 (which·includes·an·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>):</p>118 (which·includes·an·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpResponse"·title="django.http.HttpResponse"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpResponse</span></code></a>):</p>
118 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">with</span>·<span·class="nb">open</span><span·class="p">(</span><span·class="s2">&quot;file.xml&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;w&quot;</span><span·class="p">)</span>·<span·class="k">as</span>·<span·class="n">out</span><span·class="p">:</span>119 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">with</span>·<span·class="nb">open</span><span·class="p">(</span><span·class="s2">&quot;file.xml&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;w&quot;</span><span·class="p">)</span>·<span·class="k">as</span>·<span·class="n">out</span><span·class="p">:</span>
119 ····<span·class="n">xml_serializer</span><span·class="o">.</span><span·class="n">serialize</span><span·class="p">(</span><span·class="n">SomeModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">(),</span>·<span·class="n">stream</span><span·class="o">=</span><span·class="n">out</span><span·class="p">)</span>120 ····<span·class="n">xml_serializer</span><span·class="o">.</span><span·class="n">serialize</span><span·class="p">(</span><span·class="n">SomeModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">(),</span>·<span·class="n">stream</span><span·class="o">=</span><span·class="n">out</span><span·class="p">)</span>
120 </pre></div>121 </pre></div>
121 </div>122 </div>
122 <div·class="admonition·note">123 <div·class="admonition·note">
123 <p·class="admonition-title">Note</p>124 <p·class="admonition-title">rkus</p>
124 <p>Calling·<a·class="reference·internal"·href="#django.core.serializers.get_serializer"·title="django.core.serializers.get_serializer"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_serializer()</span></code></a>·with·an·unknown125 <p>Calling·<a·class="reference·internal"·href="#django.core.serializers.get_serializer"·title="django.core.serializers.get_serializer"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">get_serializer()</span></code></a>·with·an·unknown
125 <a·class="reference·internal"·href="#serialization-formats"><span·class="std·std-ref">format</span></a>·will·raise·a126 <a·class="reference·internal"·href="#serialization-formats"><span·class="std·std-ref">format</span></a>·will·raise·a
126 <code·class="docutils·literal·notranslate"><span·class="pre">django.core.serializers.SerializerDoesNotExist</span></code>·exception.</p>127 <code·class="docutils·literal·notranslate"><span·class="pre">django.core.serializers.SerializerDoesNotExist</span></code>·exception.</p>
127 </div>128 </div>
128 <section·id="s-subset-of-fields">129 <section·id="s-subset-of-fields">
129 <span·id="s-id1"></span><span·id="subset-of-fields"></span><span·id="id1"></span><h3>Subset·of·fields<a·class="headerlink"·href="#subset-of-fields"·title="Link·to·this·heading">¶</a></h3>130 <span·id="s-id1"></span><span·id="subset-of-fields"></span><span·id="id1"></span><h3>Subset·of·fields<a·class="headerlink"·href="#subset-of-fields"·title="Link·to·this·heading">¶</a></h3>
130 <p>If·you·only·want·a·subset·of·fields·to·be·serialized,·you·can131 <p>If·you·only·want·a·subset·of·fields·to·be·serialized,·you·can
Offset 134, 15 lines modifiedOffset 135, 15 lines modified
134 <span·class="n">data</span>·<span·class="o">=</span>·<span·class="n">serializers</span><span·class="o">.</span><span·class="n">serialize</span><span·class="p">(</span><span·class="s2">&quot;xml&quot;</span><span·class="p">,</span>·<span·class="n">SomeModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">(),</span>·<span·class="n">fields</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;name&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;size&quot;</span><span·class="p">])</span>135 <span·class="n">data</span>·<span·class="o">=</span>·<span·class="n">serializers</span><span·class="o">.</span><span·class="n">serialize</span><span·class="p">(</span><span·class="s2">&quot;xml&quot;</span><span·class="p">,</span>·<span·class="n">SomeModel</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">all</span><span·class="p">(),</span>·<span·class="n">fields</span><span·class="o">=</span><span·class="p">[</span><span·class="s2">&quot;name&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;size&quot;</span><span·class="p">])</span>
135 </pre></div>136 </pre></div>
136 </div>137 </div>
137 <p>In·this·example,·only·the·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">size</span></code>·attributes·of·each·model·will138 <p>In·this·example,·only·the·<code·class="docutils·literal·notranslate"><span·class="pre">name</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">size</span></code>·attributes·of·each·model·will
138 be·serialized.·The·primary·key·is·always·serialized·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">pk</span></code>·element·in·the139 be·serialized.·The·primary·key·is·always·serialized·as·the·<code·class="docutils·literal·notranslate"><span·class="pre">pk</span></code>·element·in·the
139 resulting·output;·it·never·appears·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·part.</p>140 resulting·output;·it·never·appears·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">fields</span></code>·part.</p>
140 <div·class="admonition·note">141 <div·class="admonition·note">
141 <p·class="admonition-title">Note</p>142 <p·class="admonition-title">rkus</p>
142 <p>Depending·on·your·model,·you·may·find·that·it·is·not·possible·to143 <p>Depending·on·your·model,·you·may·find·that·it·is·not·possible·to
143 deserialize·a·model·that·only·serializes·a·subset·of·its·fields.·If·a144 deserialize·a·model·that·only·serializes·a·subset·of·its·fields.·If·a
144 serialized·object·doesn’t·specify·all·the·fields·that·are·required·by·a145 serialized·object·doesn’t·specify·all·the·fields·that·are·required·by·a
145 model,·the·deserializer·will·not·be·able·to·save·deserialized·instances.</p>146 model,·the·deserializer·will·not·be·able·to·save·deserialized·instances.</p>
146 </div>147 </div>
147 </section>148 </section>
148 <section·id="s-inherited-models">149 <section·id="s-inherited-models">
Offset 187, 29 lines modifiedOffset 188, 29 lines modified
187 <code·class="docutils·literal·notranslate"><span·class="pre">serialize</span></code>,·a·string·or·stream·of·data,·and·returns·an·iterator.</p>188 <code·class="docutils·literal·notranslate"><span·class="pre">serialize</span></code>,·a·string·or·stream·of·data,·and·returns·an·iterator.</p>
188 <p>However,·here·it·gets·slightly·complicated.·The·objects·returned·by·the189 <p>However,·here·it·gets·slightly·complicated.·The·objects·returned·by·the
189 <code·class="docutils·literal·notranslate"><span·class="pre">deserialize</span></code>·iterator·<em>aren’t</em>·regular·Django·objects.·Instead,·they·are190 <code·class="docutils·literal·notranslate"><span·class="pre">deserialize</span></code>·iterator·<em>aren’t</em>·regular·Django·objects.·Instead,·they·are
190 special·<code·class="docutils·literal·notranslate"><span·class="pre">DeserializedObject</span></code>·instances·that·wrap·a·created··but·unsaved·191 special·<code·class="docutils·literal·notranslate"><span·class="pre">DeserializedObject</span></code>·instances·that·wrap·a·created··but·unsaved·
191 object·and·any·associated·relationship·data.</p>192 object·and·any·associated·relationship·data.</p>
192 <p>Calling·<code·class="docutils·literal·notranslate"><span·class="pre">DeserializedObject.save()</span></code>·saves·the·object·to·the·database.</p>193 <p>Calling·<code·class="docutils·literal·notranslate"><span·class="pre">DeserializedObject.save()</span></code>·saves·the·object·to·the·database.</p>
193 <div·class="admonition·note">194 <div·class="admonition·note">
194 <p·class="admonition-title">Note</p>195 <p·class="admonition-title">rkus</p>
195 <p>If·the·<code·class="docutils·literal·notranslate"><span·class="pre">pk</span></code>·attribute·in·the·serialized·data·doesn’t·exist·or·is196 <p>If·the·<code·class="docutils·literal·notranslate"><span·class="pre">pk</span></code>·attribute·in·the·serialized·data·doesn’t·exist·or·is
196 null,·a·new·instance·will·be·saved·to·the·database.</p>197 null,·a·new·instance·will·be·saved·to·the·database.</p>
197 </div>198 </div>
198 <p>This·ensures·that·deserializing·is·a·non-destructive·operation·even·if·the199 <p>This·ensures·that·deserializing·is·a·non-destructive·operation·even·if·the
199 data·in·your·serialized·representation·doesn’t·match·what’s·currently·in·the200 data·in·your·serialized·representation·doesn’t·match·what’s·currently·in·the
200 database.·Usually,·working·with·these·<code·class="docutils·literal·notranslate"><span·class="pre">DeserializedObject</span></code>·instances·looks201 database.·Usually,·working·with·these·<code·class="docutils·literal·notranslate"><span·class="pre">DeserializedObject</span></code>·instances·looks
201 something·like:</p>202 something·like:</p>
202 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">for</span>·<span·class="n">deserialized_object</span>·<span·class="ow">in</span>·<span·class="n">serializers</span><span·class="o">.</span><span·class="n">deserialize</span><span·class="p">(</span><span·class="s2">&quot;xml&quot;</span><span·class="p">,</span>·<span·class="n">data</span><span·class="p">):</span>203 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="k">for</span>·<span·class="n">deserialized_object</span>·<span·class="ow">in</span>·<span·class="n">serializers</span><span·class="o">.</span><span·class="n">deserialize</span><span·class="p">(</span><span·class="s2">&quot;xml&quot;</span><span·class="p">,</span>·<span·class="n">data</span><span·class="p">):</span>
203 ····<span·class="k">if</span>·<span·class="n">object_should_be_saved</span><span·class="p">(</span><span·class="n">deserialized_object</span><span·class="p">):</span>204 ····<span·class="k">if</span>·<span·class="n">object_should_be_saved</span><span·class="p">(</span><span·class="n">deserialized_object</span><span·class="p">):</span>
204 ········<span·class="n">deserialized_object</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>205 ········<span·class="n">deserialized_object</span><span·class="o">.</span><span·class="n">save</span><span·class="p">()</span>
205 </pre></div>206 </pre></div>
206 </div>207 </div>
207 <p>In·other·words,·the·usual·use·is·to·examine·the·deserialized·objects·to·make208 <p>In·other·words,·the·usual·use·is·to·examine·the·deserialized·objects·to·make
208 sure·that·they·are·appropriate·for·saving·before·doing·so.·If·you·trust·your209 sure·that·they·are·appropriate·for·saving·before·doing·so.·If·you·trust·your
209 data·source·you·can·instead·save·the·object·directly·and·move·on.</p>210 data·source·you·can·instead·save·the·object·directly·and·move·on.</p>
210 <p>The·Django·object·itself·can·be·inspected·as·<code·class="docutils·literal·notranslate"><span·class="pre">deserialized_object.object</span></code>.211 <p>The·Django·object·itself·can·be·inspected·as·<code·class="docutils·literal·notranslate"><span·class="pre">deserialized_object.object</span></code>.
211 If·fields·in·the·serialized·data·do·not·exist·on·a·model,·a212 If·fields·in·the·serialized·data·do·not·exist·on·a·model,·a
212 <code·class="docutils·literal·notranslate"><span·class="pre">DeserializationError</span></code>·will·be·raised·unless·the·<code·class="docutils·literal·notranslate"><span·class="pre">ignorenonexistent</span></code>213 <code·class="docutils·literal·notranslate"><span·class="pre">DeserializationError</span></code>·will·be·raised·unless·the·<code·class="docutils·literal·notranslate"><span·class="pre">ignorenonexistent</span></code>
213 argument·is·passed·in·as·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>:</p>214 argument·is·passed·in·as·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>:</p>
214 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">serializers</span><span·class="o">.</span><span·class="n">deserialize</span><span·class="p">(</span><span·class="s2">&quot;xml&quot;</span><span·class="p">,</span>·<span·class="n">data</span><span·class="p">,</span>·<span·class="n">ignorenonexistent</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>215 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">serializers</span><span·class="o">.</span><span·class="n">deserialize</span><span·class="p">(</span><span·class="s2">&quot;xml&quot;</span><span·class="p">,</span>·<span·class="n">data</span><span·class="p">,</span>·<span·class="n">ignorenonexistent</span><span·class="o">=</span><span·class="kc">True</span><span·class="p">)</span>
215 </pre></div>216 </pre></div>
Offset 251, 19 lines modifiedOffset 252, 19 lines modified
251 <span·class="w">········</span><span·class="cm">&lt;!--·...·--&gt;</span>252 <span·class="w">········</span><span·class="cm">&lt;!--·...·--&gt;</span>
252 <span·class="w">····</span><span·class="nt">&lt;/object&gt;</span>253 <span·class="w">····</span><span·class="nt">&lt;/object&gt;</span>
253 <span·class="nt">&lt;/django-objects&gt;</span>254 <span·class="nt">&lt;/django-objects&gt;</span>
254 </pre></div>255 </pre></div>
Max diff block lines reached; 24117/35248 bytes (68.42%) of diff not shown.
13.5 KB
html2text {}
Max HTML report size reached
18.7 KB
./usr/share/doc/python-django-doc/html/topics/settings.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Django·settings·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Django·settings·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Signals"·href="signals.html"·/>15 ····<link·rel="next"·title="Signals"·href="signals.html"·/>
15 ····<link·rel="prev"·title="Serializing·Django·objects"·href="serialization.html"·/>16 ····<link·rel="prev"·title="Serializing·Django·objects"·href="serialization.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 88, 15 lines modifiedOffset 89, 15 lines modified
88 <p>Here·are·a·couple·of·example·settings:</p>89 <p>Here·are·a·couple·of·example·settings:</p>
89 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">ALLOWED_HOSTS</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;www.example.com&quot;</span><span·class="p">]</span>90 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">ALLOWED_HOSTS</span>·<span·class="o">=</span>·<span·class="p">[</span><span·class="s2">&quot;www.example.com&quot;</span><span·class="p">]</span>
90 <span·class="n">DEBUG</span>·<span·class="o">=</span>·<span·class="kc">False</span>91 <span·class="n">DEBUG</span>·<span·class="o">=</span>·<span·class="kc">False</span>
91 <span·class="n">DEFAULT_FROM_EMAIL</span>·<span·class="o">=</span>·<span·class="s2">&quot;webmaster@example.com&quot;</span>92 <span·class="n">DEFAULT_FROM_EMAIL</span>·<span·class="o">=</span>·<span·class="s2">&quot;webmaster@example.com&quot;</span>
92 </pre></div>93 </pre></div>
93 </div>94 </div>
94 <div·class="admonition·note">95 <div·class="admonition·note">
95 <p·class="admonition-title">Note</p>96 <p·class="admonition-title">rkus</p>
96 <p>If·you·set·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·you·also·need·to·properly·set97 <p>If·you·set·<a·class="reference·internal"·href="../ref/settings.html#std-setting-DEBUG"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">DEBUG</span></code></a>·to·<code·class="docutils·literal·notranslate"><span·class="pre">False</span></code>,·you·also·need·to·properly·set
97 the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-ALLOWED_HOSTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ALLOWED_HOSTS</span></code></a>·setting.</p>98 the·<a·class="reference·internal"·href="../ref/settings.html#std-setting-ALLOWED_HOSTS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ALLOWED_HOSTS</span></code></a>·setting.</p>
98 </div>99 </div>
99 <p>Because·a·settings·file·is·a·Python·module,·the·following·apply:</p>100 <p>Because·a·settings·file·is·a·Python·module,·the·following·apply:</p>
100 <ul>101 <ul>
101 <li><p>It·doesn’t·allow·for·Python·syntax·errors.</p></li>102 <li><p>It·doesn’t·allow·for·Python·syntax·errors.</p></li>
102 <li><p>It·can·assign·settings·dynamically·using·normal·Python·syntax.103 <li><p>It·can·assign·settings·dynamically·using·normal·Python·syntax.
Offset 115, 15 lines modifiedOffset 116, 15 lines modified
115 <span·class="sig-name·descname"><span·class="pre">DJANGO_SETTINGS_MODULE</span></span><a·class="headerlink"·href="#envvar-DJANGO_SETTINGS_MODULE"·title="Link·to·this·definition">¶</a></dt>116 <span·class="sig-name·descname"><span·class="pre">DJANGO_SETTINGS_MODULE</span></span><a·class="headerlink"·href="#envvar-DJANGO_SETTINGS_MODULE"·title="Link·to·this·definition">¶</a></dt>
116 <dd></dd></dl>117 <dd></dd></dl>
  
117 <p>When·you·use·Django,·you·have·to·tell·it·which·settings·you’re·using.·Do·this118 <p>When·you·use·Django,·you·have·to·tell·it·which·settings·you’re·using.·Do·this
118 by·using·an·environment·variable,·<span·class="target"·id="index-0"></span><a·class="reference·internal"·href="#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>.</p>119 by·using·an·environment·variable,·<span·class="target"·id="index-0"></span><a·class="reference·internal"·href="#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>.</p>
119 <p>The·value·of·<span·class="target"·id="index-1"></span><a·class="reference·internal"·href="#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>·should·be·in·Python·path·syntax,120 <p>The·value·of·<span·class="target"·id="index-1"></span><a·class="reference·internal"·href="#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>·should·be·in·Python·path·syntax,
120 e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">mysite.settings</span></code>.·Note·that·the·settings·module·should·be·on·the121 e.g.·<code·class="docutils·literal·notranslate"><span·class="pre">mysite.settings</span></code>.·Note·that·the·settings·module·should·be·on·the
121 Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/sys.html#sys.path"·title="(in·Python·v3.12)"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">sys.path</span></code></a>.</p>122 Python·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/sys.html#sys.path"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-data·docutils·literal·notranslate"><span·class="pre">sys.path</span></code></a>.</p>
122 <section·id="s-the-django-admin-utility">123 <section·id="s-the-django-admin-utility">
123 <span·id="the-django-admin-utility"></span><h3>The·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·utility<a·class="headerlink"·href="#the-django-admin-utility"·title="Link·to·this·heading">¶</a></h3>124 <span·id="the-django-admin-utility"></span><h3>The·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·utility<a·class="headerlink"·href="#the-django-admin-utility"·title="Link·to·this·heading">¶</a></h3>
124 <p>When·using·<a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">django-admin</span></a>,·you·can·either·set·the125 <p>When·using·<a·class="reference·internal"·href="../ref/django-admin.html"><span·class="doc">django-admin</span></a>,·you·can·either·set·the
125 environment·variable·once,·or·explicitly·pass·in·the·settings·module·each·time126 environment·variable·once,·or·explicitly·pass·in·the·settings·module·each·time
126 you·run·the·utility.</p>127 you·run·the·utility.</p>
127 <p>Example·(Unix·Bash·shell):</p>128 <p>Example·(Unix·Bash·shell):</p>
128 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">export</span><span·class="w">·</span><span·class="nv">DJANGO_SETTINGS_MODULE</span><span·class="o">=</span>mysite.settings129 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="nb">export</span><span·class="w">·</span><span·class="nv">DJANGO_SETTINGS_MODULE</span><span·class="o">=</span>mysite.settings
Offset 313, 16 lines modifiedOffset 314, 16 lines modified
313 </div>314 </div>
314 <p>Also,·it’s·an·error·to·call·<code·class="docutils·literal·notranslate"><span·class="pre">configure()</span></code>·more·than·once,·or·to·call315 <p>Also,·it’s·an·error·to·call·<code·class="docutils·literal·notranslate"><span·class="pre">configure()</span></code>·more·than·once,·or·to·call
315 <code·class="docutils·literal·notranslate"><span·class="pre">configure()</span></code>·after·any·setting·has·been·accessed.</p>316 <code·class="docutils·literal·notranslate"><span·class="pre">configure()</span></code>·after·any·setting·has·been·accessed.</p>
316 <p>It·boils·down·to·this:·Use·exactly·one·of·either·<code·class="docutils·literal·notranslate"><span·class="pre">configure()</span></code>·or317 <p>It·boils·down·to·this:·Use·exactly·one·of·either·<code·class="docutils·literal·notranslate"><span·class="pre">configure()</span></code>·or
317 <span·class="target"·id="index-8"></span><a·class="reference·internal"·href="#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>.·Not·both,·and·not·neither.</p>318 <span·class="target"·id="index-8"></span><a·class="reference·internal"·href="#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>.·Not·both,·and·not·neither.</p>
318 </section>319 </section>
319 <section·id="s-calling-django-setup-is-required-for-standalone-django-usage">320 <section·id="s-calling-django-setup-is-required-for-standalone-django-usage">
320 <span·id="calling-django-setup-is-required-for-standalone-django-usage"></span><h3>Calling·<code·class="docutils·literal·notranslate"><span·class="pre">django.setup()</span></code>·is·required·for·standalone·Django·usage<a·class="headerlink"·href="#calling-django-setup-is-required-for-standalone-django-usage"·title="Link·to·this·heading">¶</a></h3>321 <span·id="calling-django-setup-is-required-for-standalone-django-usage"></span><h3>Calling·<code·class="docutils·literal·notranslate"><span·class="pre">django.setup()</span></code>·is·required·for·standalone·Django·usage<a·class="headerlink"·href="#calling-django-setup-is-required-for-standalone-django-usage"·title="Link·to·this·heading">¶</a></h3>
321 <p>If·you’re·using·components·of·Django·standalone··for·example,·writing·a322 <p>If·you’re·using·components·of·Django·standalone··for·example,·writing·a
322 Python·script·which·loads·some·Django·templates·and·renders·them,·or·uses·the323 Python·script·which·loads·some·Django·templates·and·renders·them,·or·uses·the
323 ORM·to·fetch·some·data··there’s·one·more·step·you’ll·need·in·addition·to324 ORM·to·fetch·some·data··there’s·one·more·step·you’ll·need·in·addition·to
324 configuring·settings.</p>325 configuring·settings.</p>
325 <p>After·you’ve·either·set·<span·class="target"·id="index-9"></span><a·class="reference·internal"·href="#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>·or·called326 <p>After·you’ve·either·set·<span·class="target"·id="index-9"></span><a·class="reference·internal"·href="#envvar-DJANGO_SETTINGS_MODULE"><code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a>·or·called
326 <code·class="docutils·literal·notranslate"><span·class="pre">configure()</span></code>,·you’ll·need·to·call·<a·class="reference·internal"·href="../ref/applications.html#django.setup"·title="django.setup"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.setup()</span></code></a>·to·load·your327 <code·class="docutils·literal·notranslate"><span·class="pre">configure()</span></code>,·you’ll·need·to·call·<a·class="reference·internal"·href="../ref/applications.html#django.setup"·title="django.setup"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">django.setup()</span></code></a>·to·load·your
327 settings·and·populate·Django’s·application·registry.·For·example:</p>328 settings·and·populate·Django’s·application·registry.·For·example:</p>
328 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">django</span>329 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">import</span>·<span·class="nn">django</span>
Offset 348, 15 lines modifiedOffset 349, 15 lines modified
348 ····<span·class="kn">import</span>·<span·class="nn">django</span>349 ····<span·class="kn">import</span>·<span·class="nn">django</span>
  
349 ····<span·class="n">django</span><span·class="o">.</span><span·class="n">setup</span><span·class="p">()</span>350 ····<span·class="n">django</span><span·class="o">.</span><span·class="n">setup</span><span·class="p">()</span>
350 </pre></div>351 </pre></div>
351 </div>352 </div>
352 </div>353 </div>
353 <div·class="admonition·seealso">354 <div·class="admonition·seealso">
354 <p·class="admonition-title">See·also</p>355 <p·class="admonition-title">Vaata·ka</p>
355 <dl·class="simple">356 <dl·class="simple">
356 <dt><a·class="reference·internal"·href="../ref/settings.html"><span·class="doc">The·Settings·Reference</span></a></dt><dd><p>Contains·the·complete·list·of·core·and·contrib·app·settings.</p>357 <dt><a·class="reference·internal"·href="../ref/settings.html"><span·class="doc">The·Settings·Reference</span></a></dt><dd><p>Contains·the·complete·list·of·core·and·contrib·app·settings.</p>
357 </dd>358 </dd>
358 </dl>359 </dl>
359 </div>360 </div>
360 </section>361 </section>
361 </section>362 </section>
Offset 369, 15 lines modifiedOffset 370, 15 lines modified
369 ······370 ······
370 ········371 ········
371 ··········<div·class="yui-b"·id="sidebar">372 ··········<div·class="yui-b"·id="sidebar">
372 ············373 ············
373 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">374 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
374 ········<div·class="sphinxsidebarwrapper">375 ········<div·class="sphinxsidebarwrapper">
375 ··<div>376 ··<div>
376 ····<h3><a·href="../contents.html">Table·of·Contents</a></h3>377 ····<h3><a·href="../contents.html">Sisukorratabel</a></h3>
377 ····<ul>378 ····<ul>
378 <li><a·class="reference·internal"·href="#">Django·settings</a><ul>379 <li><a·class="reference·internal"·href="#">Django·settings</a><ul>
379 <li><a·class="reference·internal"·href="#the-basics">The·basics</a></li>380 <li><a·class="reference·internal"·href="#the-basics">The·basics</a></li>
380 <li><a·class="reference·internal"·href="#designating-the-settings">Designating·the·settings</a><ul>381 <li><a·class="reference·internal"·href="#designating-the-settings">Designating·the·settings</a><ul>
381 <li><a·class="reference·internal"·href="#the-django-admin-utility">The·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·utility</a></li>382 <li><a·class="reference·internal"·href="#the-django-admin-utility">The·<code·class="docutils·literal·notranslate"><span·class="pre">django-admin</span></code>·utility</a></li>
382 <li><a·class="reference·internal"·href="#on-the-server-mod-wsgi">On·the·server·(<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>)</a></li>383 <li><a·class="reference·internal"·href="#on-the-server-mod-wsgi">On·the·server·(<code·class="docutils·literal·notranslate"><span·class="pre">mod_wsgi</span></code>)</a></li>
383 </ul>384 </ul>
Offset 390, 46 lines modifiedOffset 391, 46 lines modified
390 <li><a·class="reference·internal"·href="#altering-settings-at-runtime">Altering·settings·at·runtime</a></li>391 <li><a·class="reference·internal"·href="#altering-settings-at-runtime">Altering·settings·at·runtime</a></li>
391 <li><a·class="reference·internal"·href="#security">Security</a></li>392 <li><a·class="reference·internal"·href="#security">Security</a></li>
392 <li><a·class="reference·internal"·href="#available-settings">Available·settings</a></li>393 <li><a·class="reference·internal"·href="#available-settings">Available·settings</a></li>
393 <li><a·class="reference·internal"·href="#creating-your-own-settings">Creating·your·own·settings</a></li>394 <li><a·class="reference·internal"·href="#creating-your-own-settings">Creating·your·own·settings</a></li>
394 <li><a·class="reference·internal"·href="#using-settings-without-setting-django-settings-module">Using·settings·without·setting·<code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a><ul>395 <li><a·class="reference·internal"·href="#using-settings-without-setting-django-settings-module">Using·settings·without·setting·<code·class="xref·std·std-envvar·docutils·literal·notranslate"><span·class="pre">DJANGO_SETTINGS_MODULE</span></code></a><ul>
395 <li><a·class="reference·internal"·href="#custom-default-settings">Custom·default·settings</a></li>396 <li><a·class="reference·internal"·href="#custom-default-settings">Custom·default·settings</a></li>
Max diff block lines reached; 1957/13060 bytes (14.98%) of diff not shown.
5.82 KB
html2text {}
Max HTML report size reached
32.8 KB
./usr/share/doc/python-django-doc/html/topics/signals.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Signals·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Signals·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="System·check·framework"·href="checks.html"·/>15 ····<link·rel="next"·title="System·check·framework"·href="checks.html"·/>
15 ····<link·rel="prev"·title="Django·settings"·href="settings.html"·/>16 ····<link·rel="prev"·title="Django·settings"·href="settings.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 75, 15 lines modifiedOffset 76, 15 lines modified
75 ····<div·id="bd">76 ····<div·id="bd">
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-signals">79 ··········<div·class="yui-g"·id="topics-signals">
79 ············80 ············
80 ··<section·id="s-module-django.dispatch">81 ··<section·id="s-module-django.dispatch">
81 <span·id="s-signals"></span><span·id="module-django.dispatch"></span><span·id="signals"></span><h1>Signals<a·class="headerlink"·href="#module-django.dispatch"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-signals"></span><span·id="module-django.dispatch"></span><span·id="signals"></span><h1>Signals<a·class="headerlink"·href="#module-django.dispatch"·title="Link·to·this·heading">¶</a></h1>
82 <p>Django·includes·a·signal·dispatcher·which·helps·decoupled·applications·get83 <p>Django·includes·a·signal·dispatcher·which·helps·decoupled·applications·get
83 notified·when·actions·occur·elsewhere·in·the·framework.·In·a·nutshell,·signals84 notified·when·actions·occur·elsewhere·in·the·framework.·In·a·nutshell,·signals
84 allow·certain·<em>senders</em>·to·notify·a·set·of·<em>receivers</em>·that·some·action·has85 allow·certain·<em>senders</em>·to·notify·a·set·of·<em>receivers</em>·that·some·action·has
85 taken·place.·They’re·especially·useful·when·many·pieces·of·code·may·be86 taken·place.·They’re·especially·useful·when·many·pieces·of·code·may·be
86 interested·in·the·same·events.</p>87 interested·in·the·same·events.</p>
87 <p>For·example,·a·third-party·app·can·register·to·be·notified·of·settings88 <p>For·example,·a·third-party·app·can·register·to·be·notified·of·settings
88 changes:</p>89 changes:</p>
89 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.apps</span>·<span·class="kn">import</span>·<span·class="n">AppConfig</span>90 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.apps</span>·<span·class="kn">import</span>·<span·class="n">AppConfig</span>
Offset 102, 31 lines modifiedOffset 103, 31 lines modified
102 </pre></div>103 </pre></div>
103 </div>104 </div>
104 <p>Django’s·<a·class="reference·internal"·href="../ref/signals.html"><span·class="doc">built-in·signals</span></a>·let·user·code·get·notified·of105 <p>Django’s·<a·class="reference·internal"·href="../ref/signals.html"><span·class="doc">built-in·signals</span></a>·let·user·code·get·notified·of
105 certain·actions.</p>106 certain·actions.</p>
106 <p>You·can·also·define·and·send·your·own·custom·signals.·See107 <p>You·can·also·define·and·send·your·own·custom·signals.·See
107 <a·class="reference·internal"·href="#defining-and-sending-signals"><span·class="std·std-ref">Defining·and·sending·signals</span></a>·below.</p>108 <a·class="reference·internal"·href="#defining-and-sending-signals"><span·class="std·std-ref">Defining·and·sending·signals</span></a>·below.</p>
108 <div·class="admonition·warning">109 <div·class="admonition·warning">
109 <p·class="admonition-title">Warning</p>110 <p·class="admonition-title">Hoiatus</p>
110 <p>Signals·give·the·appearance·of·loose·coupling,·but·they·can·quickly·lead·to111 <p>Signals·give·the·appearance·of·loose·coupling,·but·they·can·quickly·lead·to
111 code·that·is·hard·to·understand,·adjust·and·debug.</p>112 code·that·is·hard·to·understand,·adjust·and·debug.</p>
112 <p>Where·possible·you·should·opt·for·directly·calling·the·handling·code,113 <p>Where·possible·you·should·opt·for·directly·calling·the·handling·code,
113 rather·than·dispatching·via·a·signal.</p>114 rather·than·dispatching·via·a·signal.</p>
114 </div>115 </div>
115 <section·id="s-listening-to-signals">116 <section·id="s-listening-to-signals">
116 <span·id="listening-to-signals"></span><h2>Listening·to·signals<a·class="headerlink"·href="#listening-to-signals"·title="Link·to·this·heading">¶</a></h2>117 <span·id="listening-to-signals"></span><h2>Listening·to·signals<a·class="headerlink"·href="#listening-to-signals"·title="Link·to·this·heading">¶</a></h2>
117 <p>To·receive·a·signal,·register·a·<em>receiver</em>·function·using·the118 <p>To·receive·a·signal,·register·a·<em>receiver</em>·function·using·the
118 <a·class="reference·internal"·href="#django.dispatch.Signal.connect"·title="django.dispatch.Signal.connect"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Signal.connect()</span></code></a>·method.·The·receiver·function·is·called·when·the·signal119 <a·class="reference·internal"·href="#django.dispatch.Signal.connect"·title="django.dispatch.Signal.connect"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Signal.connect()</span></code></a>·method.·The·receiver·function·is·called·when·the·signal
119 is·sent.·All·of·the·signal’s·receiver·functions·are·called·one·at·a·time,·in120 is·sent.·All·of·the·signal’s·receiver·functions·are·called·one·at·a·time,·in
120 the·order·they·were·registered.</p>121 the·order·they·were·registered.</p>
121 <dl·class="py·method">122 <dl·class="py·method">
122 <dt·class="sig·sig-object·py"·id="django.dispatch.Signal.connect">123 <dt·class="sig·sig-object·py"·id="django.dispatch.Signal.connect">
123 <span·class="sig-prename·descclassname"><span·class="pre">Signal.</span></span><span·class="sig-name·descname"><span·class="pre">connect</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">receiver</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">sender</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">weak</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">dispatch_uid</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/dispatch/dispatcher.py#L50"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.dispatch.Signal.connect"·title="Link·to·this·definition">¶</a></dt>124 <span·class="sig-prename·descclassname"><span·class="pre">Signal.</span></span><span·class="sig-name·descname"><span·class="pre">connect</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">receiver</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">sender</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">weak</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">dispatch_uid</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/dispatch/dispatcher.py#L50"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.dispatch.Signal.connect"·title="Link·to·this·definition">¶</a></dt>
124 <dd><dl·class="field-list·simple">125 <dd><dl·class="field-list·simple">
125 <dt·class="field-odd">Parameters<span·class="colon">:</span></dt>126 <dt·class="field-odd">Parameetrid<span·class="colon">:</span></dt>
126 <dd·class="field-odd"><ul·class="simple">127 <dd·class="field-odd"><ul·class="simple">
127 <li><p><strong>receiver</strong>··The·callback·function·which·will·be·connected·to·this128 <li><p><strong>receiver</strong>··The·callback·function·which·will·be·connected·to·this
128 signal.·See·<a·class="reference·internal"·href="#receiver-functions"><span·class="std·std-ref">Receiver·functions</span></a>·for·more·information.</p></li>129 signal.·See·<a·class="reference·internal"·href="#receiver-functions"><span·class="std·std-ref">Receiver·functions</span></a>·for·more·information.</p></li>
129 <li><p><strong>sender</strong>··Specifies·a·particular·sender·to·receive·signals·from.·See130 <li><p><strong>sender</strong>··Specifies·a·particular·sender·to·receive·signals·from.·See
130 <a·class="reference·internal"·href="#connecting-to-specific-signals"><span·class="std·std-ref">Connecting·to·signals·sent·by·specific·senders</span></a>·for·more·information.</p></li>131 <a·class="reference·internal"·href="#connecting-to-specific-signals"><span·class="std·std-ref">Connecting·to·signals·sent·by·specific·senders</span></a>·for·more·information.</p></li>
131 <li><p><strong>weak</strong>··Django·stores·signal·handlers·as·weak·references·by132 <li><p><strong>weak</strong>··Django·stores·signal·handlers·as·weak·references·by
132 default.·Thus,·if·your·receiver·is·a·local·function,·it·may·be133 default.·Thus,·if·your·receiver·is·a·local·function,·it·may·be
Offset 183, 17 lines modifiedOffset 184, 17 lines modified
  
183 <span·class="n">request_finished</span><span·class="o">.</span><span·class="n">connect</span><span·class="p">(</span><span·class="n">my_callback</span><span·class="p">)</span>184 <span·class="n">request_finished</span><span·class="o">.</span><span·class="n">connect</span><span·class="p">(</span><span·class="n">my_callback</span><span·class="p">)</span>
184 </pre></div>185 </pre></div>
185 </div>186 </div>
186 <p>Alternatively,·you·can·use·a·<a·class="reference·internal"·href="#django.dispatch.receiver"·title="django.dispatch.receiver"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">receiver()</span></code></a>·decorator:</p>187 <p>Alternatively,·you·can·use·a·<a·class="reference·internal"·href="#django.dispatch.receiver"·title="django.dispatch.receiver"><code·class="xref·py·py-func·docutils·literal·notranslate"><span·class="pre">receiver()</span></code></a>·decorator:</p>
187 <dl·class="py·function">188 <dl·class="py·function">
188 <dt·class="sig·sig-object·py"·id="django.dispatch.receiver">189 <dt·class="sig·sig-object·py"·id="django.dispatch.receiver">
189 <span·class="sig-name·descname"><span·class="pre">receiver</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">signal</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/dispatch/dispatcher.py#L472"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.dispatch.receiver"·title="Link·to·this·definition">¶</a></dt>190 <span·class="sig-name·descname"><span·class="pre">receiver</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">signal</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/dispatch/dispatcher.py#L472"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.dispatch.receiver"·title="Link·to·this·definition">¶</a></dt>
190 <dd><dl·class="field-list·simple">191 <dd><dl·class="field-list·simple">
191 <dt·class="field-odd">Parameters<span·class="colon">:</span></dt>192 <dt·class="field-odd">Parameetrid<span·class="colon">:</span></dt>
192 <dd·class="field-odd"><ul·class="simple">193 <dd·class="field-odd"><ul·class="simple">
193 <li><p><strong>signal</strong>··A·signal·or·a·list·of·signals·to·connect·a·function·to.</p></li>194 <li><p><strong>signal</strong>··A·signal·or·a·list·of·signals·to·connect·a·function·to.</p></li>
194 <li><p><strong>kwargs</strong>··Wildcard·keyword·arguments·to·pass·to·a195 <li><p><strong>kwargs</strong>··Wildcard·keyword·arguments·to·pass·to·a
195 <a·class="reference·internal"·href="#receiver-functions"><span·class="std·std-ref">function</span></a>.</p></li>196 <a·class="reference·internal"·href="#receiver-functions"><span·class="std·std-ref">function</span></a>.</p></li>
196 </ul>197 </ul>
197 </dd>198 </dd>
198 </dl>199 </dl>
Offset 235, 15 lines modifiedOffset 236, 15 lines modified
  
235 ········<span·class="c1">#·Explicitly·connect·a·signal·handler.</span>236 ········<span·class="c1">#·Explicitly·connect·a·signal·handler.</span>
236 ········<span·class="n">request_finished</span><span·class="o">.</span><span·class="n">connect</span><span·class="p">(</span><span·class="n">signals</span><span·class="o">.</span><span·class="n">my_callback</span><span·class="p">)</span>237 ········<span·class="n">request_finished</span><span·class="o">.</span><span·class="n">connect</span><span·class="p">(</span><span·class="n">signals</span><span·class="o">.</span><span·class="n">my_callback</span><span·class="p">)</span>
237 </pre></div>238 </pre></div>
238 </div>239 </div>
239 </div>240 </div>
240 <div·class="admonition·note">241 <div·class="admonition·note">
241 <p·class="admonition-title">Note</p>242 <p·class="admonition-title">rkus</p>
242 <p>The·<a·class="reference·internal"·href="../ref/applications.html#django.apps.AppConfig.ready"·title="django.apps.AppConfig.ready"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ready()</span></code></a>·method·may·be·executed·more·than243 <p>The·<a·class="reference·internal"·href="../ref/applications.html#django.apps.AppConfig.ready"·title="django.apps.AppConfig.ready"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">ready()</span></code></a>·method·may·be·executed·more·than
243 once·during·testing,·so·you·may·want·to·<a·class="reference·internal"·href="#preventing-duplicate-signals"><span·class="std·std-ref">guard·your·signals·from244 once·during·testing,·so·you·may·want·to·<a·class="reference·internal"·href="#preventing-duplicate-signals"><span·class="std·std-ref">guard·your·signals·from
244 duplication</span></a>,·especially·if·you’re·planning245 duplication</span></a>,·especially·if·you’re·planning
245 to·send·them·within·tests.</p>246 to·send·them·within·tests.</p>
246 </div>247 </div>
247 </section>248 </section>
248 <section·id="s-connecting-to-signals-sent-by-specific-senders">249 <section·id="s-connecting-to-signals-sent-by-specific-senders">
Offset 304, 15 lines modifiedOffset 305, 15 lines modified
304 sender·and·receiver·of·your·custom·signal·are·both·within·your·project,305 sender·and·receiver·of·your·custom·signal·are·both·within·your·project,
305 you’re·better·off·using·an·explicit·function·call.</p>306 you’re·better·off·using·an·explicit·function·call.</p>
306 </div>307 </div>
307 <section·id="s-defining-signals">308 <section·id="s-defining-signals">
308 <span·id="defining-signals"></span><h3>Defining·signals<a·class="headerlink"·href="#defining-signals"·title="Link·to·this·heading">¶</a></h3>309 <span·id="defining-signals"></span><h3>Defining·signals<a·class="headerlink"·href="#defining-signals"·title="Link·to·this·heading">¶</a></h3>
Max diff block lines reached; 11689/23291 bytes (50.19%) of diff not shown.
9.94 KB
html2text {}
Max HTML report size reached
35.6 KB
./usr/share/doc/python-django-doc/html/topics/signing.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Cryptographic·signing·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Cryptographic·signing·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Sending·email"·href="email.html"·/>15 ····<link·rel="next"·title="Sending·email"·href="email.html"·/>
15 ····<link·rel="prev"·title="Conditional·View·Processing"·href="conditional-view-processing.html"·/>16 ····<link·rel="prev"·title="Conditional·View·Processing"·href="conditional-view-processing.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 84, 15 lines modifiedOffset 85, 15 lines modified
84 untrusted·medium.·Cryptographically·signed·values·can·be·passed·through·an85 untrusted·medium.·Cryptographically·signed·values·can·be·passed·through·an
85 untrusted·channel·safe·in·the·knowledge·that·any·tampering·will·be·detected.</p>86 untrusted·channel·safe·in·the·knowledge·that·any·tampering·will·be·detected.</p>
86 <p>Django·provides·both·a·low-level·API·for·signing·values·and·a·high-level·API87 <p>Django·provides·both·a·low-level·API·for·signing·values·and·a·high-level·API
87 for·setting·and·reading·signed·cookies,·one·of·the·most·common·uses·of88 for·setting·and·reading·signed·cookies,·one·of·the·most·common·uses·of
88 signing·in·web·applications.</p>89 signing·in·web·applications.</p>
89 <p>You·may·also·find·signing·useful·for·the·following:</p>90 <p>You·may·also·find·signing·useful·for·the·following:</p>
90 <ul·class="simple">91 <ul·class="simple">
91 <li><p>Generating·recover·my·account·URLs·for·sending·to·users·who·have92 <li><p>Generating·recover·my·account·URLs·for·sending·to·users·who·have
92 lost·their·password.</p></li>93 lost·their·password.</p></li>
93 <li><p>Ensuring·data·stored·in·hidden·form·fields·has·not·been·tampered·with.</p></li>94 <li><p>Ensuring·data·stored·in·hidden·form·fields·has·not·been·tampered·with.</p></li>
94 <li><p>Generating·one-time·secret·URLs·for·allowing·temporary·access·to·a95 <li><p>Generating·one-time·secret·URLs·for·allowing·temporary·access·to·a
95 protected·resource,·for·example·a·downloadable·file·that·a·user·has96 protected·resource,·for·example·a·downloadable·file·that·a·user·has
96 paid·for.</p></li>97 paid·for.</p></li>
97 </ul>98 </ul>
98 <section·id="s-protecting-secret-key-and-secret-key-fallbacks">99 <section·id="s-protecting-secret-key-and-secret-key-fallbacks">
Offset 162, 19 lines modifiedOffset 163, 19 lines modified
162 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">value</span>·<span·class="o">=</span>·<span·class="n">signer</span><span·class="o">.</span><span·class="n">sign</span><span·class="p">(</span><span·class="s2">&quot;My·string&quot;</span><span·class="p">)</span>163 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">value</span>·<span·class="o">=</span>·<span·class="n">signer</span><span·class="o">.</span><span·class="n">sign</span><span·class="p">(</span><span·class="s2">&quot;My·string&quot;</span><span·class="p">)</span>
163 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">value</span>164 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">value</span>
164 <span·class="go">&#39;My·string:EkfQJafvGyiofrdGnuthdxImIJw&#39;</span>165 <span·class="go">&#39;My·string:EkfQJafvGyiofrdGnuthdxImIJw&#39;</span>
165 </pre></div>166 </pre></div>
166 </div>167 </div>
167 <dl·class="py·class">168 <dl·class="py·class">
168 <dt·class="sig·sig-object·py"·id="django.core.signing.Signer">169 <dt·class="sig·sig-object·py"·id="django.core.signing.Signer">
169 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Signer</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">sep</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">':'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">salt</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">algorithm</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fallback_keys</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L177"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.signing.Signer"·title="Link·to·this·definition">¶</a></dt>170 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Signer</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">sep</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">':'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">salt</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">algorithm</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">fallback_keys</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L177"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.signing.Signer"·title="Link·to·this·definition">¶</a></dt>
170 <dd><p>Returns·a·signer·which·uses·<code·class="docutils·literal·notranslate"><span·class="pre">key</span></code>·to·generate·signatures·and·<code·class="docutils·literal·notranslate"><span·class="pre">sep</span></code>·to171 <dd><p>Returns·a·signer·which·uses·<code·class="docutils·literal·notranslate"><span·class="pre">key</span></code>·to·generate·signatures·and·<code·class="docutils·literal·notranslate"><span·class="pre">sep</span></code>·to
171 separate·values.·<code·class="docutils·literal·notranslate"><span·class="pre">sep</span></code>·cannot·be·in·the·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc4648.html#section-5"><strong>URL·safe·base64·alphabet</strong></a>.·This·alphabet·contains·alphanumeric·characters,·hyphens,172 separate·values.·<code·class="docutils·literal·notranslate"><span·class="pre">sep</span></code>·cannot·be·in·the·<span·class="target"·id="index-0"></span><a·class="rfc·reference·external"·href="https://datatracker.ietf.org/doc/html/rfc4648.html#section-5"><strong>URL·safe·base64·alphabet</strong></a>.·This·alphabet·contains·alphanumeric·characters,·hyphens,
172 and·underscores.·<code·class="docutils·literal·notranslate"><span·class="pre">algorithm</span></code>·must·be·an·algorithm·supported·by173 and·underscores.·<code·class="docutils·literal·notranslate"><span·class="pre">algorithm</span></code>·must·be·an·algorithm·supported·by
173 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/hashlib.html#module-hashlib"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">hashlib</span></code></a>,·it·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">'sha256'</span></code>.·<code·class="docutils·literal·notranslate"><span·class="pre">fallback_keys</span></code>·is·a·list174 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/hashlib.html#module-hashlib"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">hashlib</span></code></a>,·it·defaults·to·<code·class="docutils·literal·notranslate"><span·class="pre">'sha256'</span></code>.·<code·class="docutils·literal·notranslate"><span·class="pre">fallback_keys</span></code>·is·a·list
174 of·additional·values·used·to·validate·signed·data,·defaults·to175 of·additional·values·used·to·validate·signed·data,·defaults·to
175 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SECRET_KEY_FALLBACKS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY_FALLBACKS</span></code></a>.</p>176 <a·class="reference·internal"·href="../ref/settings.html#std-setting-SECRET_KEY_FALLBACKS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">SECRET_KEY_FALLBACKS</span></code></a>.</p>
176 </dd></dl>177 </dd></dl>
  
177 <section·id="s-using-the-salt-argument">178 <section·id="s-using-the-salt-argument">
178 <span·id="using-the-salt-argument"></span><h3>Using·the·<code·class="docutils·literal·notranslate"><span·class="pre">salt</span></code>·argument<a·class="headerlink"·href="#using-the-salt-argument"·title="Link·to·this·heading">¶</a></h3>179 <span·id="using-the-salt-argument"></span><h3>Using·the·<code·class="docutils·literal·notranslate"><span·class="pre">salt</span></code>·argument<a·class="headerlink"·href="#using-the-salt-argument"·title="Link·to·this·heading">¶</a></h3>
179 <p>If·you·do·not·wish·for·every·occurrence·of·a·particular·string·to·have·the·same180 <p>If·you·do·not·wish·for·every·occurrence·of·a·particular·string·to·have·the·same
Offset 228, 42 lines modifiedOffset 229, 42 lines modified
228 <span·class="go">&#39;hello&#39;</span>229 <span·class="go">&#39;hello&#39;</span>
229 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">signer</span><span·class="o">.</span><span·class="n">unsign</span><span·class="p">(</span><span·class="n">value</span><span·class="p">,</span>·<span·class="n">max_age</span><span·class="o">=</span><span·class="n">timedelta</span><span·class="p">(</span><span·class="n">seconds</span><span·class="o">=</span><span·class="mi">20</span><span·class="p">))</span>230 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">signer</span><span·class="o">.</span><span·class="n">unsign</span><span·class="p">(</span><span·class="n">value</span><span·class="p">,</span>·<span·class="n">max_age</span><span·class="o">=</span><span·class="n">timedelta</span><span·class="p">(</span><span·class="n">seconds</span><span·class="o">=</span><span·class="mi">20</span><span·class="p">))</span>
230 <span·class="go">&#39;hello&#39;</span>231 <span·class="go">&#39;hello&#39;</span>
231 </pre></div>232 </pre></div>
232 </div>233 </div>
233 <dl·class="py·class">234 <dl·class="py·class">
234 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner">235 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner">
235 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">TimestampSigner</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">sep</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">':'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">salt</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">algorithm</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'sha256'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L254"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.signing.TimestampSigner"·title="Link·to·this·definition">¶</a></dt>236 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">TimestampSigner</span></span>(<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">sep</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">':'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">salt</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">algorithm</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'sha256'</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L254"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.signing.TimestampSigner"·title="Link·to·this·definition">¶</a></dt>
236 <dd><dl·class="py·method">237 <dd><dl·class="py·method">
237 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner.sign">238 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner.sign">
238 <span·class="sig-name·descname"><span·class="pre">sign</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L258"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.signing.TimestampSigner.sign"·title="Link·to·this·definition">¶</a></dt>239 <span·class="sig-name·descname"><span·class="pre">sign</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L258"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.signing.TimestampSigner.sign"·title="Link·to·this·definition">¶</a></dt>
239 <dd><p>Sign·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·and·append·current·timestamp·to·it.</p>240 <dd><p>Sign·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·and·append·current·timestamp·to·it.</p>
240 </dd></dl>241 </dd></dl>
  
241 <dl·class="py·method">242 <dl·class="py·method">
242 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner.unsign">243 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner.unsign">
243 <span·class="sig-name·descname"><span·class="pre">unsign</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_age</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L262"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.signing.TimestampSigner.unsign"·title="Link·to·this·definition">¶</a></dt>244 <span·class="sig-name·descname"><span·class="pre">unsign</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">value</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_age</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L262"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.signing.TimestampSigner.unsign"·title="Link·to·this·definition">¶</a></dt>
244 <dd><p>Checks·if·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·was·signed·less·than·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·seconds·ago,245 <dd><p>Checks·if·<code·class="docutils·literal·notranslate"><span·class="pre">value</span></code>·was·signed·less·than·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·seconds·ago,
245 otherwise·raises·<code·class="docutils·literal·notranslate"><span·class="pre">SignatureExpired</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·parameter·can246 otherwise·raises·<code·class="docutils·literal·notranslate"><span·class="pre">SignatureExpired</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·parameter·can
246 accept·an·integer·or·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timedelta</span></code></a>·object.</p>247 accept·an·integer·or·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timedelta</span></code></a>·object.</p>
247 </dd></dl>248 </dd></dl>
  
248 <dl·class="py·method">249 <dl·class="py·method">
249 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner.sign_object">250 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner.sign_object">
250 <span·class="sig-name·descname"><span·class="pre">sign_object</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">serializer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">JSONSerializer</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">compress</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="headerlink"·href="#django.core.signing.TimestampSigner.sign_object"·title="Link·to·this·definition">¶</a></dt>251 <span·class="sig-name·descname"><span·class="pre">sign_object</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">serializer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">JSONSerializer</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">compress</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="headerlink"·href="#django.core.signing.TimestampSigner.sign_object"·title="Link·to·this·definition">¶</a></dt>
251 <dd><p>Encode,·optionally·compress,·append·current·timestamp,·and·sign·complex252 <dd><p>Encode,·optionally·compress,·append·current·timestamp,·and·sign·complex
252 data·structure·(e.g.·list,·tuple,·or·dictionary).</p>253 data·structure·(e.g.·list,·tuple,·or·dictionary).</p>
253 </dd></dl>254 </dd></dl>
  
254 <dl·class="py·method">255 <dl·class="py·method">
255 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner.unsign_object">256 <dt·class="sig·sig-object·py"·id="django.core.signing.TimestampSigner.unsign_object">
256 <span·class="sig-name·descname"><span·class="pre">unsign_object</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">signed_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">serializer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">JSONSerializer</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_age</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.core.signing.TimestampSigner.unsign_object"·title="Link·to·this·definition">¶</a></dt>257 <span·class="sig-name·descname"><span·class="pre">unsign_object</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">signed_obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">serializer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">JSONSerializer</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">max_age</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="headerlink"·href="#django.core.signing.TimestampSigner.unsign_object"·title="Link·to·this·definition">¶</a></dt>
257 <dd><p>Checks·if·<code·class="docutils·literal·notranslate"><span·class="pre">signed_obj</span></code>·was·signed·less·than·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·seconds·ago,258 <dd><p>Checks·if·<code·class="docutils·literal·notranslate"><span·class="pre">signed_obj</span></code>·was·signed·less·than·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·seconds·ago,
258 otherwise·raises·<code·class="docutils·literal·notranslate"><span·class="pre">SignatureExpired</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·parameter·can259 otherwise·raises·<code·class="docutils·literal·notranslate"><span·class="pre">SignatureExpired</span></code>.·The·<code·class="docutils·literal·notranslate"><span·class="pre">max_age</span></code>·parameter·can
259 accept·an·integer·or·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timedelta</span></code></a>·object.</p>260 accept·an·integer·or·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/datetime.html#datetime.timedelta"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">datetime.timedelta</span></code></a>·object.</p>
260 </dd></dl>261 </dd></dl>
  
261 </dd></dl>262 </dd></dl>
  
262 </section>263 </section>
263 <section·id="s-protecting-complex-data-structures">264 <section·id="s-protecting-complex-data-structures">
264 <span·id="s-signing-complex-data"></span><span·id="protecting-complex-data-structures"></span><span·id="signing-complex-data"></span><h3>Protecting·complex·data·structures<a·class="headerlink"·href="#protecting-complex-data-structures"·title="Link·to·this·heading">¶</a></h3>265 <span·id="s-signing-complex-data"></span><span·id="protecting-complex-data-structures"></span><span·id="signing-complex-data"></span><h3>Protecting·complex·data·structures<a·class="headerlink"·href="#protecting-complex-data-structures"·title="Link·to·this·heading">¶</a></h3>
Offset 295, 22 lines modifiedOffset 296, 22 lines modified
295 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">value</span>·<span·class="o">=</span>·<span·class="n">signing</span><span·class="o">.</span><span·class="n">dumps</span><span·class="p">((</span><span·class="s2">&quot;a&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;b&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;c&quot;</span><span·class="p">))</span>296 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">value</span>·<span·class="o">=</span>·<span·class="n">signing</span><span·class="o">.</span><span·class="n">dumps</span><span·class="p">((</span><span·class="s2">&quot;a&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;b&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;c&quot;</span><span·class="p">))</span>
296 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">signing</span><span·class="o">.</span><span·class="n">loads</span><span·class="p">(</span><span·class="n">value</span><span·class="p">)</span>297 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">signing</span><span·class="o">.</span><span·class="n">loads</span><span·class="p">(</span><span·class="n">value</span><span·class="p">)</span>
297 <span·class="go">[&#39;a&#39;,·&#39;b&#39;,·&#39;c&#39;]</span>298 <span·class="go">[&#39;a&#39;,·&#39;b&#39;,·&#39;c&#39;]</span>
298 </pre></div>299 </pre></div>
299 </div>300 </div>
300 <dl·class="py·function">301 <dl·class="py·function">
301 <dt·class="sig·sig-object·py"·id="django.core.signing.dumps">302 <dt·class="sig·sig-object·py"·id="django.core.signing.dumps">
302 <span·class="sig-name·descname"><span·class="pre">dumps</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">salt</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'django.core.signing'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">serializer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">JSONSerializer</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">compress</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L131"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.core.signing.dumps"·title="Link·to·this·definition">¶</a></dt>303 <span·class="sig-name·descname"><span·class="pre">dumps</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">obj</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">key</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">salt</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'django.core.signing'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">serializer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">JSONSerializer</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">compress</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/core/signing.py#L131"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.core.signing.dumps"·title="Link·to·this·definition">¶</a></dt>
Max diff block lines reached; 6375/28624 bytes (22.27%) of diff not shown.
7.52 KB
html2text {}
Max HTML report size reached
50.9 KB
./usr/share/doc/python-django-doc/html/topics/templates.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../">2 <html·lang="et"·data-content_root="../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Templates·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Templates·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../search.html"·/>
14 ····<link·rel="next"·title="Class-based·views"·href="class-based-views/index.html"·/>15 ····<link·rel="next"·title="Class-based·views"·href="class-based-views/index.html"·/>
15 ····<link·rel="prev"·title="Form·Assets·(the·Media·class)"·href="forms/media.html"·/>16 ····<link·rel="prev"·title="Form·Assets·(the·Media·class)"·href="forms/media.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../templatebuiltins.js"></script>18 <script·src="../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 116, 15 lines modifiedOffset 117, 15 lines modified
116 application·and·you·intend·to·distribute·templates.·Django’s·contrib·apps·that117 application·and·you·intend·to·distribute·templates.·Django’s·contrib·apps·that
117 include·templates,·like·<a·class="reference·internal"·href="../ref/contrib/admin/index.html"><span·class="doc">django.contrib.admin</span></a>,118 include·templates,·like·<a·class="reference·internal"·href="../ref/contrib/admin/index.html"><span·class="doc">django.contrib.admin</span></a>,
118 use·the·DTL.</p>119 use·the·DTL.</p>
119 <p>For·historical·reasons,·both·the·generic·support·for·template·engines·and·the120 <p>For·historical·reasons,·both·the·generic·support·for·template·engines·and·the
120 implementation·of·the·Django·template·language·live·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.template</span></code>121 implementation·of·the·Django·template·language·live·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.template</span></code>
121 namespace.</p>122 namespace.</p>
122 <div·class="admonition·warning">123 <div·class="admonition·warning">
123 <p·class="admonition-title">Warning</p>124 <p·class="admonition-title">Hoiatus</p>
124 <p>The·template·system·isn’t·safe·against·untrusted·template·authors.·For125 <p>The·template·system·isn’t·safe·against·untrusted·template·authors.·For
125 example,·a·site·shouldn’t·allow·its·users·to·provide·their·own·templates,126 example,·a·site·shouldn’t·allow·its·users·to·provide·their·own·templates,
126 since·template·authors·can·do·things·like·perform·XSS·attacks·and·access127 since·template·authors·can·do·things·like·perform·XSS·attacks·and·access
127 properties·of·template·variables·that·may·contain·sensitive·information.</p>128 properties·of·template·variables·that·may·contain·sensitive·information.</p>
128 </div>129 </div>
129 <section·id="s-the-django-template-language">130 <section·id="s-the-django-template-language">
130 <span·id="s-template-language-intro"></span><span·id="the-django-template-language"></span><span·id="template-language-intro"></span><h2>The·Django·template·language<a·class="headerlink"·href="#the-django-template-language"·title="Link·to·this·heading">¶</a></h2>131 <span·id="s-template-language-intro"></span><span·id="the-django-template-language"></span><span·id="template-language-intro"></span><h2>The·Django·template·language<a·class="headerlink"·href="#the-django-template-language"·title="Link·to·this·heading">¶</a></h2>
Offset 165, 15 lines modifiedOffset 166, 15 lines modified
165 <p>If·a·variable·resolves·to·a·callable,·the·template·system·will·call·it·with·no166 <p>If·a·variable·resolves·to·a·callable,·the·template·system·will·call·it·with·no
166 arguments·and·use·its·result·instead·of·the·callable.</p>167 arguments·and·use·its·result·instead·of·the·callable.</p>
167 </section>168 </section>
168 <section·id="s-tags">169 <section·id="s-tags">
169 <span·id="tags"></span><h4>Tags<a·class="headerlink"·href="#tags"·title="Link·to·this·heading">¶</a></h4>170 <span·id="tags"></span><h4>Tags<a·class="headerlink"·href="#tags"·title="Link·to·this·heading">¶</a></h4>
170 <p>Tags·provide·arbitrary·logic·in·the·rendering·process.</p>171 <p>Tags·provide·arbitrary·logic·in·the·rendering·process.</p>
171 <p>This·definition·is·deliberately·vague.·For·example,·a·tag·can·output·content,172 <p>This·definition·is·deliberately·vague.·For·example,·a·tag·can·output·content,
172 serve·as·a·control·structure·e.g.·an·if·statement·or·a·for·loop,·grab173 serve·as·a·control·structure·e.g.·an·if·statement·or·a·for·loop,·grab
173 content·from·a·database,·or·even·enable·access·to·other·template·tags.</p>174 content·from·a·database,·or·even·enable·access·to·other·template·tags.</p>
174 <p>Tags·are·surrounded·by·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">%}</span></code>·like·this:</p>175 <p>Tags·are·surrounded·by·<code·class="docutils·literal·notranslate"><span·class="pre">{%</span></code>·and·<code·class="docutils·literal·notranslate"><span·class="pre">%}</span></code>·like·this:</p>
175 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">csrf_token</span>·<span·class="cp">%}</span>176 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">csrf_token</span>·<span·class="cp">%}</span>
176 </pre></div>177 </pre></div>
177 </div>178 </div>
178 <p>Most·tags·accept·arguments:</p>179 <p>Most·tags·accept·arguments:</p>
179 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">cycle</span>·<span·class="s1">&#39;odd&#39;</span>·<span·class="s1">&#39;even&#39;</span>·<span·class="cp">%}</span>180 <div·class="highlight-html+django·notranslate"><div·class="highlight"><pre><span></span><span·class="cp">{%</span>·<span·class="k">cycle</span>·<span·class="s1">&#39;odd&#39;</span>·<span·class="s1">&#39;even&#39;</span>·<span·class="cp">%}</span>
Offset 241, 28 lines modifiedOffset 242, 28 lines modified
241 <span·id="context"></span><h4>Context<a·class="headerlink"·href="#context"·title="Link·to·this·heading">¶</a></h4>242 <span·id="context"></span><h4>Context<a·class="headerlink"·href="#context"·title="Link·to·this·heading">¶</a></h4>
242 <p><a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context"·title="django.template.Context"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.template.Context</span></code></a>·holds·some·metadata·in·addition·to·the·context243 <p><a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context"·title="django.template.Context"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.template.Context</span></code></a>·holds·some·metadata·in·addition·to·the·context
243 data.·It·is·passed·to·<a·class="reference·internal"·href="../ref/templates/api.html#django.template.Template.render"·title="django.template.Template.render"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Template.render()</span></code></a>·for·rendering·a·template.</p>244 data.·It·is·passed·to·<a·class="reference·internal"·href="../ref/templates/api.html#django.template.Template.render"·title="django.template.Template.render"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">Template.render()</span></code></a>·for·rendering·a·template.</p>
244 <p><a·class="reference·internal"·href="../ref/templates/api.html#django.template.RequestContext"·title="django.template.RequestContext"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.template.RequestContext</span></code></a>·is·a·subclass·of245 <p><a·class="reference·internal"·href="../ref/templates/api.html#django.template.RequestContext"·title="django.template.RequestContext"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.template.RequestContext</span></code></a>·is·a·subclass·of
245 <a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context"·title="django.template.Context"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Context</span></code></a>·that·stores·the·current246 <a·class="reference·internal"·href="../ref/templates/api.html#django.template.Context"·title="django.template.Context"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Context</span></code></a>·that·stores·the·current
246 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·and·runs·template·context·processors.</p>247 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·and·runs·template·context·processors.</p>
247 <p>The·common·API·doesn’t·have·an·equivalent·concept.·Context·data·is·passed·in·a248 <p>The·common·API·doesn’t·have·an·equivalent·concept.·Context·data·is·passed·in·a
248 plain·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·and·the·current·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·is·passed249 plain·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·and·the·current·<a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·is·passed
249 separately·if·needed.</p>250 separately·if·needed.</p>
250 </section>251 </section>
251 <section·id="s-loaders">252 <section·id="s-loaders">
252 <span·id="loaders"></span><h4>Loaders<a·class="headerlink"·href="#loaders"·title="Link·to·this·heading">¶</a></h4>253 <span·id="loaders"></span><h4>Loaders<a·class="headerlink"·href="#loaders"·title="Link·to·this·heading">¶</a></h4>
253 <p>Template·loaders·are·responsible·for·locating·templates,·loading·them,·and254 <p>Template·loaders·are·responsible·for·locating·templates,·loading·them,·and
254 returning·<a·class="reference·internal"·href="../ref/templates/api.html#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>·objects.</p>255 returning·<a·class="reference·internal"·href="../ref/templates/api.html#django.template.Template"·title="django.template.Template"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">Template</span></code></a>·objects.</p>
255 <p>Django·provides·several·<a·class="reference·internal"·href="../ref/templates/api.html#template-loaders"><span·class="std·std-ref">built-in·template·loaders</span></a>256 <p>Django·provides·several·<a·class="reference·internal"·href="../ref/templates/api.html#template-loaders"><span·class="std·std-ref">built-in·template·loaders</span></a>
256 and·supports·<a·class="reference·internal"·href="../ref/templates/api.html#custom-template-loaders"><span·class="std·std-ref">custom·template·loaders</span></a>.</p>257 and·supports·<a·class="reference·internal"·href="../ref/templates/api.html#custom-template-loaders"><span·class="std·std-ref">custom·template·loaders</span></a>.</p>
257 </section>258 </section>
258 <section·id="s-context-processors">259 <section·id="s-context-processors">
259 <span·id="context-processors"></span><h4>Context·processors<a·class="headerlink"·href="#context-processors"·title="Link·to·this·heading">¶</a></h4>260 <span·id="context-processors"></span><h4>Context·processors<a·class="headerlink"·href="#context-processors"·title="Link·to·this·heading">¶</a></h4>
260 <p>Context·processors·are·functions·that·receive·the·current261 <p>Context·processors·are·functions·that·receive·the·current
261 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·as·an·argument·and·return·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of262 <a·class="reference·internal"·href="../ref/request-response.html#django.http.HttpRequest"·title="django.http.HttpRequest"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">HttpRequest</span></code></a>·as·an·argument·and·return·a·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/stdtypes.html#dict"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">dict</span></code></a>·of
262 data·to·be·added·to·the·rendering·context.</p>263 data·to·be·added·to·the·rendering·context.</p>
263 <p>Their·main·use·is·to·add·common·data·shared·by·all·templates·to·the·context264 <p>Their·main·use·is·to·add·common·data·shared·by·all·templates·to·the·context
264 without·repeating·code·in·every·view.</p>265 without·repeating·code·in·every·view.</p>
265 <p>Django·provides·many·<a·class="reference·internal"·href="../ref/templates/api.html#context-processors"><span·class="std·std-ref">built-in·context·processors</span></a>,266 <p>Django·provides·many·<a·class="reference·internal"·href="../ref/templates/api.html#context-processors"><span·class="std·std-ref">built-in·context·processors</span></a>,
266 and·you·can·implement·your·own·additional·context·processors,·too.</p>267 and·you·can·implement·your·own·additional·context·processors,·too.</p>
267 </section>268 </section>
268 </section>269 </section>
Offset 307, 15 lines modifiedOffset 308, 15 lines modified
307 <p><a·class="reference·internal"·href="../ref/settings.html#std-setting-TEMPLATES-OPTIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">OPTIONS</span></code></a>·contains·backend-specific·settings.</p>308 <p><a·class="reference·internal"·href="../ref/settings.html#std-setting-TEMPLATES-OPTIONS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">OPTIONS</span></code></a>·contains·backend-specific·settings.</p>
308 </section>309 </section>
309 <section·id="s-module-django.template.loader">310 <section·id="s-module-django.template.loader">
310 <span·id="s-usage"></span><span·id="s-template-loading"></span><span·id="module-django.template.loader"></span><span·id="usage"></span><span·id="template-loading"></span><h3>Usage<a·class="headerlink"·href="#module-django.template.loader"·title="Link·to·this·heading">¶</a></h3>311 <span·id="s-usage"></span><span·id="s-template-loading"></span><span·id="module-django.template.loader"></span><span·id="usage"></span><span·id="template-loading"></span><h3>Usage<a·class="headerlink"·href="#module-django.template.loader"·title="Link·to·this·heading">¶</a></h3>
311 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.template.loader</span></code>·module·defines·two·functions·to·load·templates.</p>312 <p>The·<code·class="docutils·literal·notranslate"><span·class="pre">django.template.loader</span></code>·module·defines·two·functions·to·load·templates.</p>
312 <dl·class="py·function">313 <dl·class="py·function">
313 <dt·class="sig·sig-object·py"·id="django.template.loader.get_template">314 <dt·class="sig·sig-object·py"·id="django.template.loader.get_template">
314 <span·class="sig-name·descname"><span·class="pre">get_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/loader.py#L5"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.loader.get_template"·title="Link·to·this·definition">¶</a></dt>315 <span·class="sig-name·descname"><span·class="pre">get_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/loader.py#L5"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.loader.get_template"·title="Link·to·this·definition">¶</a></dt>
315 <dd><p>This·function·loads·the·template·with·the·given·name·and·returns·a316 <dd><p>This·function·loads·the·template·with·the·given·name·and·returns·a
316 <code·class="docutils·literal·notranslate"><span·class="pre">Template</span></code>·object.</p>317 <code·class="docutils·literal·notranslate"><span·class="pre">Template</span></code>·object.</p>
317 <p>The·exact·type·of·the·return·value·depends·on·the·backend·that·loaded·the318 <p>The·exact·type·of·the·return·value·depends·on·the·backend·that·loaded·the
318 template.·Each·backend·has·its·own·<code·class="docutils·literal·notranslate"><span·class="pre">Template</span></code>·class.</p>319 template.·Each·backend·has·its·own·<code·class="docutils·literal·notranslate"><span·class="pre">Template</span></code>·class.</p>
319 <p><code·class="docutils·literal·notranslate"><span·class="pre">get_template()</span></code>·tries·each·template·engine·in·order·until·one·succeeds.320 <p><code·class="docutils·literal·notranslate"><span·class="pre">get_template()</span></code>·tries·each·template·engine·in·order·until·one·succeeds.
320 If·the·template·cannot·be·found,·it·raises321 If·the·template·cannot·be·found,·it·raises
321 <a·class="reference·internal"·href="#django.template.TemplateDoesNotExist"·title="django.template.TemplateDoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TemplateDoesNotExist</span></code></a>.·If·the·template·is·found·but322 <a·class="reference·internal"·href="#django.template.TemplateDoesNotExist"·title="django.template.TemplateDoesNotExist"><code·class="xref·py·py-exc·docutils·literal·notranslate"><span·class="pre">TemplateDoesNotExist</span></code></a>.·If·the·template·is·found·but
Offset 325, 25 lines modifiedOffset 326, 25 lines modified
325 configuration.</p>326 configuration.</p>
326 <p>If·you·want·to·restrict·the·search·to·a·particular·template·engine,·pass327 <p>If·you·want·to·restrict·the·search·to·a·particular·template·engine,·pass
327 the·engine’s·<a·class="reference·internal"·href="../ref/settings.html#std-setting-TEMPLATES-NAME"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">NAME</span></code></a>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">using</span></code>·argument.</p>328 the·engine’s·<a·class="reference·internal"·href="../ref/settings.html#std-setting-TEMPLATES-NAME"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">NAME</span></code></a>·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">using</span></code>·argument.</p>
328 </dd></dl>329 </dd></dl>
  
329 <dl·class="py·function">330 <dl·class="py·function">
330 <dt·class="sig·sig-object·py"·id="django.template.loader.select_template">331 <dt·class="sig·sig-object·py"·id="django.template.loader.select_template">
331 <span·class="sig-name·descname"><span·class="pre">select_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name_list</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/loader.py#L22"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.template.loader.select_template"·title="Link·to·this·definition">¶</a></dt>332 <span·class="sig-name·descname"><span·class="pre">select_template</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">template_name_list</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">using</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/template/loader.py#L22"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.template.loader.select_template"·title="Link·to·this·definition">¶</a></dt>
332 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">select_template()</span></code>·is·just·like·<code·class="docutils·literal·notranslate"><span·class="pre">get_template()</span></code>,·except·it·takes·a333 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">select_template()</span></code>·is·just·like·<code·class="docutils·literal·notranslate"><span·class="pre">get_template()</span></code>,·except·it·takes·a
333 list·of·template·names.·It·tries·each·name·in·order·and·returns·the·first334 list·of·template·names.·It·tries·each·name·in·order·and·returns·the·first
Max diff block lines reached; 24540/39682 bytes (61.84%) of diff not shown.
12.1 KB
html2text {}
Max HTML report size reached
77.4 KB
./usr/share/doc/python-django-doc/html/topics/testing/advanced.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Advanced·testing·topics·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Advanced·testing·topics·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="User·authentication·in·Django"·href="../auth/index.html"·/>15 ····<link·rel="next"·title="User·authentication·in·Django"·href="../auth/index.html"·/>
15 ····<link·rel="prev"·title="Testing·tools"·href="tools.html"·/>16 ····<link·rel="prev"·title="Testing·tools"·href="tools.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 79, 15 lines modifiedOffset 80, 15 lines modified
79 ············80 ············
80 ··<section·id="s-advanced-testing-topics">81 ··<section·id="s-advanced-testing-topics">
81 <span·id="advanced-testing-topics"></span><h1>Advanced·testing·topics<a·class="headerlink"·href="#advanced-testing-topics"·title="Link·to·this·heading">¶</a></h1>82 <span·id="advanced-testing-topics"></span><h1>Advanced·testing·topics<a·class="headerlink"·href="#advanced-testing-topics"·title="Link·to·this·heading">¶</a></h1>
82 <section·id="s-the-request-factory">83 <section·id="s-the-request-factory">
83 <span·id="the-request-factory"></span><h2>The·request·factory<a·class="headerlink"·href="#the-request-factory"·title="Link·to·this·heading">¶</a></h2>84 <span·id="the-request-factory"></span><h2>The·request·factory<a·class="headerlink"·href="#the-request-factory"·title="Link·to·this·heading">¶</a></h2>
84 <dl·class="py·class">85 <dl·class="py·class">
85 <dt·class="sig·sig-object·py"·id="django.test.RequestFactory">86 <dt·class="sig·sig-object·py"·id="django.test.RequestFactory">
86 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RequestFactory</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/client.py#L370"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.test.RequestFactory"·title="Link·to·this·definition">¶</a></dt>87 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">RequestFactory</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/client.py#L370"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.test.RequestFactory"·title="Link·to·this·definition">¶</a></dt>
87 <dd></dd></dl>88 <dd></dd></dl>
  
88 <p>The·<a·class="reference·internal"·href="#django.test.RequestFactory"·title="django.test.RequestFactory"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RequestFactory</span></code></a>·shares·the·same·API·as89 <p>The·<a·class="reference·internal"·href="#django.test.RequestFactory"·title="django.test.RequestFactory"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RequestFactory</span></code></a>·shares·the·same·API·as
89 the·test·client.·However,·instead·of·behaving·like·a·browser,·the90 the·test·client.·However,·instead·of·behaving·like·a·browser,·the
90 RequestFactory·provides·a·way·to·generate·a·request·instance·that·can91 RequestFactory·provides·a·way·to·generate·a·request·instance·that·can
91 be·used·as·the·first·argument·to·any·view.·This·means·you·can·test·a92 be·used·as·the·first·argument·to·any·view.·This·means·you·can·test·a
92 view·function·the·same·way·as·you·would·test·any·other·function··as93 view·function·the·same·way·as·you·would·test·any·other·function··as
Offset 146, 15 lines modifiedOffset 147, 15 lines modified
146 </pre></div>147 </pre></div>
147 </div>148 </div>
148 </section>149 </section>
149 <section·id="s-asyncrequestfactory">150 <section·id="s-asyncrequestfactory">
150 <span·id="asyncrequestfactory"></span><h3>AsyncRequestFactory<a·class="headerlink"·href="#asyncrequestfactory"·title="Link·to·this·heading">¶</a></h3>151 <span·id="asyncrequestfactory"></span><h3>AsyncRequestFactory<a·class="headerlink"·href="#asyncrequestfactory"·title="Link·to·this·heading">¶</a></h3>
151 <dl·class="py·class">152 <dl·class="py·class">
152 <dt·class="sig·sig-object·py"·id="django.test.AsyncRequestFactory">153 <dt·class="sig·sig-object·py"·id="django.test.AsyncRequestFactory">
153 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsyncRequestFactory</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/client.py#L679"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.test.AsyncRequestFactory"·title="Link·to·this·definition">¶</a></dt>154 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">AsyncRequestFactory</span></span><a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/client.py#L679"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.test.AsyncRequestFactory"·title="Link·to·this·definition">¶</a></dt>
154 <dd></dd></dl>155 <dd></dd></dl>
  
155 <p><code·class="docutils·literal·notranslate"><span·class="pre">RequestFactory</span></code>·creates·WSGI-like·requests.·If·you·want·to·create·ASGI-like156 <p><code·class="docutils·literal·notranslate"><span·class="pre">RequestFactory</span></code>·creates·WSGI-like·requests.·If·you·want·to·create·ASGI-like
156 requests,·including·having·a·correct·ASGI·<code·class="docutils·literal·notranslate"><span·class="pre">scope</span></code>,·you·can·instead·use157 requests,·including·having·a·correct·ASGI·<code·class="docutils·literal·notranslate"><span·class="pre">scope</span></code>,·you·can·instead·use
157 <code·class="docutils·literal·notranslate"><span·class="pre">django.test.AsyncRequestFactory</span></code>.</p>158 <code·class="docutils·literal·notranslate"><span·class="pre">django.test.AsyncRequestFactory</span></code>.</p>
158 <p>This·class·is·directly·API-compatible·with·<code·class="docutils·literal·notranslate"><span·class="pre">RequestFactory</span></code>,·with·the·only159 <p>This·class·is·directly·API-compatible·with·<code·class="docutils·literal·notranslate"><span·class="pre">RequestFactory</span></code>,·with·the·only
159 difference·being·that·it·returns·<code·class="docutils·literal·notranslate"><span·class="pre">ASGIRequest</span></code>·instances·rather·than160 difference·being·that·it·returns·<code·class="docutils·literal·notranslate"><span·class="pre">ASGIRequest</span></code>·instances·rather·than
Offset 356, 15 lines modifiedOffset 357, 15 lines modified
356 </section>357 </section>
357 <section·id="s-advanced-features-of-transactiontestcase">358 <section·id="s-advanced-features-of-transactiontestcase">
358 <span·id="advanced-features-of-transactiontestcase"></span><h2>Advanced·features·of·<code·class="docutils·literal·notranslate"><span·class="pre">TransactionTestCase</span></code><a·class="headerlink"·href="#advanced-features-of-transactiontestcase"·title="Link·to·this·heading">¶</a></h2>359 <span·id="advanced-features-of-transactiontestcase"></span><h2>Advanced·features·of·<code·class="docutils·literal·notranslate"><span·class="pre">TransactionTestCase</span></code><a·class="headerlink"·href="#advanced-features-of-transactiontestcase"·title="Link·to·this·heading">¶</a></h2>
359 <dl·class="py·attribute">360 <dl·class="py·attribute">
360 <dt·class="sig·sig-object·py"·id="django.test.TransactionTestCase.available_apps">361 <dt·class="sig·sig-object·py"·id="django.test.TransactionTestCase.available_apps">
361 <span·class="sig-prename·descclassname"><span·class="pre">TransactionTestCase.</span></span><span·class="sig-name·descname"><span·class="pre">available_apps</span></span><a·class="headerlink"·href="#django.test.TransactionTestCase.available_apps"·title="Link·to·this·definition">¶</a></dt>362 <span·class="sig-prename·descclassname"><span·class="pre">TransactionTestCase.</span></span><span·class="sig-name·descname"><span·class="pre">available_apps</span></span><a·class="headerlink"·href="#django.test.TransactionTestCase.available_apps"·title="Link·to·this·definition">¶</a></dt>
362 <dd><div·class="admonition·warning">363 <dd><div·class="admonition·warning">
363 <p·class="admonition-title">Warning</p>364 <p·class="admonition-title">Hoiatus</p>
364 <p>This·attribute·is·a·private·API.·It·may·be·changed·or·removed·without365 <p>This·attribute·is·a·private·API.·It·may·be·changed·or·removed·without
365 a·deprecation·period·in·the·future,·for·instance·to·accommodate·changes366 a·deprecation·period·in·the·future,·for·instance·to·accommodate·changes
366 in·application·loading.</p>367 in·application·loading.</p>
367 <p>It’s·used·to·optimize·Django’s·own·test·suite,·which·contains·hundreds368 <p>It’s·used·to·optimize·Django’s·own·test·suite,·which·contains·hundreds
368 of·models·but·no·relations·between·models·in·different·applications.</p>369 of·models·but·no·relations·between·models·in·different·applications.</p>
369 </div>370 </div>
370 <p>By·default,·<code·class="docutils·literal·notranslate"><span·class="pre">available_apps</span></code>·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.·After·each·test,·Django371 <p>By·default,·<code·class="docutils·literal·notranslate"><span·class="pre">available_apps</span></code>·is·set·to·<code·class="docutils·literal·notranslate"><span·class="pre">None</span></code>.·After·each·test,·Django
Offset 516, 15 lines modifiedOffset 517, 15 lines modified
516 settings·to·run.</p>517 settings·to·run.</p>
517 <p>Since·the·<em>tests</em>·package·is·included·in·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·when518 <p>Since·the·<em>tests</em>·package·is·included·in·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-INSTALLED_APPS"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">INSTALLED_APPS</span></code></a>·when
518 running·your·tests,·you·can·define·test-only·models·in·its·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>519 running·your·tests,·you·can·define·test-only·models·in·its·<code·class="docutils·literal·notranslate"><span·class="pre">models.py</span></code>
519 file.</p>520 file.</p>
520 </section>521 </section>
521 <section·id="s-using-different-testing-frameworks">522 <section·id="s-using-different-testing-frameworks">
522 <span·id="s-other-testing-frameworks"></span><span·id="using-different-testing-frameworks"></span><span·id="other-testing-frameworks"></span><h2>Using·different·testing·frameworks<a·class="headerlink"·href="#using-different-testing-frameworks"·title="Link·to·this·heading">¶</a></h2>523 <span·id="s-other-testing-frameworks"></span><span·id="using-different-testing-frameworks"></span><span·id="other-testing-frameworks"></span><h2>Using·different·testing·frameworks<a·class="headerlink"·href="#using-different-testing-frameworks"·title="Link·to·this·heading">¶</a></h2>
523 <p>Clearly,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>·is·not·the·only·Python·testing·framework.·While·Django524 <p>Clearly,·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>·is·not·the·only·Python·testing·framework.·While·Django
524 doesn’t·provide·explicit·support·for·alternative·frameworks,·it·does·provide·a525 doesn’t·provide·explicit·support·for·alternative·frameworks,·it·does·provide·a
525 way·to·invoke·tests·constructed·for·an·alternative·framework·as·if·they·were526 way·to·invoke·tests·constructed·for·an·alternative·framework·as·if·they·were
526 normal·Django·tests.</p>527 normal·Django·tests.</p>
527 <p>When·you·run·<code·class="docutils·literal·notranslate"><span·class="pre">./manage.py</span>·<span·class="pre">test</span></code>,·Django·looks·at·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TEST_RUNNER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEST_RUNNER</span></code></a>528 <p>When·you·run·<code·class="docutils·literal·notranslate"><span·class="pre">./manage.py</span>·<span·class="pre">test</span></code>,·Django·looks·at·the·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TEST_RUNNER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEST_RUNNER</span></code></a>
528 setting·to·determine·what·to·do.·By·default,·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TEST_RUNNER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEST_RUNNER</span></code></a>·points·to529 setting·to·determine·what·to·do.·By·default,·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-TEST_RUNNER"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">TEST_RUNNER</span></code></a>·points·to
529 <code·class="docutils·literal·notranslate"><span·class="pre">'django.test.runner.DiscoverRunner'</span></code>.·This·class·defines·the·default·Django530 <code·class="docutils·literal·notranslate"><span·class="pre">'django.test.runner.DiscoverRunner'</span></code>.·This·class·defines·the·default·Django
530 testing·behavior.·This·behavior·involves:</p>531 testing·behavior.·This·behavior·involves:</p>
Offset 550, 15 lines modifiedOffset 551, 15 lines modified
550 <p>A·test·runner·is·a·class·defining·a·<code·class="docutils·literal·notranslate"><span·class="pre">run_tests()</span></code>·method.·Django·ships551 <p>A·test·runner·is·a·class·defining·a·<code·class="docutils·literal·notranslate"><span·class="pre">run_tests()</span></code>·method.·Django·ships
551 with·a·<code·class="docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code>·class·that·defines·the·default·Django·testing552 with·a·<code·class="docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code>·class·that·defines·the·default·Django·testing
552 behavior.·This·class·defines·the·<code·class="docutils·literal·notranslate"><span·class="pre">run_tests()</span></code>·entry·point,·plus·a553 behavior.·This·class·defines·the·<code·class="docutils·literal·notranslate"><span·class="pre">run_tests()</span></code>·entry·point,·plus·a
553 selection·of·other·methods·that·are·used·by·<code·class="docutils·literal·notranslate"><span·class="pre">run_tests()</span></code>·to·set·up,·execute554 selection·of·other·methods·that·are·used·by·<code·class="docutils·literal·notranslate"><span·class="pre">run_tests()</span></code>·to·set·up,·execute
554 and·tear·down·the·test·suite.</p>555 and·tear·down·the·test·suite.</p>
555 <dl·class="py·class">556 <dl·class="py·class">
556 <dt·class="sig·sig-object·py"·id="django.test.runner.DiscoverRunner">557 <dt·class="sig·sig-object·py"·id="django.test.runner.DiscoverRunner">
557 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DiscoverRunner</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">pattern</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'test*.py'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">top_level</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">verbosity</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">1</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">interactive</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">failfast</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">keepdb</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">reverse</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">debug_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">debug_sql</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">parallel</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">tags</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude_tags</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">test_name_patterns</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">pdb</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">buffer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">enable_faulthandler</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">timing</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">shuffle</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">logger</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">durations</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/runner.py#L637"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.test.runner.DiscoverRunner"·title="Link·to·this·definition">¶</a></dt>558 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">DiscoverRunner</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">pattern</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">'test*.py'</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">top_level</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">verbosity</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">1</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">interactive</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">failfast</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">keepdb</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">reverse</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">debug_mode</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">debug_sql</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">parallel</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">0</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">tags</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">exclude_tags</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">test_name_patterns</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">pdb</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">buffer</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">enable_faulthandler</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">timing</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">shuffle</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">logger</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">durations</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">kwargs</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/runner.py#L637"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.test.runner.DiscoverRunner"·title="Link·to·this·definition">¶</a></dt>
558 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code>·will·search·for·tests·in·any·file·matching·<code·class="docutils·literal·notranslate"><span·class="pre">pattern</span></code>.</p>559 <dd><p><code·class="docutils·literal·notranslate"><span·class="pre">DiscoverRunner</span></code>·will·search·for·tests·in·any·file·matching·<code·class="docutils·literal·notranslate"><span·class="pre">pattern</span></code>.</p>
559 <p><code·class="docutils·literal·notranslate"><span·class="pre">top_level</span></code>·can·be·used·to·specify·the·directory·containing·your560 <p><code·class="docutils·literal·notranslate"><span·class="pre">top_level</span></code>·can·be·used·to·specify·the·directory·containing·your
560 top-level·Python·modules.·Usually·Django·can·figure·this·out·automatically,561 top-level·Python·modules.·Usually·Django·can·figure·this·out·automatically,
561 so·it’s·not·necessary·to·specify·this·option.·If·specified,·it·should562 so·it’s·not·necessary·to·specify·this·option.·If·specified,·it·should
562 generally·be·the·directory·containing·your·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span></code>·file.</p>563 generally·be·the·directory·containing·your·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span></code>·file.</p>
563 <p><code·class="docutils·literal·notranslate"><span·class="pre">verbosity</span></code>·determines·the·amount·of·notification·and·debug·information564 <p><code·class="docutils·literal·notranslate"><span·class="pre">verbosity</span></code>·determines·the·amount·of·notification·and·debug·information
564 that·will·be·printed·to·the·console;·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>·is·no·output,·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>·is·normal565 that·will·be·printed·to·the·console;·<code·class="docutils·literal·notranslate"><span·class="pre">0</span></code>·is·no·output,·<code·class="docutils·literal·notranslate"><span·class="pre">1</span></code>·is·normal
Offset 595, 26 lines modifiedOffset 596, 26 lines modified
595 as·the·traceback.·If·<code·class="docutils·literal·notranslate"><span·class="pre">verbosity</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">2</span></code>,·then·queries·in·all·tests·are596 as·the·traceback.·If·<code·class="docutils·literal·notranslate"><span·class="pre">verbosity</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">2</span></code>,·then·queries·in·all·tests·are
596 output.</p>597 output.</p>
597 <p><code·class="docutils·literal·notranslate"><span·class="pre">test_name_patterns</span></code>·can·be·used·to·specify·a·set·of·patterns·for598 <p><code·class="docutils·literal·notranslate"><span·class="pre">test_name_patterns</span></code>·can·be·used·to·specify·a·set·of·patterns·for
598 filtering·test·methods·and·classes·by·their·names.</p>599 filtering·test·methods·and·classes·by·their·names.</p>
599 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">pdb</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·a·debugger·(<code·class="docutils·literal·notranslate"><span·class="pre">pdb</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">ipdb</span></code>)·will·be·spawned·at600 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">pdb</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·a·debugger·(<code·class="docutils·literal·notranslate"><span·class="pre">pdb</span></code>·or·<code·class="docutils·literal·notranslate"><span·class="pre">ipdb</span></code>)·will·be·spawned·at
600 each·test·error·or·failure.</p>601 each·test·error·or·failure.</p>
601 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">buffer</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·outputs·from·passing·tests·will·be·discarded.</p>602 <p>If·<code·class="docutils·literal·notranslate"><span·class="pre">buffer</span></code>·is·<code·class="docutils·literal·notranslate"><span·class="pre">True</span></code>,·outputs·from·passing·tests·will·be·discarded.</p>
Max diff block lines reached; 39442/62300 bytes (63.31%) of diff not shown.
16.4 KB
html2text {}
Max HTML report size reached
7.67 KB
./usr/share/doc/python-django-doc/html/topics/testing/index.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Testing·in·Django·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Testing·in·Django·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Writing·and·running·tests"·href="overview.html"·/>15 ····<link·rel="next"·title="Writing·and·running·tests"·href="overview.html"·/>
15 ····<link·rel="prev"·title="Managing·files"·href="../files.html"·/>16 ····<link·rel="prev"·title="Managing·files"·href="../files.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 91, 15 lines modifiedOffset 92, 15 lines modified
91 </ul>92 </ul>
92 <p>Testing·a·web·application·is·a·complex·task,·because·a·web·application·is·made93 <p>Testing·a·web·application·is·a·complex·task,·because·a·web·application·is·made
93 of·several·layers·of·logic··from·HTTP-level·request·handling,·to·form94 of·several·layers·of·logic··from·HTTP-level·request·handling,·to·form
94 validation·and·processing,·to·template·rendering.·With·Django’s·test-execution95 validation·and·processing,·to·template·rendering.·With·Django’s·test-execution
95 framework·and·assorted·utilities,·you·can·simulate·requests,·insert·test·data,96 framework·and·assorted·utilities,·you·can·simulate·requests,·insert·test·data,
96 inspect·your·application’s·output·and·generally·verify·your·code·is·doing·what97 inspect·your·application’s·output·and·generally·verify·your·code·is·doing·what
97 it·should·be·doing.</p>98 it·should·be·doing.</p>
98 <p>The·preferred·way·to·write·tests·in·Django·is·using·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>·module99 <p>The·preferred·way·to·write·tests·in·Django·is·using·the·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>·module
99 built-in·to·the·Python·standard·library.·This·is·covered·in·detail·in·the100 built-in·to·the·Python·standard·library.·This·is·covered·in·detail·in·the
100 <a·class="reference·internal"·href="overview.html"><span·class="doc">Writing·and·running·tests</span></a>·document.</p>101 <a·class="reference·internal"·href="overview.html"><span·class="doc">Writing·and·running·tests</span></a>·document.</p>
101 <p>You·can·also·use·any·<em>other</em>·Python·test·framework;·Django·provides·an·API·and102 <p>You·can·also·use·any·<em>other</em>·Python·test·framework;·Django·provides·an·API·and
102 tools·for·that·kind·of·integration.·They·are·described·in·the103 tools·for·that·kind·of·integration.·They·are·described·in·the
103 <a·class="reference·internal"·href="advanced.html#other-testing-frameworks"><span·class="std·std-ref">Using·different·testing·frameworks</span></a>·section·of·<a·class="reference·internal"·href="advanced.html"><span·class="doc">Advanced·testing·topics</span></a>.</p>104 <a·class="reference·internal"·href="advanced.html#other-testing-frameworks"><span·class="std·std-ref">Using·different·testing·frameworks</span></a>·section·of·<a·class="reference·internal"·href="advanced.html"><span·class="doc">Advanced·testing·topics</span></a>.</p>
104 <div·class="toctree-wrapper·compound">105 <div·class="toctree-wrapper·compound">
105 <ul>106 <ul>
Offset 117, 37 lines modifiedOffset 118, 37 lines modified
117 ······118 ······
118 ········119 ········
119 ··········<div·class="yui-b"·id="sidebar">120 ··········<div·class="yui-b"·id="sidebar">
120 ············121 ············
121 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">122 ······<div·class="sphinxsidebar"·role="navigation"·aria-label="Main">
122 ········<div·class="sphinxsidebarwrapper">123 ········<div·class="sphinxsidebarwrapper">
123 ··<div>124 ··<div>
124 ····<h4>Previous·topic</h4>125 ····<h4>Eelmine·teema</h4>
125 ····<p·class="topless"><a·href="../files.html"126 ····<p·class="topless"><a·href="../files.html"
126 ··························title="previous·chapter">Managing·files</a></p>127 ··························title="eelmine·jaotis">Managing·files</a></p>
127 ··</div>128 ··</div>
128 ··<div>129 ··<div>
129 ····<h4>Next·topic</h4>130 ····<h4>Järgmine·teema</h4>
130 ····<p·class="topless"><a·href="overview.html"131 ····<p·class="topless"><a·href="overview.html"
131 ··························title="next·chapter">Writing·and·running·tests</a></p>132 ··························title="järgmine·jaotis">Writing·and·running·tests</a></p>
132 ··</div>133 ··</div>
133 <search·id="searchbox"·style="display:·none"·role="search">134 <search·id="searchbox"·style="display:·none"·role="search">
134 ··<h3·id="searchlabel">Quick·search</h3>135 ··<h3·id="searchlabel">Kiirotsing</h3>
135 ····<div·class="searchformwrapper">136 ····<div·class="searchformwrapper">
136 ····<form·class="search"·action="../../search.html"·method="get">137 ····<form·class="search"·action="../../search.html"·method="get">
137 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>138 ······<input·type="text"·name="q"·aria-labelledby="searchlabel"·autocomplete="off"·autocorrect="off"·autocapitalize="off"·spellcheck="false"/>
138 ······<input·type="submit"·value="Go"·/>139 ······<input·type="submit"·value="Otsi"·/>
139 ····</form>140 ····</form>
140 ····</div>141 ····</div>
141 </search>142 </search>
142 <script>document.getElementById('searchbox').style.display·=·"block"</script>143 <script>document.getElementById('searchbox').style.display·=·"block"</script>
143 ········</div>144 ········</div>
144 ······</div>145 ······</div>
145 ··············<h3>Last·update:</h3>146 ··············<h3>Last·update:</h3>
146 ··············<p·class="topless">Nov·05,·2024</p>147 ··············<p·class="topless">nov·05,·2024</p>
147 ··········</div>148 ··········</div>
148 ········149 ········
149 ······150 ······
150 ····</div>151 ····</div>
  
151 ····<div·id="ft">152 ····<div·id="ft">
152 ······<div·class="nav">153 ······<div·class="nav">
2.15 KB
html2text {}
Max HTML report size reached
35.9 KB
./usr/share/doc/python-django-doc/html/topics/testing/overview.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Writing·and·running·tests·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Writing·and·running·tests·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Testing·tools"·href="tools.html"·/>15 ····<link·rel="next"·title="Testing·tools"·href="tools.html"·/>
15 ····<link·rel="prev"·title="Testing·in·Django"·href="index.html"·/>16 ····<link·rel="prev"·title="Testing·in·Django"·href="index.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 53, 15 lines modifiedOffset 54, 15 lines modified
53 })(jQuery);</script>54 })(jQuery);</script>
  
54 ··</head><body>55 ··</head><body>
  
55 ····<div·class="document">56 ····<div·class="document">
56 ··<div·id="custom-doc"·class="yui-t6">57 ··<div·id="custom-doc"·class="yui-t6">
57 ····<div·id="hd">58 ····<div·id="hd">
58 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>59 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
59 ······<div·id="global-nav">60 ······<div·id="global-nav">
60 ········<a·title="Home·page"·href="../../index.html">Home</a>··|61 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
61 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|62 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
62 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|63 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
63 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>64 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
64 ······</div>65 ······</div>
65 ······<div·class="nav">66 ······<div·class="nav">
Offset 76, 26 lines modifiedOffset 77, 26 lines modified
76 ······<div·id="yui-main">77 ······<div·id="yui-main">
77 ········<div·class="yui-b">78 ········<div·class="yui-b">
78 ··········<div·class="yui-g"·id="topics-testing-overview">79 ··········<div·class="yui-g"·id="topics-testing-overview">
79 ············80 ············
80 ··<section·id="s-module-django.test">81 ··<section·id="s-module-django.test">
81 <span·id="s-writing-and-running-tests"></span><span·id="module-django.test"></span><span·id="writing-and-running-tests"></span><h1>Writing·and·running·tests<a·class="headerlink"·href="#module-django.test"·title="Link·to·this·heading">¶</a></h1>82 <span·id="s-writing-and-running-tests"></span><span·id="module-django.test"></span><span·id="writing-and-running-tests"></span><h1>Writing·and·running·tests<a·class="headerlink"·href="#module-django.test"·title="Link·to·this·heading">¶</a></h1>
82 <div·class="admonition·seealso">83 <div·class="admonition·seealso">
83 <p·class="admonition-title">See·also</p>84 <p·class="admonition-title">Vaata·ka</p>
84 <p>The·<a·class="reference·internal"·href="../../intro/tutorial05.html"><span·class="doc">testing·tutorial</span></a>,·the·<a·class="reference·internal"·href="tools.html"><span·class="doc">testing·tools85 <p>The·<a·class="reference·internal"·href="../../intro/tutorial05.html"><span·class="doc">testing·tutorial</span></a>,·the·<a·class="reference·internal"·href="tools.html"><span·class="doc">testing·tools
85 reference</span></a>,·and·the·<a·class="reference·internal"·href="advanced.html"><span·class="doc">advanced·testing·topics</span></a>.</p>86 reference</span></a>,·and·the·<a·class="reference·internal"·href="advanced.html"><span·class="doc">advanced·testing·topics</span></a>.</p>
86 </div>87 </div>
87 <p>This·document·is·split·into·two·primary·sections.·First,·we·explain·how·to·write88 <p>This·document·is·split·into·two·primary·sections.·First,·we·explain·how·to·write
88 tests·with·Django.·Then,·we·explain·how·to·run·them.</p>89 tests·with·Django.·Then,·we·explain·how·to·run·them.</p>
89 <section·id="s-writing-tests">90 <section·id="s-writing-tests">
90 <span·id="writing-tests"></span><h2>Writing·tests<a·class="headerlink"·href="#writing-tests"·title="Link·to·this·heading">¶</a></h2>91 <span·id="writing-tests"></span><h2>Writing·tests<a·class="headerlink"·href="#writing-tests"·title="Link·to·this·heading">¶</a></h2>
91 <p>Django’s·unit·tests·use·a·Python·standard·library·module:·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>.·This92 <p>Django’s·unit·tests·use·a·Python·standard·library·module:·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>.·This
92 module·defines·tests·using·a·class-based·approach.</p>93 module·defines·tests·using·a·class-based·approach.</p>
93 <p>Here·is·an·example·which·subclasses·from·<a·class="reference·internal"·href="tools.html#django.test.TestCase"·title="django.test.TestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.TestCase</span></code></a>,94 <p>Here·is·an·example·which·subclasses·from·<a·class="reference·internal"·href="tools.html#django.test.TestCase"·title="django.test.TestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.TestCase</span></code></a>,
94 which·is·a·subclass·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unittest.TestCase</span></code></a>·that·runs·each·test·inside·a95 which·is·a·subclass·of·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unittest.TestCase</span></code></a>·that·runs·each·test·inside·a
95 transaction·to·provide·isolation:</p>96 transaction·to·provide·isolation:</p>
96 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.test</span>·<span·class="kn">import</span>·<span·class="n">TestCase</span>97 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="kn">from</span>·<span·class="nn">django.test</span>·<span·class="kn">import</span>·<span·class="n">TestCase</span>
97 <span·class="kn">from</span>·<span·class="nn">myapp.models</span>·<span·class="kn">import</span>·<span·class="n">Animal</span>98 <span·class="kn">from</span>·<span·class="nn">myapp.models</span>·<span·class="kn">import</span>·<span·class="n">Animal</span>
  
  
98 <span·class="k">class</span>·<span·class="nc">AnimalTestCase</span><span·class="p">(</span><span·class="n">TestCase</span><span·class="p">):</span>99 <span·class="k">class</span>·<span·class="nc">AnimalTestCase</span><span·class="p">(</span><span·class="n">TestCase</span><span·class="p">):</span>
99 ····<span·class="k">def</span>·<span·class="nf">setUp</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>100 ····<span·class="k">def</span>·<span·class="nf">setUp</span><span·class="p">(</span><span·class="bp">self</span><span·class="p">):</span>
Offset 108, 52 lines modifiedOffset 109, 52 lines modified
108 ········<span·class="n">cat</span>·<span·class="o">=</span>·<span·class="n">Animal</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;cat&quot;</span><span·class="p">)</span>109 ········<span·class="n">cat</span>·<span·class="o">=</span>·<span·class="n">Animal</span><span·class="o">.</span><span·class="n">objects</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="n">name</span><span·class="o">=</span><span·class="s2">&quot;cat&quot;</span><span·class="p">)</span>
109 ········<span·class="bp">self</span><span·class="o">.</span><span·class="n">assertEqual</span><span·class="p">(</span><span·class="n">lion</span><span·class="o">.</span><span·class="n">speak</span><span·class="p">(),</span>·<span·class="s1">&#39;The·lion·says·&quot;roar&quot;&#39;</span><span·class="p">)</span>110 ········<span·class="bp">self</span><span·class="o">.</span><span·class="n">assertEqual</span><span·class="p">(</span><span·class="n">lion</span><span·class="o">.</span><span·class="n">speak</span><span·class="p">(),</span>·<span·class="s1">&#39;The·lion·says·&quot;roar&quot;&#39;</span><span·class="p">)</span>
110 ········<span·class="bp">self</span><span·class="o">.</span><span·class="n">assertEqual</span><span·class="p">(</span><span·class="n">cat</span><span·class="o">.</span><span·class="n">speak</span><span·class="p">(),</span>·<span·class="s1">&#39;The·cat·says·&quot;meow&quot;&#39;</span><span·class="p">)</span>111 ········<span·class="bp">self</span><span·class="o">.</span><span·class="n">assertEqual</span><span·class="p">(</span><span·class="n">cat</span><span·class="o">.</span><span·class="n">speak</span><span·class="p">(),</span>·<span·class="s1">&#39;The·cat·says·&quot;meow&quot;&#39;</span><span·class="p">)</span>
111 </pre></div>112 </pre></div>
112 </div>113 </div>
113 <p>When·you·<a·class="reference·internal"·href="#running-tests"><span·class="std·std-ref">run·your·tests</span></a>,·the·default·behavior·of·the114 <p>When·you·<a·class="reference·internal"·href="#running-tests"><span·class="std·std-ref">run·your·tests</span></a>,·the·default·behavior·of·the
114 test·utility·is·to·find·all·the·test·case·classes·(that·is,·subclasses·of115 test·utility·is·to·find·all·the·test·case·classes·(that·is,·subclasses·of
115 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unittest.TestCase</span></code></a>)·in·any·file·whose·name·begins·with·<code·class="docutils·literal·notranslate"><span·class="pre">test</span></code>,116 <a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unittest.TestCase</span></code></a>)·in·any·file·whose·name·begins·with·<code·class="docutils·literal·notranslate"><span·class="pre">test</span></code>,
116 automatically·build·a·test·suite·out·of·those·test·case·classes,·and·run·that117 automatically·build·a·test·suite·out·of·those·test·case·classes,·and·run·that
117 suite.</p>118 suite.</p>
118 <p>For·more·details·about·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>,·see·the·Python·documentation.</p>119 <p>For·more·details·about·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#module-unittest"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">unittest</span></code></a>,·see·the·Python·documentation.</p>
119 <div·class="admonition-where-should-the-tests-live·admonition">120 <div·class="admonition-where-should-the-tests-live·admonition">
120 <p·class="admonition-title">Where·should·the·tests·live?</p>121 <p·class="admonition-title">Where·should·the·tests·live?</p>
121 <p>The·default·<a·class="reference·internal"·href="../../ref/django-admin.html#django-admin-startapp"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startapp</span></code></a>·template·creates·a·<code·class="docutils·literal·notranslate"><span·class="pre">tests.py</span></code>·file·in·the122 <p>The·default·<a·class="reference·internal"·href="../../ref/django-admin.html#django-admin-startapp"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">startapp</span></code></a>·template·creates·a·<code·class="docutils·literal·notranslate"><span·class="pre">tests.py</span></code>·file·in·the
122 new·application.·This·might·be·fine·if·you·only·have·a·few·tests,·but·as123 new·application.·This·might·be·fine·if·you·only·have·a·few·tests,·but·as
123 your·test·suite·grows·you’ll·likely·want·to·restructure·it·into·a·tests124 your·test·suite·grows·you’ll·likely·want·to·restructure·it·into·a·tests
124 package·so·you·can·split·your·tests·into·different·submodules·such·as125 package·so·you·can·split·your·tests·into·different·submodules·such·as
125 <code·class="docutils·literal·notranslate"><span·class="pre">test_models.py</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">test_views.py</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">test_forms.py</span></code>,·etc.·Feel·free·to126 <code·class="docutils·literal·notranslate"><span·class="pre">test_models.py</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">test_views.py</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">test_forms.py</span></code>,·etc.·Feel·free·to
126 pick·whatever·organizational·scheme·you·like.</p>127 pick·whatever·organizational·scheme·you·like.</p>
127 <p>See·also·<a·class="reference·internal"·href="advanced.html#testing-reusable-applications"><span·class="std·std-ref">Using·the·Django·test·runner·to·test·reusable·applications</span></a>.</p>128 <p>See·also·<a·class="reference·internal"·href="advanced.html#testing-reusable-applications"><span·class="std·std-ref">Using·the·Django·test·runner·to·test·reusable·applications</span></a>.</p>
128 </div>129 </div>
129 <div·class="admonition·warning">130 <div·class="admonition·warning">
130 <p·class="admonition-title">Warning</p>131 <p·class="admonition-title">Hoiatus</p>
131 <p>If·your·tests·rely·on·database·access·such·as·creating·or·querying·models,132 <p>If·your·tests·rely·on·database·access·such·as·creating·or·querying·models,
132 be·sure·to·create·your·test·classes·as·subclasses·of133 be·sure·to·create·your·test·classes·as·subclasses·of
133 <a·class="reference·internal"·href="tools.html#django.test.TestCase"·title="django.test.TestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.TestCase</span></code></a>·rather·than·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unittest.TestCase</span></code></a>.</p>134 <a·class="reference·internal"·href="tools.html#django.test.TestCase"·title="django.test.TestCase"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">django.test.TestCase</span></code></a>·rather·than·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unittest.TestCase</span></code></a>.</p>
134 <p>Using·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase"·title="(in·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unittest.TestCase</span></code></a>·avoids·the·cost·of·running·each·test·in·a135 <p>Using·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest.TestCase"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">unittest.TestCase</span></code></a>·avoids·the·cost·of·running·each·test·in·a
135 transaction·and·flushing·the·database,·but·if·your·tests·interact·with136 transaction·and·flushing·the·database,·but·if·your·tests·interact·with
136 the·database·their·behavior·will·vary·based·on·the·order·that·the·test137 the·database·their·behavior·will·vary·based·on·the·order·that·the·test
137 runner·executes·them.·This·can·lead·to·unit·tests·that·pass·when·run·in138 runner·executes·them.·This·can·lead·to·unit·tests·that·pass·when·run·in
138 isolation·but·fail·when·run·in·a·suite.</p>139 isolation·but·fail·when·run·in·a·suite.</p>
139 </div>140 </div>
140 </section>141 </section>
141 <section·id="s-running-tests">142 <section·id="s-running-tests">
142 <span·id="s-id1"></span><span·id="running-tests"></span><span·id="id1"></span><h2>Running·tests<a·class="headerlink"·href="#running-tests"·title="Link·to·this·heading">¶</a></h2>143 <span·id="s-id1"></span><span·id="running-tests"></span><span·id="id1"></span><h2>Running·tests<a·class="headerlink"·href="#running-tests"·title="Link·to·this·heading">¶</a></h2>
143 <p>Once·you’ve·written·tests,·run·them·using·the·<a·class="reference·internal"·href="../../ref/django-admin.html#django-admin-test"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">test</span></code></a>·command·of144 <p>Once·you’ve·written·tests,·run·them·using·the·<a·class="reference·internal"·href="../../ref/django-admin.html#django-admin-test"><code·class="xref·std·std-djadmin·docutils·literal·notranslate"><span·class="pre">test</span></code></a>·command·of
144 your·project’s·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span></code>·utility:</p>145 your·project’s·<code·class="docutils·literal·notranslate"><span·class="pre">manage.py</span></code>·utility:</p>
145 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>./manage.py<span·class="w">·</span><span·class="nb">test</span>146 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span>$<span·class="w">·</span>./manage.py<span·class="w">·</span><span·class="nb">test</span>
146 </pre></div>147 </pre></div>
147 </div>148 </div>
148 <p>Test·discovery·is·based·on·the·unittest·module’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest-test-discovery"·title="(in·Python·v3.12)"><span·class="xref·std·std-ref">built-in·test149 <p>Test·discovery·is·based·on·the·unittest·module’s·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/unittest.html#unittest-test-discovery"·title="(projektis·Python·v3.12)"><span·class="xref·std·std-ref">built-in·test
149 discovery</span></a>.··By·default,·this·will·discover·tests·in150 discovery</span></a>.··By·default,·this·will·discover·tests·in
150 any·file·named·<code·class="docutils·literal·notranslate"><span·class="pre">test*.py</span></code>·under·the·current·working·directory.</p>151 any·file·named·<code·class="docutils·literal·notranslate"><span·class="pre">test*.py</span></code>·under·the·current·working·directory.</p>
151 <p>You·can·specify·particular·tests·to·run·by·supplying·any·number·of·test152 <p>You·can·specify·particular·tests·to·run·by·supplying·any·number·of·test
152 labels·to·<code·class="docutils·literal·notranslate"><span·class="pre">./manage.py</span>·<span·class="pre">test</span></code>.·Each·test·label·can·be·a·full·Python·dotted153 labels·to·<code·class="docutils·literal·notranslate"><span·class="pre">./manage.py</span>·<span·class="pre">test</span></code>.·Each·test·label·can·be·a·full·Python·dotted
153 path·to·a·package,·module,·<code·class="docutils·literal·notranslate"><span·class="pre">TestCase</span></code>·subclass,·or·test·method.·For·instance:</p>154 path·to·a·package,·module,·<code·class="docutils·literal·notranslate"><span·class="pre">TestCase</span></code>·subclass,·or·test·method.·For·instance:</p>
154 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·Run·all·the·tests·in·the·animals.tests·module</span>155 <div·class="highlight-shell·notranslate"><div·class="highlight"><pre><span></span><span·class="c1">#·Run·all·the·tests·in·the·animals.tests·module</span>
155 $<span·class="w">·</span>./manage.py<span·class="w">·</span><span·class="nb">test</span><span·class="w">·</span>animals.tests156 $<span·class="w">·</span>./manage.py<span·class="w">·</span><span·class="nb">test</span><span·class="w">·</span>animals.tests
  
156 <span·class="c1">#·Run·all·the·tests·found·within·the·&#39;animals&#39;·package</span>157 <span·class="c1">#·Run·all·the·tests·found·within·the·&#39;animals&#39;·package</span>
157 $<span·class="w">·</span>./manage.py<span·class="w">·</span><span·class="nb">test</span><span·class="w">·</span>animals158 $<span·class="w">·</span>./manage.py<span·class="w">·</span><span·class="nb">test</span><span·class="w">·</span>animals
  
Offset 194, 15 lines modifiedOffset 195, 15 lines modified
194 display·deprecation·warnings.·Django,·like·many·other·Python·libraries,195 display·deprecation·warnings.·Django,·like·many·other·Python·libraries,
195 uses·these·warnings·to·flag·when·features·are·going·away.·It·also·might196 uses·these·warnings·to·flag·when·features·are·going·away.·It·also·might
196 flag·areas·in·your·code·that·aren’t·strictly·wrong·but·could·benefit197 flag·areas·in·your·code·that·aren’t·strictly·wrong·but·could·benefit
197 from·a·better·implementation.</p>198 from·a·better·implementation.</p>
198 </div>199 </div>
199 <section·id="s-the-test-database">200 <section·id="s-the-test-database">
200 <span·id="s-id2"></span><span·id="the-test-database"></span><span·id="id2"></span><h3>The·test·database<a·class="headerlink"·href="#the-test-database"·title="Link·to·this·heading">¶</a></h3>201 <span·id="s-id2"></span><span·id="the-test-database"></span><span·id="id2"></span><h3>The·test·database<a·class="headerlink"·href="#the-test-database"·title="Link·to·this·heading">¶</a></h3>
Max diff block lines reached; 10890/25836 bytes (42.15%) of diff not shown.
10.6 KB
html2text {}
Max HTML report size reached
250 KB
./usr/share/doc/python-django-doc/html/topics/testing/tools.html
    
Offset 1, 22 lines modifiedOffset 1, 23 lines modified
1 <!DOCTYPE·html>1 <!DOCTYPE·html>
  
2 <html·lang="en"·data-content_root="../../">2 <html·lang="et"·data-content_root="../../">
3 ··<head>3 ··<head>
4 ····<meta·charset="utf-8"·/>4 ····<meta·charset="utf-8"·/>
5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>5 ····<meta·name="viewport"·content="width=device-width,·initial-scale=1.0"·/><meta·name="viewport"·content="width=device-width,·initial-scale=1"·/>
  
6 ····<title>Testing·tools·&#8212;·Django·5.1.3·documentation</title>6 ····<title>Testing·tools·&#8212;·Django·5.1.3·dokumentatsioon</title>
7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>7 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/pygments.css?v=d10597a4"·/>
8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>8 ····<link·rel="stylesheet"·type="text/css"·href="../../_static/default.css?v=bf4d74af"·/>
9 ····<script·src="../../_static/documentation_options.js?v=3e37d324"></script>9 ····<script·src="../../_static/documentation_options.js?v=431bcac9"></script>
10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>10 ····<script·src="../../_static/doctools.js?v=9a2dae69"></script>
11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>11 ····<script·src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
 12 ····<script·src="../../_static/translations.js?v=bafe007c"></script>
12 ····<link·rel="index"·title="Index"·href="../../genindex.html"·/>13 ····<link·rel="index"·title="Indeks"·href="../../genindex.html"·/>
13 ····<link·rel="search"·title="Search"·href="../../search.html"·/>14 ····<link·rel="search"·title="Otsing"·href="../../search.html"·/>
14 ····<link·rel="next"·title="Advanced·testing·topics"·href="advanced.html"·/>15 ····<link·rel="next"·title="Advanced·testing·topics"·href="advanced.html"·/>
15 ····<link·rel="prev"·title="Writing·and·running·tests"·href="overview.html"·/>16 ····<link·rel="prev"·title="Writing·and·running·tests"·href="overview.html"·/>
  
  
  
16 ·17 ·
17 <script·src="../../templatebuiltins.js"></script>18 <script·src="../../templatebuiltins.js"></script>
Offset 66, 15 lines modifiedOffset 67, 15 lines modified
66 })(jQuery);</script>67 })(jQuery);</script>
67 <link·rel="stylesheet"·href="../../_static/console-tabs.css">68 <link·rel="stylesheet"·href="../../_static/console-tabs.css">
68 ··</head><body>69 ··</head><body>
  
69 ····<div·class="document">70 ····<div·class="document">
70 ··<div·id="custom-doc"·class="yui-t6">71 ··<div·id="custom-doc"·class="yui-t6">
71 ····<div·id="hd">72 ····<div·id="hd">
72 ······<h1><a·href="../../index.html">Django·5.1.3·documentation</a></h1>73 ······<h1><a·href="../../index.html">Django·5.1.3·dokumentatsioon</a></h1>
73 ······<div·id="global-nav">74 ······<div·id="global-nav">
74 ········<a·title="Home·page"·href="../../index.html">Home</a>··|75 ········<a·title="Home·page"·href="../../index.html">Home</a>··|
75 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|76 ········<a·title="Table·of·contents"·href="../../contents.html">Table·of·contents</a>··|
76 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|77 ········<a·title="Global·index"·href="../../genindex.html">Index</a>··|
77 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>78 ········<a·title="Module·index"·href="../../py-modindex.html">Modules</a>
78 ······</div>79 ······</div>
79 ······<div·class="nav">80 ······<div·class="nav">
Offset 105, 15 lines modifiedOffset 106, 15 lines modified
105 page·content.</p></li>106 page·content.</p></li>
106 <li><p>See·the·chain·of·redirects·(if·any)·and·check·the·URL·and·status·code·at107 <li><p>See·the·chain·of·redirects·(if·any)·and·check·the·URL·and·status·code·at
107 each·step.</p></li>108 each·step.</p></li>
108 <li><p>Test·that·a·given·request·is·rendered·by·a·given·Django·template,·with109 <li><p>Test·that·a·given·request·is·rendered·by·a·given·Django·template,·with
109 a·template·context·that·contains·certain·values.</p></li>110 a·template·context·that·contains·certain·values.</p></li>
110 </ul>111 </ul>
111 <p>Note·that·the·test·client·is·not·intended·to·be·a·replacement·for·<a·class="reference·external"·href="https://www.selenium.dev/">Selenium</a>·or112 <p>Note·that·the·test·client·is·not·intended·to·be·a·replacement·for·<a·class="reference·external"·href="https://www.selenium.dev/">Selenium</a>·or
112 other·in-browser·frameworks.·Django’s·test·client·has·a·different·focus.·In113 other·in-browser·frameworks.·Django’s·test·client·has·a·different·focus.·In
113 short:</p>114 short:</p>
114 <ul·class="simple">115 <ul·class="simple">
115 <li><p>Use·Django’s·test·client·to·establish·that·the·correct·template·is·being116 <li><p>Use·Django’s·test·client·to·establish·that·the·correct·template·is·being
116 rendered·and·that·the·template·is·passed·the·correct·context·data.</p></li>117 rendered·and·that·the·template·is·passed·the·correct·context·data.</p></li>
117 <li><p>Use·<a·class="reference·internal"·href="advanced.html#django.test.RequestFactory"·title="django.test.RequestFactory"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RequestFactory</span></code></a>·to·test·view·functions·directly,118 <li><p>Use·<a·class="reference·internal"·href="advanced.html#django.test.RequestFactory"·title="django.test.RequestFactory"><code·class="xref·py·py-class·docutils·literal·notranslate"><span·class="pre">RequestFactory</span></code></a>·to·test·view·functions·directly,
118 bypassing·the·routing·and·middleware·layers.</p></li>119 bypassing·the·routing·and·middleware·layers.</p></li>
119 <li><p>Use·in-browser·frameworks·like·<a·class="reference·external"·href="https://www.selenium.dev/">Selenium</a>·to·test·<em>rendered</em>·HTML·and·the120 <li><p>Use·in-browser·frameworks·like·<a·class="reference·external"·href="https://www.selenium.dev/">Selenium</a>·to·test·<em>rendered</em>·HTML·and·the
Offset 151, 15 lines modifiedOffset 152, 15 lines modified
151 </div>152 </div>
152 <p>This·is·incorrect:</p>153 <p>This·is·incorrect:</p>
153 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">c</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="s2">&quot;https://www.example.com/login/&quot;</span><span·class="p">)</span>154 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">c</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="s2">&quot;https://www.example.com/login/&quot;</span><span·class="p">)</span>
154 </pre></div>155 </pre></div>
155 </div>156 </div>
156 <p>The·test·client·is·not·capable·of·retrieving·web·pages·that·are·not157 <p>The·test·client·is·not·capable·of·retrieving·web·pages·that·are·not
157 powered·by·your·Django·project.·If·you·need·to·retrieve·other·web·pages,158 powered·by·your·Django·project.·If·you·need·to·retrieve·other·web·pages,
158 use·a·Python·standard·library·module·such·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.html#module-urllib"·title="(in·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">urllib</span></code></a>.</p>159 use·a·Python·standard·library·module·such·as·<a·class="reference·external"·href="/usr/share/doc/python3-doc/html/library/urllib.html#module-urllib"·title="(projektis·Python·v3.12)"><code·class="xref·py·py-mod·docutils·literal·notranslate"><span·class="pre">urllib</span></code></a>.</p>
159 </li>160 </li>
160 <li><p>To·resolve·URLs,·the·test·client·uses·whatever·URLconf·is·pointed-to·by161 <li><p>To·resolve·URLs,·the·test·client·uses·whatever·URLconf·is·pointed-to·by
161 your·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-ROOT_URLCONF"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ROOT_URLCONF</span></code></a>·setting.</p></li>162 your·<a·class="reference·internal"·href="../../ref/settings.html#std-setting-ROOT_URLCONF"><code·class="xref·std·std-setting·docutils·literal·notranslate"><span·class="pre">ROOT_URLCONF</span></code></a>·setting.</p></li>
162 <li><p>Although·the·above·example·would·work·in·the·Python·interactive163 <li><p>Although·the·above·example·would·work·in·the·Python·interactive
163 interpreter,·some·of·the·test·client’s·functionality,·notably·the164 interpreter,·some·of·the·test·client’s·functionality,·notably·the
164 template-related·functionality,·is·only·available·<em>while·tests·are165 template-related·functionality,·is·only·available·<em>while·tests·are
165 running</em>.</p>166 running</em>.</p>
Offset 183, 15 lines modifiedOffset 184, 15 lines modified
183 </ul>184 </ul>
184 </section>185 </section>
185 <section·id="s-making-requests">186 <section·id="s-making-requests">
186 <span·id="making-requests"></span><h3>Making·requests<a·class="headerlink"·href="#making-requests"·title="Link·to·this·heading">¶</a></h3>187 <span·id="making-requests"></span><h3>Making·requests<a·class="headerlink"·href="#making-requests"·title="Link·to·this·heading">¶</a></h3>
187 <p>Use·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.test.Client</span></code>·class·to·make·requests.</p>188 <p>Use·the·<code·class="docutils·literal·notranslate"><span·class="pre">django.test.Client</span></code>·class·to·make·requests.</p>
188 <dl·class="py·class">189 <dl·class="py·class">
189 <dt·class="sig·sig-object·py"·id="django.test.Client">190 <dt·class="sig·sig-object·py"·id="django.test.Client">
190 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Client</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">enforce_csrf_checks</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">raise_request_exception</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">json_encoder</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">DjangoJSONEncoder</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">headers</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query_params</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">defaults</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/client.py#L1033"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.test.Client"·title="Link·to·this·definition">¶</a></dt>191 <em·class="property"><span·class="pre">class</span><span·class="w">·</span></em><span·class="sig-name·descname"><span·class="pre">Client</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">enforce_csrf_checks</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">raise_request_exception</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">True</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">json_encoder</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">DjangoJSONEncoder</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">headers</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query_params</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">defaults</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/client.py#L1033"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.test.Client"·title="Link·to·this·definition">¶</a></dt>
191 <dd><p>A·testing·HTTP·client.·Takes·several·arguments·that·can·customize·behavior.</p>192 <dd><p>A·testing·HTTP·client.·Takes·several·arguments·that·can·customize·behavior.</p>
192 <p><code·class="docutils·literal·notranslate"><span·class="pre">headers</span></code>·allows·you·to·specify·default·headers·that·will·be·sent·with193 <p><code·class="docutils·literal·notranslate"><span·class="pre">headers</span></code>·allows·you·to·specify·default·headers·that·will·be·sent·with
193 every·request.·For·example,·to·set·a·<code·class="docutils·literal·notranslate"><span·class="pre">User-Agent</span></code>·header:</p>194 every·request.·For·example,·to·set·a·<code·class="docutils·literal·notranslate"><span·class="pre">User-Agent</span></code>·header:</p>
194 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">client</span>·<span·class="o">=</span>·<span·class="n">Client</span><span·class="p">(</span><span·class="n">headers</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;user-agent&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;curl/7.79.1&quot;</span><span·class="p">})</span>195 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">client</span>·<span·class="o">=</span>·<span·class="n">Client</span><span·class="p">(</span><span·class="n">headers</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;user-agent&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;curl/7.79.1&quot;</span><span·class="p">})</span>
195 </pre></div>196 </pre></div>
196 </div>197 </div>
197 <p><code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>·allows·you·to·specify·the·default·query·string·that·will198 <p><code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>·allows·you·to·specify·the·default·query·string·that·will
Offset 199, 15 lines modifiedOffset 200, 15 lines modified
199 <p>Arbitrary·keyword·arguments·in·<code·class="docutils·literal·notranslate"><span·class="pre">**defaults</span></code>·set·WSGI200 <p>Arbitrary·keyword·arguments·in·<code·class="docutils·literal·notranslate"><span·class="pre">**defaults</span></code>·set·WSGI
200 <span·class="target"·id="index-0"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-3333/#environ-variables"><strong>environ·variables</strong></a>.·For·example,·to·set·the201 <span·class="target"·id="index-0"></span><a·class="pep·reference·external"·href="https://peps.python.org/pep-3333/#environ-variables"><strong>environ·variables</strong></a>.·For·example,·to·set·the
201 script·name:</p>202 script·name:</p>
202 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">client</span>·<span·class="o">=</span>·<span·class="n">Client</span><span·class="p">(</span><span·class="n">SCRIPT_NAME</span><span·class="o">=</span><span·class="s2">&quot;/app/&quot;</span><span·class="p">)</span>203 <div·class="highlight-default·notranslate"><div·class="highlight"><pre><span></span><span·class="n">client</span>·<span·class="o">=</span>·<span·class="n">Client</span><span·class="p">(</span><span·class="n">SCRIPT_NAME</span><span·class="o">=</span><span·class="s2">&quot;/app/&quot;</span><span·class="p">)</span>
203 </pre></div>204 </pre></div>
204 </div>205 </div>
205 <div·class="admonition·note">206 <div·class="admonition·note">
206 <p·class="admonition-title">Note</p>207 <p·class="admonition-title">rkus</p>
207 <p>Keyword·arguments·starting·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">HTTP_</span></code>·prefix·are·set·as·headers,208 <p>Keyword·arguments·starting·with·a·<code·class="docutils·literal·notranslate"><span·class="pre">HTTP_</span></code>·prefix·are·set·as·headers,
208 but·the·<code·class="docutils·literal·notranslate"><span·class="pre">headers</span></code>·parameter·should·be·preferred·for·readability.</p>209 but·the·<code·class="docutils·literal·notranslate"><span·class="pre">headers</span></code>·parameter·should·be·preferred·for·readability.</p>
209 </div>210 </div>
210 <p>The·values·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">headers</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra</span></code>·keyword211 <p>The·values·from·the·<code·class="docutils·literal·notranslate"><span·class="pre">headers</span></code>,·<code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>,·and·<code·class="docutils·literal·notranslate"><span·class="pre">extra</span></code>·keyword
211 arguments·passed·to·<a·class="reference·internal"·href="#django.test.Client.get"·title="django.test.Client.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get()</span></code></a>,212 arguments·passed·to·<a·class="reference·internal"·href="#django.test.Client.get"·title="django.test.Client.get"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">get()</span></code></a>,
212 <a·class="reference·internal"·href="#django.test.Client.post"·title="django.test.Client.post"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">post()</span></code></a>,·etc.·have·precedence·over213 <a·class="reference·internal"·href="#django.test.Client.post"·title="django.test.Client.post"><code·class="xref·py·py-meth·docutils·literal·notranslate"><span·class="pre">post()</span></code></a>,·etc.·have·precedence·over
213 the·defaults·passed·to·the·class·constructor.</p>214 the·defaults·passed·to·the·class·constructor.</p>
Offset 221, 15 lines modifiedOffset 222, 15 lines modified
221 <div·class="versionchanged">222 <div·class="versionchanged">
222 <span·class="title">Changed·in·Django·5.1:</span>·<p>The·<code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>·argument·was·added.</p>223 <span·class="title">Changed·in·Django·5.1:</span>·<p>The·<code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>·argument·was·added.</p>
223 </div>224 </div>
224 <p>Once·you·have·a·<code·class="docutils·literal·notranslate"><span·class="pre">Client</span></code>·instance,·you·can·call·any·of·the·following225 <p>Once·you·have·a·<code·class="docutils·literal·notranslate"><span·class="pre">Client</span></code>·instance,·you·can·call·any·of·the·following
225 methods:</p>226 methods:</p>
226 <dl·class="py·method">227 <dl·class="py·method">
227 <dt·class="sig·sig-object·py"·id="django.test.Client.get">228 <dt·class="sig·sig-object·py"·id="django.test.Client.get">
228 <span·class="sig-name·descname"><span·class="pre">get</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">data</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">follow</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">secure</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">headers</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query_params</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/client.py#L1115"><span·class="viewcode-link"><span·class="pre">[source]</span></span></a><a·class="headerlink"·href="#django.test.Client.get"·title="Link·to·this·definition">¶</a></dt>229 <span·class="sig-name·descname"><span·class="pre">get</span></span>(<em·class="sig-param"><span·class="n"><span·class="pre">path</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">data</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">follow</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">secure</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">False</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">*</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">headers</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="n"><span·class="pre">query_params</span></span><span·class="o"><span·class="pre">=</span></span><span·class="default_value"><span·class="pre">None</span></span></em>,·<em·class="sig-param"><span·class="o"><span·class="pre">**</span></span><span·class="n"><span·class="pre">extra</span></span></em>)<a·class="reference·external"·href="https://github.com/django/django/blob/stable/5.1.x/django/test/client.py#L1115"><span·class="viewcode-link"><span·class="pre">[lähtekood]</span></span></a><a·class="headerlink"·href="#django.test.Client.get"·title="Link·to·this·definition">¶</a></dt>
229 <dd><p>Makes·a·GET·request·on·the·provided·<code·class="docutils·literal·notranslate"><span·class="pre">path</span></code>·and·returns·a·<code·class="docutils·literal·notranslate"><span·class="pre">Response</span></code>230 <dd><p>Makes·a·GET·request·on·the·provided·<code·class="docutils·literal·notranslate"><span·class="pre">path</span></code>·and·returns·a·<code·class="docutils·literal·notranslate"><span·class="pre">Response</span></code>
230 object,·which·is·documented·below.</p>231 object,·which·is·documented·below.</p>
231 <p>The·key-value·pairs·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>·dictionary·are·used·to·set232 <p>The·key-value·pairs·in·the·<code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>·dictionary·are·used·to·set
232 query·strings.·For·example:</p>233 query·strings.·For·example:</p>
233 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">c</span>·<span·class="o">=</span>·<span·class="n">Client</span><span·class="p">()</span>234 <div·class="highlight-pycon·notranslate"><div·class="highlight"><pre><span></span><span·class="gp">&gt;&gt;&gt;·</span><span·class="n">c</span>·<span·class="o">=</span>·<span·class="n">Client</span><span·class="p">()</span>
234 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">c</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="s2">&quot;/customers/details/&quot;</span><span·class="p">,</span>·<span·class="n">query_params</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;name&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;fred&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;age&quot;</span><span·class="p">:</span>·<span·class="mi">7</span><span·class="p">})</span>235 <span·class="gp">&gt;&gt;&gt;·</span><span·class="n">c</span><span·class="o">.</span><span·class="n">get</span><span·class="p">(</span><span·class="s2">&quot;/customers/details/&quot;</span><span·class="p">,</span>·<span·class="n">query_params</span><span·class="o">=</span><span·class="p">{</span><span·class="s2">&quot;name&quot;</span><span·class="p">:</span>·<span·class="s2">&quot;fred&quot;</span><span·class="p">,</span>·<span·class="s2">&quot;age&quot;</span><span·class="p">:</span>·<span·class="mi">7</span><span·class="p">})</span>
235 </pre></div>236 </pre></div>
Offset 285, 15 lines modifiedOffset 286, 15 lines modified
285 <div·class="versionchanged">286 <div·class="versionchanged">
286 <span·class="title">Changed·in·Django·5.1:</span>·<p>The·<code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>·argument·was·added.</p>287 <span·class="title">Changed·in·Django·5.1:</span>·<p>The·<code·class="docutils·literal·notranslate"><span·class="pre">query_params</span></code>·argument·was·added.</p>
287 </div>288 </div>
288 </dd></dl>289 </dd></dl>
  
289 <dl·class="py·method">290 <dl·class="py·method">
290 <dt·class="sig·sig-object·py"·id="django.test.Client.post">291 <dt·class="sig·sig-object·py"·id="django.test.Client.post">
Max diff block lines reached; 180936/201846 bytes (89.64%) of diff not shown.
53.2 KB
html2text {}
Max HTML report size reached